%D \module %D [ file=s-present-stack, % was s-pre-11 %D version=1999.08.20, %D title=\CONTEXT\ Style File, %D subtitle=Presentation Environment Stack, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \startmodule[present-stack] %D This is ancient but shows a few tricks so we keep it around in \MKIV\ %D anyway. \setuppapersize [S6][S6] \setuplayout [topspace=0cm, backspace=0cm, header=0pt, footer=0pt, width=middle, height=middle] \doifelsemode {asintended} { \setupbodyfont[ludicaot,14.4pt] } { \setupbodyfont[pagella,14.4pt] } \setupinteraction [click=no, display=new, state=start] \setupinteractionscreen [option=max] \unexpanded\def\SomeShape {\resetMPdrawing \startMPdrawing path p[], q[] ; pair a, b ; StartPage ; \stopMPdrawing \dorecurse{\CurrentTopic} {\startMPdrawing initialize_box(\MPpos{topic-\realfolio-\recurselevel}) ; p[\recurselevel] := tensecircle (wxy,hxy,.25cm) shifted cxy ; fill p[\recurselevel] withcolor .9white ; pickup pencircle scaled .25cm ; if \recurselevel = \CurrentTopic : draw p[\recurselevel] withcolor \MPcolor{ShowColor} ; else : draw p[\recurselevel] withcolor \MPcolor{DoneColor} ; fi ; \stopMPdrawing}% \dorecurse{\CurrentMaxItem} {\startMPdrawing initialize_box(\MPpos{item-\realfolio-\recurselevel}) ; linewidth := .25cm ; q[\recurselevel] := tensecircle (wxy,hxy,linewidth) shifted cxy ; fill q[\recurselevel] withcolor .9white ; pickup pencircle scaled linewidth ; if \recurselevel = \CurrentMaxItem : draw q[\recurselevel] withcolor \MPcolor{ShowColor} ; else : draw q[\recurselevel] withcolor \MPcolor{DoneColor} ; fi ; \stopMPdrawing}% \dostepwiserecurse{2}{\CurrentTopic}{1} {\startMPdrawing draw rt point 3 of p[\recurselevel-1] -- lft point 7 of p[\recurselevel] withcolor \MPcolor{ArrowColor} ; \stopMPdrawing}% \dostepwiserecurse{2}{\CurrentMaxItem}{1} {\startMPdrawing draw bot point 9 of q[\recurselevel-1] -- top point 5 of q[\recurselevel] withcolor \MPcolor{ArrowColor} ; \stopMPdrawing}% \startMPdrawing draw Page withpen pencircle scaled .5cm withcolor \MPcolor{EdgeColor} ; StopPage ; \stopMPdrawing \MPdrawingdonetrue \getMPdrawing} \unexpanded\def\TitlePage#1% {\startstandardmakeup \setupalign[middle] \enforced\protected\def\\{\vfil\bfb\setupinterlinespace} \bfd\setupinterlinespace \vfil#1\vfil\vfil \stopstandardmakeup} \definecolor[PageColor][r=.5,g=.4,b=.3] \definecolor[LineColor][r=.7,g=.6,b=.5] \definecolor[PageColor] [s=.60] \definecolor[ShowColor] [r=.40] \definecolor[EdgeColor] [g=.40] \definecolor[DoneColor] [r=.40,g=.40] \definecolor[ArrowColor] [b=.40] \definecolor[LineColor] [r=.60,g=.60] \definecolor[GotoColor] [ArrowColor] \setupinteraction [color=GotoColor, contrastcolor=GotoColor] \defineoverlay [shape] [\SomeShape] \defineoverlay [next] [\overlaybutton{forward}] % [{nextpage}] \setupbackgrounds [page] [background={color,next,shape}, backgroundcolor=PageColor] \doglobal\newcounter\CurrentMaxItem \doglobal\newcounter\CurrentItem \doglobal\newcounter\CurrentTopic \unexpanded\def\StartIdea {\doglobal\newcounter\CurrentItem} \unexpanded\def\StartTopic {\doglobal\increment\CurrentTopic \dostartbuffer[topic-\CurrentTopic][StartTopic][StopTopic]} \unexpanded\def\StopIdea {\dorecurse{\CurrentItem} {\let\CurrentMaxItem\recurselevel \doStopIdea}} \unexpanded\def\doStopIdea {\startstandardmakeup \dontcomplain \vskip.875cm \hbox to \makeupwidth {\hfill \dorecurse{\CurrentTopic} {\edef\Topic{topic-\realfolio-\recurselevel}% \hpos {\Topic} {\framed [frame=off,align=middle,offset=.25cm] {\getbuffer[topic-\recurselevel]}}% \ifnum\recurselevel<\CurrentTopic \hskip.875cm \fi}% \hfill} \vskip.875cm \vfilll \dorecurse{\CurrentMaxItem} {\edef\Item{item-\realfolio-\recurselevel} \hbox to \makeupwidth {\hfill \hpos {\Item} {\framed [width=.75\makeupwidth, frame=off, align=middle,offset=.125cm] {\getbuffer[item-\recurselevel]}}% \hfill} \vskip.875cm} \vfilll \stopstandardmakeup} \unexpanded\def\StartItem {\doglobal\increment\CurrentItem \dostartbuffer[item-\CurrentItem][StartItem][StopItem]} \setupalign [nothyphenated] \stopmodule \continueifinputfile{s-present-stack.mkiv} \usemodule[present-common] \inputpresentationfile{examples/present-stack-001.tex}