Difference between revisions of "Command/startuniqueMPgraphic"

From Wiki
Jump to navigation Jump to search
(Created page with "{{Reference |name=startuniqueMPgraphic |attributes= }} == Syntax == <table cellspacing="4" cellpadding="2" class="cmd"> <tr> <td colspan="2" class="cmd"...")
 
(Add overlay example)
Line 18: Line 18:
  
 
== Description ==  
 
== Description ==  
Define code for a MetaPost graphic. The graphic can be placed in the document with {{cmd|uniqueMPgraphic}}, and will be recompiled every time it it is placed.
+
Define code for a MetaPost graphic. The graphic can be placed in the document with {{cmd|uniqueMPgraphic}}; every time the placement dimensions change, the graphic is recompiled.
  
 
== Example ==
 
== Example ==
Line 32: Line 32:
 
\def\mycolor{.625blue}
 
\def\mycolor{.625blue}
 
blue: \uniqueMPgraphic{name}
 
blue: \uniqueMPgraphic{name}
 +
</context>
 +
 +
This illustrates the fact that graphic is reused if the dimensions don't change.
 +
 +
<context source=yes>
 +
\startuniqueMPgraphic{randomcolor}
 +
fill unitsquare
 +
xyscaled (\overlaywidth, \overlayheight)
 +
                % `uniformdeviate 1` produces a random number between 0 and 1
 +
withcolor (uniformdeviate 1, uniformdeviate 1, uniformdeviate 1);
 +
\stopuniqueMPgraphic
 +
 +
\defineoverlay
 +
[beta]
 +
[\uniqueMPgraphic{randomcolor}]
 +
 +
\dontleavehmode
 +
\framed[background=beta]{narrow}
 +
\framed[background=beta]{narrow}
 +
\framed[background=beta]{rather wide}
 
</context>
 
</context>
  

Revision as of 16:58, 26 November 2012

\startuniqueMPgraphic

Syntax

\startuniqueMPgraphic{...}
{...} name under which the graphic will be known

Description

Define code for a MetaPost graphic. The graphic can be placed in the document with \uniqueMPgraphic; every time the placement dimensions change, the graphic is recompiled.

Example

\def\mycolor{.625red}

\startuniqueMPgraphic{name}
  fill fullcircle scaled 20pt withcolor \mycolor;
\stopuniqueMPgraphic

red: \uniqueMPgraphic{name}

\def\mycolor{.625blue}
blue: \uniqueMPgraphic{name}

This illustrates the fact that graphic is reused if the dimensions don't change.

\startuniqueMPgraphic{randomcolor}
	fill unitsquare
		xyscaled (\overlaywidth, \overlayheight)
                % `uniformdeviate 1` produces a random number between 0 and 1
		withcolor (uniformdeviate 1, uniformdeviate 1, uniformdeviate 1);
\stopuniqueMPgraphic

\defineoverlay
	[beta]
	[\uniqueMPgraphic{randomcolor}]

\dontleavehmode
\framed[background=beta]{narrow}
\framed[background=beta]{narrow}
\framed[background=beta]{rather wide}

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: