diff options
author | Bert Münnich <be.muennich@googlemail.com> | 2012-08-07 12:57:07 +0200 |
---|---|---|
committer | Bert Münnich <be.muennich@googlemail.com> | 2012-08-07 12:57:07 +0200 |
commit | 795beac132ad31a87a84bb46890466d971d83b01 (patch) | |
tree | 5d183431858de4fc1bed97d0b47f9316bf1114c1 /image.c | |
parent | c86079e6503db20b4fd5cac5d4a162926ef06bf4 (diff) | |
parent | b56989f8fbfa6ab32e1fa8f54c0d03ff924c7308 (diff) | |
download | nsxiv-795beac132ad31a87a84bb46890466d971d83b01.tar.zst |
Merge remote-tracking branch 'baskerville/master'
Diffstat (limited to 'image.c')
-rw-r--r-- | image.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -365,7 +365,18 @@ bool img_fit(img_t *img) { zw = (float) img->win->w / (float) img->w; zh = (float) img->win->h / (float) img->h; - z = MIN(zw, zh); + switch (img->scalemode) { + case SCALE_WIDTH: + z = zw; + break; + case SCALE_HEIGHT: + z = zh; + break; + default: + z = MIN(zw, zh); + break; + } + z = MAX(z, zoom_min); z = MIN(z, zmax); @@ -448,11 +459,11 @@ void img_render(img_t *img) { img->dirty = false; } -bool img_fit_win(img_t *img) { +bool img_fit_win(img_t *img, scalemode_t sm) { if (img == NULL || img->im == NULL) return false; - img->scalemode = SCALE_FIT; + img->scalemode = sm; return img_fit(img); } |