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
_______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion