diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex | 394 |
1 files changed, 197 insertions, 197 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex index d4e82cb1af5..4860107d1c2 100644 --- a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex @@ -34,15 +34,15 @@ % times must be given in ascending order. Between the times given in % this way, the values of the attribute will be interpolated; you can % influence the details of how this interpolation is done using -% additional keys. +% additional keys. % % The keys in #2 are given in key-value syntax and can be given in any % order, except that the entry keys must be given in order of -% ascending times. +% ascending times. % % The syntax of the second parameter of the entry key depends on % #1. Currently, these are: -% +% % Attribute Value Type % --------------------------------------- % fill opacity scalar @@ -71,7 +71,7 @@ \def\pgfanimateattribute#1#2{% \pgfanimateattributecode{#1}{\pgfkeys{/pgf/animation/.cd,#2}}% -}% +} % Variant of \pgfanimateattribute @@ -91,7 +91,7 @@ \csname pgf@animation@check@\pgf@animation@attribute\endcsname% \pgfsysanimate{\pgf@animation@attribute}% }% -}% +} @@ -124,8 +124,8 @@ % \fill (0,0) rectangle (1,1); % } -\def\pgfsnapshot#1{\pgfparsetime{#1}\expandafter\pgfsysanimsnapshot\expandafter{\pgftimeresult}}% -\def\pgfsnapshotafter#1{\pgfparsetime{#1}\expandafter\pgfsysanimsnapshotafter\expandafter{\pgftimeresult}}% +\def\pgfsnapshot#1{\pgfparsetime{#1}\expandafter\pgfsysanimsnapshot\expandafter{\pgftimeresult}} +\def\pgfsnapshotafter#1{\pgfparsetime{#1}\expandafter\pgfsysanimsnapshotafter\expandafter{\pgftimeresult}} % The animation attributes @@ -155,23 +155,23 @@ view/.code=\pgf@animate@attr{viewbox}{viewbox}, dash/.code=\pgf@animate@attr{dash}{dash}, none/.code=\pgf@animate@attr{none}{none}, -}% +} \def\pgf@animate@attr#1#2{% \def\pgf@animation@attribute{#1}% \expandafter\let\expandafter\pgfanim@type@parser\csname pgfanim@parse@type@#2\endcsname% -}% +} % The time parser -% +% % #1 = a time -% +% % This macro parses the time in #1, but adds some support for times: -% +% % 1) The postfix operator "s" is added, which has no effect. -% 2) The postfix operator "ms" is added, which divides a number by +% 2) The postfix operator "ms" is added, which devides a number by % 1000, so "2ms" equals "0.002". % 3) The postfix operator "min" is added, which multiplies a number by % 60. @@ -195,11 +195,11 @@ \pgfmathparse{#1}% \expandafter\endgroup% \expandafter\def\expandafter\pgftimeresult\expandafter{\pgfmathresult}% -}% +} \newif\ifpgfanim@m@encountered \newif\ifpgfanim@i@encountered -\pgfmathdeclarefunction{@seconds}{1}{% +\pgfmathdeclarefunction{@seconds}{1}{% \begingroup% \expandafter\pgfmath@x#1pt\relax% \ifpgfanim@m@encountered% @@ -228,7 +228,7 @@ \pgfmath@returnone\pgfmath@x% \endgroup% }% -\pgfmathdeclarefunction{@minutes}{1}{% +\pgfmathdeclarefunction{@minutes}{1}{% \ifpgfanim@i@encountered% \global\pgfanim@i@encounteredfalse% \else% @@ -240,7 +240,7 @@ \pgfmath@returnone\pgfmath@x% \endgroup% }% -\pgfmathdeclarefunction{@hours}{1}{% +\pgfmathdeclarefunction{@hours}{1}{% \begingroup% \expandafter\pgfmath@x#1pt\relax% \pgfmath@x3600\pgfmath@x\relax% @@ -255,23 +255,23 @@ \advance\pgfmath@x by\pgfmath@y% \pgfmath@returnone\pgfmath@x% \endgroup% -}% +} % Sets general animation attributes -% +% % #1 = key-value pairs that are executed for the path /pgf/animation/ -\def\pgfanimationset{\pgfqkeys{/pgf/animation}}% +\def\pgfanimationset{\pgfqkeys{/pgf/animation}} % Sets the target animation scope that should be animated. -% +% % #1 = A name that will be used with an idscope. % % Example: -% +% % \pgfanimateattribute{fill opacity}{whom=some scope, entry={0s}{1}, entry={1s}{0}} % \begin{scope}[name=some scope] % \draw (0,0) -- (1,1); @@ -286,7 +286,7 @@ \let\pgf@anim@whom@id\pgf@anim@id% \let\pgf@anim@whom@type\pgf@anim@type% } -}% +} \def\pgf@anim@decomp#1{% \edef\pgf@temp{#1}% @@ -296,45 +296,45 @@ \else% \expandafter\pgf@anim@decomp@\pgf@temp.\pgf@stop% \fi% -}% +} \def\pgf@anim@decomp@#1.#2\pgf@stop{% \def\pgf@anim@id@name{#1}% \def\pgf@anim@type{#2}% -}% +} % Assigns a name to this animation so that it can be used as an event % id in another animation -% +% % #1 = A name -% +% % The name "previous" is special and always refers to the most recent -% animation before the animation currently being constructed. +% animation before the animation currently being constructed. % % Example: -% +% % \pgfanimateattribute{fill opacity}{name=anim 1, entry={0s}{1}, entry={1s}{0}} % \pgfanimateattribute{fill opacity}{begin on={end,of=anim 1}, entry={0s}{1}, entry={1s}{0}} \pgfanimationset{ - name/.code=\pgfuseid{#1}, -}% + name/.code=\pgfuseid{#1} +} % Configures whether an animation can be restarted -% +% % Some animations can restart when certain events take place. This key -% configures this. Setting it to -% +% configures this. Setting it to +% % "true" allows a restart at any time, % "false" does not allow a restart, % "when not active" allows a restart only, when the element is not -% active. +% active. % % Example: -% +% % \pgfanimateattribute{fill opacity}{entry={0s}{1}, entry={1s}{0}, restart=false} \pgfanimationset{ @@ -343,29 +343,29 @@ restart/true/.code=\pgfsysanimkeyrestartalways, restart/false/.code=\pgfsysanimkeyrestartnever, restart/never/.code=\pgfsysanimkeyrestartnever, - restart/when not active/.code=\pgfsysanimkeyrestartwhennotactive, -}% + restart/when not active/.code=\pgfsysanimkeyrestartwhennotactive +} % Sets the number times an animation should repeat -% +% % #1 = A string of the following form: -% +% % [<empty> | <number> | for <time>] ["accumulating"] -% +% % When empty (the default value) the animation repeats forever. % % When a <number> is provided, the animation will repeat <number> -% times, which need not be an integer. -% -% When a <time> is given, the repeating will stop after this much time. -% +% times, which need not be an integer. +% +% When a <time> is given, the repeating will stop after this much time. +% % When the optional "accumulating" is specified, the repeat % accumulates, otherwise each repeat begins with the original start -% value. +% value. % % Example: -% +% % \pgfanimateattribute{fill opacity}{repeats, entry={0s}{1}, entry={6s}{0}} % \pgfanimateattribute{fill opacity}{repeats=2, entry={0s}{1}, entry={6s}{0}} % \pgfanimateattribute{fill opacity}{repeats=2 accumulating, entry={0s}{1}, entry={6s}{0}} @@ -385,25 +385,25 @@ repeats/.default=, repeat/.style={repeats={#1}}, repeat/.default=, -}% +} \def\pgfanim@parse@acc#1accumulating\pgf@stop{% \pgfanim@parse@noacc{#1}% -}% +} \def\pgfanim@parse@noacc#1{% - \pgfutil@in@{\pgf@stop for}{\pgf@stop#1}% + \pgfutil@in@{\pgf@stop for}{\pgf@stop#1}% \ifpgfutil@in@% \pgfanim@parse@for#1\pgf@stop% \else% \def\pgf@temp{#1}% \ifx\pgf@temp\pgfutil@empty% \pgfsysanimkeyrepeatindefinite% - \else% + \else% \pgfmathparse{#1}% \expandafter\pgfsysanimkeyrepeat\expandafter{\pgfmathresult}% \fi% \fi% -}% -\def\pgfanim@parse@for for#1\pgf@stop{\pgfparsetime{#1}\expandafter\pgfsysanimkeyrepeatdur\expandafter{\pgftimeresult}}% +} +\def\pgfanim@parse@for for#1\pgf@stop{\pgfparsetime{#1}\expandafter\pgfsysanimkeyrepeatdur\expandafter{\pgftimeresult}} @@ -413,30 +413,30 @@ % (relative to the current context). The "begin..." options may be % used multiple times and their effects accumulate, likewise for the % "end..." options. -% +% % #1 = A time -% +% % Example: -% +% % \pgfanimateattribute{fill opacity}{begin=2s, end=2.5s, entry={0s}{1}, entry={1s}{0}} \pgfanimationset{ begin/.code=\pgfparsetime{#1}\expandafter\pgfsysanimkeyoffset\expandafter{\pgftimeresult}{begin}, end/.code=\pgfparsetime{#1}\expandafter\pgfsysanimkeyoffset\expandafter{\pgftimeresult}{end}, -}% +} % Specifies that an animation should begin (or end) when a certain -% event takes place. -% +% event takes place. +% % #1 = A list of key-value pairs. -% +% % The following keys are allowed: -% +% % event=some event : The begin / end is triggered by that event. The % list of allowed events is defined in the SVG -% standard. +% standard. % of=some name : The event does not refer to the current group, % but to the object named "some name", which must % previously have been named \pgfuseid. If some @@ -447,11 +447,11 @@ % repeat=number : The trigger is that an animation has been % repeated number times. % delay=time : A delay, may be negative. -% +% % These keys are executed with the path prefix /pgf/animation/events. -% +% % Some of them are predefined: -% +% % "click" is a shorthand for "event=click" % "focus in" is a shorthand for "event=focusin" % "focus out" is a shorthand for "event=focusout" @@ -468,7 +468,7 @@ % % % Begin after 5s or when clicked: % \pgfanimateattribute{fill opacity}{begin=5s, begin on=click, entry={0s}{1}, entry={1s}{0}} -% +% % % Begin, when an object named "button" is clicked % \pgfanimateattribute{fill opacity}{begin on={click, of=button}, entry={0s}{1}, entry={1s}{0}, name=another animation} % @@ -477,8 +477,8 @@ \pgfanimationset{ begin on/.code={\pgfanim@make@event{#1}{begin}},% - end on/.code={\pgfanim@make@event{#1}{end}}, -}% + end on/.code={\pgfanim@make@event{#1}{end}} +} \def\pgfanim@make@event#1#2{% \let\pgfanim@event@event\pgfutil@empty% @@ -501,7 +501,7 @@ \else% \pgfsysanimkeyaccesskey{\pgfanim@event@key}{\pgfanim@event@delay}{#2}% \fi% -}% +} \pgfkeys{/pgf/animation/events/.cd, event/.store in=\pgfanim@event@event, @@ -530,12 +530,12 @@ mouse move/.style={event=mousemove}, mouse out/.style={event=mouseout}, begin/.style={event=begin}, - end/.style={event=end}, -}% + end/.style={event=end} +} % Specifies the timeline start for a snapshot -% +% % #1 = a time % % Description: @@ -548,18 +548,18 @@ \pgfanimationset{ begin snapshot/.code= \pgfparsetime{#1}\expandafter\pgfsysanimkeysnapshotstart\expandafter{\pgftimeresult} -}% +} -% Specifies the origin for transforming animations -% +% Specifies the origin for tranforming animations +% % #1 = a pgf point % % Specifies the origin of transformations (for instance, a rotate will -% rotate around this point). +% rotate around this point). % % Example: -% +% % \pgfanimateattribute{rotate}{entry={0s}{0}, entry={1s}{90}, origin=\pgfpoint{1cm}{1cm}} \pgfanimationset{ @@ -572,42 +572,42 @@ \noexpand\pgf@anim@save@transform{\noexpand\pgftransformshift{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}% }% \pgf@marshal% - }, -}% + } +} \pgfsysanimkeycanvastransform{{\pgflowlevelsynccm}}{\pgftransforminvert\pgflowlevelsynccm}% -% Specifies the transforming for the animation coordinate system -% +% Specifies the tranforming for the animation coordinate system +% % #1 = code that changes the pgf coordinate system % % Specifies an additional transformation of the coordinate system for -% animations. +% animations. % % Example: -% +% % \pgfanimateattribute{shift}{entry={0s}{\pgfpointorigin}, entry={1s}{\pgfpoint{1cm}{0cm}}, transform=\pgftransformrotate{30}} \pgfanimationset{ transform/.code={% \pgfsysanimkeycanvastransform{#1{\pgflowlevelsynccm}}{\pgftransforminvert\pgflowlevelsynccm}% \pgf@anim@save@transform{#1}% - }, -}% + } +} % Specifies a motion path. -% +% % #1 = pgf commands for constructing a path % % Use this key to specify a motion path for the motion attribute. The % values of the "entry" key specify fractions along this path. % % Example: -% +% % \pgfanimateattribute{motion}{ % entry={0s}{0}, entry={1s}{1}, % along=\pgfpathmoveto{\pgfpointorigin} \pgfpathlineto{\pgfpoint{1cm}{1cm}} @@ -625,18 +625,18 @@ }% \expandafter\pgf@anim@protocol@path@size\pgfanim@the@path\pgf@stop% \expandafter\pgfsysanimkeymovealong\expandafter{\pgfanim@the@path}% -}% +} % Specifies a motion soft path. -% +% % #1 = a pgf soft path (result of calling \pgfsyssoftpath@getcurrentpath) % % Use this key to specify a motion path for the motion attribute when % a softpath has already been constructed. % % Example: -% +% % \pgfanimateattribute{motion}{entry={0s}{0}, entry={1s}{1}, % along softpath=\pgfsyssoftpath@movetotoken {0pt}{0pt}\pgfsyssoftpath@linetotoken {10pt}{10pt}} @@ -644,22 +644,22 @@ along softpath/.code=% \pgf@anim@protocol@path@size#1\pgf@stop% \pgfsysanimkeymovealong{#1}% -}% +} \def\pgf@anim@protocol@path@size{% \pgfutil@ifnextchar\pgf@stop\relax\pgf@anim@protocol@path@size@% -}% +} \def\pgf@anim@protocol@path@size@#1#2#3{% \pgf@protocolanimsizes@direct{#2}{#3}% \pgf@anim@protocol@path@size% -}% +} % Configures whether the motion is rotated along the path. -% +% % Example: -% +% % \pgfanimateattribute{motion}{rotate along, entry={0s}{0}, entry={1s}{1}, % along=\pgfpathmoveto{\pgfpointorigin} \pgfpathlineto{\pgfpoint{1cm}{1cm}}} @@ -668,12 +668,12 @@ rotate along/.default=true, rotate along/true/.code=\pgfsysanimkeyrotatealong, rotate along/false/.code=\pgfsysanimkeynorotatealong, -}% +} % Specifies an entry -% +% % #1 = A time. This time will be parsed using \pgfparsetime % #2 = A value. The format of this value depends on the current type % of the animation attribute. (So for an animation of the "fill @@ -683,15 +683,15 @@ % value will be used. For SVG, this is allowed only when exactly % two entries are specified and this special value is used for % the first one. -% +% % Example: -% +% % \pgfanimateattribute{fill opacity}{entry={0s}{0}, entry={1s}{1}} -\pgfanimationset{entry/.code 2 args=\pgf@anim@entry{#1}{#2}}% +\pgfanimationset{entry/.code 2 args=\pgf@anim@entry{#1}{#2}} \def\pgf@anim@entry#1#2{% \pgf@anim@entry@giventrue% - \pgfparsetime{#1}% + \pgfparsetime{#1}% \edef\pgf@marshal{\noexpand\pgfsysanimkeytime{\pgftimeresult}\pgf@anim@entry@spline\pgf@anim@exit@spline}% \pgf@marshal% \def\pgf@temp{#2}% @@ -700,39 +700,39 @@ \else% \pgfanim@type@parser{#2}% \fi% -}% -\def\pgf@special@current@text{current value}% +} +\def\pgf@special@current@text{current value} \newif\ifpgf@anim@entry@given % Specifies a base value -% +% % #1 = A value. The format is as for the entry key. -% +% % Description: % % Will set the "base" value of the animation, which is a value that is -% used when the animation is not active. +% used when the animation is not active. % % Example: -% +% % \pgfanimateattribute{fill opacity}{base = 0.5, entry={0s}{0.5}, entry={1s}{1}} -\pgfanimationset{base/.code=\pgf@anim@base{#1}}% +\pgfanimationset{base/.code=\pgf@anim@base{#1}} \def\pgf@anim@base#1{% \pgfsysanimkeybase% \pgfanim@type@parser{#1}% -}% +} % Specifies that there is an entry "at infinity". -% +% % When an animation ends, its "effect" can either persist or it can be % removed. Setting "freeze at end" to true will cause it to persist, % otherwise it will be removed. % % Example: -% +% % \pgfanimateattribute{fill opacity}{entry={0s}{1}, entry={1s}{0}, freeze at end} \pgfanimationset{ @@ -740,7 +740,7 @@ freeze at end/.default=true, freeze at end/true/.code=\pgfsysanimkeyfreezeatend, freeze at end/false/.code=\pgfsysanimkeyremoveatend, -}% +} @@ -757,7 +757,7 @@ % value as, say, 1s is 55, at 2s it is 60, and so on. % % Unfortunately, the linear interpolation does not "look" nice in many -% cases since the acceleration of a linear interpolation is zero +% cases since the acceleration of a linear interpolation is zero % during the animation, but infinite at the beginning and at the end; % which looks "jerky". % @@ -803,12 +803,12 @@ }, stay/.code=\let\pgf@anim@exit@spline\pgfsys@stay@text,% jump/.code=\let\pgf@anim@entry@spline\pgfsys@jump@text,% - linear/.style={entry control={1}{1},exit control={0}{0}}, -}% -\def\pgf@anim@entry@spline@base{{1}{1}}% -\def\pgf@anim@exit@spline@base{{0}{0}}% + linear/.style={entry control={1}{1},exit control={0}{0}} +} +\def\pgf@anim@entry@spline@base{{1}{1}} +\def\pgf@anim@exit@spline@base{{0}{0}} -\def\pgf@anim@reset@linear{\let\pgf@anim@entry@spline\pgf@anim@entry@spline@base\let\pgf@anim@exit@spline\pgf@anim@exit@spline@base}% +\def\pgf@anim@reset@linear{\let\pgf@anim@entry@spline\pgf@anim@entry@spline@base\let\pgf@anim@exit@spline\pgf@anim@exit@spline@base} \pgf@anim@reset@linear @@ -838,8 +838,8 @@ \pgfmathsetmacro\pgf@anim@marker@extra@shorten@end{#1}% \edef\pgf@anim@marker@extra@shorten@end{\pgf@anim@marker@extra@shorten@end pt}% \fi% - }, -}% + } +} \def\pgf@anim@marker@extra@shorten@start{0pt}% \def\pgf@anim@marker@extra@shorten@end{0pt}% \def\pgf@anim@marker@shorten@start{0pt}% @@ -865,14 +865,14 @@ \else% \pgf@anim@parser@arrows#1\pgf@stop% \fi% - }, -}% + } +} \def\pgf@anim@parser@arrows#1-#2\pgf@stop{% \pgf@anim@prepare@arrow@start{#1}% \pgf@anim@prepare@arrow@end{#2}% \expandafter\expandafter\expandafter\pgfsysanimkeytipmarkers\expandafter\expandafter\expandafter{\expandafter\pgf@anim@marker@id@start\expandafter}\expandafter{\pgf@anim@marker@id@end}% -}% +} \def\pgf@anim@prepare@arrow@start#1{% \def\pgf@anim@temp{#1}% @@ -888,7 +888,7 @@ }% \let\pgf@anim@marker@shorten@start\pgf@anim@temp% \fi% -}% +} \def\pgf@anim@prepare@arrow@end#1{% \def\pgf@anim@temp{#1}% @@ -903,7 +903,7 @@ }% \let\pgf@anim@marker@shorten@end\pgf@anim@marker@shorten% \fi% -}% +} % Draw an arrow using markers @@ -940,13 +940,13 @@ \expandafter\global\expandafter\let\csname pgfanim@marker@cache@\pgf@anim@marker@id@list\endcsname#2% \expandafter\global\expandafter\let\csname pgfanim@marker@cachel@\pgf@anim@marker@id@list\endcsname#3% \fi% -}% +} \def\pgf@anim@marker@id@test#1#2{% \pgfarrows@getid{#1}{#2}% \expandafter\expandafter\expandafter\pgf@arrow@drawer@shift\csname pgf@ar@ends@\pgf@arrow@id\endcsname% \xdef\pgf@anim@marker@id@list{\pgf@anim@marker@id@list:\pgf@arrow@id\ifpgfarrowswap s\else n\fi\pgfarrows@slant w\the\pgf@xc}% -}% +} \def\pgf@anim@drawer@marker#1#2{% % Prepare: @@ -954,7 +954,7 @@ \pgfarrows@getid{#1}{#2}% % Do shift: \expandafter\expandafter\expandafter\pgf@arrow@drawer@shift\csname pgf@ar@ends@\pgf@arrow@id\endcsname% - % Do slant: + % Do slant: \ifdim\pgfarrows@slant pt=0pt% \else% \pgftransformxslant{\pgfarrows@slant}% @@ -969,11 +969,11 @@ \pgf@arrows@color@setup% \pgflowlevelsynccm\csname pgf@ar@cache@\pgf@arrow@id\endcsname% \pgfsys@endscope% - }% + }% \expandafter}% % Transform to next tip: \expandafter\pgftransformxshift\expandafter{\the\pgf@xc}% -}% +} @@ -986,53 +986,53 @@ % The parsers % Parse no value -% +% % #1 is ignored -% +% % Example: -% +% % entry = {0s}{5+6} \def\pgfanim@parse@type@none#1{% \pgfsysanimvalnone% -}% +} % Parse a scalar -% +% % #1 is a number parsed using \pgfmathparse -% +% % Example: -% +% % entry = {0s}{5+6} \def\pgfanim@parse@type@scalar#1{% \pgfmathparse{#1}% \expandafter\pgfsysanimvalscalar\expandafter{\pgfmathresult}% -}% +} -% Parse a dimension -% +% Parse a dimension +% % #1 is a number parsed using \pgfmathparse -% +% % Example: -% +% % entry = {0s}{5cm + 2pt} \def\pgfanim@parse@type@dimension#1{% \pgfmathparse{#1}% \expandafter\pgfsysanimvaldimension\expandafter{\pgfmathresult pt}% -}% +} % Parse a mapped text -% +% % #1 is a text. It is looked up in \pgf@anim@map@#1 and gets replaced % by what this macro expands to. -% +% % Example: -% +% % entry = {0s}{true} \def\pgfanim@parse@type@mapped#1{% @@ -1044,24 +1044,24 @@ \fi% \expandafter}% \expandafter\pgfsysanimvaltext\expandafter{\pgf@temp}% -}% +} -% Parse a color -% +% Parse a color +% % #1 is a color -% +% % entry = {0s}{blue!20} \def\pgfanim@parse@type@color#1{% \pgfsysanimvalcolor{#1}% -}% +} % Parse a path -% +% % #1 is a sequence of pgf path construction commands -% +% % entry = {0s}{\pgfpathmoveto{\pgfpointorigin} \pgfpathlineto{\pgfpoint{1cm}{1cm}}} \def\pgfanim@parse@type@path#1{% @@ -1075,13 +1075,13 @@ \pgfsyssoftpath@setcurrentpath\pgfanim@save@path% }% \expandafter\pgfanim@parse@type@softpath\expandafter{\pgfanim@the@path}% -}% +} % Parse a softpath -% +% % #1 is a sequence of pgf softpath token commands -% +% % entry = {0s}{\pgfsyssoftpath@movetotoken {0pt}{0pt}\pgfsyssoftpath@linetotoken {10pt}{10pt}} \def\pgfanim@parse@type@softpath#1{% @@ -1103,52 +1103,52 @@ \fi% \expandafter}% \expandafter\pgfsysanimvalpath\expandafter{\pgf@anim@path}% -}% +} \def\pgf@anim@shorten@path{% \pgf@precise@shorteningfalse% \let\pgf@path@shortening@distance\pgf@path@shortening@distance@end% - % + % % Step 1: Split - % + % \pgfprocesssplitpath{\pgf@anim@path}% \pgfprocesssplitsubpath{\pgfprocessresultpathsuffix}% - % + % % Step 2: extract - % + % \expandafter\pgf@parse@end\pgfprocessresultsubpathsuffix\pgf@stop\pgf@stop\pgf@stop% - % + % % Step 3: prep end - % + % \pgf@prep@end% - % + % % Step 4: shorten end - % + % \ifdim\pgf@path@shortening@distance=0pt\else\pgf@do@shorten@end\fi% % \let\pgf@path@shortening@distance\pgf@path@shortening@distance@start% - % + % % Step 5: extract - % + % \expandafter\pgf@parse@start\pgfprocessresultpathsuffix\pgf@stop\pgf@stop\pgf@stop% - % + % % Step 6: prep start - % + % \pgf@prep@start% - % + % % Step 7: shorten start - % + % \ifdim\pgf@path@shortening@distance=0pt\else\pgf@do@shorten@start\fi% \expandafter\expandafter\expandafter\def% \expandafter\expandafter\expandafter\pgf@anim@path% \expandafter\expandafter\expandafter{\expandafter\pgfprocessresultpathprefix\pgfprocessresultpathsuffix}% -}% +} -% Parse a point -% +% Parse a point +% % #1 is a point % % entry = {0s}{\pgfpoint{1cm}{2cm}} @@ -1157,13 +1157,13 @@ \pgf@process{#1}% \pgf@protocolanimsizes\pgf@x\pgf@y% \expandafter\expandafter\expandafter\pgfsysanimvaltranslate\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgf@x\expandafter}\expandafter{\the\pgf@y}% -}% +} -% Parse a scaling -% +% Parse a scaling +% % #1 = if #1 contains a comma, the two parts are passed to -% pgfmathparse, otherwise the whole thing is passed to pgfmathparse. +% pgfmathparse, otherwise the whole thing is passed to pgfmathparse. % % entry = {0s}{2} % entry = {0s}{2,1} @@ -1176,18 +1176,18 @@ \pgfmathparse{#1}% \expandafter\pgfsysanimvalscale\expandafter{\pgfmathresult}{\pgfmathresult}% \fi% -}% +} \def\pgfanim@unpack@comma#1,#2\pgf@stop{% \pgfmathsetmacro{\pgf@anim@temp@x}{#1}% \pgfmathsetmacro{\pgf@anim@temp@y}{#2}% \expandafter\expandafter\expandafter\pgfsysanimvalscale\expandafter\expandafter\expandafter{\expandafter\pgf@anim@temp@x\expandafter}\expandafter{\pgf@anim@temp@y}% -}% +} -% Parse a viewbox -% -% #1 consists of two points, each in parentheses +% Parse a viewbox +% +% #1 consists of two points, each in paranetheses % % entry = {0s}{{\pgfpoint{1cm}{2cm}}{\pgfpoint{3cm}{4cm}}} @@ -1195,9 +1195,9 @@ {% \pgfanim@unpack@viewbox#1% \xdef\pgf@anim@caller{\noexpand\pgfsysanimvalviewbox{\the\pgf@x}{\the\pgf@y}{\the\pgf@xa}{\the\pgf@ya}}% - }% + }% \pgf@anim@caller% -}% +} \def\pgfanim@unpack@viewbox#1#2{% \pgfpointtransformed{#2}% \pgf@xa\pgf@x% @@ -1213,13 +1213,13 @@ \pgf@y=\pgf@ya% \pgf@ya=\pgf@yb% \fi% -}% +} % Parse a dash pattern -% +% % #1,#2 is a dash pattern as in \pgfsetdash % % entry = {0s}{{{1pt}{2pt}{3pt}{1pt}}{1pt}} @@ -1230,13 +1230,13 @@ \def\pgf@next{\pgf@strip}% \pgf@strip#1{pgf@stop}% \expandafter\pgfsysanimvaldash\expandafter{\pgf@temp}{#2}% -}% +} -% +% % % Bounding box adjustments in animations. % @@ -1245,10 +1245,10 @@ \def\pgf@protocolanimsizes#1#2{% \edef\pgf@temp{\noexpand\pgf@anim@handle@point{\the#1}{\the#2}}% \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf@protocolanim@list\expandafter\expandafter\expandafter{\expandafter\pgf@protocolanim@list\pgf@temp}% -}% +} \def\pgf@protocolanimsizes@direct#1#2{% \expandafter\def\expandafter\pgf@protocolanim@list\expandafter{\pgf@protocolanim@list\pgf@anim@handle@point{#1}{#2}}% -}% +} \let\pgf@protocolanim@list\pgfutil@empty \def\pgf@animation@check@translate{% @@ -1256,7 +1256,7 @@ \else% \expandafter\expandafter\expandafter\pgf@animation@check@translate@\expandafter\expandafter\expandafter{\expandafter\pgf@protocolanim@list\expandafter}\expandafter{\pgf@anim@saved@transform}% \fi% -}% +} \let\pgf@animation@check@motion\pgf@animation@check@translate \def\pgf@animation@check@translate@#1#2{% @@ -1279,7 +1279,7 @@ \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf@path@size@hook\expandafter\expandafter\expandafter{% \expandafter\pgf@path@size@hook\expandafter\pgf@anim@bb\pgf@temp}% }{}% -}% +} \def\pgf@anim@handle@point#1#2{% \pgf@x#1\pgf@y#2% \pgf@pos@transform\pgf@x\pgf@y% @@ -1287,8 +1287,8 @@ \ifdim\pgf@x>\pgf@picmaxx\pgf@picmaxx\pgf@x\fi% \ifdim\pgf@y<\pgf@picminy\pgf@picminy\pgf@y\fi% \ifdim\pgf@y>\pgf@picmaxy\pgf@picmaxy\pgf@y\fi% -}% - +} + \newdimen\pgf@anim@dim \def\pgf@anim@bb#1#2#3#4{% (#1,#2) lower left, (#3, #4) upper right @@ -1304,11 +1304,11 @@ \pgf@anim@dim\pgf@size@hook@y% \advance\pgf@anim@dim by#4\relax% \ifdim\pgf@anim@dim>\pgf@picmaxy\global\pgf@picmaxy\pgf@anim@dim\fi% -}% +} \def\pgf@anim@save@transform#1{% \def\pgf@anim@saved@transform{#1}% -}% +} \let\pgf@anim@saved@transform\pgfutil@empty% \endinput |