|
|
Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
|
#include <array>#include <span>#include "donner/base/Box.h"#include "donner/base/Transform.h"#include "donner/base/Vector2.h"Classes | |
| struct | donner::editor::SelectionTransformHandleIntent |
| Hit-test result for selection transform handles. More... | |
| struct | donner::editor::SelectionTransformHandleBoxes |
| Visual handle boxes for one selection envelope, in document coordinates. 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::SelectionTransformCorner { TopLeft , TopRight , BottomRight , BottomLeft } |
| Corner handle identity for selection resize/rotate gestures. | |
| enum class | donner::editor::SelectionTransformHandleKind { None , Resize , Rotate } |
| Interaction kind under the pointer near selection transform handles. | |
Functions | |
| Box2d | donner::editor::CombinedSelectionBounds (std::span< const Box2d > selectionBoundsDoc) |
| Return a combined AABB for a selection-bounds span. | |
| Vector2d | donner::editor::SelectionTransformCornerPoint (const Box2d &bounds, SelectionTransformCorner corner) |
Return the point for a corner of bounds. | |
| SelectionTransformCorner | donner::editor::OppositeSelectionTransformCorner (SelectionTransformCorner corner) |
Return the opposite corner from corner. | |
| SelectionTransformHandleBoxes | donner::editor::SelectionTransformHandleBoxesForBounds (const Box2d &boundsDoc, double pixelsPerDocUnit) |
Build document-space handle boxes with screen-stable size under pixelsPerDocUnit. | |
| SelectionTransformHandleIntent | donner::editor::HitTestSelectionTransformHandles (std::span< const Box2d > selectionBoundsDoc, const Vector2d &documentPoint, double pixelsPerDocUnit) |
| Hit-test resize and rotate corner zones using document-space bounds and scale. | |
| double | donner::editor::PixelsPerDocUnitFromTransform (const Transform2d &canvasFromDoc) |
| Return pixels per document unit from a document-to-canvas transform. | |
|
nodiscard |
Hit-test resize and rotate corner zones using document-space bounds and scale.
Resize wins over rotate when zones overlap. Rotate is intentionally outside the square handle, in a small ring around each corner.