Syntax
[C/C++:]
void gCopyPixelArea(int source, int dest, int ix, int iy, int width, int height, int ixd, int iyd);
[F90:]
subroutine gCopyPixelArea(source, dest, ix, iy, width, height, ixd, iyd)
integer, intent(in) :: source,dest,ix,iy
integer, intent(in) :: width,height,ixd,iyd
Arguments
source
Source drawing area identifier
|
= 1, |
Backing store (default) |
|
> 1, |
User generated drawing area |
dest
Destination drawing area identifier
|
= 1, |
Backing store (default) |
|
> 1, |
User generated drawing area |
ix,iy
Origin of pixel area to copy
width
Width of pixel area
height
Height of pixel area
ixd,iyd
Destination origin
Description
The routine gCopyPixelArea() provides a means to copy a pixel area within the same drawing area or from one drawing area to another. Multiple drawing areas are available on devices that either have a backing store or can generate additional drawing areas using the routine gOpenAuxDrawingArea(). Both the source and destination drawing area identifiers must be within the range of available identifiers, the maximum number being obtained through the routine gEnqDeviceState(). Note that the default drawing area for all devices is always 1. If the device has a backing store can you copy a pixel area to any available drawing area, however if copied to an even-number drawing area, the area will not be automatically repaired.
The pixel area to be copied is specified in terms of an origin (
ix,
iy) relative to the top left of the drawing area, and a width and height (
width,
height). The whole area is copied such that the new origin is positioned at the coordinate
ixd,
iyd on the destination drawing area, again relative to the top left corner. If any of the copied area is outside the drawing area limits, it will be clipped by the hardware.
See Also
gCopyPixelArea UsagegOpenAuxDrawingAreagSelectDrawingAreagEnqDeviceState