dl
dl
ui
dl_ui_button_text_color.h
浏览该文件的文档.
1
12
#pragma once
13
14
#ifndef DL_DISABLE_RENDER
15
#include "
ui/dl_ui_button_base.h
"
16
#include "
render/dl_sprite.h
"
17
#include "
render/dl_text.h
"
18
19
namespace
dl::UI
20
{
21
23
class
ButtonTextColor :
public
Button
24
{
25
public
:
32
static
ButtonTextColor*
Create
(
gcText
txt,
const
std::vector<Color>& mul_col,
const
std::vector<Position>& mul_offset)
33
{
34
ButtonTextColor* ret =
new
ButtonTextColor;
35
ret->_create(txt, mul_col, mul_offset);
36
ret->
SetOrder
(
Z_DEFAULT_UI
);
37
return
ret;
38
}
39
40
virtual
ButtonTextColor*
Clone
()
override
;
41
42
void
SetString
(std::string_view str)
43
{
44
_txt->SetString(str);
45
}
46
47
48
virtual
bool
IsPickup
()
override
49
{
50
return
_txt->IsPickup();
51
}
52
virtual
void
SetOrder
(
float
order)
override
53
{
54
_txt->SetOrder(
Math::OffsetOrder
(order, 0, 0, 0));
55
}
56
virtual
float
GetOrder
()
override
57
{
58
return
_txt->GetOrder();
59
}
60
virtual
Position
GetSize
()
override
{
return
toPosition
(_txt->GetSize()); }
61
virtual
Position
GetAnchor
()
override
{
return
{}; }
62
virtual
void
RenderDebug
()
override
{}
63
64
~ButtonTextColor
()
65
{
66
67
}
68
private
:
69
ButtonTextColor
():
70
_col{
ColorDef
::WHITE,
ColorDef
::GREEN,
ColorDef
::BLUE,
ColorDef
::GRAY,
ColorDef
::GRAY },
71
_offset{}
72
{}
73
74
void
_create(
gcText
txt,
const
std::vector<Color>& mul_col,
const
std::vector<Position>& mul_offset);
75
76
gcText
_txt;
77
std::array<Color, 5> _col;
78
std::array<Position, 5> _offset;
79
80
virtual
void
UpdateChild(
State
state_pre,
State
state)
override
81
{
82
size_t
index =
GetIndex
(state);
83
_txt->
SetColor
(_col[index]);
84
_txt->
SetCenter
(_offset[index]);
85
}
86
virtual
void
RenderChild(
State
state_pre,
State
state)
override
87
{
88
_txt->
Render
();
89
}
90
91
void
_update_coor()
92
{
93
_txt->GetCoor()->SetParent(
_coor
);
94
}
95
};
96
97
}
98
99
#endif
dl::Text::Render
void Render()
绘制
dl::Text::SetColor
void SetColor(const Color &col, TextParam type=TextParam::NORMAL)
设置颜色
dl::Text::SetCenter
void SetCenter(const Position &pos={})
设置Coor位置,并根据整体大小居中
dl::UI::Button::Button
Button()
定义
dl_ui_button_base.h:73
dl::UI::Button::State
State
定义
dl_ui_button_base.h:35
dl::UI::Button::_coor
Coor * _coor
定义
dl_ui_button_base.h:258
dl::UI::Button::GetIndex
std::size_t GetIndex(State state)
返回索引
定义
dl_ui_button_base.h:261
dl::UI::ButtonTextColor
文本变色按钮
定义
dl_ui_button_text_color.h:24
dl::UI::ButtonTextColor::RenderDebug
virtual void RenderDebug() override
定义
dl_ui_button_text_color.h:62
dl::UI::ButtonTextColor::IsPickup
virtual bool IsPickup() override
定义
dl_ui_button_text_color.h:48
dl::UI::ButtonTextColor::GetOrder
virtual float GetOrder() override
定义
dl_ui_button_text_color.h:56
dl::UI::ButtonTextColor::~ButtonTextColor
~ButtonTextColor()
定义
dl_ui_button_text_color.h:64
dl::UI::ButtonTextColor::SetString
void SetString(std::string_view str)
定义
dl_ui_button_text_color.h:42
dl::UI::ButtonTextColor::GetAnchor
virtual Position GetAnchor() override
定义
dl_ui_button_text_color.h:61
dl::UI::ButtonTextColor::Clone
virtual ButtonTextColor * Clone() override
必须实现的函数
dl::UI::ButtonTextColor::SetOrder
virtual void SetOrder(float order) override
定义
dl_ui_button_text_color.h:52
dl::UI::ButtonTextColor::Create
static ButtonTextColor * Create(gcText txt, const std::vector< Color > &mul_col, const std::vector< Position > &mul_offset)
文本按钮,可变色
定义
dl_ui_button_text_color.h:32
dl::UI::ButtonTextColor::GetSize
virtual Position GetSize() override
定义
dl_ui_button_text_color.h:60
dl_sprite.h
2d绘图元素
dl_text.h
文本绘制
dl_ui_button_base.h
UI系统之按钮基类
dl::ColorDef
颜色预定义
定义
dl_color.h:347
dl::Math::OffsetOrder
constexpr float OffsetOrder(float order, int u=1, int v=0, int w=0)
偏移order
定义
dl_math.h:659
dl::UI
UI系统
定义
dl_ui_background.h:21
dl::Position
Position2 Position
定义
dl_type_def.h:44
dl::toPosition
constexpr Array< Position::value_type, N > toPosition(const Array< T, N > &a)
转换到Position,已知长度
定义
dl_type_convert.h:47
dl::Z_DEFAULT_UI
constexpr float Z_DEFAULT_UI
定义
dl_sprite.h:30
dl::gcText
GC< Text > gcText
定义
dl_text.h:370
制作者
1.13.1