asCairoDevice {cairoDevice} | R Documentation

## Converting widgets and more to a Cairo graphics device

### Description

Allows one to convert an arbitrary GTK+ widget (usually a `GtkDrawingArea`), a `GdkDrawable` (like a `GdkPixmap`), a `GtkPrintContext` or a `Cairo` context to a Cairo graphics device, so that R plot commands draw to the given target.

### Usage

    asCairoDevice(widget, pointsize = 12, width = 500, height = 500)

### Arguments

`widget` | The `GtkWidget`, `GdkDrawable`, `GtkPrintContext`, or `Cairo` context, to which the R graphics are to be drawn
`pointsize` | The default font size in the R plot
`width` | Width in user coordinates, only used if `widget` is a Cairo context
`height` | Height in user coordinates, only used if `widget` is a Cairo context

### Details

The main purpose of this function is to allow the user to embed an R plot in a GTK user interface constructed with RGtk2. Please see the examples in the RGtk2 package.

Drawing to an offscreen `GdkPixmap` is useful for buffering and transforming R graphics. For example, one could copy the pixmap to a `GdkPixbuf` and add a watermark before saving as a gif, png, jpg, etc.

One may also pass a `Cairo` context as the `widget` parameter. This allows targeting arbitary Cairo surfaces. Note that the context state is for the most part not cleared before plotting, so transformations, etc, will remain in effect. Unlike Cairo, the R graphics system requires bounds to be specified, which may be done through the `width` and `height` parameters.

As a convenience, `GtkPrintContext` is also accepted as the `widget` parameter. This makes it easy to redirect R graphics to a printer selected and configured through the GTK+ printing dialogs.

### Author(s)

Michael Lawrence

### References

http://www.gtk.org/ http://www.cairographics.org/

[Package cairoDevice version 2.31 Index]