Krolyxon
Commit 6d1e006

Branches

Refs →

nsxiv6d1e006

Do not limit fit-to-win to smallest zoom level

Related to issue #303
Author
Bert Münnich
Date
2018-01-22 10:47 +0100
Committer
Bert Münnich · 2018-01-22 10:48 +0100
Parent
727939b
Commit
6d1e00627b7392f2ac32cdcddc7345a57a48cd6f

+4 −7

1 file changed

  1. M image.c +4 −7
M image.c View
@@ -393,12 +393,11 @@ void img_check_pan(img_t *img, bool moved)
393393
394394 bool img_fit(img_t *img)
395395 {
396− float z, zmax, zw, zh;
396+ float z, zw, zh;
397397
398398 if (img->scalemode == SCALE_ZOOM)
399399 return false;
400400
401− zmax = img->scalemode == SCALE_DOWN ? 1.0 : zoom_max;
402401 zw = (float) img->win->w / (float) img->w;
403402 zh = (float) img->win->h / (float) img->h;
404403
@@ -413,9 +412,7 @@ bool img_fit(img_t *img)
413412 z = MIN(zw, zh);
414413 break;
415414 }
416−
417− z = MAX(z, zoom_min);
418− z = MIN(z, zmax);
415+ z = MIN(z, img->scalemode == SCALE_DOWN ? 1.0 : zoom_max);
419416
420417 if (zoomdiff(img, z) != 0) {
421418 img->zoom = z;
@@ -563,7 +560,7 @@ bool img_zoom_in(img_t *img)
563560 int i;
564561 float z;
565562
566− for (i = 1; i < ARRLEN(zoom_levels); i++) {
563+ for (i = 0; i < ARRLEN(zoom_levels); i++) {
567564 z = zoom_levels[i] / 100.0;
568565 if (zoomdiff(img, z) > 0)
569566 return img_zoom(img, z);
@@ -576,7 +573,7 @@ bool img_zoom_out(img_t *img)
576573 int i;
577574 float z;
578575
579− for (i = ARRLEN(zoom_levels) - 2; i >= 0; i--) {
576+ for (i = ARRLEN(zoom_levels) - 1; i >= 0; i--) {
580577 z = zoom_levels[i] / 100.0;
581578 if (zoomdiff(img, z) < 0)
582579 return img_zoom(img, z);