On 7/24/2017 1:40 AM, Aditya Mahajan wrote:
Hi,
Is it possible to set pen width using properties(...)? The following does not work (the color is set, but not the pen width):
\starttext \startMPcode property p[] ; p[1] := properties(withcolor red withpen pencircle scaled 1bp); p[2] := properties(withcolor blue withpen pencircle scaled 10bp);
draw fullcircle scaled 1cm withproperties p[1]; draw fullcircle scaled 2cm withproperties p[2]; \stopMPcode \stoptext
def withproperties expr p = if colormodel p = 3 : withcolor greypart p elseif colormodel p = 5 : withcolor (redpart p,greenpart p,bluepart p) elseif colormodel p = 7 : withcolor (cyanpart p,magentapart p,yellowpart p,blackpart p) fi withpen penpart p withprescript prescriptpart p withpostscript postscriptpart p enddef ;
Also, what is the advantage of using properties over a simple def? (except that I cannot def a suffixed variable). For example:
\starttext \startMPcode def qA = withcolor red withpen pencircle scaled 1bp enddef; def qB = withcolor blue withpen pencircle scaled 10bp enddef;
draw fullcircle scaled 1cm qA; draw fullcircle scaled 2cm qB;
\stopMPcode \stoptext abstraction ..
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------