XCopyArea(3X) XCopyArea(3X)
NAME
XCopyArea, XCopyPlane - copy areas
SYNOPSIS
XCopyArea(display, src, dest, gc, src_x, src_y, width,
height, dest_x, dest_y)
Display *display;
Drawable src, dest;
GC gc;
int src_x, src_y;
unsigned int width, height;
int dest_x, dest_y;
XCopyPlane(display, src, dest, gc, src_x, src_y, width,
height, dest_x, dest_y, plane)
Display *display;
Drawable src, dest;
GC gc;
int src_x, src_y;
unsigned int width, height;
int dest_x, 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
- 1 -
XCopyArea(3X) XCopyArea(3X)
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 values of planes must
be less than %2 sup n%, where n is the depth of scr, 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
potocol 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.
- 2 -
XCopyArea(3X) XCopyArea(3X)
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(3X11)
Xlib - C Language X Interface
- 3 -