Re: [NTG-context] MPgraphic with rounded corners

2009-01-16 Thread Duncan Hothersall
Thank you to both Aditya and Wolfgang; I think I need to get a better 
grounding in the basic principles of MetaFun before trying to dabble 
again...


Duncan

___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


[NTG-context] MPgraphic with rounded corners

2009-01-15 Thread Duncan Hothersall

Hello all.

I have adapted a bit of MP code from Aditya from a mailing list message 
dated 2006-05-19 
(http://archive.contextgarden.net/message/20060519.214124.9174ac0e.en.html) 
to ensure that when a page break occurs in a textbackground there is a 
forced vertical space inside the box at the top of the new page.


This code works fine for me (although interestingly not in the garden):


\setupcolors[state=start]

\startuseMPgraphic{mpos:par:myexample}
path p;
for i = 1 upto nofmultipars :
p := multipars[1] topenlarged 8pt bottomenlarged 8pt;
fill p withcolor 0.9white ;
draw p withcolor black
withpen pencircle scaled \MPvar{linewidth};
endfor;
\stopuseMPgraphic

\definetextbackground[ExampleBackground]
   
[mp=mpos:par:myexample,location=paragraph,leftoffset=1em,rightoffset=1em,rulethickness=1pt]


\starttext
\input knuth \endgraf
\starttextbackground[ExampleBackground]
\dorecurse{13}{\input knuth \endgraf}
\stoptextbackground
\input knuth \endgraf
\stoptext


But now I need to make this box have rounded corners, and I am very 
confused when reading core-pgr.tex because that is a level of MP code I 
just don't understand.


Would somebody please be able to tell me what to change in the above to 
make the corners of the box rounded (with a radius of 2mm)?


Thank you very much!

Duncan

___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] MPgraphic with rounded corners

2009-01-15 Thread Aditya Mahajan

On Thu, 15 Jan 2009, Duncan Hothersall wrote:


Hello all.

I have adapted a bit of MP code from Aditya from a mailing list message dated 
2006-05-19 
(http://archive.contextgarden.net/message/20060519.214124.9174ac0e.en.html) 
to ensure that when a page break occurs in a textbackground there is a forced 
vertical space inside the box at the top of the new page.


This code works fine for me (although interestingly not in the garden):


\setupcolors[state=start]

\startuseMPgraphic{mpos:par:myexample}
path p;
for i = 1 upto nofmultipars :
p := multipars[1] topenlarged 8pt bottomenlarged 8pt;


Change this to

  p := multipars[1] topenlarged 8pt bottomenlarged 8pt cornered 2mm ;


fill p withcolor 0.9white ;
draw p withcolor black
withpen pencircle scaled \MPvar{linewidth};
endfor;
\stopuseMPgraphic

\definetextbackground[ExampleBackground]
  
[mp=mpos:par:myexample,location=paragraph,leftoffset=1em,rightoffset=1em,rulethickness=1pt]

\starttext
\input knuth \endgraf
\starttextbackground[ExampleBackground]
\dorecurse{13}{\input knuth \endgraf}
\stoptextbackground
\input knuth \endgraf
\stoptext


But now I need to make this box have rounded corners, and I am very confused 
when reading core-pgr.tex because that is a level of MP code I just don't 
understand.


Look at the metafun manual. The path p is basically a box (whose 
dimentions are equal to the text on the page, but for metapost this is 
immaterial) and you wnat to make it have round corners. So you the 
appropriate metafun transformation (cornered in this case).


Aditya
___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] MPgraphic with rounded corners

2009-01-15 Thread Wolfgang Schuster


Am 15.01.2009 um 18:26 schrieb Duncan Hothersall:


Hello all.

I have adapted a bit of MP code from Aditya from a mailing list  
message dated 2006-05-19 (http://archive.contextgarden.net/message/20060519.214124.9174ac0e.en.html 
) to ensure that when a page break occurs in a textbackground there  
is a forced vertical space inside the box at the top of the new page.


This code works fine for me (although interestingly not in the  
garden):



\setupcolors[state=start]

\startuseMPgraphic{mpos:par:myexample}
path p;
for i = 1 upto nofmultipars :
p := multipars[1] topenlarged 8pt bottomenlarged 8pt;


p := multipars[1] topenlarged 8pt bottomenlarged 8pt smoothed 2mm ;


fill p withcolor 0.9white ;
draw p withcolor black
withpen pencircle scaled \MPvar{linewidth};
endfor;
\stopuseMPgraphic

\definetextbackground[ExampleBackground]
   
[mp 
= 
mpos:par:myexample 
,location=paragraph,leftoffset=1em,rightoffset=1em,rulethickness=1pt]


\starttext
\input knuth \endgraf
\starttextbackground[ExampleBackground]
\dorecurse{13}{\input knuth \endgraf}
\stoptextbackground
\input knuth \endgraf
\stoptext


But now I need to make this box have rounded corners, and I am very  
confused when reading core-pgr.tex because that is a level of MP  
code I just don't understand.


Would somebody please be able to tell me what to change in the above  
to make the corners of the box rounded (with a radius of 2mm)?


The smoothed function is explained in the MetaFun manual.

Wolfgang

___
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  : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___