]> www.fi.muni.cz Git - evince.git/commitdiff
[libview] Take into account scrollbar size to get zoom for best fit in contnuous...
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 9 May 2010 14:45:22 +0000 (16:45 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Mon, 10 May 2010 11:58:38 +0000 (13:58 +0200)
libview/ev-view.c

index c766dd27f59b1b06cd47d81c2958aafae4378c36..194361f580d065bf27084fa097196591a8270be7 100644 (file)
@@ -4887,6 +4887,7 @@ ev_view_zoom_for_size_continuous_and_dual_page (EvView *view,
        gdouble doc_width, doc_height;
        GtkBorder border;
        gdouble scale;
+       gint sb_size;
 
        ev_document_get_max_page_size (view->document, &doc_width, &doc_height);
        if (view->rotation == 90 || view->rotation == 270) {
@@ -4903,13 +4904,12 @@ ev_view_zoom_for_size_continuous_and_dual_page (EvView *view,
        width -= (2 * (border.left + border.right) + 3 * view->spacing);
        height -= (border.top + border.bottom + 2 * view->spacing - 1);
 
-       if (view->sizing_mode == EV_SIZING_FIT_WIDTH) {
-               gint sb_size;
+       sb_size = ev_view_get_scrollbar_size (view, GTK_ORIENTATION_VERTICAL);
 
-               sb_size = ev_view_get_scrollbar_size (view, GTK_ORIENTATION_VERTICAL);
+       if (view->sizing_mode == EV_SIZING_FIT_WIDTH) {
                scale = zoom_for_size_fit_width (doc_width, doc_height, width - sb_size, height);
        } else if (view->sizing_mode == EV_SIZING_BEST_FIT)
-               scale = zoom_for_size_best_fit (doc_width, doc_height, width, height);
+               scale = zoom_for_size_best_fit (doc_width, doc_height, width - sb_size, height);
        else
                g_assert_not_reached ();
 
@@ -4924,6 +4924,7 @@ ev_view_zoom_for_size_continuous (EvView *view,
        gdouble doc_width, doc_height;
        GtkBorder border;
        gdouble scale;
+       gint sb_size;
 
        ev_document_get_max_page_size (view->document, &doc_width, &doc_height);
        if (view->rotation == 90 || view->rotation == 270) {
@@ -4939,13 +4940,12 @@ ev_view_zoom_for_size_continuous (EvView *view,
        width -= (border.left + border.right + 2 * view->spacing);
        height -= (border.top + border.bottom + 2 * view->spacing - 1);
 
-       if (view->sizing_mode == EV_SIZING_FIT_WIDTH) {
-               gint sb_size;
+       sb_size = ev_view_get_scrollbar_size (view, GTK_ORIENTATION_VERTICAL);
 
-               sb_size = ev_view_get_scrollbar_size (view, GTK_ORIENTATION_VERTICAL);
+       if (view->sizing_mode == EV_SIZING_FIT_WIDTH) {
                scale = zoom_for_size_fit_width (doc_width, doc_height, width - sb_size, height);
        } else if (view->sizing_mode == EV_SIZING_BEST_FIT)
-               scale = zoom_for_size_best_fit (doc_width, doc_height, width, height);
+               scale = zoom_for_size_best_fit (doc_width, doc_height, width - sb_size, height);
        else
                g_assert_not_reached ();