Zappy GUI
C++ graphic client: renderer, camera, network
Loading...
Searching...
No Matches
EntityTooltipWidget.hpp
Go to the documentation of this file.
1
6
7
#pragma once
8
9
#include <functional>
10
#include <string>
11
12
#include "
ButtonWidget.hpp
"
13
#include "
IWidget.hpp
"
14
#include "
SelectionFinder.hpp
"
15
#include "
TooltipWidget.hpp
"
16
#include "
core/WorldState.hpp
"
17
#include "raylib.h"
18
19
class
EntityTooltipWidget
:
public
IWidget
{
20
public
:
21
EntityTooltipWidget
();
22
~EntityTooltipWidget
()
override
=
default
;
23
24
void
setSelection
(
const
SelectionFinder::Selection
& sel);
25
void
setWorld
(
const
WorldState
* world);
26
void
setTeamColorFunc
(std::function<Color(
const
std::string&)> func);
29
void
setFollowActive
(
bool
active);
30
33
int
popFollowRequest
();
34
36
bool
isFollowButtonHovered
()
const
;
37
38
void
draw
(
int
scaledFontSize)
const override
;
39
bool
handleInput
()
override
;
40
41
private
:
42
const
WorldState
*
_world
=
nullptr
;
43
SelectionFinder::Selection
_selection
;
44
std::function<Color(
const
std::string&)>
_colorFunc
;
45
bool
_followActive
=
false
;
46
47
int
_pendingFollowId
= -1;
48
mutable
int
_scaledFontSize
= 18;
49
50
mutable
TooltipWidget
_tooltip
;
51
mutable
ButtonWidget
_followBtn
;
52
mutable
bool
_btnHovered
=
false
;
53
mutable
float
_btnW
=
BTN_W
;
54
55
static
constexpr
float
BTN_W
= 120.0f;
56
static
constexpr
float
BTN_H
= 36.0f;
57
static
constexpr
float
BTN_MARGIN
= 10.0f;
// gap inside panel below last line
58
59
void
_rebuild
()
const
;
60
bool
_isPlayerCase
()
const
;
61
void
_positionButton
()
const
;
62
};
ButtonWidget.hpp
Reusable clickable button component.
IWidget.hpp
Interface for GUI widgets.
SelectionFinder.hpp
TooltipWidget.hpp
Stateful tooltip panel component implementing IWidget.
WorldState.hpp
ButtonWidget
A configurable, stateful clickable button.
Definition
ButtonWidget.hpp:17
EntityTooltipWidget
Definition
EntityTooltipWidget.hpp:19
EntityTooltipWidget::setSelection
void setSelection(const SelectionFinder::Selection &sel)
Definition
EntityTooltipWidget.cpp:38
EntityTooltipWidget::_btnHovered
bool _btnHovered
Definition
EntityTooltipWidget.hpp:52
EntityTooltipWidget::BTN_MARGIN
static constexpr float BTN_MARGIN
Definition
EntityTooltipWidget.hpp:57
EntityTooltipWidget::popFollowRequest
int popFollowRequest()
Returns and clears the pending follow target player id. Positive id = start follow....
Definition
EntityTooltipWidget.cpp:46
EntityTooltipWidget::setTeamColorFunc
void setTeamColorFunc(std::function< Color(const std::string &)> func)
Definition
EntityTooltipWidget.cpp:40
EntityTooltipWidget::_positionButton
void _positionButton() const
Definition
EntityTooltipWidget.cpp:135
EntityTooltipWidget::setFollowActive
void setFollowActive(bool active)
Tells the widget whether follow mode is currently active (affects button label/color).
Definition
EntityTooltipWidget.cpp:44
EntityTooltipWidget::_followBtn
ButtonWidget _followBtn
Definition
EntityTooltipWidget.hpp:51
EntityTooltipWidget::_isPlayerCase
bool _isPlayerCase() const
Definition
EntityTooltipWidget.cpp:55
EntityTooltipWidget::_pendingFollowId
int _pendingFollowId
Definition
EntityTooltipWidget.hpp:47
EntityTooltipWidget::draw
void draw(int scaledFontSize) const override
Draws the widget.
Definition
EntityTooltipWidget.cpp:171
EntityTooltipWidget::handleInput
bool handleInput() override
Processes user input.
Definition
EntityTooltipWidget.cpp:151
EntityTooltipWidget::BTN_H
static constexpr float BTN_H
Definition
EntityTooltipWidget.hpp:56
EntityTooltipWidget::_tooltip
TooltipWidget _tooltip
Definition
EntityTooltipWidget.hpp:50
EntityTooltipWidget::~EntityTooltipWidget
~EntityTooltipWidget() override=default
EntityTooltipWidget::isFollowButtonHovered
bool isFollowButtonHovered() const
True when the follow button is hovered — use to block raycasts.
Definition
EntityTooltipWidget.cpp:53
EntityTooltipWidget::setWorld
void setWorld(const WorldState *world)
Definition
EntityTooltipWidget.cpp:39
EntityTooltipWidget::_rebuild
void _rebuild() const
Definition
EntityTooltipWidget.cpp:61
EntityTooltipWidget::_selection
SelectionFinder::Selection _selection
Definition
EntityTooltipWidget.hpp:43
EntityTooltipWidget::_followActive
bool _followActive
Definition
EntityTooltipWidget.hpp:45
EntityTooltipWidget::BTN_W
static constexpr float BTN_W
Definition
EntityTooltipWidget.hpp:55
EntityTooltipWidget::_scaledFontSize
int _scaledFontSize
Definition
EntityTooltipWidget.hpp:48
EntityTooltipWidget::_btnW
float _btnW
Definition
EntityTooltipWidget.hpp:53
EntityTooltipWidget::EntityTooltipWidget
EntityTooltipWidget()
Definition
EntityTooltipWidget.cpp:22
EntityTooltipWidget::_world
const WorldState * _world
Definition
EntityTooltipWidget.hpp:42
EntityTooltipWidget::_colorFunc
std::function< Color(const std::string &)> _colorFunc
Definition
EntityTooltipWidget.hpp:44
IWidget
Interface for GUI widgets.
Definition
IWidget.hpp:11
TooltipWidget
A configurable, stateful tooltip panel.
Definition
TooltipWidget.hpp:22
WorldState
Represents the state of the world in the game, including the map size, tile contents,...
Definition
WorldState.hpp:63
SelectionFinder::Selection
Definition
SelectionFinder.hpp:18
gui
src
renderer
raylib_helpers
EntityTooltipWidget.hpp
Generated by
1.9.8