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;
|display||Specifies the connection to the X server.|
|src dest||Specify the source and destination rectangles to be combined.|
|gc||Specifies the GC.|
|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.|
|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.|
|plane||Specifies the bit plane. You must set exactly one bit to 1.|
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.
|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.|