slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
SliderNode.h
浏览该文件的文档.
1#pragma once
2
4
5#include <functional>
6
7namespace z8::ui {
8
10class SliderNode final : public RectNode {
11private:
12 bool ChangePending = false;
13 bool Dragging = false;
14
15public:
16 RectNode *TrackNode = nullptr;
17 RectNode *FillNode = nullptr;
18 RectNode *ThumbNode = nullptr;
19 float Minimum = 0.0f;
20 float Maximum = 1.0f;
21 float Value = 0.0f;
22 float Step = 0.0f;
23 bool Enabled = true;
24 std::function<void(float)> ValueChanged;
25
26 SliderNode();
27
28 bool ConsumeChanged();
29 const char *TypeName() const override { return "Slider"; }
34 void OnPointerCaptureLost() override { Dragging = false; }
35 void SetEnabled(bool enabled);
36 bool SetProperty(const std::string &name, const std::string &value) override;
37 bool SetRange(float minimum, float maximum);
38 bool SetValue(float value, bool notify = true);
39 void Synchronize() override;
40
41private:
42 void OnVisualStateChanged() override;
43 void UpdateFromPointer(float clientX);
44};
45
46} // namespace z8::ui
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition RectNode.h:10
Definition SliderNode.h:10
float Minimum
Definition SliderNode.h:19
RectNode * ThumbNode
Definition SliderNode.h:18
void Synchronize() override
Definition SliderNode.cpp:200
bool Dragging
Definition SliderNode.h:13
void OnVisualStateChanged() override
Definition SliderNode.cpp:102
float Step
Definition SliderNode.h:22
const char * TypeName() const override
Definition SliderNode.h:29
float Maximum
Definition SliderNode.h:20
bool Enabled
Definition SliderNode.h:23
bool SetProperty(const std::string &name, const std::string &value) override
Definition SliderNode.cpp:129
RectNode * TrackNode
Definition SliderNode.h:16
EventReply OnMouseDown(MouseMovArgs args) override
Definition SliderNode.cpp:79
EventReply OnMouseDrag(MouseMovArgs args) override
Definition SliderNode.cpp:87
RectNode * FillNode
Definition SliderNode.h:17
EventReply OnMouseUp(MouseMovArgs args) override
Definition SliderNode.cpp:94
EventReply OnKeyDown(KeyArgs args) override
Definition SliderNode.cpp:71
bool SetValue(float value, bool notify=true)
Definition SliderNode.cpp:186
bool SetRange(float minimum, float maximum)
Definition SliderNode.cpp:177
std::function< void(float)> ValueChanged
Definition SliderNode.h:24
SliderNode()
Definition SliderNode.cpp:13
void SetEnabled(bool enabled)
Definition SliderNode.cpp:122
bool ChangePending
Definition SliderNode.h:12
void OnPointerCaptureLost() override
Definition SliderNode.h:34
void UpdateFromPointer(float clientX)
Definition SliderNode.cpp:217
float Value
Definition SliderNode.h:21
bool ConsumeChanged()
Definition SliderNode.cpp:65
Definition Application.h:18
EventReply
Definition Event.h:13
Definition Event.h:67
Definition Event.h:41