dev2                  package:base                  R Documentation

_C_o_p_y _G_r_a_p_h_i_c_s _B_e_t_w_e_e_n _M_u_l_t_i_p_l_e _D_e_v_i_c_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     `dev.copy' copies the graphics contents of the current device to
     the device specified by `which' or to a new device which has been
     created by the function specified by `device' (it is an error to
     specify both `which' and `device').

     `dev.print' copies the graphics contents of the current device to
     a new device which has been created by the function specified by
     `device' and then shuts the new device.  This is most useful for
     producing a postscript print from an on-screen device.  Unless
     `file' is specified, the plot will be printed.  Unless `width',
     `height' and `pointsize' are specified the plot dimensions will be
     taken from the current device, shrunk if necessary to fit on the
     paper. (`pointsize' is rescaled if the plot is shrunk.)  If
     `horizontal' is not specified and the plot can be printed at full
     size by switching its value this is done instead of shrinking the
     plot region.

     `dev.copy2eps' is similar to `dev.print' but produces an EPSF
     output file.  Unless otherwise specified `width' and `height' are
     taken from the current device, but `pointsize' is taken from
     `ps.options'.

     `dev.control' allows the user to control the recording of graphics
     operations in a device.  If `displaylist' is "inhibit" then
     recording is turned off.

_U_s_a_g_e:

     dev.copy(device, ..., which=dev.next())
     dev.print(device=postscript, ...)
     dev.copy.eps(...)
     dev.control(displaylist)

_A_r_g_u_m_e_n_t_s:

  device: A device function (e.g., `x11', `postscript', ...)

     ...: Arguments to the `device' function above. For `dev.print',
          this includes `which' and by default any `postscript'
          arguments.

   which: A device number specifying the device to copy to

displaylist: A character string

_V_a_l_u_e:

     `dev.copy' returns the name and number of the device which has
     been copied to.

     `dev.print' and `dev.copy2eps' return the name and number of the
     device which has been copied from.

_N_o_t_e:

     Most devices (including all screen devices) have a display list
     which records all of the graphics operations that occur in the
     device. `dev.copy' copies graphics contents by copying the display
     list from one device to another device.  Also, automatic redrawing
     of graphics contents following the resizing of a device depends on
     the contents of the display list.

     After the command `dev.control("inhibit")', graphics operations
     are not recorded in the display list so that `dev.copy' and
     `dev.print' will not copy anything and the contents of a device
     will not be redrawn automatically if the device is resized.

     The recording of graphics operations is relatively expensive in
     terms of memory so the command `dev.control("inhibit")' can be
     useful if memory usage is an issue.

_S_e_e _A_l_s_o:

     `dev.cur' and other `dev.xxx' functions

_E_x_a_m_p_l_e_s:

     x11()
     plot(rnorm(10), main="Plot 1")
     dev.copy(device=x11)
     mtext("Copy 1", 3)
     dev.print(width=6, height=6, horizontal=FALSE) # prints it
     dev.off(dev.prev())
     dev.off()

