grid.record               package:grid               R Documentation

Encapsulate calculations and drawing

Description:

     Evaluates an expression that includes both calculations and
     drawing that depends on the calculations so that both the
     calculations and the drawing will be rerun when the scene is
     redrawn (e.g., device resize or editing).

     Intended _only_ for expert use.

Usage:

     recordGrob(expr, list, name=NULL, gp=NULL, vp=NULL)
     grid.record(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 '"recordedGrob"' (and drawn, in
     the case of 'grid.record'). The 'drawDetails' method for this
     class evaluates the expression with the list as the evaluation
     environment (and the grid Namespace as the parent of that
     environment).

Note:

     This function _must_ be used instead of the function
     'recordGraphics';  all of the dire warnings about using
     'recordGraphics' responsibly also apply here.

Author(s):

     Paul Murrell

See Also:

     'recordGraphics'

Examples:

     grid.record({
                   w <- convertWidth(unit(1, "inches"), "npc")
                           grid.rect(width=w)
                 },
                 list())

