diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-04-03 17:07:50 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-04-03 17:07:50 +0000 |
| commit | 02da648c4667a300a9727ee44c11a4349bb2bb98 (patch) | |
| tree | 16ef336cc6e8a15cf645f77d7c441a045e63671b /src/selection-chemistry.cpp | |
| parent | A few small fixes/clarifications for Gaussian blur. (diff) | |
| parent | Fix grid extension (diff) | |
| download | inkscape-02da648c4667a300a9727ee44c11a4349bb2bb98.tar.gz inkscape-02da648c4667a300a9727ee44c11a4349bb2bb98.zip | |
Change desktop coordinate system to match SVG (LP #170049)
Fixed bugs:
- https://launchpad.net/bugs/170049
(bzr r9288)
Diffstat (limited to 'src/selection-chemistry.cpp')
| -rw-r--r-- | src/selection-chemistry.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 730467ee5..452a4ff9d 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -2273,9 +2273,8 @@ void sp_selection_to_marker(SPDesktop *desktop, bool apply) } // calculate the transform to be applied to objects to move them to 0,0 - Geom::Point move_p = Geom::Point(0, sp_document_height(doc)) - *c; - move_p[Geom::Y] = -move_p[Geom::Y]; - Geom::Matrix move = Geom::Matrix(Geom::Translate(move_p)); + Geom::Point move_p = -*c; + Geom::Matrix move = Geom::Translate(move_p); GSList *items = g_slist_copy((GSList *) selection->itemList()); @@ -2396,8 +2395,7 @@ sp_selection_tile(SPDesktop *desktop, bool apply) } // calculate the transform to be applied to objects to move them to 0,0 - Geom::Point move_p = Geom::Point(0, sp_document_height(doc)) - (r->min() + Geom::Point(0, r->dimensions()[Geom::Y])); - move_p[Geom::Y] = -move_p[Geom::Y]; + Geom::Point move_p = -(r->min() + Geom::Point(0, r->dimensions()[Geom::Y])); Geom::Matrix move = Geom::Matrix(Geom::Translate(move_p)); GSList *items = g_slist_copy((GSList *) selection->itemList()); @@ -2748,12 +2746,12 @@ sp_selection_create_bitmap_copy(SPDesktop *desktop) Geom::Matrix t; double shift_x = bbox.x0; - double shift_y = bbox.y1; + double shift_y = bbox.y0; if (res == PX_PER_IN) { // for default 90 dpi, snap it to pixel grid shift_x = round(shift_x); - shift_y = -round(-shift_y); // this gets correct rounding despite coordinate inversion, remove the negations when the inversion is gone + shift_y = round(shift_y); } - t = Geom::Scale(1, -1) * Geom::Translate(shift_x, shift_y) * eek.inverse(); + t = Geom::Translate(shift_x, shift_y) * eek.inverse(); // Do the export sp_export_png_file(document, filepath, |
