Hi Hans,
I think I was not very clear.



Title first framed : Hans

Title second framed : Hagen

Thanks
Fabrice

\setupbodyfont[pagella,11pt]

\setupcolors[state=start]

\defineframedtext
  [MyFrame]
  [before={\blank},
   after={\blank},
   frame=off,
   background=MyFrame,
   width=\textwidth,
   height=fit,
   style=italic]

\setvariables
  [text]
  [text1=Hans,
   text2=Hagen,]
  

\startuseMPgraphic{MyFrame}
 path b;
 picture p;
 p := textext.rt("\white\getvariable{text}{text1}");
 p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);
 b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
 fill OverlayBox withcolor lightgray;
 fill b withcolor darkred;
 draw bottomboundary OverlayBox withpen pencircle scaled 1pt  withcolor darkred;
 draw topboundary OverlayBox withpen pencircle scaled 1pt  withcolor darkred;
 draw p;
 setbounds currentpicture to boundingbox currentpicture enlarged 2mm;
\stopuseMPgraphic

\defineoverlay
  [MyFrame]
  [\useMPgraphic{MyFrame}]

\starttext


\startMyFrame
\input knuth
\stopMyFrame

\startMyFrame
\input knuth
\stopMyFrame


2016-07-26 16:15 GMT+02:00 Hans Hagen <pragma@wxs.nl>:
On 7/26/2016 3:12 PM, Fabrice Couvreur wrote:
Hi Hans,
How to pass the "SomeText" parameter?

with setvariables and getvariable

\setupbodyfont[pagella,11pt]

\setupcolors[state=start]

\defineframedtext
  [SomeText]
  [before={\blank},
   after={\blank},
   frame=off,
   background=MyFrame,
   width=\textwidth,
   height=fit,
   style=italic]

\startuseMPgraphic{MyFrame}
 path b;
 picture p;
 p := textext.rt("\white SomeText");
 p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);
 b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
 fill OverlayBox withcolor lightgray;
 fill b withcolor darkred;
 draw bottomboundary OverlayBox withpen pencircle scaled 1pt  withcolor
darkred;
 draw topboundary OverlayBox withpen pencircle scaled 1pt  withcolor
darkred;
 draw p;
 setbounds currentpicture to boundingbox currentpicture enlarged 2mm;
\stopuseMPgraphic

\defineoverlay
  [MyFrame]
  [\useMPgraphic{MyFrame}]

\starttext


\startSomeText{SomeText1}
\input knuth
\stopSomeText

\startSomeText{SomeText2}
\input knuth
\stopSomeText

\stoptext

Thanks
Fabrice

2016-07-26 12:34 GMT+02:00 Hans Hagen <pragma@wxs.nl
<mailto:pragma@wxs.nl>>:


    On 7/26/2016 10:18 AM, Fabrice Couvreur wrote:

        Hello,
        Hans and Wolfgang really helped me to create new environments
        with Metafun.
        I think Hans continuous development Metafun. So my question is
        simple:
        can we optimize this code?


    in what sense ...

    speed? not much to gain

    correctness? mayhe use "lightgray" and "darkred" for consistency

    typography? sure, but more a discussion topic at the ctx meeting

        Thanks,
        Fabrice

        \setupbodyfont[pagella,11pt]

        \setupcolors[state=start]

        \defineframedtext
          [MyDefinition]
          [before={\blank},
           after={\blank},
           frame=off,
           background=MyFrame,
           width=\textwidth,
           height=fit,
           style=italic]

        \definelabel
          [Définition]
          [headstyle=\bf\smallcaps]

        \startuseMPgraphic{MyFrame}
         path b;
         picture p;
         p := textext.rt("\white\Définition");
         p := p shifted (2BodyFontSize,OverlayHeight-ypart center
        p+.25ExHeight);
         b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
         fill OverlayBox withcolor \MPcolor{lightgray};
         fill b withcolor darkred;
         draw bottomboundary OverlayBox withpen pencircle scaled 1pt
        withcolor
        darkred;
         draw topboundary OverlayBox withpen pencircle scaled 1pt  withcolor
        darkred;
         draw p;
         setbounds currentpicture to boundingbox currentpicture enlarged
        2mm;
        \stopuseMPgraphic

        \defineoverlay
          [MyFrame]
          [\useMPgraphic{MyFrame}]

        \starttext

        \showframe

        \startMyDefinition
        \input knuth
        \stopMyDefinition

        \stoptext



        ___________________________________________________________________________________
        If your question is of interest to others as well, please add an
        entry to the Wiki!

        maillist : ntg-context@ntg.nl <mailto:ntg-context@ntg.nl> /
        http://www.ntg.nl/mailman/listinfo/ntg-context
        webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
        archive  : http://foundry.supelec.fr/projects/contextrev/
        wiki     : http://contextgarden.net
        ___________________________________________________________________________________



    --

    -----------------------------------------------------------------
                                              Hans Hagen | PRAGMA ADE
                  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
           tel: 038 477 53 69 | www.pragma-ade.nl
    <http://www.pragma-ade.nl> | www.pragma-pod.nl
    <http://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 <mailto:ntg-context@ntg.nl> /

    http://www.ntg.nl/mailman/listinfo/ntg-context
    webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
    archive  : http://foundry.supelec.fr/projects/contextrev/
    wiki     : http://contextgarden.net
    ___________________________________________________________________________________




___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________



--

-----------------------------------------------------------------
                                          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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________