|
|
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 <vector>#include "donner/base/Box.h"#include "donner/base/EcsRegistry.h"#include "donner/base/Transform.h"#include "donner/base/Vector2.h"Classes | |
| struct | donner::editor::PresentedFrameTileGeometry |
| Backend-neutral geometry for one presented composited tile. More... | |
| struct | donner::editor::PresentedDragBaseline |
| Active drag baseline needed to resolve a presented tile offset. More... | |
| struct | donner::editor::PresentedTileQuad |
| Output-space quad for one presented tile. More... | |
| struct | donner::editor::PresentedTileRect |
| Output-space rectangle for one presented tile. More... | |
| struct | donner::editor::PresentedPixelRect |
| Integer output-space rectangle used by headless bitmap presentation. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Functions | |
| Vector2d | donner::editor::ResolvePresentedTileDragTranslation (const PresentedFrameTileGeometry &tile, const std::optional< PresentedDragBaseline > &dragBaseline) |
| Resolve the drag translation to apply while presenting a cached tile. | |
| Transform2d | donner::editor::ResolvePresentedTileDocumentTransform (const PresentedFrameTileGeometry &tile, const std::optional< PresentedDragBaseline > &dragBaseline) |
| Resolve the affine transform to apply while presenting a cached tile. | |
| std::optional< PresentedTileQuad > | donner::editor::ComputePresentedTileQuad (const PresentedFrameTileGeometry &tile, const Transform2d &outputFromCanvasTransform, const std::optional< PresentedDragBaseline > &dragBaseline) |
| Compute the output-space quad for a presented tile. | |
| std::optional< PresentedTileRect > | donner::editor::ComputePresentedTileRect (const PresentedFrameTileGeometry &tile, const Transform2d &outputFromCanvasTransform, const std::optional< PresentedDragBaseline > &dragBaseline) |
| Compute the output-space rectangle for a presented tile. | |
| std::optional< PresentedPixelRect > | donner::editor::RoundPresentedTileRectToPixelRect (const PresentedTileRect &rect) |
| Round a floating-point presented rectangle to integer pixel coordinates. | |
| std::vector< Box2d > | donner::editor::SubtractPresentedTileBoundsFromClip (const Box2d &clipRect, std::span< const Box2d > coveredRects) |
| Split a clip rectangle into regions not covered by current active tile bounds. | |
|
nodiscard |
Compute the output-space quad for a presented tile.
| tile | Geometry for the tile being presented. |
| outputFromCanvasTransform | Transform from canvas/document coordinates to output space. |
| dragBaseline | Active drag baseline represented by the presented tiles. |
std::nullopt when tile or transform geometry is invalid.
|
nodiscard |
Compute the output-space rectangle for a presented tile.
| tile | Geometry for the tile being presented. |
| outputFromCanvasTransform | Transform from canvas/document coordinates to output space. |
| dragBaseline | Active drag baseline represented by the presented tiles. |
std::nullopt when tile or transform geometry is invalid.
|
nodiscard |
Resolve the affine transform to apply while presenting a cached tile.
| tile | Geometry for the tile being presented. |
| dragBaseline | Active drag baseline represented by the presented tiles. |
|
nodiscard |
Resolve the drag translation to apply while presenting a cached tile.
| tile | Geometry for the tile being presented. |
| dragBaseline | Active drag baseline represented by the presented tiles. |
|
nodiscard |
Round a floating-point presented rectangle to integer pixel coordinates.
| rect | Presented tile rectangle in output coordinates. |
std::nullopt when the rectangle is invalid or rounds to no area.
|
nodiscard |
Split a clip rectangle into regions not covered by current active tile bounds.
Overview infill is an older, lower-resolution fallback. It must fill areas the active viewport render does not cover, but it must not show through transparent pixels inside active tiles.
| clipRect | Output-space clip rectangle to split. |
| coveredRects | Output-space active tile bounds that occlude overview infill. |
clipRect and outside coveredRects.