48 if (!r) r = std::make_unique<SceneGroup>();
50 dirty_rect_pending_ = root_->transformed_local_bounds();
86 std::unique_ptr<SceneGroup> root_;
Definition canvas.hpp:240
Definition scene_group.hpp:18
Abstract base of every node in a VectorScene.
Definition scene_node.hpp:106
static VectorScene from_svg_file(const std::string &path)
Convenience: load an SVG file and return a populated scene.
void set_root(std::unique_ptr< SceneGroup > r)
Replace the root group entirely (e.g. after a fresh SVG import).
Definition scene.hpp:47
const SceneGroup & root() const
Definition scene.hpp:44
SceneGroup & root()
Definition scene.hpp:43
static VectorScene from_svg_string(const std::string &svg_data)
Parse an SVG document string and produce a populated VectorScene.
SceneRect peek_dirty_rect() const
Peek without resetting — useful for diagnostics + tests.
Definition scene.hpp:68
void note_node_dirtied(const SceneNode &node)
Called by SceneNode::mark_dirty() when a node mutates; unions the node's "old + new" bounds into the ...
VectorScene()
Definition scene.hpp:41
void paint(Canvas &canvas)
Walk + paint the entire scene to canvas.
SceneRect take_dirty_rect()
Returns the union of "old painted bounds" and "new transformedbounds" for every node that mutated sin...
Definition affine_transform.hpp:24
@ path
Definition scene_node.hpp:93
Axis-aligned bounding box used for repaint-rect math.
Definition scene_node.hpp:27