diff options
author | Marius <mariausol@gmail.com> | 2012-10-19 01:20:13 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-10-19 01:20:13 +0300 |
commit | 69d2352af4b60929b37fc49f3bdb263977016244 (patch) | |
tree | db5eb11398e345dfa23b4c4500fb93575d2afb7c /tex/context/base/attr-eff.mkiv | |
parent | c18f7cbe51449a611ea1819fedd9a4ff18529b7d (diff) | |
download | context-69d2352af4b60929b37fc49f3bdb263977016244.tar.gz |
stable 2012.05.30 11:26
Diffstat (limited to 'tex/context/base/attr-eff.mkiv')
-rw-r--r-- | tex/context/base/attr-eff.mkiv | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/tex/context/base/attr-eff.mkiv b/tex/context/base/attr-eff.mkiv index 43f575a7a..c5c94537c 100644 --- a/tex/context/base/attr-eff.mkiv +++ b/tex/context/base/attr-eff.mkiv @@ -17,39 +17,38 @@ \unprotect -\installcorenamespace{effect} +\gdef\dotriggereffect#1#2#3% + {\ctxcommand{triggereffect('#1',#2,\number\dimexpr#3\relax)}} -\installcommandhandler \??effect {effect} \??effect +\unexpanded\def\setupeffect + {\dodoubleargument\dosetupeffect} -\setupeffect - [\c!method=\v!none, - \c!stretch=\zerocount, - \c!rulethickness=\zeropoint, - \c!alternative=\v!normal] +\def\dosetupeffect[#1][#2]% + {\getparameters[\??et#1][#2]} -\appendtoks - \edef\p_method{\effectparameter\c!method}% - \ifx\p_method\v!method - \setuxvalue{\e!start\currenteffect}{\starteffect[#1]}% - \setuxvalue{\e!stop \currenteffect}{\stopeffect}% - \fi -\to \everydefineeffect +\unexpanded\def\defineeffect + {\dodoubleargument\dodefineeffect} + +\def\dodefineeffect[#1][#2]% + {\getparameters[\??et#1][\c!method=\v!none,\c!stretch=0,\c!rulethickness=\zeropoint,\c!alternative=\v!normal,#2]% + \doif{\getvalue{\??et#1\c!method}}\v!command + {\setugvalue{\e!start#1}{\starteffect[#1]}% + \setugvalue{\e!stop #1}{\stopeffect}}} + +% yes or no grouped \unexpanded\def\starteffect[#1]% - {\ctxcommand{triggereffect{ - alternative = "\namedeffectparameter{#1}\c!alternative", - stretch = \number\namedeffectparameter{#1}\c!stretch, - rulethickness = \number\dimexpr\namedeffectparameter{#1}\c!rulethickness\relax - }}} + {\dotriggereffect + {\csname\??et#1\c!alternative \endcsname}% + {\csname\??et#1\c!stretch \endcsname}% + {\csname\??et#1\c!rulethickness\endcsname}} \unexpanded\def\stopeffect % can be special - {\ctxcommand{triggereffect()}} % v!normal 0 0 + {\dotriggereffect\v!normal0\zeropoint} \unexpanded\def\effect[#1]% {\groupedcommand{\starteffect[#1]}{\stopeffect}} -% yes or no grouped - \defineeffect [\v!inner] [\c!alternative=\v!inner,\c!rulethickness=.25pt] \defineeffect [\v!outer] [\c!alternative=\v!outer,\c!rulethickness=.25pt] \defineeffect [\v!both] [\c!alternative=\v!both, \c!rulethickness=.25pt] |