diff options
Diffstat (limited to 'tex/context/base/mkii/spec-win.mkii')
-rw-r--r-- | tex/context/base/mkii/spec-win.mkii | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/tex/context/base/mkii/spec-win.mkii b/tex/context/base/mkii/spec-win.mkii new file mode 100644 index 000000000..e16984a56 --- /dev/null +++ b/tex/context/base/mkii/spec-win.mkii @@ -0,0 +1,97 @@ +%D \module +%D [ file=spec-win, +%D version=1996.01.25, +%D title=\CONTEXT\ Special Macros, +%D subtitle=\YandY's \DVIWINDO, +%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. + +%D Remark: chained references are not yet implemented. + +%D \macros +%D {dosetupinteraction, +%D dostartthisislocation, +%D dostartthisisrealpage, +%D dostartgotolocation, +%D dostartgotorealpage, +%D dostartrunprogram, +%D usepagedestinations} +%D {} +%D +%D As told before, these were the first interactive specials. +%D In those days, these kind of specials were still elegant +%D and straightforward. + +\startspecials[dviwindo] + +\definespecial\dosetupinteraction% + {\showmessage\m!interactions{21}{dviwindo}} + +\definespecial\dostartgotolocation#1#2#3#4#5#6% + {\bgroup + \doifelsenothing{#3} + {\doifelsenothing{#4} + {\!!doneafalse} + {\doifparentfileelse{#4} + {\!!doneafalse} + {\!!doneatrue}}% + \setreferencefilename#4\to\DVIfile + \scratchdimen#1\edef\width {\the\scratchdimen\space}% + \scratchdimen#2\edef\height{\the\scratchdimen\space}% + \special + {button: + \width \height + \if!!donea + file: \DVIfile, + \fi + "#5"}} + {}% nog uri afhandelen + \egroup} + +\definespecial\dostartgotorealpage#1#2#3#4#5% + {\bgroup + \doifelsenothing{#3} + {\doifelsenothing{#4} + {\!!doneafalse} + {\doifparentfileelse{#4} + {\!!doneafalse} + {\!!doneatrue}}% + \setreferencefilename#4\to\DVIfile + \scratchdimen#1\edef\width {\the\scratchdimen\space}% + \scratchdimen#2\edef\height{\the\scratchdimen\space}% + \special + {button: + \width \height + \if!!donea + file: \DVIfile, + \fi + \ifnum0#5=0 \else + page: #5 + \fi}} + {}% nog uri afhandelen + \egroup} + +\definespecial\dostartthisislocation#1% + {\special{mark: "#1"}} + +\definespecial\dostartthisisrealpage#1% + {} + +\definespecial\dostartrunprogram#1#2#3#4% + {\bgroup + \scratchdimen#1\edef\width {\the\scratchdimen\space}% + \scratchdimen#2\edef\height{\the\scratchdimen\space}% + \special{button: \width \height launch: #3 #4}% + \egroup} + +\let\doyandyinsertmov = \docommoninsertmov +\let\dotrinsertmov = \docommoninsertmov + +\stopspecials + +\endinput |