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);


   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.

   dest      Specify the source and destination rectangles to be combined.

   src_y     Specify the x and y coordinates, which are relative to the
             origin of the source rectangle and specify its upper-left

   height    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

   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


             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

   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

   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.


   Xlib - C Language X Interface


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.