]> git.localhorst.tv Git - blobs.git/blobdiff - src/ui/CreaturePanel.hpp
basic info box
[blobs.git] / src / ui / CreaturePanel.hpp
diff --git a/src/ui/CreaturePanel.hpp b/src/ui/CreaturePanel.hpp
new file mode 100644 (file)
index 0000000..b9888b2
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef BLOBS_UI_CREATUREPANEL_HPP_
+#define BLOBS_UI_CREATUREPANEL_HPP_
+
+#include "Label.hpp"
+
+
+namespace blobs {
+namespace app {
+       struct Assets;
+}
+namespace creature {
+       class Creature;
+}
+namespace graphics {
+       class Viewport;
+}
+namespace ui {
+
+class CreaturePanel {
+
+public:
+       explicit CreaturePanel(const app::Assets &);
+       ~CreaturePanel();
+
+       CreaturePanel(const CreaturePanel &) = delete;
+       CreaturePanel &operator =(const CreaturePanel &) = delete;
+
+       CreaturePanel(CreaturePanel &&) = delete;
+       CreaturePanel &operator =(CreaturePanel &&) = delete;
+
+public:
+       void Show(creature::Creature &);
+       void Hide() noexcept;
+
+       void Draw(app::Assets &, graphics::Viewport &) noexcept;
+
+private:
+       creature::Creature *c;
+
+       Label name;
+
+};
+
+}
+}
+
+#endif