From a06e21410d38c53231a9a5432fc9f10715f11b88 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 11 Sep 2018 20:29:10 +0900 Subject: update aeb-pro with ctan2tds script --- texmf-dist/tex/latex/aeb-pro/anime_support.def | 986 ++++++++++++------------- 1 file changed, 493 insertions(+), 493 deletions(-) (limited to 'texmf-dist/tex/latex/aeb-pro/anime_support.def') 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'. -- cgit v1.2.3