slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
ResizeBehavior.h
浏览该文件的文档.
1#pragma once
2
4
5namespace z8::ui {
6
8enum class ResizeRegion {
9 None,
10 Left,
11 Right,
12 Top,
13 Bottom,
14 TopLeft,
18};
19
22 bool Enabled = true;
23 float Border = 6.0f;
24 float MinWidth = 120.0f;
25 float MinHeight = 80.0f;
26};
27
33private:
35 bool InteractiveGeometry = false;
36 float CurrentLeft = 0.0f;
37 float CurrentTop = 0.0f;
38 float CurrentWidth = 0.0f;
39 float CurrentHeight = 0.0f;
41public:
42 static constexpr int DefaultPriority = 200;
44
46
48 bool SetProperty(const std::string &name, const std::string &value) override;
50 bool IsResizing() const { return ActiveRegion != ResizeRegion::None; }
55
59 void OnPointerCaptureLost() override {
61 ResizeTarget = nullptr;
62 }
64 void OnAttached() override;
65
66private:
68 void ApplyMinimumSize() const;
69};
70
71} // namespace z8::ui
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition BehaviorNode.h:17
Definition IBehavior.h:17
Definition ResizeBehavior.h:32
bool IsResizing() const
Definition ResizeBehavior.h:50
ResizeBehavior()
Definition ResizeBehavior.h:45
void OnPointerCaptureLost() override
Definition ResizeBehavior.h:59
EventReply OnMouseDown(MouseMovArgs args) override
Definition ResizeBehavior.cpp:85
float CurrentHeight
Definition ResizeBehavior.h:39
void ApplyMinimumSize() const
Definition ResizeBehavior.cpp:22
float CurrentTop
Definition ResizeBehavior.h:37
ResizeProperty Properties
Definition ResizeBehavior.h:43
void OnAttached() override
Definition ResizeBehavior.cpp:20
bool InteractiveGeometry
Definition ResizeBehavior.h:35
float CurrentLeft
Definition ResizeBehavior.h:36
EventReply OnMouseDrag(MouseMovArgs args) override
Definition ResizeBehavior.cpp:101
ResizeRegion HitTest(MouseMovArgs args) const
Definition ResizeBehavior.cpp:29
void SetProperties(const ResizeProperty &properties)
Definition ResizeBehavior.cpp:12
EventReply OnMouseUp(MouseMovArgs args) override
Definition ResizeBehavior.cpp:158
ResizeRegion ActiveRegion
Definition ResizeBehavior.h:34
static constexpr int DefaultPriority
Definition ResizeBehavior.h:42
bool HasInteractiveGeometry() const
Definition ResizeBehavior.h:54
BehaviorNode * ResizeTarget
Definition ResizeBehavior.h:40
MouseCursor GetMouseCursor(MouseMovArgs args) const override
Definition ResizeBehavior.cpp:80
BehaviorNode * GetResizeTarget() const
Definition ResizeBehavior.h:53
float CurrentWidth
Definition ResizeBehavior.h:38
ResizeRegion GetActiveRegion() const
Definition ResizeBehavior.h:51
bool SetProperty(const std::string &name, const std::string &value) override
Definition ResizeBehavior.cpp:165
static MouseCursor CursorForRegion(ResizeRegion region)
Definition ResizeBehavior.cpp:61
Definition Application.h:18
ResizeRegion
Definition ResizeBehavior.h:8
MouseCursor
Definition Event.h:27
EventReply
Definition Event.h:13
Definition Event.h:41
Definition ResizeBehavior.h:21
bool Enabled
Definition ResizeBehavior.h:22
float Border
Definition ResizeBehavior.h:23
float MinHeight
Definition ResizeBehavior.h:25
float MinWidth
Definition ResizeBehavior.h:24