slot
0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
include
UI
Behavior
ScrollBehavior.h
浏览该文件的文档.
1
#pragma once
2
3
#include "
UI/Behavior/IBehavior.h
"
4
5
namespace
z8::ui
{
6
7
class
BaseNode;
8
class
ScrollBarNode;
9
11
enum class
ScrollBarVisibility
{
12
Hidden
,
13
Auto
,
14
Visible
15
};
16
18
struct
ScrollProperty
{
19
bool
Enabled
=
true
;
20
bool
Horizontal
=
false
;
21
bool
Vertical
=
true
;
22
ScrollBarVisibility
HorizontalScrollBar
=
ScrollBarVisibility::Hidden
;
23
ScrollBarVisibility
VerticalScrollBar
=
ScrollBarVisibility::Auto
;
24
float
WheelStep
= 40.0f;
25
};
26
33
class
ScrollBehavior
final
:
public
IBehavior
{
34
BaseNode
*
Viewport
=
nullptr
;
35
BaseNode
*
Content
=
nullptr
;
36
ScrollBarNode
*
VerticalScrollBar
=
nullptr
;
37
float
OffsetY
= 0.0f;
38
float
MaximumOffsetY
= 0.0f;
39
public
:
40
ScrollProperty
Properties
;
41
ScrollBehavior
() =
default
;
42
43
void
BindVertical
(
BaseNode
*
viewport
,
BaseNode
*
content
,
ScrollBarNode
*
scrollBar
);
44
void
SetProperties
(
const
ScrollProperty
&
properties
);
45
bool
SetProperty
(
const
std::string &
name
,
const
std::string &
value
)
override
;
46
void
SetOffsetY
(
float
offset
);
47
float
GetOffsetY
()
const
{
return
OffsetY
; }
48
float
GetMaximumOffsetY
()
const
{
return
MaximumOffsetY
; }
49
;
50
EventReply
OnMouseWheel
(
MouseWheelArgs
args
)
override
;
51
void
OnAfterLayout
()
override
;
52
void
OnDetached
()
override
;
53
54
private
:
55
void
ApplyProperties
();
56
void
SynchronizeVisuals
()
const
;
57
void
UpdateRange
();
58
};
59
60
}
// namespace z8::ui
IBehavior.h
z8::ResourceRef
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition
ResourceRef.h:36
z8::ui::BaseNode
Definition
BaseNode.h:25
z8::ui::IBehavior
Definition
IBehavior.h:17
z8::ui::ScrollBarNode
Definition
ScrollBarNode.h:18
z8::ui::ScrollBehavior
Definition
ScrollBehavior.h:33
z8::ui::ScrollBehavior::GetOffsetY
float GetOffsetY() const
Definition
ScrollBehavior.h:47
z8::ui::ScrollBehavior::BindVertical
void BindVertical(BaseNode *viewport, BaseNode *content, ScrollBarNode *scrollBar)
Definition
ScrollBehavior.cpp:28
z8::ui::ScrollBehavior::ScrollBehavior
ScrollBehavior()=default
z8::ui::ScrollBehavior::SetProperty
bool SetProperty(const std::string &name, const std::string &value) override
Definition
ScrollBehavior.cpp:134
z8::ui::ScrollBehavior::Content
BaseNode * Content
Definition
ScrollBehavior.h:35
z8::ui::ScrollBehavior::GetMaximumOffsetY
float GetMaximumOffsetY() const
Definition
ScrollBehavior.h:48
z8::ui::ScrollBehavior::VerticalScrollBar
ScrollBarNode * VerticalScrollBar
Definition
ScrollBehavior.h:36
z8::ui::ScrollBehavior::SynchronizeVisuals
void SynchronizeVisuals() const
Definition
ScrollBehavior.cpp:95
z8::ui::ScrollBehavior::SetOffsetY
void SetOffsetY(float offset)
Definition
ScrollBehavior.cpp:114
z8::ui::ScrollBehavior::SetProperties
void SetProperties(const ScrollProperty &properties)
Definition
ScrollBehavior.cpp:53
z8::ui::ScrollBehavior::Properties
ScrollProperty Properties
Definition
ScrollBehavior.h:40
z8::ui::ScrollBehavior::OnDetached
void OnDetached() override
Definition
ScrollBehavior.cpp:44
z8::ui::ScrollBehavior::OnAfterLayout
void OnAfterLayout() override
Definition
ScrollBehavior.cpp:132
z8::ui::ScrollBehavior::Viewport
BaseNode * Viewport
Definition
ScrollBehavior.h:34
z8::ui::ScrollBehavior::ApplyProperties
void ApplyProperties()
Definition
ScrollBehavior.cpp:60
z8::ui::ScrollBehavior::OffsetY
float OffsetY
Definition
ScrollBehavior.h:37
z8::ui::ScrollBehavior::MaximumOffsetY
float MaximumOffsetY
Definition
ScrollBehavior.h:38
z8::ui::ScrollBehavior::OnMouseWheel
EventReply OnMouseWheel(MouseWheelArgs args) override
Definition
ScrollBehavior.cpp:120
z8::ui::ScrollBehavior::UpdateRange
void UpdateRange()
Definition
ScrollBehavior.cpp:75
z8::ui
Definition
Application.h:18
z8::ui::DockPlacement::Auto
@ Auto
z8::ui::ScrollBarVisibility
ScrollBarVisibility
Definition
ScrollBehavior.h:11
z8::ui::ScrollBarVisibility::Auto
@ Auto
z8::ui::ScrollBarVisibility::Hidden
@ Hidden
z8::ui::ScrollBarVisibility::Visible
@ Visible
z8::EventReply
EventReply
Definition
Event.h:13
z8::MouseWheelArgs
Definition
Event.h:57
z8::ui::ScrollProperty
Definition
ScrollBehavior.h:18
z8::ui::ScrollProperty::Vertical
bool Vertical
Definition
ScrollBehavior.h:21
z8::ui::ScrollProperty::WheelStep
float WheelStep
Definition
ScrollBehavior.h:24
z8::ui::ScrollProperty::Enabled
bool Enabled
Definition
ScrollBehavior.h:19
z8::ui::ScrollProperty::Horizontal
bool Horizontal
Definition
ScrollBehavior.h:20
z8::ui::ScrollProperty::VerticalScrollBar
ScrollBarVisibility VerticalScrollBar
Definition
ScrollBehavior.h:23
z8::ui::ScrollProperty::HorizontalScrollBar
ScrollBarVisibility HorizontalScrollBar
Definition
ScrollBehavior.h:22
制作者
1.10.0