|
|
Donner SVG Editor & Engine
SVG-native editor and embeddable SVG2 + CSS3 engine in C++20, with GPU (WebGPU) and compact CPU renderers, built for correctness, security, and performance.
|
Classes | |
| struct | donner::editor::EditorAdaptiveUiInput |
| Inputs used to select and size the adaptive editor chrome. More... | |
| struct | donner::editor::EditorAdaptiveUiLayout |
| Adaptive editor chrome geometry and feature subset for one frame. More... | |
| struct | donner::editor::EditorMainPaneLayoutInput |
| Inputs used to compute the editor's horizontal source/render/sidebar layout. More... | |
| struct | donner::editor::EditorMainPaneLayout |
| Computed geometry for the editor's horizontal source/render/sidebar layout. More... | |
| struct | donner::editor::RightSidebarLayoutInput |
| Inputs used to compute the editor's right sidebar pane layout. More... | |
| struct | donner::editor::RightSidebarLayout |
| Computed geometry for the editor's right sidebar panes. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Enumerations | |
| enum class | donner::editor::EditorUiMode { Desktop , CompactTouch } |
| Editor chrome profile selected from viewport constraints and input type. More... | |
| enum class | donner::editor::CompactPanelPlacement { Right , Bottom } |
| Edge used for the compact Layers or Inspector sheet. More... | |
Functions | |
| EditorAdaptiveUiLayout | donner::editor::ComputeEditorAdaptiveUiLayout (const EditorAdaptiveUiInput &input) |
| Select and size the editor's desktop or compact-touch chrome. | |
| EditorMainPaneLayout | donner::editor::ComputeEditorMainPaneLayout (const EditorMainPaneLayoutInput &input) |
| Compute horizontal pane geometry for the source pane, render pane, and right sidebar. | |
| RightSidebarLayout | donner::editor::ComputeRightSidebarLayout (const RightSidebarLayoutInput &input) |
| Compute right sidebar pane geometry for a fixed tree view and resizable inspector/layer split. | |
| float | donner::editor::ResizeLayerPanelHeightFraction (float currentFraction, float lowerPaneHeight, float minLayerPanelHeight, float maxLayerPanelHeight, float splitterDeltaY) |
| Update the layer panel height fraction from a vertical splitter drag. | |
|
strong |
|
strong |
|
nodiscard |
Select and size the editor's desktop or compact-touch chrome.
Constrained native windows use the compact profile even before a touch event. Touch-preferred platforms use it at every size so controls never shrink after the first gesture.
| input | Window geometry and input preference. |
|
nodiscard |
Compute horizontal pane geometry for the source pane, render pane, and right sidebar.
| input | Horizontal layout constraints and persisted sidebar width. |
|
nodiscard |
Compute right sidebar pane geometry for a fixed tree view and resizable inspector/layer split.
| input | Sidebar layout constraints and persisted layer split fraction. |
|
nodiscard |
Update the layer panel height fraction from a vertical splitter drag.
| currentFraction | Current fraction of lowerPaneHeight assigned to the layer panel. |
| lowerPaneHeight | Height available to the inspector and layer panel. |
| minLayerPanelHeight | Minimum allowed layer panel height. |
| maxLayerPanelHeight | Maximum allowed layer panel height. |
| splitterDeltaY | ImGui mouse delta for the splitter; dragging down shrinks the layer panel. |