Zappy GUI
C++ graphic client: renderer, camera, network
Loading...
Searching...
No Matches
TooltipRenderer.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
6
#include "raylib.h"
7
13
class
TooltipRenderer
{
14
public
:
15
enum class
Anchor
{
16
TopLeft
,
17
TopCenter
,
18
TopRight
,
19
MiddleLeft
,
20
Center
,
21
MiddleRight
,
22
BottomLeft
,
23
BottomCenter
,
24
BottomRight
25
};
26
27
class
Builder
{
28
public
:
29
Builder
();
30
37
Builder
&
addLine
(
const
std::string& text, Color color = WHITE);
38
46
Builder
&
addColoredText
(
const
std::vector<std::string>& segments,
47
const
std::vector<Color>& colors);
48
54
Builder
&
setBackgroundColor
(Color color);
55
61
Builder
&
setBackgroundAlpha
(
unsigned
char
alpha);
62
68
Builder
&
setBorderColor
(Color color);
69
75
Builder
&
setBorderThickness
(
int
thickness);
76
82
Builder
&
setFontSize
(
int
size);
83
89
Builder
&
setPadding
(
int
padding);
90
96
Builder
&
setAnchor
(
Anchor
anchor);
97
102
void
draw
(Vector2 position);
103
104
private
:
105
struct
ColoredSegment
{
106
std::string
text
;
107
Color
color
;
108
};
109
110
std::vector<std::vector<ColoredSegment>>
_lines
;
111
Color
_bgColor
;
112
unsigned
char
_bgAlpha
;
113
Color
_borderColor
;
114
int
_borderThickness
;
115
int
_fontSize
;
116
int
_padding
;
117
Anchor
_anchor
;
118
119
Vector2
_calculateAnchoredPosition
(Vector2 position,
int
boxWidth,
int
boxHeight)
const
;
120
};
121
126
static
Builder
create
();
127
};
TooltipRenderer::Builder
Definition
TooltipRenderer.hpp:27
TooltipRenderer::Builder::setFontSize
Builder & setFontSize(int size)
Sets the font size for all text.
Definition
TooltipRenderer.cpp:65
TooltipRenderer::Builder::addColoredText
Builder & addColoredText(const std::vector< std::string > &segments, const std::vector< Color > &colors)
Adds a line with multiple colored segments.
Definition
TooltipRenderer.cpp:26
TooltipRenderer::Builder::_borderColor
Color _borderColor
Definition
TooltipRenderer.hpp:113
TooltipRenderer::Builder::_anchor
Anchor _anchor
Definition
TooltipRenderer.hpp:117
TooltipRenderer::Builder::_lines
std::vector< std::vector< ColoredSegment > > _lines
Definition
TooltipRenderer.hpp:110
TooltipRenderer::Builder::setPadding
Builder & setPadding(int padding)
Sets the internal padding.
Definition
TooltipRenderer.cpp:71
TooltipRenderer::Builder::setBorderColor
Builder & setBorderColor(Color color)
Sets the border color.
Definition
TooltipRenderer.cpp:53
TooltipRenderer::Builder::_padding
int _padding
Definition
TooltipRenderer.hpp:116
TooltipRenderer::Builder::_fontSize
int _fontSize
Definition
TooltipRenderer.hpp:115
TooltipRenderer::Builder::addLine
Builder & addLine(const std::string &text, Color color=WHITE)
Adds a single-color line to the tooltip.
Definition
TooltipRenderer.cpp:20
TooltipRenderer::Builder::_calculateAnchoredPosition
Vector2 _calculateAnchoredPosition(Vector2 position, int boxWidth, int boxHeight) const
Definition
TooltipRenderer.cpp:130
TooltipRenderer::Builder::Builder
Builder()
Definition
TooltipRenderer.cpp:9
TooltipRenderer::Builder::_borderThickness
int _borderThickness
Definition
TooltipRenderer.hpp:114
TooltipRenderer::Builder::draw
void draw(Vector2 position)
Draws the tooltip at the given position.
Definition
TooltipRenderer.cpp:83
TooltipRenderer::Builder::setBackgroundAlpha
Builder & setBackgroundAlpha(unsigned char alpha)
Sets the background alpha transparency.
Definition
TooltipRenderer.cpp:47
TooltipRenderer::Builder::setBackgroundColor
Builder & setBackgroundColor(Color color)
Sets the background color (ignoring alpha).
Definition
TooltipRenderer.cpp:41
TooltipRenderer::Builder::setBorderThickness
Builder & setBorderThickness(int thickness)
Sets the border thickness.
Definition
TooltipRenderer.cpp:59
TooltipRenderer::Builder::_bgAlpha
unsigned char _bgAlpha
Definition
TooltipRenderer.hpp:112
TooltipRenderer::Builder::_bgColor
Color _bgColor
Definition
TooltipRenderer.hpp:111
TooltipRenderer::Builder::setAnchor
Builder & setAnchor(Anchor anchor)
Sets the anchor point for positioning.
Definition
TooltipRenderer.cpp:77
TooltipRenderer
Builder-pattern renderer for multiline tooltips with flexible styling.
Definition
TooltipRenderer.hpp:13
TooltipRenderer::Anchor
Anchor
Definition
TooltipRenderer.hpp:15
TooltipRenderer::Anchor::MiddleLeft
@ MiddleLeft
TooltipRenderer::Anchor::TopRight
@ TopRight
TooltipRenderer::Anchor::MiddleRight
@ MiddleRight
TooltipRenderer::Anchor::Center
@ Center
TooltipRenderer::Anchor::BottomRight
@ BottomRight
TooltipRenderer::Anchor::TopCenter
@ TopCenter
TooltipRenderer::Anchor::BottomLeft
@ BottomLeft
TooltipRenderer::Anchor::TopLeft
@ TopLeft
TooltipRenderer::Anchor::BottomCenter
@ BottomCenter
TooltipRenderer::create
static Builder create()
Creates a new tooltip builder.
Definition
TooltipRenderer.cpp:7
TooltipRenderer::Builder::ColoredSegment
Definition
TooltipRenderer.hpp:105
TooltipRenderer::Builder::ColoredSegment::text
std::string text
Definition
TooltipRenderer.hpp:106
TooltipRenderer::Builder::ColoredSegment::color
Color color
Definition
TooltipRenderer.hpp:107
gui
src
renderer
raylib_helpers
TooltipRenderer.hpp
Generated by
1.9.8