SDL SPOOKY PLATFORMER ENGINE  0.2.0
An implementation of a platformer using sdl, implemented using an entity component system and efficient collision management.
BasicTextComponent.hpp
Go to the documentation of this file.
1 #ifndef BASICTEXT_HPP
2 #define BASICTEXT_HPP
3 #include <ResourceManager.hpp>
4 #include "Component.hpp"
5 
10 
11 class TextUpdate {
12 public:
13 
14  TextUpdate() = default;
15 
17 
18  virtual void OnUpdate(float deltaTime) = 0;
19 };
20 
26 {
27 public:
36  BasicTextComponent(SDL_Point position, SDL_Renderer *renderer, std::shared_ptr<TTF_Font> font, SDL_Color& color, TextUpdate* updateFunc);
43  void SetText(const std::wstring &text);
47  void Render(SDL_Renderer* ren);
51  SDL_Rect TextDims();
52 
53  void Update(float deltaTime);
54 
55  BasicTextComponent(BasicTextComponent& text) = delete;
56 
57 private:
58  SDL_Renderer *renderer;
59  std::shared_ptr<TTF_Font> font;
60  SDL_Color color;
61  SDL_Surface *surface{};
62  SDL_Texture *texture{};
63  SDL_Rect rect{};
64 
65  TextUpdate* updateFunc;
66 };
67 
68 #endif
SDL_Rect TextDims()
Definition: BasicTextComponent.cpp:50
void Render(SDL_Renderer *ren)
Definition: BasicTextComponent.cpp:55
void Update(float deltaTime)
Update this component according to the deltaTime.
Definition: BasicTextComponent.cpp:61
void SetText(const std::wstring &text)
Definition: BasicTextComponent.cpp:35
virtual void OnUpdate(float deltaTime) = 0
Definition: BasicTextComponent.hpp:25
Definition: BasicTextComponent.hpp:11
~BasicTextComponent()
clean up a text object
Definition: BasicTextComponent.cpp:29
Definition: Component.hpp:13
TextUpdate() = default
BasicTextComponent(SDL_Point position, SDL_Renderer *renderer, std::shared_ptr< TTF_Font > font, SDL_Color &color, TextUpdate *updateFunc)
Definition: BasicTextComponent.cpp:10
BasicTextComponent * myself
Definition: BasicTextComponent.hpp:16