35 int tag()
const override {
return tag_of<
decltype(*this)>; }
53 void modified(
unsigned int flags)
override;
59 const char*
typeName()
const override;
Hand-rolled LLVM-style RTTI system for class hierarchies where dynamic_cast isn't fast enough.
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
SVG drawing item for display.
Interface for refcounted XML nodes.
Typed SVG document implementation.
Inkscape::XML::Node * repr
Inkscape::Version inkscape_version
void build(SPDocument *document, Inkscape::XML::Node *repr) override
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
Inkscape::Version svg_version
void remove_child(Inkscape::XML::Node *child) override
Inkscape::DrawingItem * show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) override
void print(SPPrintContext *ctx) override
void child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) override
void update(SPCtx *ctx, unsigned int flags) override
const char * displayName() const override
The item's type name as a translated human string.
void modified(unsigned int flags) override
const char * typeName() const override
The item's type name, not node tag name.
SPDefs * defs
Primary <defs> element where we put new defs (patterns, gradients etc.).
Canvas item belonging to an SVG drawing element.
static cairo_user_data_key_t key
Interface for XML documents.