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