summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/animate/animate.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/animate/animate.sty')
-rw-r--r--macros/latex/contrib/animate/animate.sty35
1 files changed, 32 insertions, 3 deletions
diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty
index 729af653ad..cedd442a72 100644
--- a/macros/latex/contrib/animate/animate.sty
+++ b/macros/latex/contrib/animate/animate.sty
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\def\@anim@version{2021/09/02}
+\def\@anim@version{2021/11/09}
\ProvidesPackage{animate}
[\@anim@version\space PDF & SVG animations from files and inline graphics]
@@ -3643,7 +3643,10 @@
\fi%
var a#1_playsRight,a#1_isPaused\if@anim@step\else,a#1_playing\fi;$%
\if@anim@step\else
- var a#1_int;$% timer id (takes return val of setIntervall())
+ var a#1_int% timer id (takes return val of setIntervall())
+ \ifnum\@anim@poster>\z@% custom poster (frame _between_, i. e.
+ ,a#1_posterOn% not including, first and last)
+ \fi;$%
% function pointers
var a#1_pause,a#1_playRight,a#1_playLeft,a#1_playBwd,a#1_playFwd;$%
\if@anim@pauseframes
@@ -3692,6 +3695,11 @@
\ifnum\@anim@method>\z@%
a#1_on=0;$%
\fi%
+ \if@anim@step\else%
+ \ifnum\@anim@poster>\z@% poster frame _between_ (i. e. non including) first
+ a#1_posterOn=true;% and last
+ \fi%
+ \fi%
\ifcase\@anim@method %icon based
a#1_wid=this.getField('anm#1');$%reference to interactive widget
for(var i=0;i<=\@anim@maxframe;i++){$%
@@ -3941,6 +3949,12 @@
\fi%
};$%
a#1_playRight=function(){$%
+ \ifnum\@anim@poster>\z@%
+ if(a#1_posterOn&&!a#1_isPaused){%
+ a#1_seekFrame(0);%
+ a#1_posterOn=false;%
+ }$%
+ \fi%
\if@anim@meas a#1_startMeas();\fi
var tmp_int;$%
try{tmp_int=\@anim@app setInterval('a#1_gotoNext()',%
@@ -3966,6 +3980,12 @@
\fi%
};$%
a#1_playLeft=function(){$%
+ \ifnum\@anim@poster>\z@%
+ if(a#1_posterOn&&!a#1_isPaused){%
+ a#1_seekFrame(\@anim@maxframe);%
+ a#1_posterOn=false;%
+ }$%
+ \fi%
\if@anim@meas a#1_startMeas();\fi
var tmp_int;$%
try{tmp_int=\@anim@app setInterval('a#1_gotoPrev()',%
@@ -4172,7 +4192,16 @@
if(!a#1_isPaused&&a#1_idx!=-2)a#1_seekFrame(-2);$% not paused == stopped
\fi%
\ifnum\@anim@poster>\@anim@mone %poster=<num>|first
- if(!a#1_isPaused&&a#1_idx!=\@anim@poster)a#1_seekFrame(\@anim@poster);$%
+ \ifnum\numexpr%
+ \ifnum\@anim@poster>\z@\@ne\else\z@\fi% custom poster
+ *\if@anim@step\z@\else\@ne\fi\relax>\z@%
+ if(!a#1_isPaused){$%
+ if(a#1_idx!=\@anim@poster)a#1_seekFrame(\@anim@poster);$%
+ a#1_posterOn=true;$%
+ }$%
+ \else
+ if(!a#1_isPaused&&a#1_idx!=\@anim@poster)a#1_seekFrame(\@anim@poster);$%
+ \fi%
\fi%
\ifnum\@anim@poster=\@anim@mone %poster=last
if(!a#1_isPaused&&a#1_idx!=\@anim@maxframe)a#1_seekFrame(\@anim@maxframe);$%