1#ifndef GUIK_HOVERED_PRIMITIVES_HPP
2#define GUIK_HOVERED_PRIMITIVES_HPP
11 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
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});
16 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
19 const std::string text;
20 const std::uint32_t fg_color;
21 const std::uint32_t bg_color;
22 const Eigen::Vector2f offset;
27 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29 HoveredCross(
const std::uint32_t color = 0xFFFFFFFF,
const float size = 5.0f,
const float thickness = 1.0f);
32 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
35 const std::uint32_t color;
37 const float thickness;
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
44 HoveredCircle(
const std::uint32_t color = 0xFFFFFFFF,
const float radius = 5.0f,
const int num_segments = 32,
const float thickness = 1.0f);
47 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
50 const std::uint32_t color;
52 const int num_segments;
53 const float thickness;
58 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
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);
63 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
66 const std::uint32_t color;
67 const float half_width;
69 const float thickness;
75 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
77 HoveredFilledTriangle(
const std::uint32_t color = 0xFFFFFFFF,
const float height = 5.0f,
const bool upsidedown =
true,
const bool centering =
false);
80 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
83 const std::uint32_t color;
84 const float half_width;
91 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
93 HoveredRect(
const std::uint32_t color = 0xFFFFFFFF,
const Eigen::Vector2f& size = {15.0f, 15.0f},
const Eigen::Vector2f& offset = {0.0f, 0.0f});
96 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
99 const std::uint32_t color;
100 const Eigen::Vector2f size;
101 const Eigen::Vector2f offset;
106 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
108 HoveredFilledRect(
const std::uint32_t color = 0xFFFFFFFF,
const Eigen::Vector2f& size = {15.0f, 15.0f},
const Eigen::Vector2f& offset = {0.0f, 0.0f});
111 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
114 const std::uint32_t color;
115 const Eigen::Vector2f size;
116 const Eigen::Vector2f offset;
121 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
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);
132 virtual void draw(ImDrawList* drawlist,
const Eigen::Vector3f& uvz)
override;
135 const Eigen::Vector2f size;
136 const Eigen::Vector2f offset;
138 const std::uint32_t bg_color;
139 const std::uint32_t border_color;
140 const float border_thickness;
142 const std::shared_ptr<glk::Texture> texture;
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