29 int tag()
const override {
return tag_of<
decltype(*this)>; }
53 void modified(
unsigned int flags)
override;
57 const char*
typeName()
const override;
62 void hide(
unsigned int key)
override;
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
3x3 matrix representing an affine transformation.
Axis-aligned rectangle that can be empty.
SVG drawing item for display.
Storing of snapping preferences.
Interface for refcounted XML nodes.
Typed SVG document implementation.
Base class for visual SVG elements.
Inkscape::XML::Node * repr
Geom::Affine get_root_transform() const
Returns the effective transform that goes from the ultimate original to given SPUse,...
const char * typeName() const override
The item's type name, not node tag name.
SPItem * get_original() const
SPItem * trueOriginal() const
Returns the ultimate original of a SPUse, i.e., the first object in the chain of uses which is not it...
void update(SPCtx *ctx, unsigned int flags) override
void getLinked(std::vector< SPObject * > &objects, LinkedObjectNature direction=LinkedObjectNature::ANY) const override
Get objects which are linked to this object as either a source or a target.
void move_compensate(Geom::Affine const *mp)
Sensing a movement of the original, this function attempts to compensate for it in such a way that th...
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
sigc::connection _delete_connection
bool has_xy_offset() const
Geom::Affine get_parent_transform() const
Returns the transform that leads to the use from its immediate original.
void snappoints(std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
void hide(unsigned int key) override
Inkscape::DrawingItem * show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) override
std::optional< Geom::PathVector > documentExactBounds() const override
Get an exact geometric shape representing the visual bounds of the item in the document coordinates.
int cloneDepth() const
Get the number of dereferences or calls to get_original() needed to get an object which is not an svg...
void print(SPPrintContext *ctx) override
const char * displayName() const override
The item's type name as a translated human string.
SPItem * root()
Returns the ultimate original of a SPUse (i.e.
Geom::Translate get_xy_offset() const
sigc::connection _changed_connection
void modified(unsigned int flags) override
Geom::OptRect bbox(Geom::Affine const &transform, SPItem::BBoxType bboxtype) const override
sigc::connection _transformed_connection
bool anyInChain(bool(*predicate)(SPItem const *)) const
Test the passed predicate on all items in a chain of uses.
char * description() const override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
ObserverPredicate predicate
static cairo_user_data_key_t key
Some things pertinent to all visible shapes: SPItem, SPItemView, SPItemCtx.
Interface for XML documents.