Thanks Marco
Eventually the squeaky wheel gets oiled :)
Looks like it should work, but it seems to complain about setting the parsed attribute to a picture.
I will look some more when I have time tonight..
**data.mp
(./data.mp [4001] [4002] [4003] [4004] [4005] [4006] [4007] [4008] [4009] [4010
] [4011] [4012] [4013]
[4014] [4015] [4016] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
[14] [15] [16] [17]
>> unknown picture pic
>> thelabelboxed
! Equation cannot be performed (unknown picture=numeric).
<to be read again>
Bruce
From: Therion <therion-bounces@speleo.sk> On Behalf Of Marco Corvi via Therion
Sent: Monday, 24 September 2018 21:16
To: therion@speleo.sk
Cc: Marco Corvi <marco.corvi@gmail.com>
Subject: [Therion] boxed label
hi bruce,
this is a boxed u:label
basically it gets the string as picture,
its bounding box corners, and define the x and y to draw the box,
then draw the string picture
point 10 20 u:label -attr val 20
def p_u_label ( expr p,r,s,t ) =
picture pic;
pic := thelabel( ATTR_val, (0,0)) scaled s;
pair q[]; numeric n[], m[], v;
path bb;
v := defaultscale;
qO = ulcorner pic;
q1 = lrcorner pic;
nO := ypart q0 + 2.5 * v;
n1 := ypart q1 - 1.5*v;
m0 := xpart q0 - v;
m1 := xpart q1 + 1.5*v;
bb := (m0,n0) -- (m0,n1) -- (m1,n1) -- (m1,n0) -- cycle;
draw bb rotated r shifted p;
draw pic rotated r shifted p;
enddef;