]> git.localhorst.tv Git - blobs.git/blob - src/ui/CreaturePanel.hpp
cleaned up ui a little
[blobs.git] / src / ui / CreaturePanel.hpp
1 #ifndef BLOBS_UI_CREATUREPANEL_HPP_
2 #define BLOBS_UI_CREATUREPANEL_HPP_
3
4 #include "Label.hpp"
5 #include "Panel.hpp"
6
7
8 namespace blobs {
9 namespace app {
10         struct Assets;
11 }
12 namespace creature {
13         class Creature;
14 }
15 namespace graphics {
16         class Viewport;
17 }
18 namespace ui {
19
20 class CreaturePanel {
21
22 public:
23         explicit CreaturePanel(const app::Assets &);
24         ~CreaturePanel();
25
26         CreaturePanel(const CreaturePanel &) = delete;
27         CreaturePanel &operator =(const CreaturePanel &) = delete;
28
29         CreaturePanel(CreaturePanel &&) = delete;
30         CreaturePanel &operator =(CreaturePanel &&) = delete;
31
32 public:
33         void Show(creature::Creature &);
34         void Hide() noexcept;
35
36         void Draw(app::Assets &, graphics::Viewport &) noexcept;
37
38 private:
39         creature::Creature *c;
40
41         Label *name;
42         Panel panel;
43
44 };
45
46 }
47 }
48
49 #endif