57 static_assert(std::is_base_of_v<IBehavior, T>);
58 auto behavior = std::make_unique<T>(std::forward<Args>(
args)...);
65 static_assert(std::is_base_of_v<IBehavior, T>);
73 static_assert(std::is_base_of_v<IBehavior, T>);
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition BehaviorNode.h:17
void SetPressed(bool pressed)
Definition BehaviorNode.cpp:57
bool RemoveBehavior(IBehavior *behavior)
Definition BehaviorNode.cpp:34
bool Focusable
Definition BehaviorNode.h:26
void DispatchAfterLayout() override
Definition BehaviorNode.cpp:137
~BehaviorNode() override
Definition BehaviorNode.cpp:8
bool Hovered
Definition BehaviorNode.h:22
bool HitTestVisible
Definition BehaviorNode.h:20
const T * GetBehavior() const
Definition BehaviorNode.h:72
void SetHovered(bool hovered)
Definition BehaviorNode.cpp:50
void ReleaseBehaviors()
Definition BehaviorNode.cpp:10
void DispatchBeforeLayout(float width, float height) const
Definition BehaviorNode.cpp:143
void CancelPointerCapture()
Definition BehaviorNode.cpp:158
IBehavior * AddBehavior(std::unique_ptr< IBehavior > behavior)
Definition BehaviorNode.cpp:19
T * AddBehavior(Args &&...args)
Definition BehaviorNode.h:56
bool DispatchMouseUp(const MouseMovArgs &args)
Definition BehaviorNode.cpp:106
bool SetProperty(const std::string &name, const std::string &value) override
Definition BehaviorNode.cpp:71
MouseCursor QueryMouseCursor(const MouseMovArgs &args) const
Definition BehaviorNode.cpp:121
std::vector< std::unique_ptr< IBehavior > > Behaviors
Definition BehaviorNode.h:29
bool Focused
Definition BehaviorNode.h:28
EventReply DispatchMouseDown(const MouseMovArgs &args)
Definition BehaviorNode.cpp:80
IBehavior * CapturedBehavior
Definition BehaviorNode.h:30
bool DispatchMouseWheel(MouseWheelArgs args)
Definition BehaviorNode.cpp:114
bool Pressed
Definition BehaviorNode.h:24
void SetFocused(bool focused)
Definition BehaviorNode.cpp:64
void DispatchDragStarted(const MouseMovArgs &args) const
Definition BehaviorNode.cpp:148
bool DispatchMouseMove(const MouseMovArgs &args)
Definition BehaviorNode.cpp:92
bool DispatchMouseDrag(const MouseMovArgs &args)
Definition BehaviorNode.cpp:100
virtual void OnVisualStateChanged()
Definition BehaviorNode.h:82
void DispatchDragCompleted(const MouseMovArgs &args) const
Definition BehaviorNode.cpp:153
T * GetBehavior()
Definition BehaviorNode.h:64
Definition IBehavior.h:17
Definition Application.h:18
MouseCursor
Definition Event.h:27
EventReply
Definition Event.h:13