diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-01-22 20:47:19 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-01-22 20:47:19 +0100 |
commit | 8f8aef70a5049573864be5caf92304ecbac9f0ea (patch) | |
tree | 6796dded9540dc02777222ed10bea0648c92a2ac /src | |
parent | da92889e88a89e48cbcce134b6afa7c504e7569e (diff) |
Implement --zoom max (zoom like --bg-max)
Diffstat (limited to 'src')
-rw-r--r-- | src/winwidget.c | 5 |
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 |