XCopyArea(3X11)XCopyArea(3X11)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
Specify the x and y coordinates, which are relative to the origin of
the destination rectangle and specify its upper-left corner. Specifies
the connection to the X server. Specifies the GC. Specifies the bit
plane. You must set exactly one bit to 1. Specify the source and des‐
tination rectangles to be combined. Specify the x and y coordinates,
which are relative to the origin of the source rectangle and specify
its upper-left corner. 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 desti‐
nation 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, subwin‐
dow-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 rec‐
tangle 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 rectan‐
gle 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, fore‐
ground, background, subwindow-mode, graphics-exposures, clip-x-origin,
clip-y-origin, and clip-mask.
XCopyPlane can generate BadDrawable, BadGC, BadMatch, and BadValue
errors.
DIAGNOSTICS
A value for a Drawable argument does not name a defined Window or
Pixmap. A value for a GContext argument does not name a defined GCon‐
text. An InputOnly window is used as a Drawable. Some argument or
pair of arguments has the correct type and range but fails to match in
some other way required by the request. Some numeric value falls out‐
side the range of values accepted by the request. Unless a specific
range is specified for an argument, the full range defined by the argu‐
ment's type is accepted. Any argument defined as a set of alternatives
can generate this error.
SEE ALSOXClearArea(3X11)
Xlib -- C Language X Interface
XCopyArea(3X11)