From 481a0ec264aab1509f83334e66d929154ceb1d74 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 6 Jun 2011 09:17:48 +0200 Subject: Respect --zoom 100 in --fullscreen mode (closes #47) --- ChangeLog | 3 +++ man/feh.pre | 8 ++++++++ src/winwidget.c | 10 ++++++---- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5a88eca..8e9ef83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ git HEAD * Fix --draw-filename "x of y" being cut off by short filenames + + * Use --zoom 100 to show all images at 100% in --fullscreen mode + Thu, 19 May 2011 22:32:42 +0200 Daniel Friesel diff --git a/man/feh.pre b/man/feh.pre index f87f0f8..c3da251 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -239,6 +239,14 @@ below each thumbnail. Enables .It Cm -F , --fullscreen . Make the window fullscreen. +Note that in this mode, large images will always be scaled down to fit the +screen, +.Cm --zoom Ar zoom +only affects smaller images and never scales larger than necessary to fit the +screen size. The only exception is a +.Ar zoom +of 100, in which case images will always be shown at 100% zoom, no matter +their dimensions. . .It Cm -g , --geometry Ar width No x Ar height . diff --git a/src/winwidget.c b/src/winwidget.c index 157817f..57a8b1d 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -464,10 +464,12 @@ void winwidget_render_image(winwidget winwid, int resize, int force_alias) double old_zoom = winwid->zoom; winwid->zoom = 0.01 * opt.default_zoom; - if ((winwid->im_h * winwid->zoom) > max_h) - winwid->zoom = old_zoom; - if ((winwid->im_w * winwid->zoom) > max_w) - winwid->zoom = old_zoom; + if (winwid->zoom != 1.0) { + if ((winwid->im_h * winwid->zoom) > max_h) + winwid->zoom = old_zoom; + else if ((winwid->im_w * winwid->zoom) > max_w) + winwid->zoom = old_zoom; + } winwid->im_x = ((int) (max_w - (winwid->im_w * winwid->zoom))) >> 1; -- cgit v1.2.3