diff options
author | Hans Hagen <pragma@wxs.nl> | 2006-07-13 22:26:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2006-07-13 22:26:00 +0200 |
commit | cb58eea8a8460f4288c8ba9279bcd1a4d9333f74 (patch) | |
tree | a935db5f4be07adc3ab7ff0a6838505030a72fc4 /metapost/context/base/mp-txts.mp | |
parent | f9420a5dde4d6646f2e117813bd85e0bfc701d7d (diff) | |
download | context-cb58eea8a8460f4288c8ba9279bcd1a4d9333f74.tar.gz |
stable 2006.07.13 22:26
Diffstat (limited to 'metapost/context/base/mp-txts.mp')
-rw-r--r-- | metapost/context/base/mp-txts.mp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/metapost/context/base/mp-txts.mp b/metapost/context/base/mp-txts.mp new file mode 100644 index 000000000..f208c7149 --- /dev/null +++ b/metapost/context/base/mp-txts.mp @@ -0,0 +1,67 @@ +%D \module +%D [ file=mp-txts.mp, +%D version=2006.06.08, +%D title=\CONTEXT\ \METAPOST\ graphics, +%D subtitle=more text support, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See licen-en.pdf for +%C details. + +if unknown context_tool : input mp-tool ; fi ; +if known context_txts : endinput ; fi ; + +boolean context_txts ; context_txts := true ; + +%D The real code: + +string txtfile ; txtfile := "" ; +string txtfont ; txtfont := defaultfont ; +string txtpref ; txtpref := "00001::::" ; +numeric txtnext ; txtnext := 0 ; +numeric txtdepth ; txtdepth := 0 ; + +vardef nexttxt = + txtnext := txtnext + 1 ; + txtnext +enddef ; + +picture savedtxts[] ; +numeric depthtxts[] ; + +vardef zerofilled(expr fd) = + if fd<10: "0000" else : + if fd<100: "000" else : + if fd<1000: "00" else : + if fd<10000: "0" else : + fi fi fi fi & decimal fd +enddef; + +vardef savetxt(expr n,w,h,d) text t = + depthtxts[n] := d ; + savedtxts[n] := ((txtpref & zerofilled(n)) infont txtfont) xysized(w,h+d) t +enddef ; + +vardef sometxt(expr n) = + if known savedtxts[n] : + txtdepth := depthtxts[n] ; savedtxts[n] + else : + txtdepth := 0 ; nullpicture + fi +enddef ; + +def loadtxts = + if txtfile <> "" : + readfile(txtfile) ; + fi ; +enddef ; + +def StartTexts = + loadtxts ; +enddef ; + +def StopTexts = +enddef ; |