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 _CEGUIFalComponentBase_h_
00029 #define _CEGUIFalComponentBase_h_
00030
00031 #include "falagard/CEGUIFalDimensions.h"
00032 #include "CEGUIWindow.h"
00033
00034
00035 namespace CEGUI
00036 {
00041 class CEGUIEXPORT FalagardComponentBase
00042 {
00043 public:
00048 FalagardComponentBase();
00049
00054 virtual ~FalagardComponentBase();
00055
00074 void render(Window& srcWindow, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00075
00097 void render(Window& srcWindow, const Rect& baseRect, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00098
00106 const ComponentArea& getComponentArea() const;
00107
00118 void setComponentArea(const ComponentArea& area);
00119
00127 const ColourRect& getColours() const;
00128
00136 void setColours(const ColourRect& cols);
00137
00148 void setColoursPropertySource(const String& property);
00149
00161 void setColoursPropertyIsColourRect(bool setting = true);
00162
00173 void setVertFormattingPropertySource(const String& property);
00174
00185 void setHorzFormattingPropertySource(const String& property);
00186
00187 protected:
00197 void initColoursRect(const Window& wnd, const ColourRect* modCols, ColourRect& cr) const;
00198
00203 virtual void render_impl(Window& srcWindow, Rect& destRect, float base_z, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const = 0;
00204
00217 bool writeColoursXML(XMLSerializer& xml_stream) const;
00218
00231 bool writeVertFormatXML(XMLSerializer& xml_stream) const;
00232
00245 bool writeHorzFormatXML(XMLSerializer& xml_stream) const;
00246
00247
00248
00249 ComponentArea d_area;
00250 ColourRect d_colours;
00251 String d_colourPropertyName;
00252 bool d_colourProperyIsRect;
00253 String d_vertFormatPropertyName;
00254 String d_horzFormatPropertyName;
00255 };
00256 }
00257
00258
00259 #endif // end of guard _CEGUIFalComponentBase_h_