From 92a15e15b276458e10aa05016bf472e8c6dd3eb0 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:45:13 +0000
Subject: context

git-svn-id: svn://tug.org/texlive/trunk@608 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/context/base/colo-run.tex | 225 ++++++++++++++++++++++++
 1 file changed, 225 insertions(+)
 create mode 100644 Master/texmf-dist/tex/context/base/colo-run.tex

(limited to 'Master/texmf-dist/tex/context/base/colo-run.tex')

diff --git a/Master/texmf-dist/tex/context/base/colo-run.tex b/Master/texmf-dist/tex/context/base/colo-run.tex
new file mode 100644
index 00000000000..9b3d0e94b9a
--- /dev/null
+++ b/Master/texmf-dist/tex/context/base/colo-run.tex
@@ -0,0 +1,225 @@
+%D \module
+%D   [       file=colo-run,
+%D        version=1997.04.01,
+%D          title=\CONTEXT\ Color Macros,
+%D       subtitle=Runtime loaded commands,
+%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
+
+\gdef\showpalet
+  {\dodoubleargument\doshowpalet}
+
+\gdef\doshowpalet[#1][#2]%
+  {\doifdefined{\??pa#1}
+     {\doifinsetelse\v!vertical{#2}
+        {\showverticalpalet[#1][#2]}
+        {\showhorizontalpalet[#1][#2]}}}
+
+\gdef\showverticalpalet[#1][#2]%
+  {\localvbox
+     {\offinterlineskip
+      \setuppalet[#1]
+      \def\rule
+        {\vrule\!!width3em\!!height\strutht\!!depth\strutdp}
+      \tabskip\zeropoint
+      \def\doshowpalet##1%
+        {\doifinsetelse\v!number{#2}{##1\hskip.5em}{}&
+         \color[##1]{\rule}\graycolor[##1]{\rule}&
+         \doifinset\v!value{#2}{\hskip.5em\colorvalue{##1}}\crcr}
+      \halign
+        {\hss##&\hss##\hss&##\cr
+         &\doifinset{\v!name}{#2}{\strut#1}&\cr%
+         \processpalet[#1]\doshowpalet\crcr}}}
+
+\gdef\showhorizontalpalet[#1][#2]%
+  {\localvbox
+     {\offinterlineskip
+      \setuppalet[#1]
+      \tabskip\zeropoint
+      \!!widtha\zeropoint
+      \doifinset\v!number{#2}
+        {\def\doshowpalet##1%
+           {\setbox0\hbox{##1}%
+            \ifdim\!!widtha<\wd0\!!widtha\wd0\fi}%
+         \processpalet[#1]\doshowpalet}%
+      \advance\!!widtha 1em
+      \ifdim\!!widtha<5em
+        \!!widtha5em
+      \fi
+      \halign
+        {##&&\hbox to \!!widtha{\hss##\hss}\cr
+         \doifinset\v!number{#2}
+           {\def\doshowpalet##1{&\strut##1}%
+            \processpalet[#1]\doshowpalet}\cr
+         \doifinset\v!name{#2}{#1\hskip.5em}%
+         \def\doshowpalet##1%
+           {&\color[##1]{\vrule\!!width\!!widtha\!!height\strutht\!!depth\zeropoint}}%
+         \processpalet[#1]\doshowpalet\crcr
+         \def\doshowpalet##1%
+           {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\zeropoint\!!depth\strutdp}}%
+         \processpalet[#1]\doshowpalet\crcr
+         \doifinset\v!value{#2}
+           {\def\doshowpalet##1%
+             {&\vbox
+                {\hsize\!!widtha
+                 \vskip.25ex
+                 \everypar{\strut}
+                 \veryraggedcenter
+                 \let\colorformatseparator=\endgraf
+                 \colorvalue{##1}}}%
+            \processpalet[#1]\doshowpalet}%
+         \crcr}}}
+
+\gdef\processpalet[#1]%
+  {\expanded{\globalprocesscommalist[\getvalue{\??pa#1}]}}
+
+\gdef\showcolorgroup
+  {\dodoubleargument\doshowcolorgroup}
+
+\gdef\doshowcolorgroup[#1][#2]%
+  {\doifdefined{\??cr#1:1}
+     {\doifinsetelse\v!vertical{#2}
+        {\showverticalcolorgroup[#1][#2]}
+        {\showhorizontalcolorgroup[#1][#2]}}}
+
+\gdef\showhorizontalcolorgroup[#1][#2]%
+  {\localvbox
+     {\offinterlineskip
+      \setuppalet
+      \tabskip\zeropoint
+      \def\rule
+        {\vrule\!!width4em\!!height\strutht\!!depth\strutdp}
+      \def\colorformatseparator{\strut\cr}
+      \def\dodoshowgroup##1%
+        {\halign
+           {\hss####\hss\cr
+            \doifinset\v!number{#2}{\strut##1}\cr
+            \color[#1:##1]{\vrule\!!width4em\!!height\strutht\!!depth\zeropoint}\cr
+            \graycolor[#1:##1]{\vrule\!!width4em\!!height\zeropoint\!!depth\strutdp}\cr
+            \doifinset\v!value{#2}{\colorvalue{#1:##1}\strut}\crcr}}
+      \def\doshowgroup##1%
+        {\doifdefined{\??cr#1:##1}
+           {\vbox{\dodoshowgroup{##1}}}}
+      \hbox
+        {\doifinset\v!name{#2}
+           {\strut
+            \doifinsetelse\v!value{#2}
+              {\raise3\lineheight\hbox{#1\hskip.5em}}
+              {#1}%
+            \hskip.5em}%
+         \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
+         \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
+
+\gdef\showverticalcolorgroup[#1][#2]%
+  {\localvbox
+     {\offinterlineskip
+      \setuppalet
+      \tabskip\zeropoint
+      \def\rule
+        {\vrule\!!width2.5em\!!height\strutht\!!depth\strutdp}
+      \def\doshowgroup##1%
+        {\doifdefined{\??cr#1:##1}
+           {\doifinset\v!number{#2}{##1\hskip.5em}&
+            \color[#1:##1]{\rule}\graycolor[#1:##1]{\rule}&
+            \doifinset\v!value{#2}{\hskip.5em\colorvalue{#1:##1}}\crcr}}
+      \halign
+        {\hss##&\hss##\hss&##\hss\cr
+         &\doifinset\v!name{#2}{\strut#1}&\crcr
+         \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
+         \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
+
+\gdef\showcolor
+  {\dosingleempty\doshowcolor}
+
+\gdef\doshowcolor[#1]%
+  {\bgroup
+     \iffirstargument
+       \let\colorlist\empty
+       \let\colorstyle\empty
+       \setupcolor[#1]%
+     \fi
+     \setupwhitespace[\v!none]
+     \def\rule
+       {\vrule\!!width4em\!!height\strutht\!!depth\strutdp}
+     \def\docommand##1%
+       {\hbox
+          {\graycolor[##1]{\rule}\quad
+           \color[##1]{\rule}\quad
+           \grayvalue{##1}\quad
+           \hbox to 12em{\colorvalue{##1}\hss}%
+           \strut##1}
+        \endgraf}
+     \processcommacommand[\colorlist]\docommand
+   \egroup}
+
+\gdef\comparepalet
+  {\dosingleargument\docomparepalet}
+
+\gdef\docomparepalet[#1]%
+  {\doifdefined{\??pa#1}
+     {\hbox
+        {\dodocomparepalet\color[#1]%
+         \quad
+         \dodocomparepalet\graycolor[#1]}}}
+
+\gdef\dodocomparepalet#1[#2]%
+  {\localvbox
+     {\offinterlineskip
+      \setuppalet[#2]
+      \getcommacommandsize[\getvalue{\??pa#2}]
+      \!!widtha2em\relax
+      \hsize\commalistsize\!!widtha
+      \def\rule%
+        {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
+      \def\dododocomparepalet##1%
+        {\hbox
+           {\setbox0\hbox
+              {#1[##1]{\vrule\!!width\hsize\!!height3ex}}%
+            \wd0\zeropoint
+            \box0
+            \hbox to \hsize
+              {\def\dododocomparepalet####1%
+                 {\hbox to \!!widtha
+                    {\hss#1[####1]{\rule}\hss}}%
+               \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
+         \endgraf}
+      \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
+
+\gdef\comparecolorgroup
+  {\dosingleargument\docomparecolorgroup}
+
+\gdef\docomparecolorgroup[#1]%
+  {\doifdefined{\??cr#1:1}
+     {\hbox
+        {\dodocomparecolorgroup\color[#1]%
+         \quad
+         \dodocomparecolorgroup\graycolor[#1]}}}
+
+\gdef\dodocomparecolorgroup#1[#2]%
+  {\localvbox
+     {\!!counta\zerocount
+      \dorecurse{15}
+        {\doifdefined{\??cr#2:\recurselevel}{\advance\!!counta\plusone}}
+      \!!widtha2em\relax
+      \hsize\!!counta\!!widtha
+      \def\rule
+        {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
+      \def\dododocomparecolorgroup##1%
+        {\hbox to \hsize
+           {\setbox0\hbox
+              {#1[#2:##1]{\vrule\!!width\hsize\!!height3ex}}%
+            \wd0\zeropoint
+            \box0
+            \hbox to \hsize
+              {\hss\dorecurse\!!counta{#1[#2:\recurselevel]{\rule}\hss}}}
+         \endgraf}
+      \dorecurse\!!counta{\dododocomparecolorgroup\recurselevel}}}
+
+\protect \endinput
-- 
cgit v1.2.3

