dl
dl::UI::ButtonSprite类 参考

精灵按钮(注意精灵没有Coor) 更多...

#include <dl_ui_button_sprite.h>

继承自 dl::UI::Button .

Public 成员函数

virtual ButtonSpriteClone () override
 必须实现的函数
 
void SetSpriteQuad (Button::State state, const Quad &quad)
 设置精灵quad
 
void SetSpriteColor (Button::State state, const Color &color)
 设置精灵颜色
 
gcSprite GetSpriteCurrent ()
 
virtual bool IsPickup () override
 
virtual void SetOrder (float order) override
 
virtual float GetOrder () override
 
virtual Position GetSize () override
 
virtual Position GetAnchor () override
 
virtual void RenderDebug () override
 
 ~ButtonSprite ()
 
- Public 成员函数 继承自 dl::UI::Button
 Button ()
 
 Button (const Button &b)
 
void Update ()
 
void Render ()
 
bool IsClick ()
 控件被点击
 
bool IsDown ()
 控件按下状态
 
bool IsOverOnce ()
 经过按钮,直到离开控件再次进入才会返回真
 
bool IsRadio ()
 
bool IsSelect ()
 控件是选中状态
 
void SetSelect (bool open)
 
void SetMode (Mode mode)
 
void SetDisable (bool disable)
 
void ClearState ()
 清理状态为普通
 
void SetSound (std::string_view click, std::string_view over)
 设置按钮音效
 
State GetState ()
 
CoorGetCoor ()
 添加到Panel后会自动设置Coor数据,要设置位置等 请调用SetElementData
 
float GetOrder (int offset)
 
void SetElementData (const Align::Direction2 &hv, const Position &pos={})
 
void SetElementDataRunAble (bool able)
 
void SetElementDataAutoSize (bool parent_w, bool parent_h)
 
std::string GetString ()
 
void AddText (gcText txt, const std::vector< Color > &mul_col, const std::vector< Position > &mul_offset)
 添加文本属性
 
void AddTextDefault ()
 
void AddText (gcText txt)
 
void AddText (gcText txt, const std::vector< Color > &mul_col)
 
void SetString (std::string_view str)
 
void SetTextAlign (const Align::Direction2 &hv)
 
void SetSizeWithText (bool with, const Position &extra_size)
 设置精灵大小跟随文本
 
void SetName (std::string_view name)
 
void SetCustomRender (CbCustomRender cb)
 
void SetEevntClick (CbEventClick cb)
 
ComponentsGetCpt ()
 
Mode GetMode ()
 
virtual ~Button ()
 

静态 Public 成员函数

static ButtonSpriteCreate (const std::vector< gcSprite > &mul_spr)
 精灵组成的按钮
 
- 静态 Public 成员函数 继承自 dl::UI::Button
static ButtonGetClickControl ()
 

额外继承的成员函数

- Public 类型 继承自 dl::UI::Button
enum class  State {
  NORMAL , OVER , DOWN , DISABLE ,
  DOWN_OVER , DOWN_DISABLE , MAX_NUM
}
 
enum class  Mode { BUTTON , SWITCH , RADIO }
 
using CbCustomRender = std::function<void(Button*)>
 
using CbEventClick = std::function<void(Button*)>
 
- Protected 成员函数 继承自 dl::UI::Button
std::size_t GetIndex (State state)
 返回索引
 
void _refresh_element_data ()
 
constexpr bool _use_over ()
 
virtual void UpdateChild (State state_pre, State state)
 重载此函数,制定控件行为
 
void UpdateTextOrder (float order)
 order变化时需要调用
 
virtual void OnTextSizeChange (const Position &size)
 
TextDataGetTextData ()
 
- Protected 属性 继承自 dl::UI::Button
Coor_coor
 

详细描述

精灵按钮(注意精灵没有Coor)

在文件 dl_ui_button_sprite.h23 行定义.

构造及析构函数说明

◆ ~ButtonSprite()

dl::UI::ButtonSprite::~ButtonSprite ( )
inline

在文件 dl_ui_button_sprite.h79 行定义.

成员函数说明

◆ Clone()

virtual ButtonSprite * dl::UI::ButtonSprite::Clone ( )
overridevirtual

必须实现的函数

实现了 dl::UI::Button.

◆ Create()

static ButtonSprite * dl::UI::ButtonSprite::Create ( const std::vector< gcSprite > & mul_spr)
inlinestatic

精灵组成的按钮

参数
[in]mul_spr多个精灵,浅拷贝
注解
最多6个精灵,普通、经过、按下、禁用(普通)、经过(按下)、禁用(按下) 最少3个,缺少的禁用状态叠加灰度,4个时用一样的禁用状态。 可以额外拥有文本

在文件 dl_ui_button_sprite.h33 行定义.

◆ GetAnchor()

virtual Position dl::UI::ButtonSprite::GetAnchor ( )
inlineoverridevirtual

实现了 dl::UI::Button.

在文件 dl_ui_button_sprite.h76 行定义.

◆ GetOrder()

virtual float dl::UI::ButtonSprite::GetOrder ( )
inlineoverridevirtual

实现了 dl::UI::Button.

在文件 dl_ui_button_sprite.h71 行定义.

◆ GetSize()

virtual Position dl::UI::ButtonSprite::GetSize ( )
inlineoverridevirtual

实现了 dl::UI::Button.

在文件 dl_ui_button_sprite.h75 行定义.

◆ GetSpriteCurrent()

gcSprite dl::UI::ButtonSprite::GetSpriteCurrent ( )
inline

在文件 dl_ui_button_sprite.h59 行定义.

◆ IsPickup()

virtual bool dl::UI::ButtonSprite::IsPickup ( )
inlineoverridevirtual

实现了 dl::UI::Button.

在文件 dl_ui_button_sprite.h61 行定义.

◆ RenderDebug()

virtual void dl::UI::ButtonSprite::RenderDebug ( )
overridevirtual

重载 dl::UI::Button .

◆ SetOrder()

virtual void dl::UI::ButtonSprite::SetOrder ( float order)
inlineoverridevirtual

实现了 dl::UI::Button.

在文件 dl_ui_button_sprite.h65 行定义.

◆ SetSpriteColor()

void dl::UI::ButtonSprite::SetSpriteColor ( Button::State state,
const Color & color )

设置精灵颜色

参数
[in]state状态,传入MAX_NUM表示所有
[in]quad大小
注解
会拉伸图像

◆ SetSpriteQuad()

void dl::UI::ButtonSprite::SetSpriteQuad ( Button::State state,
const Quad & quad )

设置精灵quad

参数
[in]state状态,传入MAX_NUM表示所有
[in]quad大小
注解
会拉伸图像

该类的文档由以下文件生成: