slot
0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
include
UI
Layout
ScrollBarNode.h
浏览该文件的文档.
1
#pragma once
2
3
#include "
UI/Layout/RectNode.h
"
4
5
#include <functional>
6
7
namespace
z8::ui
{
8
10
enum class
ScrollBarOrientation
{
Horizontal
,
Vertical
};
11
18
class
ScrollBarNode
:
public
RectNode
{
19
private
:
20
float
ViewportExtent
= 0.0f;
21
float
ContentExtent
= 0.0f;
22
float
Value
= 0.0f;
23
float
Maximum
= 0.0f;
24
float
DragScale
= 0.0f;
25
bool
DraggingThumb
=
false
;
26
27
public
:
28
RectNode
*
ThumbNode
;
29
ScrollBarOrientation
Orientation
;
30
std::function<
void
(
float
)>
ValueChanged
;
31
32
explicit
ScrollBarNode
(
33
ScrollBarOrientation
orientation
=
ScrollBarOrientation::Vertical
);
34
35
const
char
*
TypeName
()
const override
{
return
"ScrollBar"
; }
36
EventReply
OnMouseDown
(
MouseMovArgs
args
)
override
;
37
EventReply
OnMouseDrag
(
MouseMovArgs
args
)
override
;
38
EventReply
OnMouseUp
(
MouseMovArgs
args
)
override
;
39
void
OnPointerCaptureLost
()
override
{
DraggingThumb
=
false
; }
40
void
OnAfterLayout
()
override
;
41
43
void
SetMetrics
(
float
viewportExtent
,
float
contentExtent
);
45
void
SetValue
(
float
value
,
bool
notify
=
true
);
46
47
private
:
48
void
OnVisualStateChanged
()
override
;
49
};
50
51
}
// namespace z8::ui
RectNode.h
z8::ResourceRef
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition
ResourceRef.h:36
z8::ui::RectNode
Definition
RectNode.h:10
z8::ui::ScrollBarNode
Definition
ScrollBarNode.h:18
z8::ui::ScrollBarNode::ScrollBarNode
ScrollBarNode(ScrollBarOrientation orientation=ScrollBarOrientation::Vertical)
Definition
ScrollBarNode.cpp:10
z8::ui::ScrollBarNode::OnAfterLayout
void OnAfterLayout() override
Definition
ScrollBarNode.cpp:107
z8::ui::ScrollBarNode::Maximum
float Maximum
Definition
ScrollBarNode.h:23
z8::ui::ScrollBarNode::ViewportExtent
float ViewportExtent
Definition
ScrollBarNode.h:20
z8::ui::ScrollBarNode::Orientation
ScrollBarOrientation Orientation
Definition
ScrollBarNode.h:29
z8::ui::ScrollBarNode::OnMouseUp
EventReply OnMouseUp(MouseMovArgs args) override
Definition
ScrollBarNode.cpp:101
z8::ui::ScrollBarNode::ThumbNode
RectNode * ThumbNode
Definition
ScrollBarNode.h:28
z8::ui::ScrollBarNode::TypeName
const char * TypeName() const override
Definition
ScrollBarNode.h:35
z8::ui::ScrollBarNode::SetValue
void SetValue(float value, bool notify=true)
Definition
ScrollBarNode.cpp:54
z8::ui::ScrollBarNode::OnMouseDown
EventReply OnMouseDown(MouseMovArgs args) override
Definition
ScrollBarNode.cpp:63
z8::ui::ScrollBarNode::ValueChanged
std::function< void(float)> ValueChanged
Definition
ScrollBarNode.h:30
z8::ui::ScrollBarNode::OnPointerCaptureLost
void OnPointerCaptureLost() override
Definition
ScrollBarNode.h:39
z8::ui::ScrollBarNode::ContentExtent
float ContentExtent
Definition
ScrollBarNode.h:21
z8::ui::ScrollBarNode::DraggingThumb
bool DraggingThumb
Definition
ScrollBarNode.h:25
z8::ui::ScrollBarNode::Value
float Value
Definition
ScrollBarNode.h:22
z8::ui::ScrollBarNode::OnVisualStateChanged
void OnVisualStateChanged() override
Definition
ScrollBarNode.cpp:38
z8::ui::ScrollBarNode::DragScale
float DragScale
Definition
ScrollBarNode.h:24
z8::ui::ScrollBarNode::SetMetrics
void SetMetrics(float viewportExtent, float contentExtent)
Definition
ScrollBarNode.cpp:47
z8::ui::ScrollBarNode::OnMouseDrag
EventReply OnMouseDrag(MouseMovArgs args) override
Definition
ScrollBarNode.cpp:91
z8::ui
Definition
Application.h:18
z8::ui::ScrollBarOrientation
ScrollBarOrientation
Definition
ScrollBarNode.h:10
z8::ui::ScrollBarOrientation::Vertical
@ Vertical
z8::ui::SplitAxis::Vertical
@ Vertical
z8::ui::SplitAxis::Horizontal
@ Horizontal
z8::EventReply
EventReply
Definition
Event.h:13
z8::MouseMovArgs
Definition
Event.h:41
制作者
1.10.0