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 #include "../CEGUIColourRect.h"
00033
00034
00035
00036 namespace CEGUI
00037 {
00038
00039 class WidgetLookFeel;
00040
00048 class CEGUIEXPORT SectionSpecification
00049 {
00050 public:
00065 SectionSpecification(const String& owner, const String& sectionName, const String& controlPropertySource);
00066
00084 SectionSpecification(const String& owner, const String& sectionName, const String& controlPropertySource, const ColourRect& cols);
00085
00096 void render(Window& srcWindow, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00097
00111 void render(Window& srcWindow, const Rect& baseRect, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00112
00120 const String& getOwnerWidgetLookFeel() const;
00121
00129 const String& getSectionName() const;
00130
00139 const ColourRect& getOverrideColours() const;
00140
00151 void setOverrideColours(const ColourRect& cols);
00152
00161 bool isUsingOverrideColours() const;
00162
00174 void setUsingOverrideColours(bool setting = true);
00175
00186 void setOverrideColoursPropertySource(const String& property);
00187
00199 void setOverrideColoursPropertyIsColourRect(bool setting = true);
00200
00212 void setRenderControlPropertySource(const String& property);
00213
00225 void writeXMLToStream(XMLSerializer& xml_stream) const;
00226
00227 protected:
00238 void initColourRectForOverride(const Window& wnd, ColourRect& cr) const;
00239
00240 private:
00241 String d_owner;
00242 String d_sectionName;
00243 ColourRect d_coloursOverride;
00244 bool d_usingColourOverride;
00245 String d_colourPropertyName;
00246 bool d_colourProperyIsRect;
00247 String d_renderControlProperty;
00248 };
00249
00250
00251 }
00252
00253
00254 #endif // end of guard _CEGUIFalSectionSpecification_h_