28 if (is<SPMeshpatch>(obj)) {
29 result = cast<SPMeshpatch>(obj);
42 if (is<SPMeshpatch>(obj)) {
43 auto meshpatch = cast<SPMeshpatch>(obj);
45 if (meshpatch->getNextMeshpatch() ==
this) {
48 g_warning(
"SPMeshpatch previous/next relationship broken");
96 flags &= SP_OBJECT_MODIFIED_CASCADE;
97 std::vector<SPObject *> l;
104 if (flags || (
child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
105 child->emitModified(flags);
116 if ((flags & SP_OBJECT_WRITE_BUILD) && !
repr) {
Lookup dictionary for attributes/properties.
Interface for refcounted XML nodes.
Typed SVG document implementation.
void modified(unsigned int flags) override
modified
SPMeshpatch * getNextMeshpatch()
SPMeshpatch * getPrevMeshpatch()
Inkscape::XML::Node * write(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags) override
Virtual set: set attribute to value.
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
void set(SPAttr key, const char *value) override
Virtual build: set meshpatch attributes from its associated XML node.
Glib::ustring * tensor_string
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Inkscape::XML::Node * repr
virtual Inkscape::XML::Node * write(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
SPObject * getPrev()
Returns previous object in sibling list or NULL.
void readAttr(char const *key)
Read value of key attribute from XML node into object.
virtual void build(SPDocument *doc, Inkscape::XML::Node *repr)
static cairo_user_data_key_t key
SPMeshpatch: SVG <meshpatch> implementation.
SPObject * sp_object_unref(SPObject *object, SPObject *owner)
Decrease reference count of object, with possible debugging and finalization.
SPObject * sp_object_ref(SPObject *object, SPObject *owner)
Increase reference count of object, with possible debugging.
Interface for XML documents.
virtual Node * createElement(char const *name)=0
SPStyle - a style object for SPItem objects.