drawDetails.html 2.84 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>R: Customising grid Drawing</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../R.css">
</head><body>

<table width="100%" summary="page for drawDetails {grid}"><tr><td>drawDetails {grid}</td><td align="right">R Documentation</td></tr></table>
<h2>Customising grid Drawing</h2>


<h3>Description</h3>

<p>
These generic hook functions are called whenever a grid grob is drawn.
They provide an opportunity for customising the drawing of a
new class derived from grob (or gTree).
</p>


<h3>Usage</h3>

<pre>
drawDetails(x, recording)
draw.details(x, recording)
preDrawDetails(x)
postDrawDetails(x)
</pre>


<h3>Arguments</h3>

<table summary="R argblock">
<tr valign="top"><td><code>x</code></td>
<td>
A grid grob. </td></tr>
<tr valign="top"><td><code>recording</code></td>
<td>
A logical value indicating whether a grob
is being added to the display list or redrawn from the display list. </td></tr>
</table>

<h3>Details</h3>

<p>
These functions are called by the <code>grid.draw</code> methods for grobs
and gTrees.
</p>
<p>
<code>preDrawDetails</code> is called first during the drawing of a grob.
This is where any additional viewports should be pushed (see,
for example, <code>grid:::preDrawDetails.frame</code>).  Note that
the default behaviour for grobs is to push any viewports in the
<code>vp</code> slot, and for gTrees is to also push and up any viewports in the
<code>childrenvp</code> slot so there is typically nothing to do here.
</p>
<p>
<code>drawDetails</code> is called next and is where any additional
calculations and graphical output should occur (see, for example,
<code>grid:::drawDetails.xaxis</code>.  Note that the default behaviour
for gTrees is to draw all grobs in the <code>children</code> slot
so there is typically nothing to do here.
</p>
<p>
<code>postDrawDetails</code> is called last and should reverse anything
done in <code>preDrawDetails</code> (i.e., pop or up any viewports that were
pushed;  again, see,
for example, <code>grid:::postDrawDetails.frame</code>).  Note that the
default behaviour for grobs is to pop any viewports that were pushed
so there is typically nothing to do here.
</p>
<p>
Note that <code>preDrawDetails</code> and <code>postDrawDetails</code> are
also called in the calculation of <code>"grobwidth"</code> and
<code>"grobheight"</code> units.
</p>


<h3>Value</h3>

<p>
None of these functions are expected to return a value.</p>

<h3>Author(s)</h3>

<p>
Paul Murrell
</p>


<h3>See Also</h3>

<p>
<code><a href="grid.draw.html">grid.draw</a></code>
</p>



<hr><div align="center">[Package <em>grid</em> version 2.5.1 <a href="00Index.html">Index]</a></div>

</body></html>