summaryrefslogtreecommitdiff
path: root/lisp/image.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-02-15 20:58:20 -0500
committerGlenn Morris <rgm@gnu.org>2013-02-15 20:58:20 -0500
commitbb9dfee1d6d0e67b3564d25580f144d25284c0ea (patch)
tree48504bfef887e8c395e18cd46f7b974bbc17017a /lisp/image.el
parentef5ae980aad7c1b67b4171f7a2c106d1f69aa94f (diff)
downloademacs-bb9dfee1d6d0e67b3564d25580f144d25284c0ea.tar.gz
Display a mode-line frame counter for animated images
* lisp/image.el (image-current-frame): New variable. (image-animate-timeout): Set image-current-frame. * lisp/image-mode.el (image-mode): For animated images, display a frame counter via mode-line-process.
Diffstat (limited to 'lisp/image.el')
-rw-r--r--lisp/image.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/image.el b/lisp/image.el
index 73b25f6da67..e0521ad065a 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -657,6 +657,9 @@ number, play until that number of seconds has elapsed."
(setq timer nil)))
timer))
+(defvar-local image-current-frame nil
+ "The frame index of the current animated image.")
+
;; FIXME? The delay may not be the same for different sub-images,
;; hence we need to call image-animated-p to return it.
;; But it also returns count, so why do we bother passing that as an
@@ -672,6 +675,7 @@ LIMIT determines when to stop. If t, loop forever. If nil, stop
after LIMIT seconds have elapsed.
The minimum delay between successive frames is 0.01s."
(plist-put (cdr image) :index n)
+ (setq image-current-frame n)
(force-window-update)
(setq n (1+ n))
(let* ((time (float-time))