slot
0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
include
UI
Layout
ButtonNode.h
浏览该文件的文档.
1
#pragma once
2
3
#include "
UI/Layout/RectNode.h
"
4
#include "
UI/Layout/TextNode.h
"
5
6
#include <functional>
7
8
namespace
z8::ui
{
9
11
class
ButtonNode
:
public
RectNode
{
12
private
:
13
bool
Armed
=
false
;
14
bool
ClickPending
=
false
;
15
16
public
:
17
TextNode
*
LabelNode
=
nullptr
;
18
bool
Enabled
=
true
;
19
std::function<
void
()>
Clicked
;
20
21
ButtonNode
();
22
23
bool
ConsumeClicked
();
24
const
char
*
TypeName
()
const override
{
return
"Button"
; }
25
EventReply
OnKeyDown
(
KeyArgs
args
)
override
;
26
EventReply
OnMouseDown
(
MouseMovArgs
args
)
override
;
27
EventReply
OnMouseUp
(
MouseMovArgs
args
)
override
;
28
void
OnPointerCaptureLost
()
override
{
Armed
=
false
; }
29
bool
SetProperty
(
const
std::string &
name
,
const
std::string &
value
)
override
;
30
void
SetEnabled
(
bool
enabled
);
31
void
SetText
(
const
std::string &
text
);
32
33
protected
:
34
void
Activate
();
35
void
OnVisualStateChanged
()
override
;
36
};
37
38
}
// namespace z8::ui
RectNode.h
TextNode.h
z8::ResourceRef
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition
ResourceRef.h:36
z8::ui::ButtonNode
Definition
ButtonNode.h:11
z8::ui::ButtonNode::OnMouseDown
EventReply OnMouseDown(MouseMovArgs args) override
Definition
ButtonNode.cpp:54
z8::ui::ButtonNode::SetText
void SetText(const std::string &text)
Definition
ButtonNode.cpp:104
z8::ui::ButtonNode::Activate
void Activate()
Definition
ButtonNode.cpp:32
z8::ui::ButtonNode::TypeName
const char * TypeName() const override
Definition
ButtonNode.h:24
z8::ui::ButtonNode::ConsumeClicked
bool ConsumeClicked()
Definition
ButtonNode.cpp:40
z8::ui::ButtonNode::OnKeyDown
EventReply OnKeyDown(KeyArgs args) override
Definition
ButtonNode.cpp:46
z8::ui::ButtonNode::ButtonNode
ButtonNode()
Definition
ButtonNode.cpp:9
z8::ui::ButtonNode::Armed
bool Armed
Definition
ButtonNode.h:13
z8::ui::ButtonNode::OnPointerCaptureLost
void OnPointerCaptureLost() override
Definition
ButtonNode.h:28
z8::ui::ButtonNode::SetEnabled
void SetEnabled(bool enabled)
Definition
ButtonNode.cpp:97
z8::ui::ButtonNode::Clicked
std::function< void()> Clicked
Definition
ButtonNode.h:19
z8::ui::ButtonNode::SetProperty
bool SetProperty(const std::string &name, const std::string &value) override
Definition
ButtonNode.cpp:81
z8::ui::ButtonNode::OnVisualStateChanged
void OnVisualStateChanged() override
Definition
ButtonNode.cpp:69
z8::ui::ButtonNode::OnMouseUp
EventReply OnMouseUp(MouseMovArgs args) override
Definition
ButtonNode.cpp:61
z8::ui::ButtonNode::LabelNode
TextNode * LabelNode
Definition
ButtonNode.h:17
z8::ui::ButtonNode::Enabled
bool Enabled
Definition
ButtonNode.h:18
z8::ui::ButtonNode::ClickPending
bool ClickPending
Definition
ButtonNode.h:14
z8::ui::RectNode
Definition
RectNode.h:10
z8::ui::TextNode
Definition
TextNode.h:20
z8::ui
Definition
Application.h:18
z8::EventReply
EventReply
Definition
Event.h:13
z8::KeyArgs
Definition
Event.h:67
z8::MouseMovArgs
Definition
Event.h:41
制作者
1.10.0