/*
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.
13#ifndef INKSCAPE_DISPLAY_DRAWING_SHAPE_H
14#define INKSCAPE_DISPLAY_DRAWING_SHAPE_H
28 int tag()
const override {
return tag_of<
decltype(*this)>; }
30 void setPath(std::shared_ptr<Geom::PathVector const>
curve);
41 bool _canClip()
const override {
return true; }
53 std::shared_ptr<Geom::PathVector const>
_curve;
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Axis aligned, non-empty, generic rectangle.
Two-dimensional point that doubles as a vector.
Minimal wrapper over Cairo.
SVG drawing item for display.
Drawing & drawing() const
unsigned _renderItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const override
void setPath(std::shared_ptr< Geom::PathVector const > curve)
~DrawingShape() override=default
void _clipItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const override
unsigned _updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
int tag() const override
Unlink this node and its subtree from the rendering tree and destroy.
bool style_vector_effect_stroke
void _renderStroke(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags) const
bool style_stroke_extensions_hairline
std::shared_ptr< Geom::PathVector const > _curve
void setChildrenStyle(SPStyle const *context_style) override
Recursively update children style.
SPWindRule style_fill_rule
DrawingItem * _pickItem(Geom::Point const &p, double delta, unsigned flags) override
SPWindRule style_clip_rule
void setStyle(SPStyle const *style, SPStyle const *context_style=nullptr) override
Process information related to the new style.
void _renderMarkers(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const
bool _canClip() const override
void _renderFill(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const
Canvas item belonging to an SVG drawing element.
Helper class to stream background task notifications as a series of messages.
Style information for rendering.