diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/node-bck.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/node-bck.mkiv | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/node-bck.mkiv b/Master/texmf-dist/tex/context/base/mkiv/node-bck.mkiv new file mode 100644 index 00000000000..58edab6685c --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/node-bck.mkiv @@ -0,0 +1,107 @@ +%D \module +%D [ file=node-bck, +%D version=2009.06.08, +%D title=\CONTEXT\ Node Macros, +%D subtitle=Backgrounds, +%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. + +\writestatus{loading}{ConTeXt Node Support / Backgrounds} + +%D This is first attempt to replacing backgrounds in a few tables +%D mechanisms. When used more frequently, we can store the color +%D spec in the attribute. +%D +%D Maybe move some to the bar handler. + +\unprotect + +\registerctxluafile{node-bck}{1.001} + +% \backgroundvbox[green] {\input tufte } \par +% \backgroundvbox[blue] {\input ward } \par +% \backgroundvbox[red] {\input knuth } \par +% \backgroundhbox[yellow]{\rotate[rotation=45]{hello world}} \par + +\def\colorattr#1% + {\ifcsname\??colorattribute\currentcolorprefix#1\endcsname + \node_backgrounds_thecolorattr{\currentcolorprefix#1}% + \else\ifcsname\??colorattribute#1\endcsname + \node_backgrounds_thecolorattr{#1}% + \fi\fi} + +\def\node_backgrounds_thecolorattr#1% + {attr \colormodelattribute \attribute\colormodelattribute + attr \colorattribute \lastnamedcs + attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + +\def\thecolorattr#1% + {attr \colormodelattribute \attribute\colormodelattribute + attr \colorattribute \csname\??colorattribute#1\endcsname + attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + +\def\backgroundcolorattr#1% + {\ifcsname\??colorattribute\currentcolorprefix#1\endcsname + \node_backgrounds_thebackgroundcolorattr{\currentcolorprefix#1}% + \else\ifcsname\??colorattribute#1\endcsname + \node_backgrounds_thebackgroundcolorattr{#1}% + \fi\fi} + +\def\thebackgroundcolorattr#1% + {attr \backgroundattribute \plusone + attr \colormodelattribute \attribute\colormodelattribute + attr \colorattribute \csname\??colorattribute#1\endcsname + attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + +\def\node_backgrounds_thebackgroundcolorattr#1% + {attr \backgroundattribute \plusone + attr \colormodelattribute \attribute\colormodelattribute + attr \colorattribute \lastnamedcs + attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + +\def\thealignbackgroundcolorattr#1% + {attr \alignbackgroundattribute \plusone + attr \colormodelattribute \attribute\colormodelattribute + attr \colorattribute \csname\??colorattribute#1\endcsname + attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + +\unexpanded\def\backgroundhbox{\node_backgrounds_boxes_add\hbox} +\unexpanded\def\backgroundvbox{\node_backgrounds_boxes_add\vbox} +\unexpanded\def\backgroundvtop{\node_backgrounds_boxes_add\vtop} + +% \def\node_backgrounds_boxes_add#1[#2]% +% {\begingroup +% \clf_enablebackgroundboxes +% \dousecolorparameter{#2}% +% \normalexpanded{\endgroup#1 +% attr \backgroundattribute \plusone +% attr \colormodelattribute \the\attribute\colormodelattribute +% attr \colorattribute \the\attribute\colorattribute +% attr \transparencyattribute \the\attribute\transparencyattribute}} +% +% more efficient: + +\def\node_backgrounds_boxes_add#1[#2]% + {\clf_enablebackgroundboxes + #1\backgroundcolorattr{#2}} + +% less argument carry over: +% +% \def\node_backgrounds_boxes_add#1[#2]% +% {\clf_enablebackgroundboxes#1% +% \ifcsname\??colorattribute\currentcolorprefix#2\endcsname +% \thebackgroundcolorattr{\currentcolorprefix#2}% +% \else\ifcsname\??colorattribute#2\endcsname +% \thebackgroundcolorattr{#2}% +% \fi\fi} + +% \def\backgroundvbox[#1]{\vbox \backgroundcolorattr{#1}} +% \def\backgroundvtop[#1]{\vtop \backgroundcolorattr{#1}} +% \def\backgroundhbox[#1]{\hbox \backgroundcolorattr{#1}} + +\protect \endinput |