diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/pack-bar.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/pack-bar.mkiv | 97 |
1 files changed, 61 insertions, 36 deletions
diff --git a/Master/texmf-dist/tex/context/base/pack-bar.mkiv b/Master/texmf-dist/tex/context/base/pack-bar.mkiv index 6967173e2e8..06eeebd1411 100644 --- a/Master/texmf-dist/tex/context/base/pack-bar.mkiv +++ b/Master/texmf-dist/tex/context/base/pack-bar.mkiv @@ -13,55 +13,80 @@ \writestatus{loading}{ConTeXt Packaging Macros / Bars} -%D This code has been moved from scrn-int to here (was some old -%D experimental code). It could be in scrn-bar but it's static. \unprotect +%D This code has been moved from scrn-int to here (was some old +%D experimental code). It could be in scrn-bar but it's static. In +%D the meantime the interface has been adapted to a key|/|value one. +%D %D \startbuffer -%D \dorecurse{10} -%D {\horizontalpositionbar -%D \pos\recurselevel \min1 \max10 -%D \token\framed{\recurselevel}% -%D \\} +%D \dorecurse{10}{ +%D \ruledhbox{\horizontalpositionbar[n=#1,min=1,max=10,text=!,color=red]} +%D \par +%D } +%D \stopbuffer +%D +%D \typebuffer \stoplinecorrection \getbuffer \stoplinecorrection %D -%D \hbox to 15em -%D {\hss -%D \dorecurse{10} -%D {\verticalpositionbar\pos\recurselevel\min1\max10\token\blackrule\\ -%D \hss}} +%D \startbuffer +%D \dorecurse{10}{ +%D \ruledhbox{\horizontalgrowingbar[n=#1,min=1,max=10,text=!,color=red]} +%D \par +%D } %D \stopbuffer +%D +%D \typebuffer \stoplinecorrection \getbuffer \stoplinecorrection + +\installcorenamespace{positionbar} + +\installsimplecommandhandler \??positionbar {positionbar} + +\setuppositionbar + [\c!min=1, + \c!max=1, + \c!n=1, + \c!text=?, + \c!width=\emwidth, + \c!height=\strutheight, + \c!depth=\strutdepth] -\def\horizontalpositionbar\pos#1\min#2\max#3\token#4\\% +\unexpanded\def\horizontalpositionbar[#1]% {\hbox to \hsize - {\hskip\zeropoint\!!plus #1\!!fill - \hskip\zeropoint\!!plus-#2\!!fill - #4\relax - \hskip\zeropoint\!!plus #3\!!fill - \hskip\zeropoint\!!plus-#1\!!fill}} + {\setuppositionbar[#1]% + \usepositionbarstyleandcolor\c!style\c!color + \hskip\zeropoint\s!plus \positionbarparameter\c!n \s!fill + \hskip\zeropoint\s!plus-\positionbarparameter\c!min\s!fill + \positionbarparameter\c!text\relax + \hskip\zeropoint\s!plus \positionbarparameter\c!max\s!fill + \hskip\zeropoint\s!plus-\positionbarparameter\c!n \s!fill}} -\def\verticalpositionbar\pos#1\min#2\max#3\token#4\\% +\unexpanded\def\verticalpositionbar[#1]% {\vbox to \vsize - {\vskip\zeropoint\!!plus #1\!!fill - \vskip\zeropoint\!!plus-#2\!!fill - \hbox{#4}\relax - \vskip\zeropoint\!!plus #3\!!fill - \vskip\zeropoint\!!plus-#1\!!fill}} + {\setuppositionbar[#1]% + \usepositionbarstyleandcolor\c!style\c!color + \vskip\zeropoint\s!plus \positionbarparameter\c!n \s!fill + \vskip\zeropoint\s!plus-\positionbarparameter\c!min\s!fill + \positionbarparameter\c!text\relax + \vskip\zeropoint\s!plus \positionbarparameter\c!max\s!fill + \vskip\zeropoint\s!plus-\positionbarparameter\c!n \s!fill}} -\def\horizontalgrowingbar\pos#1\min#2\max#3\height#4\depth#5\\% +\unexpanded\def\horizontalgrowingbar[#1]% {\hbox to \hsize - {\scratchcounter\numexpr#1-#2+\plusone\relax - \leaders\vrule\hskip\zeropoint\!!plus \scratchcounter\!!fill - \vrule\!!width\zeropoint\!!height#4\!!depth#5% - \hskip\zeropoint\!!plus #3\!!fill - \hskip\zeropoint\!!plus-#1\!!fill}} + {\setuppositionbar[#1]% + \usepositionbarstyleandcolor\c!style\c!color + \leaders\vrule\hskip\zeropoint\s!plus \numexpr\positionbarparameter\c!n-\positionbarparameter\c!min+\plusone\relax\s!fill + \vrule\s!width\zeropoint\s!height\positionbarparameter\c!height\s!depth\positionbarparameter\c!depth + \hskip\zeropoint\s!plus \positionbarparameter\c!max\s!fill + \hskip\zeropoint\s!plus-\positionbarparameter\c!n \s!fill}} -\def\verticalgrowingbar\pos#1\min#2\max#3\width#4\\% +\unexpanded\def\verticalgrowingbar[#1]% {\vbox to \vsize - {\scratchcounter\numexpr#1-#2+\plusone\relax - \leaders\hrule\vskip\zeropoint\!!plus\scratchcounter\!!fill - \hrule\!!width#4\!!height\zeropoint\!!depth\zeropoint - \vskip\zeropoint\!!plus #3\!!fill - \vskip\zeropoint\!!plus-#1\!!fill}} + {\setuppositionbar[#1]% + \usepositionbarstyleandcolor\c!style\c!color + \leaders\hrule\vskip\zeropoint\s!plus\numexpr\positionbarparameter\c!n-\positionbarparameter\c!min+\plusone\relax\s!fill + \hrule\s!width\positionbarparameter\c!width\s!height\zeropoint\s!depth\zeropoint + \vskip\zeropoint\s!plus \positionbarparameter\c!max\s!fill + \vskip\zeropoint\s!plus-\positionbarparameter\c!n \s!fill}} \protect \endinput |