diff options
Diffstat (limited to 'tex/context/base/prop-lay.mkii')
-rw-r--r-- | tex/context/base/prop-lay.mkii | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/tex/context/base/prop-lay.mkii b/tex/context/base/prop-lay.mkii new file mode 100644 index 000000000..aeec94bb2 --- /dev/null +++ b/tex/context/base/prop-lay.mkii @@ -0,0 +1,143 @@ +%D \module +%D [ file=prop-lay, +%D version=2003.04.20, +%D title=\CONTEXT\ Property Macros, +%D subtitle=Layers, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Property Macros / Layers} + +%D Highly experimental, will probably change/evolve. Also, quite certainly +%D we will no longer share code between mkii and mkiv. + +\unprotect + +\let\currentlayerproperty\empty + +\def\checklayerproperty + {\doifelse{\checkedpropertyparameter\v!printable\currentproperty}\v!no + {\def\printviewerlayer{0}} + {\def\printviewerlayer{1}}% + \dodefineviewerlayer + \currentproperty % tag + {\checkedpropertyparameter\c!title\currentproperty}% + {\checkedpropertyparameter\c!state\v!start}% visible or hidden + {0}% type (1=frozen) + {\printviewerlayer}}% 1=printable + +\def\startlayerproperty + {\let\currentlayerproperty\currentproperty + \dostartviewerlayer\currentproperty} + +\def\stoplayerproperty + {\dostopviewerlayer + \let\currentlayerproperty\previousproperty} + +\def\domakelayerpropertylist + {\iflocation + \expandafter\domakeviewerlayerlist + \else + \expandafter\gobbleoneargument + \fi} + +\setglobalsystemreference \rt!exec \v!HideLayer {hidelayer} +\setglobalsystemreference \rt!exec \v!VideLayer {videlayer} +\setglobalsystemreference \rt!exec \v!ToggleLayer {togglelayer} + +\setexecutecommandcheck {hidelayer} \domakelayerpropertylist +\setexecutecommandcheck {videlayer} \domakelayerpropertylist +\setexecutecommandcheck {togglelayer} \domakelayerpropertylist + +% \currentlayerproperty +% \checklayerproperty +% \startlayerproperty +% \stoplayerproperty +% \domakelayerpropertylist + +%D \starttext +%D +%D \setuppapersize[S4][S4] +%D \setuplayout[middle] +%D \setupcolors[state=start] +%D \setupinteraction[state=start,color=,contrastcolor=] +%D +%D \defineproperty [L1] [layer] [title=layer 1] +%D \defineproperty [L2] [layer] [title=layer 2] +%D +%D \button{HIDE L1}[HideLayer{L1}] +%D \button{VIDE L1}[VideLayer{L1}] +%D \button{TOGGLE L1}[ToggleLayer{L1}] +%D +%D \button{HIDE L2}[HideLayer{L2}] +%D \button{VIDE L2}[VideLayer{L2}] +%D \button{TOGGLE L2}[ToggleLayer{L2}] +%D +%D \noheaderandfooterlines \centerbox{\startoverlay +%D {\definedfont[Mono at 150pt]% +%D \startproperty[L1]\red TEST\stopproperty} +%D {\definedfont[Mono at 150pt]% +%D \startproperty[L2]\green TEST\stopproperty} +%D \stopoverlay} \page +%D +%D \noheaderandfooterlines \centerbox{\startoverlay +%D {\definedfont[Mono at 15pt]% +%D \goto{\startproperty[L1]\red TEST\stopproperty}[CloseDocument]} +%D {\definedfont[Mono at 15pt]% +%D \goto{\startproperty[L2]\green TEST\stopproperty}[CloseDocument]} +%D \stopoverlay} \page +%D +%D \startproperty[L1] +%D level 1 \startproperty[L2]level 2 \stopproperty level 1 +%D \stopproperty +%D +%D \startproperty[L1] +%D level 1 \page \startproperty[L2]level 2 \stopproperty level 1 +%D \stopproperty +%D +%D \stoptext + +%D Handy for tracing: + +\def\showlayoutcomponents + {\let\startlayoutcomponent\dostartlayoutcomponent + \let\stoplayoutcomponent \dostoplayoutcomponent} + +\def\dodefinelayoutcomponent#1#2% + {\doifelsenothing{#2}% + {\defineproperty[#1][\s!layer]}% + {\defineproperty[#1][\s!layer][\c!title=#2]}} + +\def\dostartlayoutcomponent#1#2% + {\doifelseproperty{#1}\donothing{\dodefinelayoutcomponent{#1}{#2}}% + \startproperty[#1]} + +\def\dostoplayoutcomponent + {\stopproperty} + +\let\startlayoutcomponent\gobbletwoarguments +\let\stoplayoutcomponent \relax + +\protect \endinput + +% \def\remaplayering +% {\dodoubleargument\doremaplayering} +% +% \def\remaplayering[#1][#2]% +% {\setvalue{\??lm#1}{#2}} +% +% \def\remappedlayering#1% +% {\ifcsname\??lm#1\endcsname +% \@EA\remappedlayering\csname\??lm#1\endcsname\else#1% +% \fi} +% +% \def\startshowlayering#1#2% +% {\ifshowlayering +% \defineproperty[\remappedlayering{#1}][\s!layer][\c!titel=#2]% +% \startproperty[\remappedlayering{#1}]% +% \fi} |