Some grobs wait until drawing time to generate what content
will actually be drawn (an axis, as produced by grid.xaxis()
,
with an at
or NULL
is a good example because it
has to see what viewport it is going to be drawn in before
it can decide what tick marks to draw).
The content of such grobs (e.g., the tick marks) are not usually
visible to grid.ls()
or accessible to grid.edit()
.
The grid.force()
function replaces a grob with its
at-drawing-time contents. For example, an axis will be
replaced by a vanilla gTree with lines and text representing
the axis tick marks that were actually drawn. This makes
the tick marks
visible to grid.ls()
and accessible to grid.edit()
.
The forceGrob()
function is the internal work horse for
grid.force()
, so will not normally be called directly by
the user. It is exported so that methods can be written for
custom grob classes if necessary.
The grid.revert()
function reverses the effect of
grid.force()
, replacing forced content with the original
grob.