1if not modules then modules = { } end modules [ ' mlib-int ' ] = {
2 version = 1 . 001 ,
3 comment = " companion to mlib-ctx.mkiv " ,
4 author = " Hans Hagen, PRAGMA-ADE, Hasselt NL " ,
5 copyright = " PRAGMA ADE / ConTeXt Development Team " ,
6 license = " see context related readme files " ,
7}
8
9local factor = number . dimenfactors . bp
10
11local mpnumeric = mp . numeric
12local mpboolean = mp . boolean
13local mpstring = mp . string
14local mpquoted = mp . quoted
15local getdimen = tex . getdimen
16local getcount = tex . getcount
17local getmacro = tokens . getters . macro
18local get = tex . get
19local mpcolor = attributes . colors . mpcolor
20local emwidths = fonts . hashes . emwidths
21local exheights = fonts . hashes . exheights
22
23local registerscript = metapost . registerscript
24
25local on_right_page = structures . pages . on_right
26local is_odd_page = structures . pages . is_odd
27local in_body_page = structures . pages . in_body
28local page_fraction = structures . pages . fraction
29
30local function defaultcolormodel ( )
31 local colormethod = getcount ( " MPcolormethod " )
32 return ( colormethod = = 0 or colormethod = = 1 ) and 1 or 3
33end
34
35function mp . PaperHeight ( ) mpnumeric ( getdimen ( " paperheight " ) * factor ) end
36function mp . PaperWidth ( ) mpnumeric ( getdimen ( " paperwidth " ) * factor ) end
37function mp . PrintPaperHeight ( ) mpnumeric ( getdimen ( " printpaperheight " ) * factor ) end
38function mp . PrintPaperWidth ( ) mpnumeric ( getdimen ( " printpaperwidth " ) * factor ) end
39function mp . TopSpace ( ) mpnumeric ( getdimen ( " topspace " ) * factor ) end
40function mp . BottomSpace ( ) mpnumeric ( getdimen ( " bottomspace " ) * factor ) end
41function mp . BackSpace ( ) mpnumeric ( getdimen ( " backspace " ) * factor ) end
42function mp . CutSpace ( ) mpnumeric ( getdimen ( " cutspace " ) * factor ) end
43function mp . MakeupHeight ( ) mpnumeric ( getdimen ( " makeupheight " ) * factor ) end
44function mp . MakeupWidth ( ) mpnumeric ( getdimen ( " makeupwidth " ) * factor ) end
45function mp . TopHeight ( ) mpnumeric ( getdimen ( " topheight " ) * factor ) end
46function mp . TopDistance ( ) mpnumeric ( getdimen ( " topdistance " ) * factor ) end
47function mp . HeaderHeight ( ) mpnumeric ( getdimen ( " headerheight " ) * factor ) end
48function mp . HeaderDistance ( ) mpnumeric ( getdimen ( " headerdistance " ) * factor ) end
49function mp . TextHeight ( ) mpnumeric ( getdimen ( " textheight " ) * factor ) end
50function mp . FooterDistance ( ) mpnumeric ( getdimen ( " footerdistance " ) * factor ) end
51function mp . FooterHeight ( ) mpnumeric ( getdimen ( " footerheight " ) * factor ) end
52function mp . BottomDistance ( ) mpnumeric ( getdimen ( " bottomdistance " ) * factor ) end
53function mp . BottomHeight ( ) mpnumeric ( getdimen ( " bottomheight " ) * factor ) end
54function mp . LeftEdgeWidth ( ) mpnumeric ( getdimen ( " leftedgewidth " ) * factor ) end
55function mp . LeftEdgeDistance ( ) mpnumeric ( getdimen ( " leftedgedistance " ) * factor ) end
56function mp . LeftMarginWidth ( ) mpnumeric ( getdimen ( " leftmarginwidth " ) * factor ) end
57function mp . LeftMarginDistance ( ) mpnumeric ( getdimen ( " leftmargindistance " ) * factor ) end
58function mp . TextWidth ( ) mpnumeric ( getdimen ( " textwidth " ) * factor ) end
59function mp . RightMarginDistance ( ) mpnumeric ( getdimen ( " rightmargindistance " ) * factor ) end
60function mp . RightMarginWidth ( ) mpnumeric ( getdimen ( " rightmarginwidth " ) * factor ) end
61function mp . RightEdgeDistance ( ) mpnumeric ( getdimen ( " rightedgedistance " ) * factor ) end
62function mp . RightEdgeWidth ( ) mpnumeric ( getdimen ( " rightedgewidth " ) * factor ) end
63function mp . InnerMarginDistance ( ) mpnumeric ( getdimen ( " innermargindistance " ) * factor ) end
64function mp . InnerMarginWidth ( ) mpnumeric ( getdimen ( " innermarginwidth " ) * factor ) end
65function mp . OuterMarginDistance ( ) mpnumeric ( getdimen ( " outermargindistance " ) * factor ) end
66function mp . OuterMarginWidth ( ) mpnumeric ( getdimen ( " outermarginwidth " ) * factor ) end
67function mp . InnerEdgeDistance ( ) mpnumeric ( getdimen ( " inneredgedistance " ) * factor ) end
68function mp . InnerEdgeWidth ( ) mpnumeric ( getdimen ( " inneredgewidth " ) * factor ) end
69function mp . OuterEdgeDistance ( ) mpnumeric ( getdimen ( " outeredgedistance " ) * factor ) end
70function mp . OuterEdgeWidth ( ) mpnumeric ( getdimen ( " outeredgewidth " ) * factor ) end
71function mp . PageOffset ( ) mpnumeric ( getdimen ( " pagebackgroundoffset " ) * factor ) end
72function mp . PageDepth ( ) mpnumeric ( getdimen ( " pagebackgrounddepth " ) * factor ) end
73function mp . LayoutColumns ( ) mpnumeric ( getcount ( " layoutcolumns " ) ) end
74function mp . LayoutColumnDistance ( ) mpnumeric ( getdimen ( " layoutcolumndistance " ) * factor ) end
75function mp . LayoutColumnWidth ( ) mpnumeric ( getdimen ( " layoutcolumnwidth " ) * factor ) end
76function mp . SpineWidth ( ) mpnumeric ( getdimen ( " spinewidth " ) * factor ) end
77function mp . PaperBleed ( ) mpnumeric ( getdimen ( " paperbleed " ) * factor ) end
78
79function mp . RealPageNumber ( ) mpnumeric ( getcount ( " realpageno " ) ) end
80function mp . LastPageNumber ( ) mpnumeric ( getcount ( " lastpageno " ) ) end
81
82function mp . PageNumber ( ) mpnumeric ( getcount ( " pageno " ) ) end
83function mp . NOfPages ( ) mpnumeric ( getcount ( " lastpageno " ) ) end
84
85function mp . SubPageNumber ( ) mpnumeric ( getcount ( " subpageno " ) ) end
86function mp . NOfSubPages ( ) mpnumeric ( getcount ( " lastsubpageno " ) ) end
87
88function mp . CurrentColumn ( ) mpnumeric ( getcount ( " mofcolumns " ) ) end
89function mp . NOfColumns ( ) mpnumeric ( getcount ( " nofcolumns " ) ) end
90
91function mp . BaseLineSkip ( ) mpnumeric ( get ( " baselineskip " , true ) * factor ) end
92function mp . LineHeight ( ) mpnumeric ( getdimen ( " lineheight " ) * factor ) end
93function mp . BodyFontSize ( ) mpnumeric ( getdimen ( " bodyfontsize " ) * factor ) end
94
95function mp . TopSkip ( ) mpnumeric ( get ( " topskip " , true ) * factor ) end
96function mp . StrutHeight ( ) mpnumeric ( getdimen ( " strutht " ) * factor ) end
97function mp . StrutDepth ( ) mpnumeric ( getdimen ( " strutdp " ) * factor ) end
98
99function mp . PageNumber ( ) mpnumeric ( getcount ( " pageno " ) ) end
100function mp . RealPageNumber ( ) mpnumeric ( getcount ( " realpageno " ) ) end
101function mp . NOfPages ( ) mpnumeric ( getcount ( " lastpageno " ) ) end
102
103function mp . CurrentWidth ( ) mpnumeric ( get ( " hsize " ) * factor ) end
104function mp . CurrentHeight ( ) mpnumeric ( get ( " vsize " ) * factor ) end
105
106function mp . EmWidth ( ) mpnumeric ( emwidths [ false ] * factor ) end
107function mp . ExHeight ( ) mpnumeric ( exheights [ false ] * factor ) end
108
109function mp . OverlayWidth ( ) mpnumeric ( getdimen ( " d_overlay_width " ) * factor ) end
110function mp . OverlayHeight ( ) mpnumeric ( getdimen ( " d_overlay_height " ) * factor ) end
111function mp . OverlayDepth ( ) mpnumeric ( getdimen ( " d_overlay_depth " ) * factor ) end
112function mp . OverlayLineWidth ( ) mpnumeric ( getdimen ( " d_overlay_linewidth " ) * factor ) end
113function mp . OverlayOffset ( ) mpnumeric ( getdimen ( " d_overlay_offset " ) * factor ) end
114function mp . OverlayRegion ( ) mpstring ( getmacro ( " m_overlay_region " ) ) end
115
116function mp . PageFraction ( ) mpnumeric ( page_fraction ( ) ) end
117function mp . OnRightPage ( ) mpboolean ( on_right_page ( ) ) end
118function mp . OnOddPage ( ) mpboolean ( is_odd_page ( ) ) end
119function mp . InPageBody ( ) mpboolean ( in_body_page ( ) ) end
120
121function mp . OverlayWidth ( ) mpnumeric ( getdimen ( " d_overlay_width " ) * factor ) end
122function mp . OverlayHeight ( ) mpnumeric ( getdimen ( " d_overlay_height " ) * factor ) end
123function mp . OverlayDepth ( ) mpnumeric ( getdimen ( " d_overlay_depth " ) * factor ) end
124function mp . OverlayLineWidth ( ) mpnumeric ( getdimen ( " d_overlay_linewidth " ) * factor ) end
125function mp . OverlayOffset ( ) mpnumeric ( getdimen ( " d_overlay_offset " ) * factor ) end
126function mp . OverlayRegion ( ) mpstring ( getmacro ( " m_overlay_region " ) ) end
127
128
129function mp . defaultcolormodel ( ) mpnumeric ( defaultcolormodel ( ) ) end
130
131mp . HSize = mp . CurrentWidth
132mp . VSize = mp . CurrentHeight
133mp . LastPageNumber = mp . NOfPages
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155 |