summaryrefslogtreecommitdiff
path: root/tex/context/base/spec-win.mkii
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/spec-win.mkii')
-rw-r--r--tex/context/base/spec-win.mkii99
1 files changed, 99 insertions, 0 deletions
diff --git a/tex/context/base/spec-win.mkii b/tex/context/base/spec-win.mkii
new file mode 100644
index 000000000..73db8830e
--- /dev/null
+++ b/tex/context/base/spec-win.mkii
@@ -0,0 +1,99 @@
+%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 / 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.
+
+\unprotect
+
+%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
+
+\protect \endinput