summaryrefslogtreecommitdiffstats
path: root/image.c
diff options
context:
space:
mode:
authorBert Münnich <ber.t@posteo.de>2014-01-04 18:38:40 +0100
committerBert Münnich <ber.t@posteo.de>2014-01-04 19:07:15 +0100
commit6a0fa2507cc933cfb54fdf4d80c094bfcdf782cf (patch)
treeab682c40f0a648b60db9a7a41753923279579cd9 /image.c
parent0e818020cc3459dda528993e27202c8ef5dfa90f (diff)
downloadnsxiv-6a0fa2507cc933cfb54fdf4d80c094bfcdf782cf.tar.zst
Slideshow mode is back, in a simplified version
Diffstat (limited to 'image.c')
-rw-r--r--image.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/image.c b/image.c
index d044a21..21ab3bd 100644
--- a/image.c
+++ b/image.c
@@ -83,10 +83,13 @@ void img_init(img_t *img, win_t *win)
img->alpha = !RENDER_WHITE_ALPHA;
img->multi.cap = img->multi.cnt = 0;
img->multi.animate = false;
- img->multi.repeat = 0;
+ img->multi.length = img->multi.repeat = 0;
img->cmod = imlib_create_color_modifier();
img->gamma = MIN(MAX(options->gamma, -GAMMA_RANGE), GAMMA_RANGE);
+
+ img->ss.on = options->slideshow > 0;
+ img->ss.delay = options->slideshow > 0 ? options->slideshow : SLIDESHOW_DELAY;
}
void exif_auto_orientate(const fileinfo_t *file)
@@ -143,9 +146,8 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
img->multi.frames = (img_frame_t*)
s_malloc(sizeof(img_frame_t) * img->multi.cap);
}
- img->multi.cnt = 0;
- img->multi.sel = 0;
- img->multi.repeat = 0;
+ img->multi.cnt = img->multi.sel = 0;
+ img->multi.length = img->multi.repeat = 0;
#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
gif = DGifOpenFileName(file->path, NULL);
@@ -275,6 +277,7 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
}
img->multi.frames[img->multi.cnt].im = im;
img->multi.frames[img->multi.cnt].delay = delay ? delay : GIF_DELAY;
+ img->multi.length += img->multi.frames[img->multi.cnt].delay;
img->multi.cnt++;
}
} while (rec != TERMINATE_RECORD_TYPE);