%%% txtboxes.mp, version 0.1, 26 May 2004 %%% Copyright (c) 2004 by David Chiang vardef boxit@#(text tt) = beginbox_("boxpath_","sizebox_",@#,tt); generic_declare(pair) _n.sw, _n.s, _n.se, _n.e, _n.ne, _n.n, _n.nw, _n.w; 0 = xpart (@#nw-@#sw) = ypart(@#se-@#sw); 0 = xpart(@#ne-@#se) = ypart(@#ne-@#nw); @#w = .5[@#nw,@#sw]; @#s = .5[@#sw,@#se]; @#e = .5[@#ne,@#se]; @#n = .5[@#ne,@#nw]; @#ne-@#c = @#c-@#sw = (@#dx,@#dy) + .5*(urcorner pic_@# - llcorner pic_@#); generic_declare(pair) _n.bw, _n.be, _n.b; 0 = xpart(@#bw-@#nw) = xpart(@#be-@#ne) = xpart(@#b-@#n); 0 = ypart(@#bw-@#off) = ypart(@#be-@#off) = ypart(@#b-@#off); endbox_(clearb_,@#); enddef; vardef clearb_(suffix $) = _n_ := str $; generic_redeclare(numeric) _n.sw, _n.s, _n.se, _n.e, _n.ne, _n.n, _n.nw, _n.w, _n.c, _n.off, _n.dx, _n.dy; generic_redeclare(numeric) _n.bw, _n.be, _n.b; enddef;