summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2011-01-22 20:47:19 +0100
committerDaniel Friesel <derf@finalrewind.org>2011-01-22 20:47:19 +0100
commit8f8aef70a5049573864be5caf92304ecbac9f0ea (patch)
tree6796dded9540dc02777222ed10bea0648c92a2ac /src
parentda92889e88a89e48cbcce134b6afa7c504e7569e (diff)
Implement --zoom max (zoom like --bg-max)
Diffstat (limited to 'src')
-rw-r--r--src/winwidget.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/winwidget.c b/src/winwidget.c
index 8192700..e918cd3 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -426,7 +426,7 @@ void winwidget_render_image(winwidget winwid, int resize, int alias)
smaller = ((winwid->im_w < max_w)
&& (winwid->im_h < max_h));
- if (!smaller || (opt.zoom_mode == ZOOM_MODE_FILL)) {
+ if (!smaller || opt.zoom_mode) {
double ratio = 0.0;
/* Image is larger than the screen (so wants shrinking), or it's
@@ -580,6 +580,9 @@ double feh_calc_needed_zoom(double *zoom, int orig_w, int orig_h, int dest_w, in
ratio = ((double) orig_w / orig_h) / ((double) dest_w / dest_h);
+ if (opt.zoom_mode == ZOOM_MODE_MAX)
+ ratio = 1.0 / ratio;
+
if (ratio > 1.0)
*zoom = ((double) dest_w / orig_w);
else