diff options
author | Bert Münnich <ber.t@posteo.de> | 2014-01-04 18:38:40 +0100 |
---|---|---|
committer | Bert Münnich <ber.t@posteo.de> | 2014-01-04 19:07:15 +0100 |
commit | 6a0fa2507cc933cfb54fdf4d80c094bfcdf782cf (patch) | |
tree | ab682c40f0a648b60db9a7a41753923279579cd9 /image.c | |
parent | 0e818020cc3459dda528993e27202c8ef5dfa90f (diff) | |
download | nsxiv-6a0fa2507cc933cfb54fdf4d80c094bfcdf782cf.tar.zst |
Slideshow mode is back, in a simplified version
Diffstat (limited to 'image.c')
-rw-r--r-- | image.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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); |