From: Krzysztof KosiƄski Date: Sat, 3 Apr 2010 16:21:48 +0000 (+0200) Subject: Fix canvas resize X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=0e863cddf9a55cd6adac52e402002a0f313d3f98;p=inkscape.git Fix canvas resize --- diff --git a/src/document.cpp b/src/document.cpp index 101c54e30..f137ba60d 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -662,7 +662,6 @@ void SPDocument::fitToRect(Geom::Rect const &rect, bool with_margins) double const w = rect.width(); double const h = rect.height(); - double const old_height = sp_document_height(this); SPUnit const &px(sp_unit_get_by_id(SP_UNIT_PX)); /* in px */ @@ -696,16 +695,14 @@ void SPDocument::fitToRect(Geom::Rect const &rect, bool with_margins) } Geom::Rect const rect_with_margins( - rect.min() - Geom::Point(margin_left, margin_bottom), - rect.max() + Geom::Point(margin_right, margin_top)); + rect.min() - Geom::Point(margin_left, margin_top), + rect.max() + Geom::Point(margin_right, margin_bottom)); sp_document_set_width(this, rect_with_margins.width(), &px); sp_document_set_height(this, rect_with_margins.height(), &px); - Geom::Translate const tr( - Geom::Point(0, old_height - rect_with_margins.height()) - - to_2geom(rect_with_margins.min())); + Geom::Translate const tr(-to_2geom(rect_with_margins.min())); SP_GROUP(root)->translateChildItems(tr); if(nv) { @@ -713,7 +710,7 @@ void SPDocument::fitToRect(Geom::Rect const &rect, bool with_margins) nv->translateGuides(tr2); // update the viewport so the drawing appears to stay where it was - nv->scrollAllDesktops(-tr2[0], tr2[1], false); + nv->scrollAllDesktops(-tr2[0], -tr2[1], false); } }