32 _name =
"CanvasItemQuad:Null";
47 _name =
"CanvasItemQuad";
70 std::cerr <<
"CanvasItemQuad::contains: Non-zero tolerance not implemented!" << std::endl;
125 buf.cr->begin_new_path();
127 buf.cr->move_to(p0.
x(), p0.
y());
128 buf.cr->line_to(p1.
x(), p1.
y());
129 buf.cr->line_to(p2.
x(), p2.
y());
130 buf.cr->line_to(p3.
x(), p3.
y());
131 buf.cr->close_path();
134 cairo_set_operator(
buf.cr->cobj(), CAIRO_OPERATOR_DIFFERENCE);
138 buf.cr->fill_preserve();
140 buf.cr->set_line_width(1);
142 buf.cr->stroke_preserve();
143 buf.cr->begin_new_path();
void ink_cairo_set_source_rgba32(cairo_t *ct, guint32 rgba)
Cairo integration helpers.
Two-dimensional point that doubles as a vector.
constexpr Coord y() const noexcept
constexpr Coord x() const noexcept
void set_coords(Geom::Point const &p0, Geom::Point const &p1, Geom::Point const &p2, Geom::Point const &p3)
Set a control quad.
bool contains(Geom::Point const &p, double tolerance=0) override
Returns true if point p (in canvas units) is within tolerance (canvas units) distance of quad.
void set_inverted(bool inverted)
CanvasItemQuad(CanvasItemGroup *group)
Create an null control quad.
void _render(Inkscape::CanvasItemBuffer &buf) const override
Render quad to screen via Cairo.
void _update(bool propagate) override
Update and redraw control quad.
Geom::Affine const & affine() const
Specific geometry functions for Inkscape, not provided my lib2geom.
auto expandedBy(Geom::IntRect rect, int amount)
auto bounds_of(Geom::Point const &pt, Args const &... args)
Get the bounding box of a collection of points.
Piecewise< SBasis > cross(Piecewise< D2< SBasis > > const &a, Piecewise< D2< SBasis > > const &b)
Helper class to stream background task notifications as a series of messages.
Class used when rendering canvas items.