diff options
Diffstat (limited to 'texmf-dist/tex/latex/aeb-pro/anime_support.def')
-rw-r--r-- | texmf-dist/tex/latex/aeb-pro/anime_support.def | 986 |
1 files changed, 493 insertions, 493 deletions
diff --git a/texmf-dist/tex/latex/aeb-pro/anime_support.def b/texmf-dist/tex/latex/aeb-pro/anime_support.def index 2a2646f0..c22d74ba 100644 --- a/texmf-dist/tex/latex/aeb-pro/anime_support.def +++ b/texmf-dist/tex/latex/aeb-pro/anime_support.def @@ -1,493 +1,493 @@ -%%
-%% This is file `anime_support.def',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% aeb_pro.dtx (with options: `copyright,animecommon')
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% aeb_pro.sty package, %%
-%% Copyright (C) 2006--2018 D. P. Story %%
-%% dpstory@acrotex.net %%
-%% %%
-%% This program can redistributed and/or modified under %%
-%% the terms of the LaTeX Project Public License %%
-%% Distributed from CTAN archives in directory %%
-%% macros/latex/base/lppl.txt; either version 1.2 of %%
-%% the License, or (at your option) any later version. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\placeAnimeCtrlBtnFaces}[3][\pathToBtnCtrlIcons]{\begingroup
- \toks@={\aep@I{\aep@setAFirst}{animeFirst}%
- \aep@I{\aep@setASB}{animeSB}%
- \aep@I{\aep@setAPB}{animePB}%
- \aep@I{\aep@setAPaus}{animePause}%
- \aep@I{\aep@setAPF}{animePF}%
- \aep@I{\aep@setASF}{animeSF}%
- \aep@I{\aep@setALast}{animeLast}%
- \aep@I{\aep@setAPlus}{animePlus}%
- \aep@I{\aep@setAMinus}{animeMinus}}%
- \def\aep@I##1##2{\let##1\@empty}\the\toks@
- \def\aep@I##1##2{\edef##1{##1,\aep@thisAnime4BtnCtrl.##2}}%
- \@for\aep@thisAnime:=#3\do{\the\toks@}%
- \def\aep@I##1##2{\edef##1{\expandafter\@gobble##1}}\the\toks@
- \ifx\pathToBtnCtrlIcons\@empty
- \let\@pathsep\@empty\else\def\@pathsep{/}\fi
- \declareMultiImages{%
- {path=#1\@pathsep#2,page=0,placement={\aep@setAFirst}}
- {path=#1\@pathsep#2,page=2,placement={\aep@setASB}}
- {path=#1\@pathsep#2,page=4,placement={\aep@setAPB}}
- {path=#1\@pathsep#2,page=6,placement={\aep@setAPaus}}
- {path=#1\@pathsep#2,page=5,placement={\aep@setAPF}}
- {path=#1\@pathsep#2,page=3,placement={\aep@setASF}}
- {path=#1\@pathsep#2,page=1,placement={\aep@setALast}}
- {path=#1\@pathsep#2,page=7,placement={\aep@setAPlus}}
- {path=#1\@pathsep#2,page=8,placement={\aep@setAMinus}}
- }%
- \endgroup
-}
-\@onlypreamble\placeAnimeCtrlBtnFaces
-\newcommand{\animeSetup}[1]{%
- \let\animeSetupPresets\@empty
- \edef\@tempExp{\noexpand\setkeys{btnAnime}{#1}}\@tempExp
- \ifx\btnAnimeCtrlBdryColor\@empty\else
- \edef\@tmpExp{\noexpand\g@addto@macro%
- \noexpand\animeSetupPresets{%
- \noexpand\BC{\btnAnimeCtrlBdryColor}}}\@tmpExp
- \edef\@tmpExp{\noexpand\g@addto@macro%
- \noexpand\animeSetupPresets{%
- \noexpand\W{\btnAnimeCtrlBdryWidth}}}\@tmpExp\fi
- \edef\@btnanimerowsep{\btnanimerowsep}% dps10
- \setlength{\@tempdima}{%
- (\btnAnimeCtrlW+2bp)*\numWidgetsFirstRow+%
- (\btnanimebtnsep*(\numWidgetsFirstRow-1))}%
- \addtolength{\@tempdima}{\addSpaceBtwnPMBtns}%
- \edef\widthFirstRow{\the\@tempdima}%
-}
-\newcommand{\insertCtrlButtons}[1][c]{%
- \parbox[#1][\totalheight+2bp]{\widthFirstRow}{%
- \offinterlineskip\centering\aep@btn@anime@controls}}
-\newcommand{\setspaceBtwnPMBtns}[1]{{%
- \settowidth{\@tempdima}{#1\kern2bp}%
- \xdef\tmp@spaceBtwnPMBtns{\the\@tempdima}}%
- \edef\@spaceBtwnPMBtns{\tmp@spaceBtwnPMBtns}}
-\setspaceBtwnPMBtns{\space}
-\def\addSpaceBtwnPMBtns{\ifKV@btnAnime@usetworows0bp\else
- \ifKV@btnAnime@nospeedcontrol0bp\else\@spaceBtwnPMBtns\fi\fi}
-\define@choicekey+{btnAnime}{type}[\val\nr]%
- {loop,palindrome,stopatboundary}[stopatboundary]{%
- \edef\aebp@btnAnime@type{\nr}}{}
-\define@key{btnAnime}{fieldName}[]{\gdef\animeBtnFieldName{#1}}
-\define@key{btnAnime}{ocgAnimeName}[]{\gdef\animeBtnFieldName{#1}}
-\define@key{btnAnime}{iconName}[]{\gdef\animeBtnBaseName{#1}}
-\define@key{btnAnime}{speed}[200]{\gdef\animeBtnSpeed{#1}}
-\define@key{btnAnime}{nFrames}[]{\gdef\nFrames{#1}}
-\define@boolkey{btnAnime}{autorun}[true]{}
-\define@boolkey{btnAnime}{autopause}[true]{}
-\define@choicekey+{btnAnime}{autoplayevent}[\val\nr]%
- {pageopen,pagevisible}[pageopen]{\ifcase\nr\relax
- \def\aebp@autoplayevent{\AAPageOpen}\or
- \def\aebp@autoplayevent{\AAPageVisible}\fi}{}%
-\def\aebp@autoplayevent{\AAPageOpen}
-\define@choicekey+{btnAnime}{autopauseevent}[\val\nr]%
- {pageclose,pageinvisible}[pageclose]{\ifcase\nr\relax
- \def\aebp@autopauseevent{\AAPageClose}\or
- \def\aebp@autopauseevent{\AAPageInvisible}\fi}{}%
-\def\aebp@autopauseevent{\AAPageClose}
-\define@choicekey+{btnAnime}{poster}[\val\nr]%
- {first,last,none}[first]{\edef\aebp@btnAnime@poster{\nr}}{}
-\define@key{btnAnime}{ctrlwidth}[18bp]{\def\btnAnimeCtrlW{#1}}
-\define@key{btnAnime}{ctrlheight}[9bp]{\def\btnAnimeCtrlH{#1}}
-\define@choicekey{btnAnime}{ctrlbdrywidth}[\val\nr]{none,%
- thin,medium,thick}[thin]{\edef\btnAnimeCtrlBdryWidth{\nr}}
-\define@key{btnAnime}{ctrlbdrycolor}[]{\def\ap@argi{#1}%
- \ifx\ap@argi\@empty\let\btnAnimeCtrlBdryColor\@empty\else
- \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1}
- {\btnAnimeCtrlBdryColor}{}{}}
- {\edef\btnAnimeCtrlBdryColor{#1}}\fi
-} % PDF color
-\let\animeSetupPresets\@empty
-\newcommand{\@ctrlsbtnsep}{\cgBdry[\btnanimebtnsep]} % dps10
-\newcommand{\btnanimebtnsep}{1bp}
-\newcommand{\vspacectrlsep}{3bp}
-\newcommand{\aep@vspacectrlsep}{\vspacectrlsep}
-\newcommand{\btnanimerowsep}{1bp}
-\newcommand{\btnAnimeSkini}{\ifKV@btnAnime@usetworows
- \makebox[\linewidth][c]{%
- \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimeStepBack
- \@ctrlsbtnsep\btnAnimePlayBack
- \@ctrlsbtnsep\btnAnimePause
- \@ctrlsbtnsep\btnAnimePlayForward
- \@ctrlsbtnsep\btnAnimeStepForward
- \@ctrlsbtnsep\btnAnimeGoToLast}\ifKV@btnAnime@nospeedcontrol\else
- \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{%
- \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else
- \makebox[\linewidth][s]{\hss
- \btnAnimeGoToFirst
- \@ctrlsbtnsep\btnAnimeStepBack
- \@ctrlsbtnsep\btnAnimePlayBack
- \@ctrlsbtnsep\btnAnimePause
- \@ctrlsbtnsep\btnAnimePlayForward
- \@ctrlsbtnsep\btnAnimeStepForward
- \@ctrlsbtnsep\btnAnimeGoToLast
- \ifKV@btnAnime@nospeedcontrol\else
- \kern\@spaceBtwnPMBtns\btnAnimePlus
- \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi}
-\newcommand{\btnAnimeSkinii}{\ifKV@btnAnime@usetworows
- \makebox[\linewidth][c]{%
- \btnAnimeGoToFirst
- \@ctrlsbtnsep\btnAnimePlayBack
- \@ctrlsbtnsep\btnAnimePause
- \@ctrlsbtnsep\btnAnimePlayForward
- \@ctrlsbtnsep\btnAnimeGoToLast}%
- \ifKV@btnAnime@nospeedcontrol\else\vcgBdry[\@btnanimerowsep]%
- \makebox[\linewidth][c]{\btnAnimePlus\@ctrlsbtnsep
- \btnAnimeMinus}\fi\else\makebox[\linewidth][s]{\hss
- \btnAnimeGoToFirst\@ctrlsbtnsep
- \btnAnimePlayBack\@ctrlsbtnsep\btnAnimePause%
- \@ctrlsbtnsep\btnAnimePlayForward\@ctrlsbtnsep
- \btnAnimeGoToLast\ifKV@btnAnime@nospeedcontrol\else
- \kern\@spaceBtwnPMBtns\btnAnimePlus
- \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi}
-\newcommand{\btnAnimeSkiniii}{\ifKV@btnAnime@usetworows
- \makebox[\linewidth][c]{%
- \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause
- \@ctrlsbtnsep\btnAnimePlayForward}%
- \ifKV@btnAnime@nospeedcontrol\else
- \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{%
- \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else
- \makebox[\linewidth][s]{\hss
- \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause
- \@ctrlsbtnsep\btnAnimePlayForward
- \ifKV@btnAnime@nospeedcontrol\else\kern\@spaceBtwnPMBtns
- \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi}
-\newcommand{\btnAnimeSkiniv}{%
- \makebox[\linewidth][c]{%
- \btnAnimeGoToFirst
- \@ctrlsbtnsep\btnAnimeStepBack
- \@ctrlsbtnsep\btnAnimeStepForward
- \@ctrlsbtnsep\btnAnimeGoToLast}}
-\newcommand{\btnAnimeSkinv}{\PackageWarning{aeb_pro}
- {skin5 is undefined.\MessageBreak You may customize
- by defining skin5;\MessageBreak meanwhile, using default,
- skin1}\btnAnimeSkini}
-\newcommand{\btnAnimeSkinvi}{\PackageWarning{aeb_pro}
- {skin6 is undefined.\MessageBreak You may customize
- by defining skin6;\MessageBreak meanwhile, using default,
- skin1}\btnAnimeSkini}
-\newcommand{\aepnumWidgetsFirstRow}[2]{\def\numWidgetsFirstRow{%
- \ifKV@btnAnime@nospeedcontrol#1\else
- \ifKV@btnAnime@usetworows#1\else#2\fi\fi}}
-\newcommand{\numWidgetsFirstRowV}{\aepnumWidgetsFirstRow{7}{9}}
-\newcommand{\numWidgetsFirstRowVI}{\aepnumWidgetsFirstRow{7}{9}}
-\define@choicekey+{btnAnime}{controls}[\val\nr]%
- {none,skin1,skin2,skin3,skin4,skin5,skin6}[skin1]{%
- \ifcase\nr\relax
- \let\aep@btn@anime@controls\@empty
- \def\widthFirstRow{0pt}\or
- \def\aep@btn@anime@controls{\btnAnimeSkini}%
- \aepnumWidgetsFirstRow{7}{9}\or
- \def\aep@btn@anime@controls{\btnAnimeSkinii}%
- \aepnumWidgetsFirstRow{5}{7}\or
- \def\aep@btn@anime@controls{\btnAnimeSkiniii}%
- \aepnumWidgetsFirstRow{3}{5}\or
- \def\aep@btn@anime@controls{\btnAnimeSkiniv}%
- \aepnumWidgetsFirstRow{4}{4}\or
- \def\aep@btn@anime@controls{\btnAnimeSkinv}%
- \numWidgetsFirstRowV\or
- \def\aep@btn@anime@controls{\btnAnimeSkinvi}%
- \numWidgetsFirstRowVI\fi
- }{}
-\define@boolkey{btnAnime}{usetworows}[true]{}
-\define@boolkey{btnAnime}{nospeedcontrol}[true]{}
-\setkeys{btnAnime}{fieldName,iconName,speed,nFrames,type,poster,
- controls,usetworows=false,nospeedcontrol=false,ctrlwidth,ctrlheight,
- ctrlbdrywidth,ctrlbdrycolor}
-\newcommand{\btnAnimePresets}[1]{\def\aeb@btnAnimePresets{#1}}
-\def\aeb@btnAnimePresets{}
-\newcommand{\ctrlButtonsWrapper}[1]{#1}
-\newcommand{\btnAnimeCtrlPresets}[1]{\def\aeb@btnAnimeCtrlPresets{#1}}
-\def\aeb@btnAnimeCtrlPresets{}
-\newcommand{\btnAnimeGoToFirst}{%
- \pushButton[\TU{Go to first frame}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimeFirstAction}}]%
- {\animeBtnFieldName4BtnCtrl.animeFirst}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}%
-\newcommand{\btnAnimeStepBack}{%
- \pushButton[\TU{Step Back}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimeSBAction}}]%
- {\animeBtnFieldName4BtnCtrl.animeSB}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimePlayBack}{%
- \pushButton[\TU{Play Backwards}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimePBAction}}]%
- {\animeBtnFieldName4BtnCtrl.animePB}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimePause}{%
- \pushButton[\TU{Pause}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimePauseAction}}]%
- {\animeBtnFieldName4BtnCtrl.animePause}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimePlayForward}{%
- \pushButton[\TU{Play Forwards}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimePFAction}}]%
- {\animeBtnFieldName4BtnCtrl.animePF}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimeStepForward}{%
- \pushButton[\TU{Step Forward}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimeSFAction}}]%
- {\animeBtnFieldName4BtnCtrl.animeSF}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimeGoToLast}{%
- \pushButton[\TU{Go to last frame}\S{S}\BC{}
- \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimeLastAction}}]%
- {\animeBtnFieldName4BtnCtrl.animeLast}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimePlus}{%
- \pushButton[\TU{Increase speed\r Shift-click to restore
- default speed}%\textFont{HeBo}\CA{+}
- \S{S}\BC{}\FB{false}\I{null}\TP{1}
- \presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimePlusAction}}]%
- {\animeBtnFieldName4BtnCtrl.animePlus}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimeMinus}{%
- \pushButton[\TU{Decrease speed\r Shift-click to restore
- default speed}%\textFont{HeBo}\uCA{FEFF2212}
- \S{S}\BC{}\FB{false}\I{null}\TP{1}
- \presets{\aeb@btnAnimeCtrlPresets}
- \presets{\animeSetupPresets}\A{\JS{\btnAnimeMinusAction}}]%
- {\animeBtnFieldName4BtnCtrl.animeMinus}%
- {\btnAnimeCtrlW}{\btnAnimeCtrlH}}
-\newcommand{\btnAnimeFirstAction}{%
-if (typeof \animeBtnFieldName\space == "object")\r\t
- btnAnimeFirst(\animeBtnFieldName);
-}
-\newcommand{\btnAnimeSBAction}{%
- if ( typeof \animeBtnFieldName\space=="undefined")\r\t
- var \animeBtnFieldName= new Object();\r
- btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",%
- "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,%
- \aebp@btnAnime@type,true);
-}
-\newcommand{\btnAnimePBAction}{%
- if ( typeof \animeBtnFieldName\space=="undefined")\r\t
- var \animeBtnFieldName= new Object();\r
- btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",%
- "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,%
- \aebp@btnAnime@type,false);
-}
-\newcommand{\btnAnimePauseAction}{%
- if ((typeof \animeBtnFieldName\space == "object")&&%
- \animeBtnFieldName.animeStart)\r\t
- btnAnimePause(\animeBtnFieldName);
-}
-\newcommand{\btnAnimePFAction}{%
- if ( typeof \animeBtnFieldName\space=="undefined")\r\t
- var \animeBtnFieldName= new Object();\r
- btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",%
- "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,%
- \aebp@btnAnime@type,false);
-}
-\newcommand{\btnAnimeSFAction}{%
- if ( typeof \animeBtnFieldName\space=="undefined")\r\t
- var \animeBtnFieldName= new Object();\r
- btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",%
- "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,%
- \aebp@btnAnime@type,true);
-}
-\newcommand{\btnAnimeLastAction}{%
- if (typeof \animeBtnFieldName\space == "object")\r\t
- btnAnimeLast(\animeBtnFieldName);
-}
-\newcommand{\btnAnimePlusAction}{%
- if (typeof \animeBtnFieldName\space == "object")\r\t
- btnAnimePlus(\animeBtnFieldName,\animeBtnSpeed);
-}
-\newcommand{\btnAnimeMinusAction}{%
- if (typeof \animeBtnFieldName\space == "object")\r\t
- btnAnimeMinus(\animeBtnFieldName,\animeBtnSpeed);
-}
-\begin{insDLJS}[_loadBtnAnimeCtrls]{btnanime}
- {AeB Pro: Button and Ocg Anime Controls}
-var _loadBtnAnimeCtrls=true;
-var activeAnimes=new Array();
-function btnAnimePlay(oAnime,fieldName,baseFrameName,%
-nSpeed,nFrames,bForward,type,bStep) {
- // ocgAnime is characterized by baseFrameName=""
- if ( oAnime.animeStart && !oAnime.animePause ) return;
- var callingFieldName=event.target.name;
- var re=/\.anime(PB|PF)/;
- var doRebuild=( event.shift && re.test(callingFieldName) );
- if ( (arguments.length>1) && %
-( (typeof activeAnimes[fieldName] == "undefined")|| doRebuild) ) {
- activeAnimes[fieldName]=oAnime;
- oAnime.isOcgAnime=(baseFrameName==""); // ocg change
- oAnime.fieldName=fieldName;
- oAnime.baseFrameName=baseFrameName;
- oAnime.numSecs=nSpeed;
- oAnime.nFrames=nFrames;
- oAnime.type=type;
- oAnime.bStep=bStep;
- oAnime.aMyIcons = new Array();
- oAnime.count = 0;
- if ( !oAnime.isOcgAnime ) {// ocg change
- for ( var i=0; i < nFrames; i++) {
- oAnime.aMyIcons[i] = this.getField(fieldName+"."+i);
- oAnime.aMyIcons[i].display=(i==0)?display.visible:%
-display.hidden;
- }
- }
- }
- if (arguments.length>1) {
- oAnime.bForward=bForward;
- oAnime.bStep=bStep;
- }
- if (oAnime.bStep) {
- this.delay=true
- if ( oAnime.isOcgAnime ) // ocg change
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=false; // ocg
- else
- oAnime.aMyIcons[oAnime.count].display=display.hidden;
- var currCount=oAnime.count;
- if (oAnime.bForward) {
- oAnime.count++;
- if (oAnime.count==oAnime.nFrames) // hit upper boundary
- oAnime.count=(oAnime.type==0)?0:currCount;
- } else {
- oAnime.count--;
- if (oAnime.count<0)
- oAnime.count=(oAnime.type==0)?(oAnime.nFrames-1):0;
- }
- if ( oAnime.isOcgAnime ) // ocg change
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=true; // ocg
- else
- oAnime.aMyIcons[oAnime.count].display=display.visible;
- this.delay=false;
- } else {
- var args="\""+oAnime.fieldName+"\","+oAnime.type;
- oAnime.run = app.setInterval(%
-"btnAnimeNewFrame("+args+")",oAnime.numSecs);
- oAnime.animeStart=true;
- oAnime.animePause=false;
- }
-}
-function btnAnimeFirst(oAnime)
-{
- try { app.clearInterval(oAnime.run);} catch(e){}
- oAnime.animeStart=false;
- oAnime.animePause=false;
- if ( oAnime.isOcgAnime )
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=false; // ocg
- else
- oAnime.aMyIcons[oAnime.count].display=display.hidden;
- oAnime.count=0;
- if ( oAnime.isOcgAnime )
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=true; // ocg
- else
- oAnime.aMyIcons[0].display=display.visible;
-}
-function btnAnimeLast(oAnime)
-{
- try { app.clearInterval(oAnime.run);} catch(e){}
- oAnime.animeStart=false;
- oAnime.animePause=false;
- var l = oAnime.nFrames-1;
- if ( oAnime.isOcgAnime )
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=false; // ocg
- else
- oAnime.aMyIcons[oAnime.count].display=display.hidden;
- oAnime.count=l;
- if ( oAnime.isOcgAnime )
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(l+1)).state=true; // ocg
- else
- oAnime.aMyIcons[l].display=display.visible;
-}
-function btnAnimePause(oAnime)
-{
- try { app.clearInterval(oAnime.run);} catch(e){}
- oAnime.animePause=true;
-}
-function btnAnimePlus(oAnime,nDefSpeed){
- var isPlaying=(oAnime.animeStart&&!oAnime.animePause);
- if (isPlaying) btnAnimePause(oAnime);
- if ( event.shift ) oAnime.numSecs=nDefSpeed;
- else oAnime.numSecs -= 50;
- if (oAnime.numSecs<10) oAnime.numSecs=10
- if (isPlaying) btnAnimePlay(oAnime);
-}
-function btnAnimeMinus(oAnime,nDefSpeed){
- var isPlaying=(oAnime.animeStart&&!oAnime.animePause);
- if (isPlaying) btnAnimePause(oAnime);
- if ( event.shift ) oAnime.numSecs=nDefSpeed;
- else oAnime.numSecs += 50;
- if (isPlaying) btnAnimePlay(oAnime);
-}
-function btnAnimeNewFrame(fieldName, type)
-{
- var oAnime=activeAnimes[fieldName];
- this.delay=true
- if ( oAnime.isOcgAnime ) // ocg change
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=false;
- else
- oAnime.aMyIcons[oAnime.count].display=display.hidden;
- var currCount=oAnime.count;
- var bBdaryMet=false;
- if (oAnime.bForward) {
- oAnime.count++;
- if (oAnime.count==oAnime.nFrames) {
- if(type==0) oAnime.count \%= oAnime.nFrames;
- else if(type==1) {
- oAnime.count=currCount;
- oAnime.count--;
- oAnime.bForward=false;
- } else {
- bBdaryMet=true;
- oAnime.count=currCount;
- }
- }
- } else {
- oAnime.count--;
- if (oAnime.count<0) {
- if(type==0) oAnime.count=(oAnime.nFrames-1);
- else if(type==1) {
- oAnime.count=currCount;
- oAnime.count++;
- oAnime.bForward=true;
- } else { // stop
- bBdaryMet=true;
- oAnime.count=currCount;
- }
- }
- }
- if ( oAnime.isOcgAnime) // ocg change
- getxBld("anime!!"+oAnime.fieldName+"\#"%
-+(oAnime.count+1)).state=true;
- else
- oAnime.aMyIcons[oAnime.count].display=display.visible;
- this.delay=false;
- if ( type==2 && bBdaryMet ) {
- try { app.clearInterval(oAnime.run);} catch(e){}
- // try { app.clearTimeOut(timeout);} catch(e){}
- oAnime.animeStart=false;
- oAnime.animePause=false;
- }
-}
-\end{insDLJS}
-\endinput
-%%
-%% End of file `anime_support.def'.
+%% +%% This is file `anime_support.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,animecommon') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\placeAnimeCtrlBtnFaces}[3][\pathToBtnCtrlIcons]{\begingroup + \toks@={\aep@I{\aep@setAFirst}{animeFirst}% + \aep@I{\aep@setASB}{animeSB}% + \aep@I{\aep@setAPB}{animePB}% + \aep@I{\aep@setAPaus}{animePause}% + \aep@I{\aep@setAPF}{animePF}% + \aep@I{\aep@setASF}{animeSF}% + \aep@I{\aep@setALast}{animeLast}% + \aep@I{\aep@setAPlus}{animePlus}% + \aep@I{\aep@setAMinus}{animeMinus}}% + \def\aep@I##1##2{\let##1\@empty}\the\toks@ + \def\aep@I##1##2{\edef##1{##1,\aep@thisAnime4BtnCtrl.##2}}% + \@for\aep@thisAnime:=#3\do{\the\toks@}% + \def\aep@I##1##2{\edef##1{\expandafter\@gobble##1}}\the\toks@ + \ifx\pathToBtnCtrlIcons\@empty + \let\@pathsep\@empty\else\def\@pathsep{/}\fi + \declareMultiImages{% + {path=#1\@pathsep#2,page=0,placement={\aep@setAFirst}} + {path=#1\@pathsep#2,page=2,placement={\aep@setASB}} + {path=#1\@pathsep#2,page=4,placement={\aep@setAPB}} + {path=#1\@pathsep#2,page=6,placement={\aep@setAPaus}} + {path=#1\@pathsep#2,page=5,placement={\aep@setAPF}} + {path=#1\@pathsep#2,page=3,placement={\aep@setASF}} + {path=#1\@pathsep#2,page=1,placement={\aep@setALast}} + {path=#1\@pathsep#2,page=7,placement={\aep@setAPlus}} + {path=#1\@pathsep#2,page=8,placement={\aep@setAMinus}} + }% + \endgroup +} +\@onlypreamble\placeAnimeCtrlBtnFaces +\newcommand{\animeSetup}[1]{% + \let\animeSetupPresets\@empty + \edef\@tempExp{\noexpand\setkeys{btnAnime}{#1}}\@tempExp + \ifx\btnAnimeCtrlBdryColor\@empty\else + \edef\@tmpExp{\noexpand\g@addto@macro% + \noexpand\animeSetupPresets{% + \noexpand\BC{\btnAnimeCtrlBdryColor}}}\@tmpExp + \edef\@tmpExp{\noexpand\g@addto@macro% + \noexpand\animeSetupPresets{% + \noexpand\W{\btnAnimeCtrlBdryWidth}}}\@tmpExp\fi + \edef\@btnanimerowsep{\btnanimerowsep}% dps10 + \setlength{\@tempdima}{% + (\btnAnimeCtrlW+2bp)*\numWidgetsFirstRow+% + (\btnanimebtnsep*(\numWidgetsFirstRow-1))}% + \addtolength{\@tempdima}{\addSpaceBtwnPMBtns}% + \edef\widthFirstRow{\the\@tempdima}% +} +\newcommand{\insertCtrlButtons}[1][c]{% + \parbox[#1][\totalheight+2bp]{\widthFirstRow}{% + \offinterlineskip\centering\aep@btn@anime@controls}} +\newcommand{\setspaceBtwnPMBtns}[1]{{% + \settowidth{\@tempdima}{#1\kern2bp}% + \xdef\tmp@spaceBtwnPMBtns{\the\@tempdima}}% + \edef\@spaceBtwnPMBtns{\tmp@spaceBtwnPMBtns}} +\setspaceBtwnPMBtns{\space} +\def\addSpaceBtwnPMBtns{\ifKV@btnAnime@usetworows0bp\else + \ifKV@btnAnime@nospeedcontrol0bp\else\@spaceBtwnPMBtns\fi\fi} +\define@choicekey+{btnAnime}{type}[\val\nr]% + {loop,palindrome,stopatboundary}[stopatboundary]{% + \edef\aebp@btnAnime@type{\nr}}{} +\define@key{btnAnime}{fieldName}[]{\gdef\animeBtnFieldName{#1}} +\define@key{btnAnime}{ocgAnimeName}[]{\gdef\animeBtnFieldName{#1}} +\define@key{btnAnime}{iconName}[]{\gdef\animeBtnBaseName{#1}} +\define@key{btnAnime}{speed}[200]{\gdef\animeBtnSpeed{#1}} +\define@key{btnAnime}{nFrames}[]{\gdef\nFrames{#1}} +\define@boolkey{btnAnime}{autorun}[true]{} +\define@boolkey{btnAnime}{autopause}[true]{} +\define@choicekey+{btnAnime}{autoplayevent}[\val\nr]% + {pageopen,pagevisible}[pageopen]{\ifcase\nr\relax + \def\aebp@autoplayevent{\AAPageOpen}\or + \def\aebp@autoplayevent{\AAPageVisible}\fi}{}% +\def\aebp@autoplayevent{\AAPageOpen} +\define@choicekey+{btnAnime}{autopauseevent}[\val\nr]% + {pageclose,pageinvisible}[pageclose]{\ifcase\nr\relax + \def\aebp@autopauseevent{\AAPageClose}\or + \def\aebp@autopauseevent{\AAPageInvisible}\fi}{}% +\def\aebp@autopauseevent{\AAPageClose} +\define@choicekey+{btnAnime}{poster}[\val\nr]% + {first,last,none}[first]{\edef\aebp@btnAnime@poster{\nr}}{} +\define@key{btnAnime}{ctrlwidth}[18bp]{\def\btnAnimeCtrlW{#1}} +\define@key{btnAnime}{ctrlheight}[9bp]{\def\btnAnimeCtrlH{#1}} +\define@choicekey{btnAnime}{ctrlbdrywidth}[\val\nr]{none,% + thin,medium,thick}[thin]{\edef\btnAnimeCtrlBdryWidth{\nr}} +\define@key{btnAnime}{ctrlbdrycolor}[]{\def\ap@argi{#1}% + \ifx\ap@argi\@empty\let\btnAnimeCtrlBdryColor\@empty\else + \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} + {\btnAnimeCtrlBdryColor}{}{}} + {\edef\btnAnimeCtrlBdryColor{#1}}\fi +} % PDF color +\let\animeSetupPresets\@empty +\newcommand{\@ctrlsbtnsep}{\cgBdry[\btnanimebtnsep]} % dps10 +\newcommand{\btnanimebtnsep}{1bp} +\newcommand{\vspacectrlsep}{3bp} +\newcommand{\aep@vspacectrlsep}{\vspacectrlsep} +\newcommand{\btnanimerowsep}{1bp} +\newcommand{\btnAnimeSkini}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast}\ifKV@btnAnime@nospeedcontrol\else + \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{% + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else + \makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast + \ifKV@btnAnime@nospeedcontrol\else + \kern\@spaceBtwnPMBtns\btnAnimePlus + \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkinii}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeGoToLast}% + \ifKV@btnAnime@nospeedcontrol\else\vcgBdry[\@btnanimerowsep]% + \makebox[\linewidth][c]{\btnAnimePlus\@ctrlsbtnsep + \btnAnimeMinus}\fi\else\makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst\@ctrlsbtnsep + \btnAnimePlayBack\@ctrlsbtnsep\btnAnimePause% + \@ctrlsbtnsep\btnAnimePlayForward\@ctrlsbtnsep + \btnAnimeGoToLast\ifKV@btnAnime@nospeedcontrol\else + \kern\@spaceBtwnPMBtns\btnAnimePlus + \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkiniii}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward}% + \ifKV@btnAnime@nospeedcontrol\else + \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{% + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else + \makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \ifKV@btnAnime@nospeedcontrol\else\kern\@spaceBtwnPMBtns + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkiniv}{% + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast}} +\newcommand{\btnAnimeSkinv}{\PackageWarning{aeb_pro} + {skin5 is undefined.\MessageBreak You may customize + by defining skin5;\MessageBreak meanwhile, using default, + skin1}\btnAnimeSkini} +\newcommand{\btnAnimeSkinvi}{\PackageWarning{aeb_pro} + {skin6 is undefined.\MessageBreak You may customize + by defining skin6;\MessageBreak meanwhile, using default, + skin1}\btnAnimeSkini} +\newcommand{\aepnumWidgetsFirstRow}[2]{\def\numWidgetsFirstRow{% + \ifKV@btnAnime@nospeedcontrol#1\else + \ifKV@btnAnime@usetworows#1\else#2\fi\fi}} +\newcommand{\numWidgetsFirstRowV}{\aepnumWidgetsFirstRow{7}{9}} +\newcommand{\numWidgetsFirstRowVI}{\aepnumWidgetsFirstRow{7}{9}} +\define@choicekey+{btnAnime}{controls}[\val\nr]% + {none,skin1,skin2,skin3,skin4,skin5,skin6}[skin1]{% + \ifcase\nr\relax + \let\aep@btn@anime@controls\@empty + \def\widthFirstRow{0pt}\or + \def\aep@btn@anime@controls{\btnAnimeSkini}% + \aepnumWidgetsFirstRow{7}{9}\or + \def\aep@btn@anime@controls{\btnAnimeSkinii}% + \aepnumWidgetsFirstRow{5}{7}\or + \def\aep@btn@anime@controls{\btnAnimeSkiniii}% + \aepnumWidgetsFirstRow{3}{5}\or + \def\aep@btn@anime@controls{\btnAnimeSkiniv}% + \aepnumWidgetsFirstRow{4}{4}\or + \def\aep@btn@anime@controls{\btnAnimeSkinv}% + \numWidgetsFirstRowV\or + \def\aep@btn@anime@controls{\btnAnimeSkinvi}% + \numWidgetsFirstRowVI\fi + }{} +\define@boolkey{btnAnime}{usetworows}[true]{} +\define@boolkey{btnAnime}{nospeedcontrol}[true]{} +\setkeys{btnAnime}{fieldName,iconName,speed,nFrames,type,poster, + controls,usetworows=false,nospeedcontrol=false,ctrlwidth,ctrlheight, + ctrlbdrywidth,ctrlbdrycolor} +\newcommand{\btnAnimePresets}[1]{\def\aeb@btnAnimePresets{#1}} +\def\aeb@btnAnimePresets{} +\newcommand{\ctrlButtonsWrapper}[1]{#1} +\newcommand{\btnAnimeCtrlPresets}[1]{\def\aeb@btnAnimeCtrlPresets{#1}} +\def\aeb@btnAnimeCtrlPresets{} +\newcommand{\btnAnimeGoToFirst}{% + \pushButton[\TU{Go to first frame}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeFirstAction}}]% + {\animeBtnFieldName4BtnCtrl.animeFirst}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}}% +\newcommand{\btnAnimeStepBack}{% + \pushButton[\TU{Step Back}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeSBAction}}]% + {\animeBtnFieldName4BtnCtrl.animeSB}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlayBack}{% + \pushButton[\TU{Play Backwards}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePBAction}}]% + {\animeBtnFieldName4BtnCtrl.animePB}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePause}{% + \pushButton[\TU{Pause}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePauseAction}}]% + {\animeBtnFieldName4BtnCtrl.animePause}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlayForward}{% + \pushButton[\TU{Play Forwards}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePFAction}}]% + {\animeBtnFieldName4BtnCtrl.animePF}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeStepForward}{% + \pushButton[\TU{Step Forward}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeSFAction}}]% + {\animeBtnFieldName4BtnCtrl.animeSF}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeGoToLast}{% + \pushButton[\TU{Go to last frame}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeLastAction}}]% + {\animeBtnFieldName4BtnCtrl.animeLast}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlus}{% + \pushButton[\TU{Increase speed\r Shift-click to restore + default speed}%\textFont{HeBo}\CA{+} + \S{S}\BC{}\FB{false}\I{null}\TP{1} + \presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePlusAction}}]% + {\animeBtnFieldName4BtnCtrl.animePlus}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeMinus}{% + \pushButton[\TU{Decrease speed\r Shift-click to restore + default speed}%\textFont{HeBo}\uCA{FEFF2212} + \S{S}\BC{}\FB{false}\I{null}\TP{1} + \presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeMinusAction}}]% + {\animeBtnFieldName4BtnCtrl.animeMinus}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeFirstAction}{% +if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeFirst(\animeBtnFieldName); +} +\newcommand{\btnAnimeSBAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,% + \aebp@btnAnime@type,true); +} +\newcommand{\btnAnimePBAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,% + \aebp@btnAnime@type,false); +} +\newcommand{\btnAnimePauseAction}{% + if ((typeof \animeBtnFieldName\space == "object")&&% + \animeBtnFieldName.animeStart)\r\t + btnAnimePause(\animeBtnFieldName); +} +\newcommand{\btnAnimePFAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,% + \aebp@btnAnime@type,false); +} +\newcommand{\btnAnimeSFAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,% + \aebp@btnAnime@type,true); +} +\newcommand{\btnAnimeLastAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeLast(\animeBtnFieldName); +} +\newcommand{\btnAnimePlusAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimePlus(\animeBtnFieldName,\animeBtnSpeed); +} +\newcommand{\btnAnimeMinusAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeMinus(\animeBtnFieldName,\animeBtnSpeed); +} +\begin{insDLJS}[_loadBtnAnimeCtrls]{btnanime} + {AeB Pro: Button and Ocg Anime Controls} +var _loadBtnAnimeCtrls=true; +var activeAnimes=new Array(); +function btnAnimePlay(oAnime,fieldName,baseFrameName,% +nSpeed,nFrames,bForward,type,bStep) { + // ocgAnime is characterized by baseFrameName="" + if ( oAnime.animeStart && !oAnime.animePause ) return; + var callingFieldName=event.target.name; + var re=/\.anime(PB|PF)/; + var doRebuild=( event.shift && re.test(callingFieldName) ); + if ( (arguments.length>1) && % +( (typeof activeAnimes[fieldName] == "undefined")|| doRebuild) ) { + activeAnimes[fieldName]=oAnime; + oAnime.isOcgAnime=(baseFrameName==""); // ocg change + oAnime.fieldName=fieldName; + oAnime.baseFrameName=baseFrameName; + oAnime.numSecs=nSpeed; + oAnime.nFrames=nFrames; + oAnime.type=type; + oAnime.bStep=bStep; + oAnime.aMyIcons = new Array(); + oAnime.count = 0; + if ( !oAnime.isOcgAnime ) {// ocg change + for ( var i=0; i < nFrames; i++) { + oAnime.aMyIcons[i] = this.getField(fieldName+"."+i); + oAnime.aMyIcons[i].display=(i==0)?display.visible:% +display.hidden; + } + } + } + if (arguments.length>1) { + oAnime.bForward=bForward; + oAnime.bStep=bStep; + } + if (oAnime.bStep) { + this.delay=true + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + var currCount=oAnime.count; + if (oAnime.bForward) { + oAnime.count++; + if (oAnime.count==oAnime.nFrames) // hit upper boundary + oAnime.count=(oAnime.type==0)?0:currCount; + } else { + oAnime.count--; + if (oAnime.count<0) + oAnime.count=(oAnime.type==0)?(oAnime.nFrames-1):0; + } + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.visible; + this.delay=false; + } else { + var args="\""+oAnime.fieldName+"\","+oAnime.type; + oAnime.run = app.setInterval(% +"btnAnimeNewFrame("+args+")",oAnime.numSecs); + oAnime.animeStart=true; + oAnime.animePause=false; + } +} +function btnAnimeFirst(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + oAnime.count=0; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; // ocg + else + oAnime.aMyIcons[0].display=display.visible; +} +function btnAnimeLast(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + var l = oAnime.nFrames-1; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + oAnime.count=l; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(l+1)).state=true; // ocg + else + oAnime.aMyIcons[l].display=display.visible; +} +function btnAnimePause(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animePause=true; +} +function btnAnimePlus(oAnime,nDefSpeed){ + var isPlaying=(oAnime.animeStart&&!oAnime.animePause); + if (isPlaying) btnAnimePause(oAnime); + if ( event.shift ) oAnime.numSecs=nDefSpeed; + else oAnime.numSecs -= 50; + if (oAnime.numSecs<10) oAnime.numSecs=10 + if (isPlaying) btnAnimePlay(oAnime); +} +function btnAnimeMinus(oAnime,nDefSpeed){ + var isPlaying=(oAnime.animeStart&&!oAnime.animePause); + if (isPlaying) btnAnimePause(oAnime); + if ( event.shift ) oAnime.numSecs=nDefSpeed; + else oAnime.numSecs += 50; + if (isPlaying) btnAnimePlay(oAnime); +} +function btnAnimeNewFrame(fieldName, type) +{ + var oAnime=activeAnimes[fieldName]; + this.delay=true + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + var currCount=oAnime.count; + var bBdaryMet=false; + if (oAnime.bForward) { + oAnime.count++; + if (oAnime.count==oAnime.nFrames) { + if(type==0) oAnime.count \%= oAnime.nFrames; + else if(type==1) { + oAnime.count=currCount; + oAnime.count--; + oAnime.bForward=false; + } else { + bBdaryMet=true; + oAnime.count=currCount; + } + } + } else { + oAnime.count--; + if (oAnime.count<0) { + if(type==0) oAnime.count=(oAnime.nFrames-1); + else if(type==1) { + oAnime.count=currCount; + oAnime.count++; + oAnime.bForward=true; + } else { // stop + bBdaryMet=true; + oAnime.count=currCount; + } + } + } + if ( oAnime.isOcgAnime) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; + else + oAnime.aMyIcons[oAnime.count].display=display.visible; + this.delay=false; + if ( type==2 && bBdaryMet ) { + try { app.clearInterval(oAnime.run);} catch(e){} + // try { app.clearTimeOut(timeout);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + } +} +\end{insDLJS} +\endinput +%% +%% End of file `anime_support.def'. |