diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-04-07 23:42:04 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-04-07 23:42:04 +0000 |
| commit | 945ce419c806c73d70203dec33ececafbe108a92 (patch) | |
| tree | cfcdb59bf47e9db7f9e01f7eebb59924bdeaea94 /src/sp-mask.cpp | |
| parent | Merge from trunk (again) (diff) | |
| parent | Extensions. SVG+media fix (see Bug #400356). (diff) | |
| download | inkscape-945ce419c806c73d70203dec33ececafbe108a92.tar.gz inkscape-945ce419c806c73d70203dec33ececafbe108a92.zip | |
Merge from trunk
(bzr r9508.1.73)
Diffstat (limited to 'src/sp-mask.cpp')
| -rw-r--r-- | src/sp-mask.cpp | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/src/sp-mask.cpp b/src/sp-mask.cpp index 54dc51608..65f88afde 100644 --- a/src/sp-mask.cpp +++ b/src/sp-mask.cpp @@ -110,23 +110,22 @@ sp_mask_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr document->addResource("mask", object); } -static void -sp_mask_release (SPObject * object) +static void sp_mask_release (SPObject * object) { - if (SP_OBJECT_DOCUMENT (object)) { - /* Unregister ourselves */ - SP_OBJECT_DOCUMENT(object)->removeResource("mask", object); - } + if (object->document) { + // Unregister ourselves + object->document->removeResource("mask", object); + } - SPMask *cp = SP_MASK (object); - while (cp->display) { - /* We simply unref and let item manage this in handler */ - cp->display = sp_mask_view_list_remove (cp->display, cp->display); - } + SPMask *cp = SP_MASK (object); + while (cp->display) { + // We simply unref and let item manage this in handler + cp->display = sp_mask_view_list_remove (cp->display, cp->display); + } - if (((SPObjectClass *) (parent_class))->release) { - ((SPObjectClass *) parent_class)->release (object); - } + if (((SPObjectClass *) (parent_class))->release) { + ((SPObjectClass *) parent_class)->release (object); + } } static void @@ -175,7 +174,7 @@ sp_mask_child_added (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML ((SPObjectClass *) (parent_class))->child_added (object, child, ref); /* Show new object */ - SPObject *ochild = SP_OBJECT_DOCUMENT (object)->getObjectByRepr(child); + SPObject *ochild = object->document->getObjectByRepr(child); if (SP_IS_ITEM (ochild)) { SPMask *cp = SP_MASK (object); for (SPMaskView *v = cp->display; v != NULL; v = v->next) { @@ -216,7 +215,7 @@ static void sp_mask_update(SPObject *object, SPCtx *ctx, guint flags) SPMask *mask = SP_MASK(object); for (SPMaskView *v = mask->display; v != NULL; v = v->next) { if (mask->maskContentUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) { - Geom::Matrix t(Geom::Scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0)); + Geom::Affine t(Geom::Scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0)); t[4] = v->bbox.x0; t[5] = v->bbox.y0; nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->arenaitem), &t); @@ -266,9 +265,9 @@ sp_mask_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML // Create a mask element (using passed elements), add it to <defs> const gchar * -sp_mask_create (GSList *reprs, SPDocument *document, Geom::Matrix const* applyTransform) +sp_mask_create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform) { - Inkscape::XML::Node *defsrepr = SP_OBJECT_REPR (SP_DOCUMENT_DEFS (document)); + Inkscape::XML::Node *defsrepr = SP_DOCUMENT_DEFS(document)->getRepr(); Inkscape::XML::Document *xml_doc = document->getReprDoc(); Inkscape::XML::Node *repr = xml_doc->createElement("svg:mask"); @@ -283,9 +282,9 @@ sp_mask_create (GSList *reprs, SPDocument *document, Geom::Matrix const* applyTr SPItem *item = SP_ITEM(mask_object->appendChildRepr(node)); if (NULL != applyTransform) { - Geom::Matrix transform (item->transform); + Geom::Affine transform (item->transform); transform *= (*applyTransform); - item->doWriteTransform(SP_OBJECT_REPR(item), transform); + item->doWriteTransform(item->getRepr(), transform); } } @@ -317,7 +316,7 @@ NRArenaItem *sp_mask_show(SPMask *mask, NRArena *arena, unsigned int key) } if (mask->maskContentUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) { - Geom::Matrix t(Geom::Scale(mask->display->bbox.x1 - mask->display->bbox.x0, mask->display->bbox.y1 - mask->display->bbox.y0)); + Geom::Affine t(Geom::Scale(mask->display->bbox.x1 - mask->display->bbox.x0, mask->display->bbox.y1 - mask->display->bbox.y0)); t[4] = mask->display->bbox.x0; t[5] = mask->display->bbox.y0; nr_arena_group_set_child_transform (NR_ARENA_GROUP (ai), &t); |
