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.
Loading...
Searching...
No Matches
EditorShellInternal.h File Reference
Include dependency graph for EditorShellInternal.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  donner::editor::internal::ToolbarPaintReferenceState
 Source range for a referenced paint server shown by the toolbar. More...
struct  donner::editor::internal::ToolbarPaintSlotState
 Paint slot presentation state for the fill/stroke toolbar. More...
struct  donner::editor::internal::ToolbarPaintState
 Fill and stroke toolbar paint state. 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::internal::PendingClickBusyAction {
  RunIdleClickPath ,
  CompleteFastRedrag ,
  CancelBusyRender
}
 High-level action for a buffered canvas click before the idle-only hit-test path.
enum class  donner::editor::internal::PendingClickIdleAction {
  DispatchSlowPath ,
  BeginMarquee ,
  WaitForMarqueeIntent
}
 High-level action for a buffered click once the renderer is idle.

Functions

FrameMemorySample donner::editor::internal::MemorySampleFromPresentationResources (const PresentationResourceStats &resources)
FrameMissResourceTelemetry donner::editor::internal::FrameMissTelemetryFromPresentationResources (const PresentationResourceStats &resources)
ImGuiMouseCursor donner::editor::internal::CursorForTransformHandleIntent (const SelectionTransformHandleIntent &intent)
bool donner::editor::internal::ContainsScreenPoint (const Box2d &rect, const ImVec2 &point)
std::optional< Box2ddonner::editor::internal::TextFormatBarScreenRect (const ImVec2 &paneOrigin, const ImVec2 &contentRegion, const Box2d &toolPaletteRect, bool visible, float barHeight)
bool donner::editor::internal::CanvasChromeCapturesInput (const ImVec2 &point, const std::optional< Box2d > &referenceChipRect, const Box2d &toolPaletteRect, const std::optional< Box2d > &textFormatBarRect, const std::optional< Box2d > &editingScopeBreadcrumbRect, const Box2d &canvasZoomControlRect, const std::optional< Box2d > &compactPanelRect=std::nullopt)
bool donner::editor::internal::CanvasScrollbarsCaptureInput (bool scrollbarsVisible, const ViewportState &viewport, const Vector2d &screenPoint) noexcept
bool donner::editor::internal::GroupOperationCanDispatch (bool rendererBusy, const GroupOperationAvailability &availability) noexcept
bool donner::editor::internal::PendingDocumentReplacementCanProcess (bool hasPendingRequest, bool rendererBusy, bool hasPendingMutations) noexcept
PendingClickBusyAction donner::editor::internal::PendingClickBusyActionForState (bool tookFastRedrag, bool rendererBusy)
PendingClickIdleAction donner::editor::internal::PendingClickIdleActionForState (bool leftMouseDown, bool pendingClickCanStartMarquee, bool selectHoldElapsed, bool selectDragIntent)
std::string_view donner::editor::internal::TextToolHintLabel (bool isEditing, bool isDraggingBox, bool touchPreferred=false)
 Discoverability hint for the idle text tool ("double-click places point text, drag draws a box"). Empty while a session or box drag is active - the hint only shows when the next click/drag would act on empty canvas.
css::RGBA donner::editor::internal::PaintServerFallbackColor ()
ToolbarPaintSlotState donner::editor::internal::ToolbarPaintSlotStateForActiveAttribute (std::string_view value)
ToolbarPaintReferenceState donner::editor::internal::ToolbarPaintReferenceStateFor (svg::SVGDocument *document, std::optional< std::string_view > source, const svg::Reference &reference)
ToolbarPaintSlotState donner::editor::internal::ToolbarPaintSlotStateForPaintServer (const svg::PaintServer &paint, const css::RGBA &currentColor, svg::SVGDocument *document, std::optional< std::string_view > source)
ToolbarPaintState donner::editor::internal::ToolbarPaintStateForActivePaint (const ActivePaintStyle &paintStyle)
std::string donner::editor::internal::PaintChipLabel (std::string_view prefix, const ToolbarPaintSlotState &state)
std::string donner::editor::internal::SelectionSizeChipLabel (const Box2d &screenBounds)
std::string donner::editor::internal::SelectionPositionChipLabel (const Box2d &documentBounds)
std::string donner::editor::internal::SelectionAngleChipLabel (const Transform2d &documentFromStartDocument)
Box2d donner::editor::internal::TransformDocumentBox (const Box2d &box, const Transform2d &documentFromBoundsDocument)
float donner::editor::internal::ClampSourcePaneWidthForWindow (float requestedWidth, float windowWidth)
std::string donner::editor::internal::ReferenceHighlightChipLabel (const ReferenceHighlightSummary &summary)
void donner::editor::internal::AddUniqueElements (std::vector< svg::SVGElement > *target, std::span< const svg::SVGElement > elements)
bool donner::editor::internal::ContainsElement (std::span< const svg::SVGElement > elements, const svg::SVGElement &element)
std::string donner::editor::internal::ElementContextMenuLabel (const svg::SVGElement &element)
std::string donner::editor::internal::InitialDocumentSyncSource (const ::donner::editor::EditorShellOptions &options)
std::string donner::editor::internal::CanonicalizeForTextEditor (std::string_view source)
Box2d donner::editor::internal::ResolveDocumentViewBox (svg::SVGDocument &document)
std::optional< Box2ddonner::editor::internal::TryResolveDocumentViewBox (svg::SVGDocument &document)