]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/HUD.hpp
set and display block type labels
[blank.git] / src / ui / HUD.hpp
index ca6b7544a54ee9a15f7639bb2e1f6fba65376724..245d886e795ffaccf35b658e7fde710457d46d9d 100644 (file)
@@ -1,22 +1,26 @@
 #ifndef BLANK_UI_HUD_H_
 #define BLANK_UI_HUD_H_
 
+#include "../graphics/Texture.hpp"
 #include "../model/Model.hpp"
 #include "../model/OutlineModel.hpp"
+#include "../model/SpriteModel.hpp"
 
 #include <glm/glm.hpp>
 
 
 namespace blank {
 
+class BlendedSprite;
 class Block;
 class BlockTypeRegistry;
 class DirectionalLighting;
+class Font;
 
 class HUD {
 
 public:
-       explicit HUD(const BlockTypeRegistry &);
+       HUD(const BlockTypeRegistry &, const Font &);
 
        HUD(const HUD &) = delete;
        HUD &operator =(const HUD &) = delete;
@@ -26,14 +30,21 @@ public:
 
        void Display(const Block &);
 
-       void Render(DirectionalLighting &) noexcept;
+       void Render(DirectionalLighting &, BlendedSprite &) noexcept;
 
 private:
        const BlockTypeRegistry &types;
+       const Font &font;
 
        Model block;
        Model::Buffer block_buf;
        glm::mat4 block_transform;
+
+       Texture block_label;
+       SpriteModel label_sprite;
+       glm::mat4 label_transform;
+       SDL_Color label_color;
+
        bool block_visible;
 
        OutlineModel crosshair;