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. |