summaryrefslogtreecommitdiff
path: root/tex/context/base/pack-fen.mkiv
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-07-22 01:29:00 +0200
committerHans Hagen <pragma@wxs.nl>2011-07-22 01:29:00 +0200
commit0fec6e92a4f8bb230117f2392bd2d5e20fb2c836 (patch)
tree382aea36d7d41d5b9c2b25d7c88e4b6867bdab54 /tex/context/base/pack-fen.mkiv
parentaf52cdd22674c1f88ce50121a68be65052ddfa04 (diff)
downloadcontext-0fec6e92a4f8bb230117f2392bd2d5e20fb2c836.tar.gz
beta 2011.07.22 01:29
Diffstat (limited to 'tex/context/base/pack-fen.mkiv')
-rw-r--r--tex/context/base/pack-fen.mkiv75
1 files changed, 75 insertions, 0 deletions
diff --git a/tex/context/base/pack-fen.mkiv b/tex/context/base/pack-fen.mkiv
new file mode 100644
index 000000000..ad25e130e
--- /dev/null
+++ b/tex/context/base/pack-fen.mkiv
@@ -0,0 +1,75 @@
+%D \module
+%D [ file=pack-fen,
+%D version=2011.07.21,
+%D title=\CONTEXT\ Packaging Macros,
+%D subtitle= Fences for Ruled Content,
+%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 Packaging Macros / Fences for Ruled Content}
+
+% we can move the main fences here too
+
+\unprotect
+
+\def\installleftframerenderer#1#2%
+ {\setvalue{l\@@frame@@\v!on#1}{\whateverleftframe{#2}}%
+ \expandafter\let\csname l\@@frame@@\v!off#1\expandafter\endcsname\csname l\@@frame@@\v!on#1\endcsname}
+
+\def\installrightframerenderer#1#2%
+ {\setvalue{r\@@frame@@\v!on#1}{\whateverrightframe{#2}}%
+ \expandafter\let\csname r\@@frame@@\v!off#1\expandafter\endcsname\csname r\@@frame@@\v!on#1\endcsname}
+
+\def\installtopframerenderer#1#2%
+ {\setvalue{t\@@frame@@\v!on#1}{\whatevertopframe{#2}}%
+ \expandafter\let\csname t\@@frame@@\v!off#1\expandafter\endcsname\csname t\@@frame@@\v!on#1\endcsname}
+
+\def\installbottomframerenderer#1#2%
+ {\setvalue{b\@@frame@@\v!on#1}{\whateverbottomframe{#2}}%
+ \expandafter\let\csname b\@@frame@@\v!off#1\expandafter\endcsname\csname b\@@frame@@\v!on#1\endcsname}
+
+\def\setinstalledframedimensions
+ {\edef\overlayheight{\the\dimexpr\frameddimenht+\frameddimendp}%
+ \edef\overlaywidth {\the\frameddimenwd}}
+
+\newbox\specialframebox
+
+\def\whateverleftframe#1%
+ {\setinstalledframedimensions
+ \setbox\specialframebox\vbox to \overlayheight{\vss#1\vss}%
+ \setbox\specialframebox\hbox to \zeropoint{\box\specialframebox\hss}%
+ \ht\specialframebox\zeropoint
+ \dp\specialframebox\zeropoint
+ \box\specialframebox}
+
+\def\whateverrightframe#1%
+ {\setinstalledframedimensions
+ \setbox\specialframebox\vbox to \overlayheight{\vss#1\vss}%
+ \setbox\specialframebox\hbox to \zeropoint{\hss\box\specialframebox}%
+ \ht\specialframebox\zeropoint
+ \dp\specialframebox\zeropoint
+ \box\specialframebox}
+
+\def\whatevertopframe#1%
+ {\setinstalledframedimensions
+ \setbox\specialframebox\hbox to \overlaywidth{\hss#1\hss}%
+ \setbox\specialframebox\vbox to \zeropoint{\box\specialframebox\vss}%
+ \ht\specialframebox\zeropoint
+ \dp\specialframebox\zeropoint
+ \box\specialframebox
+ \nointerlineskip}
+
+\def\whateverbottomframe#1%
+ {\setinstalledframedimensions
+ \setbox\specialframebox\hbox to \overlaywidth{\hss#1\hss}%
+ \setbox\specialframebox\vbox to \zeropoint{\vss\box\specialframebox}%
+ \ht\specialframebox\zeropoint
+ \dp\specialframebox\zeropoint
+ \box\specialframebox}
+
+\protect \endinput