summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Holder <speleo3@users.sourceforge.net>2009-05-16 14:35:10 +0000
committerspeleo3 <speleo3@users.sourceforge.net>2009-05-16 14:35:10 +0000
commit99d225051bf7369a751bcbadb97a20ae172aefbf (patch)
treedc70fd9ce5c82efbc94403a095785c7d9d690376
parent* [INTL: it] typo fixed, spotted by CoD (thanks :) (diff)
downloadinkscape-99d225051bf7369a751bcbadb97a20ae172aefbf.tar.gz
inkscape-99d225051bf7369a751bcbadb97a20ae172aefbf.zip
use area ratio instead of diagonal ratio for "Zoom when window is resized"
(bzr r7887)
-rw-r--r--src/widgets/desktop-widget.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index 07a152aad..ab09dbe8a 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -656,12 +656,10 @@ sp_desktop_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
}
if (SP_BUTTON_IS_DOWN(dtw->sticky_zoom)) {
- /* Calculate zoom per pixel */
- double const zpsp = zoom / hypot (area.dimensions()[Geom::X], area.dimensions()[Geom::Y]);
/* Find new visible area */
Geom::Rect newarea = dtw->desktop->get_display_area();
/* Calculate adjusted zoom */
- zoom = zpsp * hypot(newarea.dimensions()[Geom::X], newarea.dimensions()[Geom::Y]);
+ zoom *= sqrt(newarea.area() / area.area());
}
dtw->desktop->zoom_absolute(area.midpoint()[Geom::X], area.midpoint()[Geom::Y], zoom);