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 | |
| parent | da92889e88a89e48cbcce134b6afa7c504e7569e (diff) | |
Implement --zoom max (zoom like --bg-max)
| -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 | 
