grid (version 3.2.3)

grid.delay: 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 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

expr
object of mode expression or call or an unevaluated expression.
list
a list defining the environment in which expr is to be evaluated.
name
A character identifier.
gp
An object of class gpar, typically the output from a call to the function gpar. This is basically a list of graphical parameter settings.
vp
A Grid viewport object (or NULL).

Details

A grob is created of special class "delayedgrob" (and drawn, in the case of grid.delay). The 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 expr argument should return a grob as its result.

These functions are analogues of the grid.record() and recordGrob() functions; the difference is that these functions are based on the makeContent() hook, while those functions are based on the drawDetails() hook.

See Also

recordGraphics

Examples

Run this code
grid.delay({
              w <- convertWidth(unit(1, "inches"), "npc")
              rectGrob(width=w)
            },
            list())

Run the code above in your browser using DataCamp Workspace