|
|
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.
|
#include <optional>#include <span>#include <string>#include <string_view>#include <vector>#include "donner/base/Box.h"#include "donner/base/Transform.h"#include "donner/css/Color.h"#include "donner/editor/CanvasScrollbars.h"#include "donner/editor/EditorApp.h"#include "donner/editor/FocusView.h"#include "donner/editor/FrameMissTelemetry.h"#include "donner/editor/GlTextureCache.h"#include "donner/editor/ImGuiIncludes.h"#include "donner/editor/SelectionTransformHandles.h"#include "donner/editor/SourceSelection.h"#include "donner/editor/ViewportInteractionController.h"#include "donner/svg/SVGDocument.h"#include "donner/svg/SVGElement.h"#include "donner/svg/properties/PaintServer.h"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< Box2d > | donner::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 ¤tColor, 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< Box2d > | donner::editor::internal::TryResolveDocumentViewBox (svg::SVGDocument &document) |