| % File src/library/grid/man/grid.delay.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2007 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{grid.delay} |
| \alias{grid.delay} |
| \alias{delayGrob} |
| \title{ Encapsulate calculations and generating a grob } |
| \description{ |
| Evaluates an expression that includes both calculations |
| and generating a grob that depends on the calculations so that |
| both the calculations and the grob generation will be rerun when |
| the scene is redrawn (e.g., device resize or editing). |
| |
| Intended \emph{only} for expert use. |
| } |
| \usage{ |
| delayGrob(expr, list, name=NULL, gp=NULL, vp=NULL) |
| grid.delay(expr, list, name=NULL, gp=NULL, vp=NULL) |
| } |
| \arguments{ |
| \item{expr}{object of mode \code{\link{expression}} or \code{call} or |
| an unevaluated expression.} |
| \item{list}{a list defining the environment in which \code{expr} is to |
| be evaluated.} |
| \item{name}{ A character identifier. } |
| \item{gp}{An object of class \code{gpar}, typically the output |
| from a call to the function \code{gpar}. This is basically |
| a list of graphical parameter settings.} |
| \item{vp}{A Grid viewport object (or NULL).} |
| } |
| \details{ |
| A grob is created of special class \code{"delayedgrob"} |
| (and drawn, in the case of \code{grid.delay}). |
| The \code{makeContent} method for this class |
| evaluates the expression with the list as the evaluation |
| environment (and the grid Namespace as the parent of that |
| environment). |
| |
| The \code{expr} argument should return a grob as its result. |
| |
| These functions are analogues of the \code{grid.record()} |
| and \code{recordGrob()} functions; the difference is that |
| these functions are based on the \code{makeContent()} hook, |
| while those functions are based on the \code{drawDetails()} |
| hook. |
| } |
| \author{ Paul Murrell } |
| \note{ This function \emph{must} be used instead of the |
| function \code{recordGraphics}; all of the dire warnings |
| about using \code{recordGraphics} responsibly also apply here. |
| } |
| \seealso{ \code{\link{recordGraphics}} } |
| \examples{ |
| grid.delay({ |
| w <- convertWidth(unit(1, "inches"), "npc") |
| rectGrob(width=w) |
| }, |
| list()) |
| } |
| \keyword{ dplot } |