|
slot 0.0.1
A real time UI render framework
|
#include <DockTree.h>
Public 成员函数 | |
| DockNode * | AddPanel (BaseNode *panel) |
| bool | Commit (const DockTransaction &transaction) |
| DockNode * | Find (DockNodeID id) const |
| DockNode * | FindLeafAt (float x, float y) const |
| DockNode * | FindPanelLeaf (const BaseNode *panel) const |
| DockNode * | FindSplitterAt (float x, float y, float tolerance=4.0f) const |
| DockRect | GetPreviewRect (const DockNode &target, DockSide side) const |
| void | Layout (const DockRect &workspace) |
| bool | RemovePanel (BaseNode *panel) |
| bool | ResizeSplitter (DockNodeID split, float clientX, float clientY, float minimumExtent=80.0f) |
| bool | Validate (std::string *error=nullptr) const |
| std::string | Dump () const |
| void | Clear () |
Public 属性 | |
| std::unique_ptr< DockNode > | Root |
Private 成员函数 | |
| std::unique_ptr< DockNode > | CreateLeaf (BaseNode *panel=nullptr) |
| void | CollapseEmptyLeaf (DockNodeID leaf) |
| std::unique_ptr< DockNode > * | OwnerSlot (DockNode *node) |
静态 Private 成员函数 | |
| static void | LayoutNode (DockNode &node, const DockRect &rect) |
Private 属性 | |
| DockNodeID | NextID = 1 |
Dock 布局的唯一结构真值,负责插入、移除、空节点折叠和递归矩形计算。 所有结构修改都经 Commit,并在返回前验证父子关系与 Panel 唯一归属。
| void DockTree::Clear | ( | ) |

|
private |


| bool DockTree::Commit | ( | const DockTransaction & | transaction | ) |



| std::string DockTree::Dump | ( | ) | const |

| DockNode * DockTree::Find | ( | DockNodeID | id | ) | const |




| bool DockTree::ResizeSplitter | ( | DockNodeID | split, |
| float | clientX, | ||
| float | clientY, | ||
| float | minimumExtent = 80.0f ) |


|
private |
| std::unique_ptr<DockNode> z8::ui::DockTree::Root |