]> git.localhorst.tv Git - gong.git/blob - src/ui/FixedText.hpp
code, assets, and other stuff stolen from blank
[gong.git] / src / ui / FixedText.hpp
1 #ifndef GONG_UI_FIXEDTEXT_HPP_
2 #define GONG_UI_FIXEDTEXT_HPP_
3
4 #include "Text.hpp"
5
6
7 namespace gong {
8 namespace ui {
9
10 class FixedText
11 : public Text {
12
13 public:
14         FixedText() noexcept;
15
16         void Position(const glm::vec3 &p) noexcept {
17                 pos = p;
18         }
19         void Position(
20                 const glm::vec3 &p,
21                 graphics::Gravity g
22         ) noexcept {
23                 pos = p;
24                 grav = g;
25                 Pivot(g);
26         }
27         void Position(
28                 const glm::vec3 &p,
29                 graphics::Gravity g,
30                 graphics::Gravity pv
31         ) noexcept {
32                 pos = p;
33                 grav = g;
34                 Pivot(pv);
35         }
36
37         void Foreground(const glm::vec4 &col) noexcept { fg = col; }
38         void Background(const glm::vec4 &col) noexcept { bg = col; }
39
40         void Show() noexcept { visible = true; }
41         void Hide() noexcept { visible = false; }
42         void Toggle() noexcept { visible = !visible; }
43         bool Visible() const noexcept { return visible; }
44
45         void Render(graphics::Viewport &) noexcept;
46
47 private:
48         glm::vec4 bg;
49         glm::vec4 fg;
50         glm::vec3 pos;
51         graphics::Gravity grav;
52         bool visible;
53
54 };
55
56 }
57 }
58
59 #endif