/*
7 * Krzysztof KosiĆski <tweenk.pl@gmail.com>
9 * Copyright (C) 2011 Authors
10 * Released under GNU GPL v2+, read the file
'COPYING' for more information.
45 auto constexpr EPS = 1e-18;
66 c.update(area, child_ctx, flags, reset);
82 i.render(dc,
rc, area, flags, stop_at);
90 if (i.isAncestorOf(stop_at)) {
95 i.render(dc,
rc, area, flags, stop_at);
105 i.clip(dc,
rc, area);
Cairo integration helpers.
3x3 matrix representing an affine transformation.
bool isIdentity(Coord eps=EPSILON) const
Check whether this matrix is an identity matrix.
void unionWith(CRect const &b)
Enlarge the rectangle to contain the argument.
Axis aligned, non-empty, generic rectangle.
Two-dimensional point that doubles as a vector.
Minimal wrapper over Cairo.
unsigned _updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
void setPickChildren(bool)
Set whether the group returns children from pick calls.
std::unique_ptr< Geom::Affine > _child_transform
DrawingItem * _pickItem(Geom::Point const &p, double delta, unsigned flags) override
void setChildTransform(Geom::Affine const &)
Set additional transform for the group.
DrawingGroup(Drawing &drawing)
unsigned _renderItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const override
void _clipItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const override
SVG drawing item for display.
@ RENDER_FILTER_BACKGROUND
DrawingItem * pick(Geom::Point const &p, double delta, unsigned flags=0)
Get the item under the specified point.
Geom::OptIntRect _bbox
Bounding box in display (pixel) coords including stroke.
void _markForUpdate(unsigned state, bool propagate)
Marks the item as needing a recomputation of internal data.
bool _contains_unisolated_blend
unsigned _pick_children
For groups: if true, children are returned from pick(), otherwise the group is returned.
void _markForRendering()
Marks the current visual bounding box of the item for redrawing.
Geom::Affine transform() const
RenderMode renderMode() const
bool outlineOverlay() const
static char const *const current
Cairo drawing context with Inkscape extensions.
Group belonging to an SVG drawing element.
Cairo surface that remembers its origin.
Group belonging to an SVG drawing element.
Affine identity()
Create an identity matrix.
bool are_near(Affine const &a1, Affine const &a2, Coord eps=EPSILON)
Helper class to stream background task notifications as a series of messages.
Geom::PathVector outline(Geom::Path const &input, double width, double miter, LineJoinType join, LineCapType butt, double tolerance)
Strokes the path given by input.
SPStyle - a style object for SPItem objects.