We have eofill in MP (in pdf/ps in fact) and that likely will do what you need.
Alan
On Sat, 17 Aug 2019 00:31:38 +0100
Adam Reviczky
Hi Hans,
One MetaPost feature that I was looking forward to is the ability to create a fill between two shapes. Something like a difference function of two path's.
For logos I use the workaround with creating a path alongside the excluded areas but it is always cumbersome.
I have briefly mentioned it back here: https://mailman.ntg.nl/pipermail/ntg-context/2011/056910.html
Just for illustration purposes, if I wanted to fill the area in between two circles:
*path p ; **p := fullcircle scaled 1cm ; **path q ; **q := fullcircle scaled .5cm ; *
Instead of creating a new path along both circles with:
*r := p -- reverse q -- cycle ;*
It would be nice to have something like:
*fill p excluding q ;*
or something like that.
I mainly have use-cases for differences in shapes, but filling the intersection of two shapes would be the same idea.
Thanks, Adam
On Wed, Aug 14, 2019 at 10:57 AM Hans Hagen
wrote: Hi,
In the process of providing an additional (more abstract) interface to some of the old and also new MetaFun code we wonder what kind of features users would like to see.
http://www.pragma-ade.com/general/magazines/mag-1104-mkiv.pdf
As a teaser I uploaded a MyWay document that shows some of what is coming. All is experimental but it shows the direction. We're talking ConTeXt LMTX here. For instance,
draw lmt_outline [ content = "hello", kind = "reverse", fillcolor = "darkred", drawcolor = "darkblue", rulethickness = 1/2, ] ysized h shifted (3.75h,-1.25h) ;
Wraps all the outline drawing in one macro with a set of options (there will be xml interface definitions for that). Or take:
draw lmt_followtext [ content = "How well does it work {\bf 1}! ", path = (fullcircle scaled 4cm), trace = true, spread = true, ] ysized 5cm ;
which is an easier interface to text along a curve. Arrows can be drawn with
draw lmt_arrow [ kind = "draw", location = "middle", alternative = "curved", path = fullcircle scaled 3cm shifted (3.5cm,0cm), ] withcolor "darkblue" ;
but of course the low level interface with its many variables for tweaking stays around. Other examples are shown in the mentioned document.
So the question is: What do you miss in metapost support? Of course it should fit within the concept, so 'artistic freehand drawings' is not something that is likely to get interfaced. We are particularly interested in educational applications, if only because ConTeXt started out that way.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
___________________________________________________________________________________ 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
___________________________________________________________________________________