|
|
Donner 0.8.0-pre
Embeddable browser-grade SVG2 engine
|
Captured state of an element at a point in time. More...
#include "donner/editor/UndoTimeline.h"
Public Types | |
| enum class | Kind : std::uint8_t { Transform , DocumentSource } |
| The kind of state captured by this snapshot. More... | |
Public Attributes | |
| Kind | kind = Kind::Transform |
| Snapshot payload kind. | |
| svg::SVGElement | element |
| The element this snapshot applies to. | |
| Transform2d | transform |
| The captured transform. | |
| std::optional< AttributeWritebackTarget > | writebackTarget |
| Stable locator for the element, used to resolve a live handle after a self-initiated ReplaceDocument swaps the document identity. | |
| std::optional< RcString > | sourceTransformAttributeValue |
| Exact transform= attribute bytes from the source pane, when undo should restore the user's original text verbatim instead of the canonical serializer output. std::nullopt means the attribute was absent in the captured source. | |
| bool | restoreSourceTransformAttributeValue = false |
| Whether sourceTransformAttributeValue should be restored verbatim. When false, source writeback falls back to canonical serialization of transform. | |
| std::string | documentSource |
| Full SVG source text for Kind::DocumentSource snapshots. | |
| std::vector< AttributeWritebackTarget > | selectionTargets |
| Selection targets to restore after a Kind::DocumentSource snapshot reparses the document. | |
| std::vector< UndoSnapshot > | extras |
| Additional element snapshots that belong to the same user operation. Multi-selection move/resize/rotate gestures use this so one UI undo restores the whole manipulation instead of stepping through elements one at a time. | |
Captured state of an element at a point in time.
|
strong |