Просмотр исходного кода

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

Related to issue #303
master
Bert Münnich 7 лет назад
Родитель
Сommit
6d1e00627b
1 измененных файлов: 4 добавлений и 7 удалений
  1. +4
    -7
      image.c

+ 4
- 7
image.c Просмотреть файл

@@ -393,12 +393,11 @@ void img_check_pan(img_t *img, bool moved)

bool img_fit(img_t *img)
{
float z, zmax, zw, zh;
float z, zw, zh;

if (img->scalemode == SCALE_ZOOM)
return false;

zmax = img->scalemode == SCALE_DOWN ? 1.0 : zoom_max;
zw = (float) img->win->w / (float) img->w;
zh = (float) img->win->h / (float) img->h;

@@ -413,9 +412,7 @@ bool img_fit(img_t *img)
z = MIN(zw, zh);
break;
}

z = MAX(z, zoom_min);
z = MIN(z, zmax);
z = MIN(z, img->scalemode == SCALE_DOWN ? 1.0 : zoom_max);

if (zoomdiff(img, z) != 0) {
img->zoom = z;
@@ -563,7 +560,7 @@ bool img_zoom_in(img_t *img)
int i;
float z;

for (i = 1; i < ARRLEN(zoom_levels); i++) {
for (i = 0; i < ARRLEN(zoom_levels); i++) {
z = zoom_levels[i] / 100.0;
if (zoomdiff(img, z) > 0)
return img_zoom(img, z);
@@ -576,7 +573,7 @@ bool img_zoom_out(img_t *img)
int i;
float z;

for (i = ARRLEN(zoom_levels) - 2; i >= 0; i--) {
for (i = ARRLEN(zoom_levels) - 1; i >= 0; i--) {
z = zoom_levels[i] / 100.0;
if (zoomdiff(img, z) < 0)
return img_zoom(img, z);


Загрузка…
Отмена
Сохранить