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 _CEGUIRenderedStringComponent_h_
00029 #define _CEGUIRenderedStringComponent_h_
00030
00031 #include "CEGUISize.h"
00032 #include "CEGUIRect.h"
00033 #include "falagard/CEGUIFalEnums.h"
00034
00035
00036 namespace CEGUI
00037 {
00043 class CEGUIEXPORT RenderedStringComponent
00044 {
00045 public:
00047 virtual ~RenderedStringComponent();
00048
00050 void setVerticalFormatting(VerticalFormatting fmt);
00052 VerticalFormatting getVerticalFormatting() const;
00054 void setPadding(const Rect& padding);
00056 void setLeftPadding(const float padding);
00058 void setRightPadding(const float padding);
00060 void setTopPadding(const float padding);
00062 void setBottomPadding(const float padding);
00064 const Rect& getPadding() const;
00066 float getLeftPadding() const;
00068 float getRightPadding() const;
00070 float getTopPadding() const;
00072 float getBottomPadding() const;
00074 void setAspectLock(const bool setting);
00076 bool getAspectLock() const;
00077
00079 virtual void draw(GeometryBuffer& buffer, const Vector2& position,
00080 const ColourRect* mod_colours,
00081 const Rect* clip_rect,
00082 const float vertical_space,
00083 const float space_extra) const = 0;
00084
00086 virtual Size getPixelSize() const = 0;
00087
00089 virtual bool canSplit() const = 0;
00090
00101 virtual RenderedStringComponent* split(float split_point,
00102 bool first_component) = 0;
00103
00105 virtual RenderedStringComponent* clone() const = 0;
00106
00108 virtual size_t getSpaceCount() const = 0;
00109
00110 protected:
00112 RenderedStringComponent();
00113
00115 Rect d_padding;
00117 VerticalFormatting d_verticalFormatting;
00119 bool d_aspectLock;
00120 };
00121
00122 }
00123
00124 #endif // end of guard _CEGUIRenderedStringComponent_h_