TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_graphic.h
1 
9 #ifndef _TurtleBrains_Graphic_h_
10 #define _TurtleBrains_Graphic_h_
11 
12 #include "../math/tb_vector.h"
13 #include "tb_color.h"
14 
15 namespace TurtleBrains
16 {
17  namespace Graphics
18  {
19 
24  class Graphic
25  {
26  public:
31  Graphic(void);
32 
38  Graphic(const Graphic& other);
39 
43  virtual ~Graphic(void);
44 
49  bool IsActive(void) const;
50 
56  void SetActive(const bool isActive);
57 
62  void Update(const float deltaTime);
63 
68  bool IsVisible(void) const;
69 
75  void SetVisible(const bool isVisible);
76 
81  void Render(void) const;
82 
86  const tbMath::Vector2& GetPosition(void) const;
87 
96  void SetPosition(const float x, const float y);
97 
106  void SetPosition(const tbMath::Vector2& position);
107 
111  float GetDepth(void) const;
112 
120  void SetDepth(const float newDepth);
121 
127  bool IsRelative(void) const;
128 
129  //
130  // @details TODO: TIM: Implementation: Currently this is unimplemented and undocumented, all Graphics
131  // are currently relative.
132  //
133  //void SetRelative(const bool isRelative);
134 
139  virtual void SetColor(const tbGraphics::Color& newColor);
140 
141  protected:
150  virtual void OnUpdate(const float deltaTime);
151 
159  virtual void OnRender(void) const = 0;
160 
165  const Color& GetColor(void) const;
166 
167  private:
168  tbMath::Vector2 mPosition;
169  float mDepthZ;
170  bool mIsActive;
171  bool mIsVisible;
172  bool mIsRelative;
173  Color mColor;
174  };
175 
176  }; /* namespace Graphics */
177 }; /* namespace TurtleBrains */
178 
180 
181 #endif /* _TurtleBrains_Graphic_h_ */
Definition: tb_vector.h:48
void SetPosition(const float x, const float y)
Definition: tb_graphic.h:24
virtual void OnRender(void) const =0
const tbMath::Vector2 & GetPosition(void) const
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
void SetVisible(const bool isVisible)
void SetActive(const bool isActive)
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
Definition: tb_color.h:23
void SetDepth(const float newDepth)
const Color & GetColor(void) const
void Update(const float deltaTime)
virtual void SetColor(const tbGraphics::Color &newColor)
virtual void OnUpdate(const float deltaTime)