summaryrefslogtreecommitdiffstats
path: root/src/sp-mask.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-04-07 23:42:04 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-04-07 23:42:04 +0000
commit945ce419c806c73d70203dec33ececafbe108a92 (patch)
treecfcdb59bf47e9db7f9e01f7eebb59924bdeaea94 /src/sp-mask.cpp
parentMerge from trunk (again) (diff)
parentExtensions. SVG+media fix (see Bug #400356). (diff)
downloadinkscape-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.cpp41
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);