cairoDevice (version 2.28)

asCairoDevice: 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.

References

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