summaryrefslogtreecommitdiffstats
path: root/src/helper/png-write.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2018-09-12 16:02:57 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2018-09-12 16:02:57 +0000
commit197d4156fb11ec3e608d04e656a7b9e841c341d8 (patch)
tree148f0e5a97cac35451983625eb028f94fc4556d0 /src/helper/png-write.cpp
parentMore caching in prefs (diff)
parentAllow adding new properties (diff)
downloadinkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.tar.gz
inkscape-197d4156fb11ec3e608d04e656a7b9e841c341d8.zip
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/helper/png-write.cpp')
-rw-r--r--src/helper/png-write.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/helper/png-write.cpp b/src/helper/png-write.cpp
index 92fdc3648..fe5412c4e 100644
--- a/src/helper/png-write.cpp
+++ b/src/helper/png-write.cpp
@@ -31,6 +31,8 @@
#include "rdf.h"
#include "util/units.h"
+#include "inkscape.h"
+
#include "object/sp-item.h"
#include "object/sp-root.h"
#include "object/sp-defs.h"
@@ -425,8 +427,13 @@ ExportResult sp_export_png_file(SPDocument *doc, gchar const *filename,
doc->ensureUpToDate();
+ Geom::Affine dt2doc;
+ if (SP_ACTIVE_DESKTOP) {
+ dt2doc = SP_ACTIVE_DESKTOP->dt2doc();
+ }
+
/* Calculate translation by transforming to document coordinates (flipping Y)*/
- Geom::Point translation = Geom::Point(-area[Geom::X][0], area[Geom::Y][1] - doc->getHeight().value("px"));
+ Geom::Point translation = -(area * dt2doc).min();
/* This calculation is only valid when assumed that (x0,y0)= area.corner(0) and (x1,y1) = area.corner(2)
* 1) a[0] * x0 + a[2] * y1 + a[4] = 0.0