slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Protected 成员函数 | 所有成员列表
z8::ui::BehaviorNode类 参考

#include <BehaviorNode.h>

类 z8::ui::BehaviorNode 继承关系图:
Inheritance graph
[图例]
z8::ui::BehaviorNode 的协作图:
Collaboration graph
[图例]

Public 成员函数

 ~BehaviorNode () override
 
bool SetProperty (const std::string &name, const std::string &value) override
 
EventReply DispatchMouseDown (const MouseMovArgs &args)
 
bool DispatchMouseMove (const MouseMovArgs &args)
 
bool DispatchMouseDrag (const MouseMovArgs &args)
 
bool DispatchMouseUp (const MouseMovArgs &args)
 
bool DispatchMouseWheel (MouseWheelArgs args)
 
MouseCursor QueryMouseCursor (const MouseMovArgs &args) const
 
void DispatchAfterLayout () override
 
void DispatchBeforeLayout (float width, float height) const
 
void DispatchDragStarted (const MouseMovArgs &args) const
 
void DispatchDragCompleted (const MouseMovArgs &args) const
 
void CancelPointerCapture ()
 
IBehaviorAddBehavior (std::unique_ptr< IBehavior > behavior)
 
bool RemoveBehavior (IBehavior *behavior)
 
void SetHovered (bool hovered)
 
void SetPressed (bool pressed)
 
void SetFocused (bool focused)
 
template<typename T , typename... Args>
TAddBehavior (Args &&...args)
 
template<typename T >
TGetBehavior ()
 
template<typename T >
const TGetBehavior () const
 
- Public 成员函数 继承自 z8::ui::BaseNode
 BaseNode ()
 
 ~BaseNode () override
 
 BaseNode (const BaseNode &)=delete
 
BaseNodeoperator= (const BaseNode &)=delete
 
virtual const charTypeName () const
 
virtual bool RoutesToScene () const
 
virtual BaseNodeContentHost ()
 
bool Contains (float x, float y) const
 
bool Contains (MouseMovArgs args) const
 
virtual BaseNodeAddChild (std::unique_ptr< BaseNode > child)
 
void RemoveChildrenFrom (size_t first)
 
virtual void OnAfterLayout ()
 
virtual void Synchronize ()
 
- Public 成员函数 继承自 z8::ui::IProperty
virtual ~IProperty ()=default
 
- Public 成员函数 继承自 z8::EventTarget
virtual ~EventTarget ()=default
 
virtual EventReply OnMouseDown (MouseMovArgs)
 
virtual EventReply OnMouseMove (MouseMovArgs)
 
virtual EventReply OnMouseDrag (MouseMovArgs)
 
virtual EventReply OnMouseUp (MouseMovArgs)
 
virtual EventReply OnMouseWheel (MouseWheelArgs)
 
virtual EventReply OnKeyDown (KeyArgs)
 
virtual EventReply OnKeyUp (KeyArgs)
 
virtual EventReply OnTextInput (wchar_t)
 
virtual MouseCursor GetMouseCursor (MouseMovArgs) const
 
virtual void OnPointerCaptureLost ()
 

Public 属性

bool HitTestVisible = false
 
bool Hovered = false
 
bool Pressed = false
 
bool Focusable = false
 
bool Focused = false
 
std::vector< std::unique_ptr< IBehavior > > Behaviors
 
IBehaviorCapturedBehavior = nullptr
 
- Public 属性 继承自 z8::ui::BaseNode
std::string Key
 
LayoutStyle Style
 
LayoutBox Computed
 
BaseNodeParent = nullptr
 
std::vector< std::unique_ptr< BaseNode > > Children
 
float Left = 0.0f
 
float Top = 0.0f
 
float Width = 0.0f
 
float Height = 0.0f
 
float ChildOffsetX = 0.0f
 
float ChildOffsetY = 0.0f
 
bool ClipChildren = false
 
bool Visible = true
 
bool EffectiveVisible = true
 
bool LayoutManaged = false
 
ClipRect VisibleClip = {-100000.0f, -100000.0f, 100000.0f, 100000.0f}
 

Protected 成员函数

virtual void OnVisualStateChanged ()
 
void ReleaseBehaviors ()
 

详细描述

选择加入交互能力的节点层

构造及析构函数说明

◆ ~BehaviorNode()

BehaviorNode::~BehaviorNode ( )
override
函数调用图:

成员函数说明

◆ AddBehavior() [1/2]

template<typename T , typename... Args>
T * z8::ui::BehaviorNode::AddBehavior ( Args &&... args)
inline
函数调用图:

◆ AddBehavior() [2/2]

IBehavior * BehaviorNode::AddBehavior ( std::unique_ptr< IBehavior > behavior)
这是这个函数的调用关系图:

