#include "donner/editor/ImGuiIncludes.h"Classes | |
| struct | donner::editor::EditorDockNodes |
| Node ids produced by BuildDefaultDockLayout. Ids of zero mean the node was not created (e.g. EditorDockNodes::rightBottom when the compositor debug info panel is not enabled). More... | |
| struct | donner::editor::EditorDockLayoutParams |
| Inputs controlling the default editor dock layout proportions. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Functions | |
| ImGuiID | donner::editor::EditorDockSpaceId () |
| The editor's root DockSpace id. Hashed directly from kEditorDockSpaceName so it is stable and independent of the ImGui window stack (unlike ImGui::GetID, which dereferences the current window). | |
| ImGuiID | donner::editor::EditorCompactDockSpaceId () |
| The compact editor's root DockSpace id. Kept separate so entering compact mode cannot rewrite a customized desktop DockSpace tree. | |
| EditorDockNodes | donner::editor::BuildDefaultDockLayout (ImGuiID dockspaceId, const EditorDockLayoutParams ¶ms) |
| Build the editor's default panel layout under dockspaceId, discarding any previously built nodes. | |
| ImGuiDockNodeFlags | donner::editor::EditorDockSpaceFlags (bool locked) |
| Shared dock-node flags to pass to ImGui::DockSpace() for the given lock state. | |
| void | donner::editor::EnsureAnimationModeDock (ImGuiID dockspaceId, float height) |
| Reserve a fixed, untabbed mode header above Layers, preserving the existing dock layout. | |
Variables | |
| constexpr const char * | donner::editor::kRenderPaneWindowName = "Render" |
| Window titles for the dockable editor panels. Each string is the key DockBuilder binds to a node, so it must match the exact string passed to ImGui::Begin() when the panel is drawn. | |
| constexpr const char * | donner::editor::kAnimationModeWindowName = "##editor_animation_mode" |
| Fixed mode selector above the right-hand panels. | |
| constexpr const char * | donner::editor::kLayersWindowName |
| Stable ImGui window name for the layers panel. | |
| constexpr const char * | donner::editor::kInspectorWindowName |
| Stable ImGui window name for the inspector. | |
| constexpr const char * | donner::editor::kCompositorDebugWindowName |
| Stable ImGui window name for compositor diagnostics. | |
| constexpr const char * | donner::editor::kEditorDockSpaceName = "EditorDockSpace" |
| Stable string hashed into the editor's root DockSpace id. | |
| constexpr const char * | donner::editor::kEditorCompactDockSpaceName = "EditorCompactDockSpace" |
| Stable string hashed into the compact editor's canvas-only DockSpace id. | |
| EditorDockNodes donner::editor::BuildDefaultDockLayout | ( | ImGuiID | dockspaceId, |
| const EditorDockLayoutParams & | params ) |
Build the editor's default panel layout under dockspaceId, discarding any previously built nodes.
The central node hosts the canvas; the right column stacks Layers over Inspector, and the Compositor Debug Info panel at the bottom of the inspector area when requested. The canvas node is flagged as the central node with no tab bar so it reads as a plain viewport rather than a docked tab.
Requires a live ImGui context. The bound windows do not need to have been submitted yet; DockBuilder records the binding for their next Begin().
| dockspaceId | Root DockSpace id (see kEditorDockSpaceName). |
| params | Layout proportions and panel inclusion. |
|
nodiscard |
Shared dock-node flags to pass to ImGui::DockSpace() for the given lock state.
When locked, the layout structure is fixed: no new splits and no undocking (tear-off), but the existing splitters stay resizable so the right column width and panel heights can be adjusted. When unlocked the layout is freely rearrangeable within the main viewport (multi-viewport tear-off to OS windows stays disabled at the config-flag level).
| locked | Whether the layout is locked. |
| void donner::editor::EnsureAnimationModeDock | ( | ImGuiID | dockspaceId, |
| float | height ) |
Reserve a fixed, untabbed mode header above Layers, preserving the existing dock layout.
Safe to call each frame and when adopting a layout saved before the header existed.
| dockspaceId | Desktop dockspace receiving the header. |
| height | Preferred header height in logical pixels. |
|
inlineconstexpr |
Stable ImGui window name for compositor diagnostics.
|
inlineconstexpr |
Stable ImGui window name for the inspector.
|
inlineconstexpr |
Stable ImGui window name for the layers panel.