00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CEGUIFalImagerySection_h_
00025 #define _CEGUIFalImagerySection_h_
00026
00027 #include "falagard/CEGUIFalImageryComponent.h"
00028 #include "falagard/CEGUIFalTextComponent.h"
00029 #include "falagard/CEGUIFalFrameComponent.h"
00030
00031 #if defined(_MSC_VER)
00032 # pragma warning(push)
00033 # pragma warning(disable : 4251)
00034 #endif
00035
00036
00037 namespace CEGUI
00038 {
00043 class CEGUIEXPORT ImagerySection
00044 {
00045 public:
00050 ImagerySection();
00051
00059 ImagerySection(const String& name);
00060
00077 void render(Window& srcWindow, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00078
00098 void render(Window& srcWindow, const Rect& baseRect, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00099
00110 void addImageryComponent(const ImageryComponent& img);
00111
00119 void clearImageryComponents();
00120
00131 void addTextComponent(const TextComponent& text);
00132
00140 void clearTextComponents();
00141
00149 void clearFrameComponents();
00150
00161 void addFrameComponent(const FrameComponent& frame);
00162
00170 const ColourRect& getMasterColours() const;
00171
00182 void setMasterColours(const ColourRect& cols);
00183
00191 const String& getName() const;
00192
00203 void setMasterColoursPropertySource(const String& property);
00204
00216 void setMasterColoursPropertyIsColourRect(bool setting = true);
00217
00222 Rect getBoundingRect(const Window& wnd) const;
00223
00228 Rect getBoundingRect(const Window& wnd, const Rect& rect) const;
00229
00240 void writeXMLToStream(OutStream& out_stream) const;
00241
00242 protected:
00252 void initMasterColourRect(const Window& wnd, ColourRect& cr) const;
00253
00254 private:
00255 typedef std::vector<ImageryComponent> ImageryList;
00256 typedef std::vector<TextComponent> TextList;
00257 typedef std::vector<FrameComponent> FrameList;
00258
00259 CEGUI::String d_name;
00260 CEGUI::ColourRect d_masterColours;
00261 FrameList d_frames;
00262 ImageryList d_images;
00263 TextList d_texts;
00264 String d_colourPropertyName;
00265 bool d_colourProperyIsRect;
00266 };
00267
00268 }
00269
00270
00271 #if defined(_MSC_VER)
00272 # pragma warning(pop)
00273 #endif
00274
00275 #endif // end of guard _CEGUIFalImagerySection_h_