diff options
-rw-r--r-- | commands.c | 2 | ||||
-rw-r--r-- | image.c | 15 | ||||
-rw-r--r-- | image.h | 2 | ||||
-rw-r--r-- | main.c | 2 |
4 files changed, 8 insertions, 13 deletions
@@ -293,7 +293,7 @@ bool ci_toggle_animation(arg_t a) if (img.multi.cnt > 0) { img.multi.animate = !img.multi.animate; if (img.multi.animate) { - dirty = img_frame_animate(&img, true); + dirty = img_frame_animate(&img); set_timeout(animate, img.multi.frames[img.multi.sel].delay, true); } else { reset_timeout(animate); @@ -824,21 +824,16 @@ bool img_frame_navigate(img_t *img, int d) return img_frame_goto(img, d); } -bool img_frame_animate(img_t *img, bool restart) +bool img_frame_animate(img_t *img) { if (img == NULL || img->im == NULL || img->multi.cnt == 0) return false; - if (img->multi.sel + 1 >= img->multi.cnt) { + if (img->multi.sel + 1 >= img->multi.cnt) img_frame_goto(img, 0); - img->dirty = true; - return true; - } else if (!restart) { + else img_frame_goto(img, img->multi.sel + 1); - img->dirty = true; - return true; - } else { - return false; - } + img->dirty = true; + return true; } @@ -91,6 +91,6 @@ void img_toggle_antialias(img_t*); bool img_change_gamma(img_t*, int); bool img_frame_navigate(img_t*, int); -bool img_frame_animate(img_t*, bool); +bool img_frame_animate(img_t*); #endif /* IMAGE_H */ @@ -449,7 +449,7 @@ void reset_cursor(void) void animate(void) { - if (img_frame_animate(&img, false)) { + if (img_frame_animate(&img)) { redraw(); set_timeout(animate, img.multi.frames[img.multi.sel].delay, true); } |