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

#include <TerminalNode.h>

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

Public 成员函数

 TerminalNode ()
 
const charTypeName () const override
 
void AppendMessage (std::string message)
 
void ClearMessages ()
 
size_t MessageCount () const
 
const std::string & OutputText () const
 
bool ApplyPendingScroll ()
 
- Public 成员函数 继承自 z8::ui::PanelNode
 PanelNode ()
 
BaseNodeContentHost () override
 
bool HasInteractiveGeometry () const
 
bool SetProperty (const std::string &name, const std::string &value) override
 
bool SetTitleIcon (UIIcon icon)
 
- Public 成员函数 继承自 z8::ui::RectNode
 RectNode ()
 
- Public 成员函数 继承自 z8::ui::DrawNode
 DrawNode (std::unique_ptr< UIObject > O)
 
 ~DrawNode () override
 
bool SetColor (const DirectX::XMFLOAT4 &color) const
 
bool SetBorder (const DirectX::XMFLOAT4 &color, float width) const
 
bool SetCornerRadius (float radius) const
 
void Synchronize () override
 
- Public 成员函数 继承自 z8::ui::BehaviorNode
 ~BehaviorNode () 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 bool RoutesToScene () const
 
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 ()
 
- 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 属性

TextNodeOutputNode = nullptr
 
size_t MaxLines = 200
 
- Public 属性 继承自 z8::ui::PanelNode
PanelGroupNodeGroup = nullptr
 
std::string IconSource
 
ImageNodeTitleIconNode
 
RectNodeTitleBarNode
 
TextNodeTitleNode
 
ScrollNodeScrollAreaNode
 
- Public 属性 继承自 z8::ui::DrawNode
std::unique_ptr< UIObjectUO
 
bool OccludesEarlierText = false
 
- Public 属性 继承自 z8::ui::BehaviorNode
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}
 

Private 成员函数

void SynchronizeOutput ()
 

Private 属性

std::deque< std::string > Messages
 
bool ScrollToBottomPending = false
 

额外继承的成员函数

- Protected 成员函数 继承自 z8::ui::BehaviorNode
virtual void OnVisualStateChanged ()
 
void ReleaseBehaviors ()
 

详细描述

编辑器消息输出面板。

TerminalNode 复用 Panel 的标题、滚动和 Dock 能力,但只维护一个稳定 TextNode 作为输出表面。追加消息不会改变 UI 拓扑,指针捕获期间也无需重建布局索引。

构造及析构函数说明

◆ TerminalNode()

TerminalNode::TerminalNode ( )
函数调用图:

成员函数说明

◆ AppendMessage()

void TerminalNode::AppendMessage ( std::string message)

追加一条英文运行时消息,并按 MaxLines 丢弃最早记录。

函数调用图:

◆ ApplyPendingScroll()

bool TerminalNode::ApplyPendingScroll ( )

ScrollNode 得到最新内容范围后应用挂起的滚底请求。 返回值表示子树绝对坐标是否需要在本帧重新传播。

函数调用图:

◆ ClearMessages()

void TerminalNode::ClearMessages ( )

清空全部消息但保留输出 TextNode,避免造成拓扑变化。

函数调用图:

◆ MessageCount()

size_t z8::ui::TerminalNode::MessageCount ( ) const
inline

当前保留的消息条数。

◆ OutputText()

const std::string & z8::ui::TerminalNode::OutputText ( ) const
inline

返回渲染通道读取的合并文本。

◆ SynchronizeOutput()

void TerminalNode::SynchronizeOutput ( )
private

重新合并限长消息,并同步文本布局高度供 ScrollNode 计算内容范围。

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

◆ TypeName()

const char * z8::ui::TerminalNode::TypeName ( ) const
inlineoverridevirtual

类成员变量说明

◆ MaxLines

size_t z8::ui::TerminalNode::MaxLines = 200

◆ Messages

std::deque<std::string> z8::ui::TerminalNode::Messages
private

◆ OutputNode

TextNode* z8::ui::TerminalNode::OutputNode = nullptr

◆ ScrollToBottomPending

bool z8::ui::TerminalNode::ScrollToBottomPending = false
private

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