slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
IBehavior.h
浏览该文件的文档.
1#pragma once
2
3#include "Core/Event.h"
5
6namespace z8::ui {
7
8class BaseNode;
9class BehaviorNode;
10
17class IBehavior : public IProperty, public EventTarget {
18public:
19 BehaviorNode *Owner = nullptr;
20 int Priority = 0;
21
22 explicit IBehavior(int priority = 0) : Priority(priority) {}
23 ~IBehavior() override = default;
24 IBehavior(const IBehavior &) = delete;
25 IBehavior &operator=(const IBehavior &) = delete;
26
27 // 布局计算前更新容器约束;仅布局类 Behavior 应覆写该阶段。
28 virtual void OnBeforeLayout(float, float) {}
29 virtual void OnAfterLayout() {}
30
31 // 观察同一宿主上的有效拖拽生命周期,用于停靠等正交策略。
32 virtual void OnDragStarted(MouseMovArgs) {}
34 virtual void OnAttached() {}
35 virtual void OnDetached() {}
36};
37
38} // namespace z8::ui
Definition Event.h:80
Definition Owner.h:15
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition BehaviorNode.h:17
Definition IBehavior.h:17
IBehavior(int priority=0)
Definition IBehavior.h:22
int Priority
Definition IBehavior.h:20
virtual void OnAfterLayout()
Definition IBehavior.h:29
virtual void OnAttached()
Definition IBehavior.h:34
IBehavior & operator=(const IBehavior &)=delete
virtual void OnDragStarted(MouseMovArgs)
Definition IBehavior.h:32
virtual void OnDragCompleted(MouseMovArgs)
Definition IBehavior.h:33
~IBehavior() override=default
virtual void OnBeforeLayout(float, float)
Definition IBehavior.h:28
virtual void OnDetached()
Definition IBehavior.h:35
IBehavior(const IBehavior &)=delete
Definition IProperty.h:10
Definition Application.h:18
Definition Event.h:41