XCopyArea, XCopyPlane − copy areas


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, int height, int dest_x, int dest_y, unsigned long plane);




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


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.



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


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


Xlib − C Language X Interface

More Linux Commands

gnutls_x509_crq_get_key_purpose_oid(3) - API function.......
gnutls_x509_crq_get_key_purpose_oid.3 - This function will extract the key purpose OIDs of the Certificate specified by the given index. These are stored in the

mkfontscale(1) - create an index of scalable font files for
For each directory argument, mkfontscale reads all of the scalable font files in the directory. For every font file found, an X11 font name (XLFD) is generated,

setrpcent(3) - get RPC entry (Library - Linux man page).....
setrpcent.3 - The getrpcent(), getrpcbyname(), and getrpcbynumber() functions each return a pointer to an object with the following structure containing the bro

cargl(3) - calculate the complex argument - Linux man page
A complex number can be described by two real coordinates. One may use rectangular coordinates and gets z = x + I * y where x = creal(z) and y = cimag(z). Or on

XtInitialize(3) - initialize (Library - Linux man page).....
XtInitialize calls XtToolkitInitialize followed by XtOpenDisplay with display_string NULL and application_name NULL, and finally calls XtAppCreateShell with app

gpg(1) - OpenPGP encryption and signing tool (Man Page).....
gpg2 is the OpenPGP part of the GNU Privacy Guard (GnuPG). It is a tool to provide digital encryption and signing services using the OpenPGP standard. gpg2 feat

pano_modify(1) - Change output parameters of project file...
pano_modify modifies a single Hugin .pto project. OPTIONS -o, --output=file.pto Output Hugin PTO file. Default: <filename>_mod.pto -p, --projection=NUMBER Sets

XtVaCreatePopupShell(3) - create a popup shell (Man Page)...
The XtCreatePopupShell function ensures that the specified class is a subclass of Shell and, rather than using insert_child to attach the widget to the parents

gnutls_certificate_set_dh_params(3) - API function (ManPage)
This function will set the Diffie-Hellman parameters for a certificate server to use. These parameters will be used in Ephemeral Diffie-Hellman cipher suites. N

_tracechtype(3ncurses) - curses debugging routines (ManPage)
The trace routines are used for debugging the ncurses libraries, as well as applications which use the ncurses libraries. These functions are normally available

current_item(3menu) - set and get current_menu_item.........
The function set_current_item sets the current item (the item on which the menu cursor is positioned). current_item returns a pointer to the current item in the

This allows setting a preferred key id for the given certificate. This key will be used by functions that involve key handling. RETURNS On success, 0 is returne

We can't live, work or learn in freedom unless the software we use is free.