Why do I see the outline of the green box in this METAPOST code?
Code: vardef Foo(expr w, h, lh) = save pth; path pth; save pthtwo; path pthtwo; save pththree; path pththree; save pic; picture pic; pth = fullsquare xysized (w, h); pthtwo = fullsquare xysized (2*lh, lh) shifted (-w/2, 2.5*lh); pththree = fullsquare xysized (2*lh, lh) shifted (-w/2, lh); fill pth withcolor green; fill pthtwo withcolor yellow; fill pththree withcolor yellow; pic := image ( draw pth; draw pthtwo; draw pththree; ); % setbounds pic to pth; pic enddef ; Call: \startMPpage picture s ; s := Foo(8cm, 2cm, 0.25cm); draw s; drawdot center leftboundary s withpen pencircle scaled 2 withcolor green; drawdot center rightboundary s withpen pencircle scaled 2 withcolor blue; drawdot point .25 along topboundary s withpen pencircle scaled 2 withcolor yellow; drawdot .25[llcorner s, lrcorner s] withpen pencircle scaled 2 withcolor magenta; drawdot origin withpen pencircle scaled 4 withcolor red; \stopMPpage Output: Why is the outline of the green box visible in the yellow boxes? And how can I prevent this from happening?
Move the fills to within the image(), and build it up in stacking order.
On 14 Mar 2020, at 16:29, Gerben Wierda
wrote: Code:
vardef Foo(expr w, h, lh) = save pth; path pth; save pthtwo; path pthtwo; save pththree; path pththree; save pic; picture pic; pth = fullsquare xysized (w, h); pthtwo = fullsquare xysized (2*lh, lh) shifted (-w/2, 2.5*lh); pththree = fullsquare xysized (2*lh, lh) shifted (-w/2, lh); fill pth withcolor green; fill pthtwo withcolor yellow; fill pththree withcolor yellow; pic := image ( draw pth; draw pthtwo; draw pththree; ); % setbounds pic to pth; pic enddef ;
Call:
\startMPpage
picture s ; s := Foo(8cm, 2cm, 0.25cm);
draw s;
drawdot center leftboundary s withpen pencircle scaled 2 withcolor green; drawdot center rightboundary s withpen pencircle scaled 2 withcolor blue; drawdot point .25 along topboundary s withpen pencircle scaled 2 withcolor yellow; drawdot .25[llcorner s, lrcorner s] withpen pencircle scaled 2 withcolor magenta; drawdot origin withpen pencircle scaled 4 withcolor red;
\stopMPpage
Output:
Why is the outline of the green box visible in the yellow boxes? And how can I prevent this from happening? ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
Taco Hoekwater Elvenkind BV
participants (2)
-
Gerben Wierda
-
Taco Hoekwater