◆ CancelPointerCapture()

void BehaviorNode::CancelPointerCapture ( )
函数调用图:
这是这个函数的调用关系图:

◆ DispatchAfterLayout()

void BehaviorNode::DispatchAfterLayout ( )
overridevirtual

重载 z8::ui::BaseNode .

函数调用图:

◆ DispatchBeforeLayout()

void BehaviorNode::DispatchBeforeLayout ( float width,
float height ) const

◆ DispatchDragCompleted()

void BehaviorNode::DispatchDragCompleted ( const MouseMovArgs & args) const

◆ DispatchDragStarted()

void BehaviorNode::DispatchDragStarted ( const MouseMovArgs & args) const

◆ DispatchMouseDown()

EventReply BehaviorNode::DispatchMouseDown ( const MouseMovArgs & args)
函数调用图:

◆ DispatchMouseDrag()

bool BehaviorNode::DispatchMouseDrag ( const MouseMovArgs & args)
函数调用图:
这是这个函数的调用关系图:

◆ DispatchMouseMove()

bool BehaviorNode::DispatchMouseMove ( const MouseMovArgs & args)
函数调用图:

◆ DispatchMouseUp()

bool BehaviorNode::DispatchMouseUp ( const MouseMovArgs & args)
函数调用图:
这是这个函数的调用关系图:

◆ DispatchMouseWheel()

bool BehaviorNode::DispatchMouseWheel ( MouseWheelArgs args)
函数调用图:

◆ GetBehavior() [1/2]

template<typename T >
T * z8::ui::BehaviorNode::GetBehavior ( )
inline
这是这个函数的调用关系图:

◆ GetBehavior() [2/2]

template<typename T >
const T * z8::ui::BehaviorNode::GetBehavior ( ) const
inline

◆ OnVisualStateChanged()

virtual void z8::ui::BehaviorNode::OnVisualStateChanged ( )
inlineprotectedvirtual

派生控件在状态变化时只重算主题色,不得改变布局或真实命中区域。

z8::ui::ButtonNode, z8::ui::MenuItemNode, z8::ui::MenuNode, z8::ui::PanelGroupCloseNode, z8::ui::PanelGroupTabNode, z8::ui::ScrollBarNode, z8::ui::SliderNode, z8::ui::TextInputNode, z8::ui::ToggleNode , 以及 z8::ui::TreeViewItemNode 重载.

这是这个函数的调用关系图:

◆ QueryMouseCursor()

z8::MouseCursor BehaviorNode::QueryMouseCursor ( const MouseMovArgs & args) const
函数调用图:
这是这个函数的调用关系图:

◆ ReleaseBehaviors()

void BehaviorNode::ReleaseBehaviors ( )
protected
函数调用图:
这是这个函数的调用关系图:

◆ RemoveBehavior()

bool BehaviorNode::RemoveBehavior ( IBehavior * behavior)
函数调用图:

◆ SetFocused()

void BehaviorNode::SetFocused ( bool focused)

仅由 Layout 的唯一焦点槽调用,控件据此更新边框和插入光标。

函数调用图:
这是这个函数的调用关系图:

◆ SetHovered()

void BehaviorNode::SetHovered ( bool hovered)

Layout 的唯一命中结果更新 Hover,避免每个控件重复查询鼠标位置。

函数调用图:
这是这个函数的调用关系图:

◆ SetPressed()

void BehaviorNode::SetPressed ( bool pressed)

Layout 绑定到一次按下/抬起生命周期,不与 Selected 或 Focused 混用。

函数调用图:
这是这个函数的调用关系图:

◆ SetProperty()

bool BehaviorNode::SetProperty ( const std::string & name,
const std::string & value )
overridevirtual

类成员变量说明

◆ Behaviors

std::vector<std::unique_ptr<IBehavior> > z8::ui::BehaviorNode::Behaviors

◆ CapturedBehavior

IBehavior* z8::ui::BehaviorNode::CapturedBehavior = nullptr

◆ Focusable

bool z8::ui::BehaviorNode::Focusable = false

控件是否可取得键盘焦点;普通容器保持 false,避免点击面板吞掉快捷键。

◆ Focused

bool z8::ui::BehaviorNode::Focused = false

Layout 管理的唯一键盘焦点状态,不与 Hover/Pressed 生命周期混用。

◆ HitTestVisible

bool z8::ui::BehaviorNode::HitTestVisible = false

◆ Hovered

bool z8::ui::BehaviorNode::Hovered = false

指针当前位于控件命中区域;只用于视觉反馈,不改变事件路由。

◆ Pressed

bool z8::ui::BehaviorNode::Pressed = false

左键手势尚未结束;捕获移出控件后仍保持 Pressed 视觉。


该类的文档由以下文件生成: