

   CCooppyy GGrraapphhiiccss BBeettwweeeenn MMuullttiippllee DDeevviicceess

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

   AArrgguummeennttss::

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

        ...: Arguments to the device function

      which: A device number specifying the device to copy to

   displaylist: A character string

   DDeessccrriippttiioon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
        copy from an on-screen device.

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

   VVaalluuee::

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

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

   NNoottee::

        Every device has a display list which records all of
        the graphics operations that occur in the device.
        `dev.copy' and `dev.print' copy 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 con-
        tents 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 automati-
        cally if the device is resized.

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

   SSeeee AAllssoo::

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

   EExxaammpplleess::

        if (interactive()) {
        x11()
        plot(rnorm(10), main="Plot 1")
        dev.copy(device=x11)
        mtext("Copy 1", 3)
        dev.print(width=6, height=6, horizontal=F)
        dev.off(dev.prev())
        dev.off()
        }

