00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _CEGUIFalSectionSpecification_h_
00029 #define _CEGUIFalSectionSpecification_h_
00030
00031 #include "CEGUIWindow.h"
00032
00033
00034
00035 namespace CEGUI
00036 {
00037
00038 class WidgetLookFeel;
00039
00047 class CEGUIEXPORT SectionSpecification
00048 {
00049 public:
00064 SectionSpecification(const String& owner, const String& sectionName, const String& controlPropertySource);
00065
00083 SectionSpecification(const String& owner, const String& sectionName, const String& controlPropertySource, const ColourRect& cols);
00084
00098 void render(Window& srcWindow, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00099
00116 void render(Window& srcWindow, const Rect& baseRect, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00117
00125 const String& getOwnerWidgetLookFeel() const;
00126
00134 const String& getSectionName() const;
00135
00144 const ColourRect& getOverrideColours() const;
00145
00156 void setOverrideColours(const ColourRect& cols);
00157
00166 bool isUsingOverrideColours() const;
00167
00179 void setUsingOverrideColours(bool setting = true);
00180
00191 void setOverrideColoursPropertySource(const String& property);
00192
00204 void setOverrideColoursPropertyIsColourRect(bool setting = true);
00205
00217 void setRenderControlPropertySource(const String& property);
00218
00230 void writeXMLToStream(XMLSerializer& xml_stream) const;
00231
00232 protected:
00243 void initColourRectForOverride(const Window& wnd, ColourRect& cr) const;
00244
00245 private:
00246 String d_owner;
00247 String d_sectionName;
00248 ColourRect d_coloursOverride;
00249 bool d_usingColourOverride;
00250 String d_colourPropertyName;
00251 bool d_colourProperyIsRect;
00252 String d_renderControlProperty;
00253 };
00254
00255
00256 }
00257
00258
00259 #endif // end of guard _CEGUIFalSectionSpecification_h_