diff options
| author | Thomas Holder <thomas@thomas-holder.de> | 2019-07-27 14:40:29 +0000 |
|---|---|---|
| committer | Thomas Holder <thomas@thomas-holder.de> | 2019-07-27 14:40:29 +0000 |
| commit | 63203fb881bfce667a14b2bbb3ec2ee40a9adf77 (patch) | |
| tree | 86f322f2330dd9bd2f6719ffd7fd828bc67e4356 /src/object/sp-item.cpp | |
| parent | Crashfix for connectors avoid selected items (diff) | |
| download | inkscape-63203fb881bfce667a14b2bbb3ec2ee40a9adf77.tar.gz inkscape-63203fb881bfce667a14b2bbb3ec2ee40a9adf77.zip | |
Make doc2dt a document property
Closes #340
Diffstat (limited to 'src/object/sp-item.cpp')
| -rw-r--r-- | src/object/sp-item.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/object/sp-item.cpp b/src/object/sp-item.cpp index 98ce76f2e..dfc482267 100644 --- a/src/object/sp-item.cpp +++ b/src/object/sp-item.cpp @@ -502,9 +502,7 @@ void SPItem::set(SPAttributeEnum key, gchar const* value) { case SP_ATTR_TRANSFORM_CENTER_Y: if (value) { item->transform_center_y = g_strtod(value, nullptr); - if (SP_ACTIVE_DESKTOP) { - item->transform_center_y *= -SP_ACTIVE_DESKTOP->yaxisdir(); - } + item->transform_center_y *= -document->yaxisdir(); } else { item->transform_center_y = 0; } @@ -745,9 +743,7 @@ Inkscape::XML::Node* SPItem::write(Inkscape::XML::Document *xml_doc, Inkscape::X repr->setAttribute ("inkscape:transform-center-x", nullptr); if (item->transform_center_y != 0) { auto y = item->transform_center_y; - if (SP_ACTIVE_DESKTOP) { - y *= -SP_ACTIVE_DESKTOP->yaxisdir(); - } + y *= -document->yaxisdir(); sp_repr_set_svg_double (repr, "inkscape:transform-center-y", y); } else repr->setAttribute ("inkscape:transform-center-y", nullptr); @@ -918,8 +914,8 @@ Geom::OptRect SPItem::desktopGeometricBounds() const Geom::OptRect SPItem::desktopVisualBounds() const { Geom::OptRect ret = documentVisualBounds(); - if (ret && SP_ACTIVE_DESKTOP) { - *ret *= SP_ACTIVE_DESKTOP->doc2dt(); + if (ret) { + *ret *= document->doc2dt(); } return ret; } @@ -1590,10 +1586,7 @@ Geom::Affine SPItem::i2doc_affine() const Geom::Affine SPItem::i2dt_affine() const { Geom::Affine ret(i2doc_affine()); - SPDesktop const *desktop = SP_ACTIVE_DESKTOP; - if ( desktop ) { - ret *= desktop->doc2dt(); - } + ret *= document->doc2dt(); return ret; } @@ -1603,9 +1596,8 @@ void SPItem::set_i2d_affine(Geom::Affine const &i2dt) Geom::Affine dt2p; /* desktop to item parent transform */ if (parent) { dt2p = static_cast<SPItem *>(parent)->i2dt_affine().inverse(); - } else if (SP_ACTIVE_DESKTOP) { - SPDesktop *dt = SP_ACTIVE_DESKTOP; - dt2p = dt->dt2doc(); + } else { + dt2p = document->dt2doc(); } Geom::Affine const i2p( i2dt * dt2p ); |
