Cairo.onSave {Cairo}R Documentation

Cairo callbacks

Description

Cairo.onSave set the onSave callback which allows R code to be run when Cairo finalizes a page (either due to a new page being created or by the device being closed). The callback expects function(device, page) where device will be the device number and page is the currently finished page number (starting at 1).

Usage

Cairo.onSave(device = dev.cur(), onSave)

Arguments

device

device number or Cairo object (as returned by the Cairo function)

onSave

function that will replace the current callback or NULL to remove the current callback

Value

The old callback being replaced or NULL if there was none.

Note

The function onSave will be evaluated in the global environment and no error checking is done, so you must make sure to catch errors, otherwise the behavior is undefined (and may included crashing R or other bad things).

Author(s)

Simon Urbanek

See Also

Cairo

Examples

if (require(png, quietly=TRUE)) {
  dev <- Cairo(800, 600, type='raster')
  Cairo.onSave(dev, function(dev, page)
    .GlobalEnv$png <- writePNG(Cairo.capture(dev))
  )
  plot(1:10, col=2)
  dev.off()
  str(png)
}

[Package Cairo version 1.5-9 Index]