DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
tooltips.h
Go to the documentation of this file.
1
#ifndef GAME_CLIENT_TOOLTIPS_H
2
#define GAME_CLIENT_TOOLTIPS_H
3
4
#include <
game/client/component.h
>
5
#include <
game/client/ui_rect.h
>
6
7
#include <cstdint>
8
#include <functional>
9
#include <optional>
10
#include <unordered_map>
11
12
class
CTooltip
13
{
14
public
:
15
CTooltip
(
const
void
*pId,
const
CUIRect
&Rect,
const
char
*pText,
float
WidthHint,
float
FontSize,
bool
Truncated) :
16
m_pId
(pId),
m_Rect
(Rect),
m_pText
(pText),
m_WidthHint
(WidthHint),
m_FontSize
(FontSize),
m_Truncated
(Truncated),
m_OnScreen
(false) {}
17
18
const
void
*
m_pId
;
19
CUIRect
m_Rect
;
20
const
char
*
m_pText
;
21
float
m_WidthHint
;
22
float
m_FontSize
;
23
bool
m_Truncated
;
24
bool
m_OnScreen
;
// used to know if the tooltip should be rendered.
25
};
26
27
class
CUi
;
28
class
ITextRender
;
29
35
class
CTooltips
36
{
37
std::unordered_map<uintptr_t, CTooltip>
m_Tooltips
;
38
std::optional<std::reference_wrapper<CTooltip>>
m_ActiveTooltip
;
39
std::optional<std::reference_wrapper<CTooltip>>
m_PreviousTooltip
;
40
int64_t
m_HoverTime
;
41
45
void
SetActiveTooltip
(
CTooltip
&Tooltip);
46
47
inline
void
ClearActiveTooltip
();
48
CUi
*
m_pUi
;
49
ITextRender
*
m_pTextRender
;
50
CUi
*
Ui
() {
return
m_pUi
; }
51
ITextRender
*
TextRender
() {
return
m_pTextRender
; }
52
53
public
:
54
CTooltips
() =
default
;
55
void
Init
(
CUi
*pUi,
ITextRender
*pTextRender);
56
57
void
DoToolTip
(
const
CTooltip
&Tooltip);
58
59
void
OnReset
();
60
void
OnRender
();
61
};
62
63
#endif
CTooltip
Definition
tooltips.h:13
CTooltip::m_WidthHint
float m_WidthHint
Definition
tooltips.h:21
CTooltip::m_Rect
CUIRect m_Rect
Definition
tooltips.h:19
CTooltip::m_pText
const char * m_pText
Definition
tooltips.h:20
CTooltip::CTooltip
CTooltip(const void *pId, const CUIRect &Rect, const char *pText, float WidthHint, float FontSize, bool Truncated)
Definition
tooltips.h:15
CTooltip::m_OnScreen
bool m_OnScreen
Definition
tooltips.h:24
CTooltip::m_FontSize
float m_FontSize
Definition
tooltips.h:22
CTooltip::m_pId
const void * m_pId
Definition
tooltips.h:18
CTooltip::m_Truncated
bool m_Truncated
Definition
tooltips.h:23
CTooltips::OnReset
void OnReset()
Definition
tooltips.cpp:18
CTooltips::Init
void Init(CUi *pUi, ITextRender *pTextRender)
Definition
tooltips.cpp:11
CTooltips::m_ActiveTooltip
std::optional< std::reference_wrapper< CTooltip > > m_ActiveTooltip
Definition
tooltips.h:38
CTooltips::Ui
CUi * Ui()
Definition
tooltips.h:50
CTooltips::m_pUi
CUi * m_pUi
Definition
tooltips.h:48
CTooltips::m_Tooltips
std::unordered_map< uintptr_t, CTooltip > m_Tooltips
Definition
tooltips.h:37
CTooltips::m_PreviousTooltip
std::optional< std::reference_wrapper< CTooltip > > m_PreviousTooltip
Definition
tooltips.h:39
CTooltips::m_pTextRender
ITextRender * m_pTextRender
Definition
tooltips.h:49
CTooltips::DoToolTip
void DoToolTip(const CTooltip &Tooltip)
Definition
tooltips.cpp:36
CTooltips::OnRender
void OnRender()
Definition
tooltips.cpp:56
CTooltips::m_HoverTime
int64_t m_HoverTime
Definition
tooltips.h:40
CTooltips::TextRender
ITextRender * TextRender()
Definition
tooltips.h:51
CTooltips::ClearActiveTooltip
void ClearActiveTooltip()
Definition
tooltips.cpp:30
CTooltips::SetActiveTooltip
void SetActiveTooltip(CTooltip &Tooltip)
Definition
tooltips.cpp:25
CTooltips::CTooltips
CTooltips()=default
CUIRect
Definition
ui_rect.h:12
CUi
Definition
ui.h:340
ITextRender
Definition
textrender.h:194
component.h
ui_rect.h
src
game
client
tooltips.h
Generated by
1.18.0