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 _CEGUIFalComponentBase_h_
00025 #define _CEGUIFalComponentBase_h_
00026
00027 #include "falagard/CEGUIFalDimensions.h"
00028 #include "CEGUIWindow.h"
00029
00030
00031 namespace CEGUI
00032 {
00037 class CEGUIEXPORT FalagardComponentBase
00038 {
00039 public:
00044 FalagardComponentBase();
00045
00050 virtual ~FalagardComponentBase();
00051
00070 void render(Window& srcWindow, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00071
00093 void render(Window& srcWindow, const Rect& baseRect, float base_z, const CEGUI::ColourRect* modColours = 0, const Rect* clipper = 0, bool clipToDisplay = false) const;
00094
00102 const ComponentArea& getComponentArea() const;
00103
00114 void setComponentArea(const ComponentArea& area);
00115
00123 const ColourRect& getColours() const;
00124
00132 void setColours(const ColourRect& cols);
00133
00144 void setColoursPropertySource(const String& property);
00145
00157 void setColoursPropertyIsColourRect(bool setting = true);
00158
00169 void setVertFormattingPropertySource(const String& property);
00170
00181 void setHorzFormattingPropertySource(const String& property);
00182
00183 protected:
00193 void initColoursRect(const Window& wnd, const ColourRect* modCols, ColourRect& cr) const;
00194
00199 virtual void render_impl(Window& srcWindow, Rect& destRect, float base_z, const CEGUI::ColourRect* modColours, const Rect* clipper, bool clipToDisplay) const = 0;
00200
00212 bool writeColoursXML(OutStream& out_stream) const;
00213
00225 bool writeVertFormatXML(OutStream& out_stream) const;
00226
00238 bool writeHorzFormatXML(OutStream& out_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_