summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/meta-imp-fen.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/meta-imp-fen.mkiv')
-rw-r--r--tex/context/base/mkiv/meta-imp-fen.mkiv173
1 files changed, 173 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/meta-imp-fen.mkiv b/tex/context/base/mkiv/meta-imp-fen.mkiv
new file mode 100644
index 000000000..307a59b4d
--- /dev/null
+++ b/tex/context/base/mkiv/meta-imp-fen.mkiv
@@ -0,0 +1,173 @@
+%D \module
+%D [ file=meta-imp-fen,
+%D version=2011.07.21,
+%D title=\METAPOST\ Graphics,
+%D subtitle=Fences,
+%D author=Wolfgang Schuster & 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 The shape and background example code was posted by Wolfgang on the
+%D \CONTEXT\ list and due to request by Aditya has been turned into
+%D library.
+
+\startMPextensions
+ vardef BasicBraceSymbol (expr rotation) =
+ save p ; path p ;
+ z1 = (-233, 0) ;
+ z2 = (-220, 22) ;
+ z3 = (-155, 211) ;
+ z4 = (-200, 690) ;
+ z5 = (-142, 1033) ;
+ z6 = ( -97, 1106) ;
+ z7 = ( -71, 1125) ;
+ z8 = ( -61, 1104) ;
+ z9 = ( -80, 1077) ;
+ z10 = (-108, 1002) ;
+ z11 = (-129, 666) ;
+ z12 = (-117, 207) ;
+ z13 = (-197, 19) ;
+ z14 = (-208, 0) ;
+ z15 = (-197, -19) ;
+ z16 = (-117, -207) ;
+ z17 = (-129, -666) ;
+ z18 = (-108,-1026) ;
+ z19 = ( -80,-1077) ;
+ z20 = ( -61,-1104) ;
+ z21 = ( -71,-1125) ;
+ z22 = ( -97,-1106) ;
+ z23 = (-143,-1031) ;
+ z24 = (-199, -673) ;
+ z25 = (-155, -211) ;
+ z26 = (-220, -22) ;
+ p := z1 for i= 2 upto 14 : .. z[i] endfor
+ & z14 for j=15 upto 26 : .. z[j] endfor
+ .. z1
+ & cycle ;
+ p := p rotated rotation ;
+ p := p ysized 100 ;
+ p shifted - center p
+ enddef ;
+ vardef RawLeftBraceSymbol =
+ fill BasicBraceSymbol(0) ysized OverlayHeight withcolor OverlayColor ;
+ enddef ;
+ vardef RawRightBraceSymbol =
+ fill BasicBraceSymbol(180) ysized OverlayHeight withcolor OverlayColor ;
+ enddef ;
+ vardef RawTopBraceSymbol =
+ fill BasicBraceSymbol(270) xsized OverlayWidth withcolor OverlayColor ;
+ enddef ;
+ vardef RawBottomBraceSymbol =
+ fill BasicBraceSymbol(90) xsized OverlayWidth withcolor OverlayColor ;
+ enddef ;
+ vardef LeftBraceSymbol =
+ save p, b ; path p, b ; b := fullsquare xscaled OverlayWidth yscaled OverlayHeight ;
+ setbounds currentpicture to b ;
+ p := BasicBraceSymbol(0) ysized OverlayHeight ;
+ fill p shifted (-xpart lrcorner currentpicture + xpart lrcorner p,0) withcolor OverlayColor ;
+ setbounds currentpicture to b ;
+ enddef ;
+ vardef RightBraceSymbol =
+ save p, b ; path p, b ; b := fullsquare xscaled OverlayWidth yscaled OverlayHeight ;
+ setbounds currentpicture to b ;
+ p := BasicBraceSymbol(180) ysized OverlayHeight ;
+ fill p shifted (xpart lrcorner currentpicture - xpart lrcorner p,0) withcolor OverlayColor ;
+ setbounds currentpicture to b ;
+ enddef ;
+ vardef TopBraceSymbol =
+ save p, b ; path p, b ; b := fullsquare xscaled OverlayWidth yscaled OverlayHeight ;
+ setbounds currentpicture to b ;
+ p := BasicBraceSymbol(270) xsized OverlayWidth ;
+ fill p shifted (0,ypart ulcorner currentpicture - ypart ulcorner p) withcolor OverlayColor ;
+ setbounds currentpicture to b ;
+ enddef ;
+ vardef BottomBraceSymbol =
+ save p, b ; path p, b ; b := fullsquare xscaled OverlayWidth yscaled OverlayHeight ;
+ setbounds currentpicture to b ;
+ p := BasicBraceSymbol(90) xsized OverlayWidth ;
+ fill p shifted (0,ypart lrcorner currentpicture - ypart lrcorner p) withcolor OverlayColor ;
+ setbounds currentpicture to b ;
+ enddef ;
+\stopMPextensions
+
+\startuniqueMPgraphic{raw_brace_left} RawLeftBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{raw_brace_right} RawRightBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{raw_brace_top} RawTopBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{raw_brace_bottom} RawBottomBraceSymbol ; \stopuniqueMPgraphic
+
+\startuniqueMPgraphic{brace_left} LeftBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{brace_right} RightBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{brace_top} TopBraceSymbol ; \stopuniqueMPgraphic
+\startuniqueMPgraphic{brace_bottom} BottomBraceSymbol ; \stopuniqueMPgraphic
+
+\defineoverlay[leftbrace] [\uniqueMPgraphic{brace_left}]
+\defineoverlay[rightbrace] [\uniqueMPgraphic{brace_right}]
+\defineoverlay[topbrace] [\uniqueMPgraphic{brace_top}]
+\defineoverlay[bottombrace][\uniqueMPgraphic{brace_bottom}]
+
+\installleftframerenderer {brace}{\uniqueMPgraphic{raw_brace_left}}
+\installrightframerenderer {brace}{\uniqueMPgraphic{raw_brace_right}}
+\installtopframerenderer {brace}{\uniqueMPgraphic{raw_brace_top}}
+\installbottomframerenderer{brace}{\uniqueMPgraphic{raw_brace_bottom}}
+
+\continueifinputfile{meta-imp-fen.mkiv}
+
+\starttext
+
+\startTEXpage[offset=10pt]
+
+ \framed
+ [offset=1ex,
+ leftframe=brace,
+ rightframe=brace,
+ topframe=brace,
+ bottomframe=brace,
+ background=color,
+ backgroundcolor=red]
+ {OEPS}
+
+\stopTEXpage
+
+\startTEXpage \uniqueMPgraphic{brace_left} \stopTEXpage
+\startTEXpage \uniqueMPgraphic{brace_right} \stopTEXpage
+\startTEXpage \uniqueMPgraphic{brace_top} \stopTEXpage
+\startTEXpage \uniqueMPgraphic{brace_bottom} \stopTEXpage
+
+\framedtext
+ [frame=off,
+ offset=2em,
+ background={leftbrace,rightbrace,topbrace,bottombrace},
+ backgroundcolor=red]{\input{knuth}}
+
+\setupTABLE[frame=off,offset=1ex]
+\setupTABLE[row][each][align={middle,lohi}]
+
+\bTABLE
+ \bTR
+ \bTD[nr=3,background=leftbrace] drei \eTD
+ \bTD[nr=2,background=leftbrace] zwei \eTD
+ \bTD f \eTD
+ \bTD o \eTD
+ \bTD u \eTD
+ \bTD r \eTD
+ \bTD [nr=3,background=rightbrace] three \eTD
+ \eTR
+ \bTR
+ \bTD [background=leftbrace] eins \eTD
+ \bTD [background={topbrace,bottombrace}] null \eTD
+ \bTD [background=rightbrace] one \eTD
+ \bTD [nr=2,background=rightbrace] two \eTD
+ \eTR
+ \bTR
+ \bTD v \eTD
+ \bTD i \eTD
+ \bTD e \eTD
+ \bTD r \eTD
+ \eTR
+\eTABLE
+
+\stoptext