16#ifndef SEEN_SP_HATCH_PATH_H
17#define SEEN_SP_HATCH_PATH_H
22#include <glibmm/ustring.h>
23#include <sigc++/connection.h>
44 int tag()
const override {
return tag_of<
decltype(*this)>; }
62 void update(
SPCtx* ctx,
unsigned int flags)
override;
80 std::optional<Geom::PathVector>
_curve;
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Range of real numbers that is never empty.
Range of real numbers that can be empty.
SVG drawing item for display.
Interface for refcounted XML nodes.
Typed SVG document implementation.
std::optional< Geom::PathVector > _curve
void _readHatchPathVector(char const *str, Geom::PathVector &pathv, bool &continous_join)
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
Inkscape::DrawingItem * show(Inkscape::Drawing &drawing, unsigned int key, Geom::OptInterval extents)
void setStripExtents(unsigned int key, Geom::OptInterval const &extents)
void update(SPCtx *ctx, unsigned int flags) override
void hide(unsigned int key)
void _updateView(View &view)
Geom::PathVector calculateRenderCurve(unsigned key) const
std::vector< View > views
Geom::Interval bounds() const
Geom::PathVector _calculateRenderCurve(View const &view) const
gdouble _repeatLength() const
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Inkscape::XML::Node * repr
std::unique_ptr< T, UnlinkDeleter > DrawingItemPtr
Smart pointer used by the Object Tree to hold items in the Display Tree, like std::unique_ptr.
Closed interval of generic values.
Helper class to stream background task notifications as a series of messages.
static cairo_user_data_key_t key
PathVector - a sequence of subpaths.
DrawingItemPtr< Inkscape::DrawingShape > drawingitem
Geom::OptInterval extents