XCopyArea(3) XLIB FUNCTIONS XCopyArea(3)
NAME
XCopyArea, XCopyPlane - copy areas
SYNTAX
int XCopyArea(Display *
display, Drawable
src, Drawable
dest, GC
gc,
int
src_x, int
src_y, unsigned int
width, unsigned
height, int
dest_x, int
dest_y);
int XCopyPlane(Display *
display, Drawable
src, Drawable
dest, GC
gc,
int
src_x, int
src_y, unsigned
width, unsigned
height, int
dest_x, int
dest_y, unsigned long
plane);
ARGUMENTS
dest_x dest_y Specify the x and y coordinates, which are relative to the
origin of the destination rectangle and specify its upper-
left corner.
display Specifies the connection to the X server.
gc Specifies the GC.
plane Specifies the bit plane. You must set exactly one bit to
1.
src dest Specify the source and destination rectangles to be
combined.
src_x src_y Specify the x and y coordinates, which are relative to the
origin of the source rectangle and specify its upper-left
corner.
width height Specify the width and height, which are the dimensions of
both the source and destination rectangles.
DESCRIPTION
The
XCopyArea function combines the specified rectangle of src with
the specified rectangle of dest. The drawables must have the same
root and depth, or a
BadMatch error results.
If regions of the source rectangle are obscured and have not been
retained in backing store or if regions outside the boundaries of the
source drawable are specified, those regions are not copied.
Instead, the following occurs on all corresponding destination
regions that are either visible or are retained in backing store. If
the destination is a window with a background other than
None,
corresponding regions of the destination are tiled with that
background (with plane-mask of all ones and
GXcopy function).
Regardless of tiling or whether the destination is a window or a
pixmap, if graphics-exposures is
True, then
GraphicsExpose events for
all corresponding destination regions are generated. If graphics-
exposures is
True but no
GraphicsExpose events are generated, a
NoExpose event is generated. Note that by default graphics-exposures
is
True in new GCs.
This function uses these GC components: function, plane-mask,
subwindow-mode, graphics-exposures, clip-x-origin, clip-y-origin, and
clip-mask.
XCopyArea can generate
BadDrawable,
BadGC, and
BadMatch errors.
The
XCopyPlane function uses a single bit plane of the specified
source rectangle combined with the specified GC to modify the
specified rectangle of dest. The drawables must have the same root
but need not have the same depth. If the drawables do not have the
same root, a
BadMatch error results. If plane does not have exactly
one bit set to 1 and the value of plane is not less than %2 sup n%,
where
n is the depth of src, a
BadValue error results.
Effectively,
XCopyPlane forms a pixmap of the same depth as the
rectangle of dest and with a size specified by the source region. It
uses the foreground/background pixels in the GC (foreground
everywhere the bit plane in src contains a bit set to 1, background
everywhere the bit plane in src contains a bit set to 0) and the
equivalent of a
CopyArea protocol request is performed with all the
same exposure semantics. This can also be thought of as using the
specified region of the source bit plane as a stipple with a fill-
style of
FillOpaqueStippled for filling a rectangular area of the
destination.
This function uses these GC components: function, plane-mask,
foreground, background, subwindow-mode, graphics-exposures, clip-x-
origin, clip-y-origin, and clip-mask.
XCopyPlane can generate
BadDrawable,
BadGC,
BadMatch, and
BadValue errors.
DIAGNOSTICS
BadDrawable A value for a Drawable argument does not name a defined
Window or Pixmap.
BadGC A value for a GContext argument does not name a defined
GContext.
BadMatch An
InputOnly window is used as a Drawable.
BadMatch Some argument or pair of arguments has the correct type and
range but fails to match in some other way required by the
request.
BadValue Some numeric value falls outside the range of values
accepted by the request. Unless a specific range is
specified for an argument, the full range defined by the
argument's type is accepted. Any argument defined as a set
of alternatives can generate this error.
SEE ALSO
XClearArea(3) Xlib - C Language X InterfaceX Version 11 libX11 1.8.10 XCopyArea(3)