gtsam_points
Loading...
Searching...
No Matches
hovered_primitives.hpp
Go to the documentation of this file.
1#ifndef GUIK_HOVERED_PRIMITIVES_HPP
2#define GUIK_HOVERED_PRIMITIVES_HPP
3
5
6namespace guik
7{
8
9class HoveredText : public HoveredDrawing {
10public:
11 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
12
13 HoveredText(const std::string& text, const std::uint32_t fg_color = 0xFFFFFFFF, const std::uint32_t bg_color = 0x80000000, const Eigen::Vector2f& offset = {0.0f, 0.0f});
14 virtual ~HoveredText() override;
15
16 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
17
18private:
19 const std::string text;
20 const std::uint32_t fg_color;
21 const std::uint32_t bg_color;
22 const Eigen::Vector2f offset;
23};
24
26public:
27 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
28
29 HoveredCross(const std::uint32_t color = 0xFFFFFFFF, const float size = 5.0f, const float thickness = 1.0f);
30 virtual ~HoveredCross() override;
31
32 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
33
34private:
35 const std::uint32_t color;
36 const float size;
37 const float thickness;
38};
39
41public:
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
43
44 HoveredCircle(const std::uint32_t color = 0xFFFFFFFF, const float radius = 5.0f, const int num_segments = 32, const float thickness = 1.0f);
45 virtual ~HoveredCircle() override;
46
47 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
48
49private:
50 const std::uint32_t color;
51 const float radius;
52 const int num_segments;
53 const float thickness;
54};
55
57public:
58 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
59
60 HoveredTriangle(const std::uint32_t color = 0xFFFFFFFF, const float height = 5.0f, const float thickness = 1.0f, const bool upsidedown = true, const bool centering = false);
61 virtual ~HoveredTriangle() override;
62
63 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
64
65private:
66 const std::uint32_t color;
67 const float half_width;
68 const float height;
69 const float thickness;
70 const bool centering;
71};
72
74public:
75 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
76
77 HoveredFilledTriangle(const std::uint32_t color = 0xFFFFFFFF, const float height = 5.0f, const bool upsidedown = true, const bool centering = false);
78 virtual ~HoveredFilledTriangle() override;
79
80 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
81
82private:
83 const std::uint32_t color;
84 const float half_width;
85 const float height;
86 const bool centering;
87};
88
90public:
91 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
92
93 HoveredRect(const std::uint32_t color = 0xFFFFFFFF, const Eigen::Vector2f& size = {15.0f, 15.0f}, const Eigen::Vector2f& offset = {0.0f, 0.0f});
94 virtual ~HoveredRect() override;
95
96 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
97
98private:
99 const std::uint32_t color;
100 const Eigen::Vector2f size;
101 const Eigen::Vector2f offset;
102};
103
105public:
106 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
107
108 HoveredFilledRect(const std::uint32_t color = 0xFFFFFFFF, const Eigen::Vector2f& size = {15.0f, 15.0f}, const Eigen::Vector2f& offset = {0.0f, 0.0f});
109 virtual ~HoveredFilledRect() override;
110
111 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
112
113private:
114 const std::uint32_t color;
115 const Eigen::Vector2f size;
116 const Eigen::Vector2f offset;
117};
118
120public:
121 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
122
124 const std::shared_ptr<glk::Texture>& texture,
125 const Eigen::Vector2f& size = {0.0f, 0.0f},
126 const Eigen::Vector2f& offset = {0.0f, 0.0f},
127 const std::uint32_t bg_color = 0,
128 const std::uint32_t border_color = 0,
129 const float border_thickness = 1.0f);
130 virtual ~HoveredImage() override;
131
132 virtual void draw(ImDrawList* drawlist, const Eigen::Vector3f& uvz) override;
133
134private:
135 const Eigen::Vector2f size;
136 const Eigen::Vector2f offset;
137
138 const std::uint32_t bg_color;
139 const std::uint32_t border_color;
140 const float border_thickness;
141
142 const std::shared_ptr<glk::Texture> texture;
143};
144
145} // namespace guik
146
147#endif
Definition hovered_primitives.hpp:40
virtual ~HoveredCircle() override
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredCircle(const std::uint32_t color=0xFFFFFFFF, const float radius=5.0f, const int num_segments=32, const float thickness=1.0f)
Definition hovered_primitives.hpp:25
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredCross(const std::uint32_t color=0xFFFFFFFF, const float size=5.0f, const float thickness=1.0f)
virtual ~HoveredCross() override
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
Definition hovered_drawings.hpp:10
Definition hovered_primitives.hpp:104
virtual ~HoveredFilledRect() override
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredFilledRect(const std::uint32_t color=0xFFFFFFFF, const Eigen::Vector2f &size={15.0f, 15.0f}, const Eigen::Vector2f &offset={0.0f, 0.0f})
Definition hovered_primitives.hpp:73
virtual ~HoveredFilledTriangle() override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredFilledTriangle(const std::uint32_t color=0xFFFFFFFF, const float height=5.0f, const bool upsidedown=true, const bool centering=false)
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
Definition hovered_primitives.hpp:119
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
virtual ~HoveredImage() override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredImage(const std::shared_ptr< glk::Texture > &texture, const Eigen::Vector2f &size={0.0f, 0.0f}, const Eigen::Vector2f &offset={0.0f, 0.0f}, const std::uint32_t bg_color=0, const std::uint32_t border_color=0, const float border_thickness=1.0f)
Definition hovered_primitives.hpp:89
virtual ~HoveredRect() override
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredRect(const std::uint32_t color=0xFFFFFFFF, const Eigen::Vector2f &size={15.0f, 15.0f}, const Eigen::Vector2f &offset={0.0f, 0.0f})
Definition hovered_primitives.hpp:9
virtual ~HoveredText() override
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredText(const std::string &text, const std::uint32_t fg_color=0xFFFFFFFF, const std::uint32_t bg_color=0x80000000, const Eigen::Vector2f &offset={0.0f, 0.0f})
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
Definition hovered_primitives.hpp:56
EIGEN_MAKE_ALIGNED_OPERATOR_NEW HoveredTriangle(const std::uint32_t color=0xFFFFFFFF, const float height=5.0f, const float thickness=1.0f, const bool upsidedown=true, const bool centering=false)
virtual ~HoveredTriangle() override
virtual void draw(ImDrawList *drawlist, const Eigen::Vector3f &uvz) override
Definition drawable_container.hpp:9