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 "CEGUIFalDimensions.h"
00032 #include "../CEGUIWindow.h"
00033 #include "../CEGUIColourRect.h"
00034
00035
00036 namespace CEGUI
00037 {
00042 class CEGUIEXPORT FalagardComponentBase
00043 {
00044 public:
00049 FalagardComponentBase();
00050
00055 virtual ~FalagardComponentBase();
00056
00071 void render(Window& srcWindow, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00072
00090 void render(Window& srcWindow, const Rect& baseRect, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00091
00099 const ComponentArea& getComponentArea() const;
00100
00111 void setComponentArea(const ComponentArea& area);
00112
00120 const ColourRect& getColours() const;
00121
00129 void setColours(const ColourRect& cols);
00130
00141 void setColoursPropertySource(const String& property);
00142
00154 void setColoursPropertyIsColourRect(bool setting = true);
00155
00166 void setVertFormattingPropertySource(const String& property);
00167
00178 void setHorzFormattingPropertySource(const String& property);
00179
00180 protected:
00190 void initColoursRect(const Window& wnd, const ColourRect* modCols, ColourRect& cr) const;
00191
00196 virtual void render_impl(Window& srcWindow, Rect& destRect, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const = 0;
00197
00210 bool writeColoursXML(XMLSerializer& xml_stream) const;
00211
00224 bool writeVertFormatXML(XMLSerializer& xml_stream) const;
00225
00238 bool writeHorzFormatXML(XMLSerializer& xml_stream) const;
00239
00240
00241
00242 ComponentArea d_area;
00243 ColourRect d_colours;
00244 String d_colourPropertyName;
00245 bool d_colourProperyIsRect;
00246 String d_vertFormatPropertyName;
00247 String d_horzFormatPropertyName;
00248 };
00249 }
00250
00251
00252 #endif // end of guard _CEGUIFalComponentBase_h_