Hi,

As I'm still in metafun (and svg) mode I decided to support patterns (that are already supported at the tex end) also in metafun. As there has never been demands I suppose it's not that interesting but it sort of fits in.

There are some tricky aspectx involved so the interface might evolve a bit (some more control options) but here are some examples anyway:

\starttext

\startMPpage[offset=1cm]
    draw (fullcircle scaled 5cm shifted (0cm,0cm))
withpattern image (fill fullcircle scaled 1cm withcolor "darkblue" ;)
        withpatternscale (1/10,1/10)
    ;

    draw (fullcircle scaled 5cm shifted (5cm,0cm))
withpattern image (fill fullcircle scaled 5mm withcolor "darkred" ;)
        withpatternscale (1/20,1/20)
    ;

    draw (fullcircle scaled 5cm shifted (10cm,0cm))
withpattern image (fill fullcircle scaled 5mm withcolor "darkgreen" ;)
        withpatternscale (1/40,1/40)
    ;

    draw (fullcircle scaled 5cm shifted (0cm,5cm))
withpattern image (fill fullcircle scaled 1cm withcolor "darkcyan" ;)
        withpatternscale (1/10,1/20)
    ;

    draw (fullcircle scaled 5cm shifted (5cm,5cm))
withpattern image (fill fullcircle scaled 5mm withcolor "darkmagenta" ;)
        withpatternscale (1/20,1/40)
    ;

    draw (fullcircle scaled 5cm shifted (10cm,5cm))
withpattern image (fill fullcircle scaled 5mm withcolor "darkyellow" ;)
        withpatternscale (1/40,1/80)
    ;
\stopMPpage

\startMPpage[offset=1cm]
    fill fullcircle scaled 11cm
        withcolor "darkyellow" ;

    draw fullcircle scaled 10cm
withpattern image (fill fullcircle scaled 1cm withcolor "darkblue" ;)
    ;

    draw fulldiamond scaled 8cm
withpattern image (fill fulldiamond scaled 4mm withcolor "darkgreen" ;)
        rotated 15
    ;

    draw fulltriangle scaled 9cm
withpattern image (fill fulltriangle scaled 3mm withcolor "white" ;)
        rotated 45
    ;

    draw fullcircle scaled 10cm
        withpattern image (draw textext("!") withcolor "middlegray" ;)
        rotated 45
    ;

    draw fullcircle scaled 10cm
        withpen pencircle scaled 1mm
        withcolor "darkgray" ;
\stopMPpage


\startMPpage[instance=doublefun]
    draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkgray" withopacity .5)
        withpatternscale (1,1)
    ;
    draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkred" withopacity .5)
        withpatternscale (1/2,1/2)
    ;
    draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkgreen" withopacity .5)
        withpatternscale (1/3,1/3)
    ;
    draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkblue" withopacity .5)
        withpatternscale (1/4,1/4)
    ;
\stopMPpage

% \startTEXpage
    \page
    \startMPcode{doublefun}
        draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-400))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))))
            withpatternscale (1/8,1/8)
        ;
    \stopMPcode
    \blank
    \startMPcode{doublefun}
        draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-400))
withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))))
            withpatternfloat true
            withpatternscale (1/8,1/8)
        ;
    \stopMPcode
    \page
% \stopTEXpage

% \startMPpage[instance=doublefun]

%   draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200))
% withpattern image ( fill closedcurve(unitsquare xyscaled (50,50) shifted (0,-50)) withcolor svgcolor(0.529,0.808,0.922) ; fill closedcurve(unitsquare xyscaled (25,25) shifted (0,-25)) withshademethod "linear"
%     withshadecenteronefraction (0,1)
%     withshadecentertwofraction (0,0)
% withshadestep ( withshadefraction 0.05 withshadecolors (svgcolor(1,0,0),svgcolor(1,0,0)) ) % withshadestep ( withshadefraction 0.95 withshadecolors (svgcolor(1,0,0),svgcolor(1,0.5,0)) ) ; fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withshademethod "linear" % withshadestep ( withshadefraction 0.05 withshadecolors (svggray(1),svggray(1)) ) % withshadestep ( withshadefraction 0.95 withshadecolors (svggray(1),svgcolor(0,0,1)) ) withopacity 0.5 ; )
%     withpatternscale(1/4,1/4)
%   ;
% \stopMPpage

% \startTEXpage
%     \externalfigure[test.svg][conversion=mp,xobject=no]
% \stopTEXpage

\stoptext



-----------------------------------------------------------------
                                          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
___________________________________________________________________________________

Reply via email to