TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
tb_text.hpp
1 
11 #ifndef TurtleBrains_Text_hpp
12 #define TurtleBrains_Text_hpp
13 
14 #include <turtle_brains/graphics/tb_graphic.hpp>
15 #include <turtle_brains/graphics/tb_color.hpp>
16 #include <turtle_brains/graphics/tb_texture_manager.hpp> //for PixelSpace definition.
17 #include <turtle_brains/core/tb_noncopyable.hpp>
18 #include <turtle_brains/core/tb_string.hpp>
19 
20 namespace tbImplementation
21 {
22  struct TextData;
23 };
24 
25 namespace TurtleBrains
26 {
27  namespace Graphics
28  {
29 
42  class Text : public Graphic, public tbCore::Noncopyable
43  {
44  public:
48  static const float kDefaultFontSize;
49 
54 
67  explicit Text(const tbCore::tbString& text = tb_string(""), const float pointSize = kDefaultFontSize, const tbCore::tbString& fontFilepath = kDefaultFontFile);
68 
74  virtual ~Text(void);
75 
79  tbCore::tbString GetText(void) const { return mTextString; }
80 
87  tbCore::tbString GetFont(void) const { return mTextFont; }
88 
95  float GetPointSize(void) const { return mTextSize; }
96 
109  void SetText(const tbCore::tbString& text, const float pointSize, const tbCore::tbString& fontFilepath);
110 
120  void SetText(const tbCore::tbString& text);
121 
122  virtual void SetColor(const tbGraphics::Color& newColor) override;
123 
124  void SetColor(const tbGraphics::Color& topColor, const tbGraphics::Color& bottomColor);
125 
129  virtual PixelSpace GetPixelWidth(void) const override;
130 
134  virtual PixelSpace GetPixelHeight(void) const override;
135 
139  static void CreateGraphicsContext(void);
140  static void DestroyGraphicsContext(void);
141 
142  protected:
147  virtual void OnRender(void) const override;
148 
149  private:
150  tbImplementation::TextData* mTextData;
151  tbCore::tbString mTextFont;
152  tbCore::tbString mTextString;
153  tbGraphics::Color mBottomColor;
154  float mTextSize;
155  };
156 
157  }; /* namespace Graphics */
158 }; /* namespace TurtleBrains */
159 
161 
162 #endif /* TurtleBrains_Text_hpp */
Definition: tb_graphic.hpp:61
virtual PixelSpace GetPixelWidth(void) const override
virtual void OnRender(void) const override
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
static void CreateGraphicsContext(void)
virtual PixelSpace GetPixelHeight(void) const override
Definition: tb_noncopyable.hpp:22
static const float kDefaultFontSize
Definition: tb_text.hpp:48
Here is some information about the primary namespace.
Definition: tb_application_dialog.hpp:21
Text(const tbCore::tbString &text=tb_string(""), const float pointSize=kDefaultFontSize, const tbCore::tbString &fontFilepath=kDefaultFontFile)
tbCore::tbString GetFont(void) const
Definition: tb_text.hpp:87
Definition: tb_color.hpp:24
tbCore::tbString GetText(void) const
Definition: tb_text.hpp:79
tbCore::uint16 PixelSpace
Definition: tb_texture_manager.hpp:36
void SetText(const tbCore::tbString &text, const float pointSize, const tbCore::tbString &fontFilepath)
Definition: tb_text.hpp:42
float GetPointSize(void) const
Definition: tb_text.hpp:95
static const tbCore::tbString kDefaultFontFile
Definition: tb_text.hpp:53
#define tb_string(object)
Definition: tb_string.hpp:28
virtual void SetColor(const tbGraphics::Color &newColor) override
std::string tbString
Definition: tb_string.hpp:335
Definition: tb_application_dialog.hpp:19