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 _CEGUIFalSectionSpecification_h_
00025 #define _CEGUIFalSectionSpecification_h_
00026
00027 #include "CEGUIWindow.h"
00028
00029
00030
00031 namespace CEGUI
00032 {
00033
00034 class WidgetLookFeel;
00035
00043 class CEGUIEXPORT SectionSpecification
00044 {
00045 public:
00056 SectionSpecification(const String& owner, const String& sectionName);
00057
00071 SectionSpecification(const String& owner, const String& sectionName, const ColourRect& cols);
00072
00086 void render(Window& srcWindow, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00087
00104 void render(Window& srcWindow, const Rect& baseRect, float base_z, const ColourRect* modcols = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00105
00113 const String& getOwnerWidgetLookFeel() const;
00114
00122 const String& getSectionName() const;
00123
00132 const ColourRect& getOverrideColours() const;
00133
00144 void setOverrideColours(const ColourRect& cols);
00145
00154 bool isUsingOverrideColours() const;
00155
00167 void setUsingOverrideColours(bool setting = true);
00168
00179 void setOverrideColoursPropertySource(const String& property);
00180
00192 void setOverrideColoursPropertyIsColourRect(bool setting = true);
00193
00204 void writeXMLToStream(OutStream& out_stream) const;
00205
00206 protected:
00217 void initColourRectForOverride(const Window& wnd, ColourRect& cr) const;
00218
00219 private:
00220 String d_owner;
00221 String d_sectionName;
00222 ColourRect d_coloursOverride;
00223 bool d_usingColourOverride;
00224 String d_colourPropertyName;
00225 bool d_colourProperyIsRect;
00226 };
00227
00228
00229 }
00230
00231
00232 #endif // end of guard _CEGUIFalSectionSpecification_h_