1
2
3
4
5
6
7
8
9
10
11
12
13
14\writestatus{loading}{ConTeXt Packaging Macros Bars}
15
16\unprotect
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42\installcorenamespace{positionbar}
43
44\installsimplecommandhandler \??positionbar {positionbar} \??positionbar
45
46\setuppositionbar
47 [\c!min=\plusone,
48 \c!max=\plusone,
49 \c!n=\plusone
50 \c!text=?,
51 \c!width=\emwidth,
52 \c!height=\strutheight,
53 \c!depth=\strutdepth]
54
55\def\pack_bar_common_setting
56 {\usepositionbarstyleandcolor\c!style\c!color
57 \scratchcounter{\positionbarparameter\c!n}
58 \scratchmin{\positionbarparameter\c!min}
59 \scratchmax{\positionbarparameter\c!max}}
60
61\permanent\protected\def\horizontalpositionbar[#S#1]
62 {\hbox to \hsize
63 {\setuppositionbar[#1]
64 \pack_bar_common_setting
65 \hskip\zeropoint\s!plus \scratchcounter\s!fill
66 \hskip\zeropoint\s!plus\scratchmin \s!fill
67 \positionbarparameter\c!text\relax
68 \hskip\zeropoint\s!plus \scratchmax \s!fill
69 \hskip\zeropoint\s!plus\scratchcounter\s!fill}}
70
71\permanent\protected\def\verticalpositionbar[#S#1]
72 {\vbox to \vsize
73 {\hsize{\positionbarparameter\c!width}
74 \setuppositionbar[#1]
75 \pack_bar_common_setting
76 \vskip\zeropoint\s!plus \scratchcounter\s!fill
77 \vskip\zeropoint\s!plus\scratchmin \s!fill
78 \positionbarparameter\c!text\relax
79 \vskip\zeropoint\s!plus \scratchmax \s!fill
80 \vskip\zeropoint\s!plus\scratchcounter\s!fill}}
81
82\permanent\protected\def\horizontalgrowingbar[#S#1]
83 {\hpack to \hsize
84 {\setuppositionbar[#1]
85 \pack_bar_common_setting
86 \vrule
87 \s!width \zeropoint
88 \s!height {\positionbarparameter\c!height}
89 \s!depth {\positionbarparameter\c!depth}
90 \relax
91 \leaders
92 \vrule
93 \hskip
94 \zeropoint
95 \s!plus\numexpr\scratchcounter\scratchmin\plusone\relax\s!fill
96 \relax
97 \hskip
98 \zeropoint
99 \s!plus \scratchmax\s!fill
100 \relax
101 \hskip
102 \zeropoint
103 \s!plus\scratchcounter\s!fill
104 \relax}}
105
106\permanent\protected\def\verticalgrowingbar[#S#1]
107 {\vpack to \vsize
108 {\hsize{\positionbarparameter\c!width}
109 \setuppositionbar[#1]
110 \pack_bar_common_setting
111 \hrule
112 \s!width {\positionbarparameter\c!width}
113 \s!height \zeropoint
114 \s!depth \zeropoint
115 \relax
116 \leaders
117 \hrule
118 \vskip
119 \zeropoint
120 \s!plus \numexpr\scratchcounter\scratchmin\plusone\relax\s!fill
121 \relax
122 \vskip
123 \zeropoint
124 \s!plus \scratchmax\s!fill
125 \relax
126 \vskip
127 \zeropoint
128 \s!plus\scratchcounter\s!fill
129 \relax}}
130
131\protect \endinput
132 |