Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  XPutImage(3X11)     X Version 11 (Release 4)      XPutImage(3X11)



  NAME
       XPutImage, XGetImage, XGetSubImage - transfer images

  SYNTAX
       XPutImage(display, d, gc, image, src_x, src_y, dest_x,
       dest_y, width, height)
               Display *display;
               Drawable d;
               GC gc;
               XImage *image;
               int src_x, src_y;
               int dest_x, dest_y;
               unsigned int width, height;

       XImage *XGetImage(display, d, x, y, width, height,
       plane_mask, format)
               Display *display;
               Drawable d;
               int x, y;
               unsigned int width, height;
               unsigned long plane_mask;
               int format;

       XImage *XGetSubImage(display, d, x, y, width, height,
       plane_mask, format, dest_image, dest_x,
                            dest_y)
             Display *display;
             Drawable d;
             int x, y;
             unsigned int width, height;
             unsigned long plane_mask;
             int format;
             XImage *dest_image;
             int dest_x, dest_y;

  ARGUMENTS
       d         Specifies the drawable.

       dest_image
                 Specify the destination image.


  Page 1                                          (printed 8/30/91)


















  XPutImage(3X11)     X Version 11 (Release 4)      XPutImage(3X11)



       dest_x
       dest_y    Specify the x and y coordinates, which are
                 relative to the origin of the drawable and are the
                 coordinates of the subimage or which are relative
                 to the origin of the destination rectangle,
                 specify its upper-left corner, and determine where
                 the subimage is placed in the destination image.

       display   Specifies the connection to the X server.

       format    Specifies the format for the image.  You can pass
                 XYBitmap, XYPixmap, or ZPixmap.

       gc        Specifies the GC.

       image     Specifies the image you want combined with the
                 rectangle.

       plane_mask
                 Specifies the plane mask.

       src_x     Specifies the offset in X from the left edge of
                 the image defined by the XImage data structure.

       src_y     Specifies the offset in Y from the top edge of the
                 image defined by the XImage data structure.

       width
       height    Specify the width and height of the subimage,
                 which define the dimensions of the rectangle.

       x
       y         Specify the x and y coordinates, which are
                 relative to the origin of the drawable and define
                 the upper-left corner of the rectangle.

  DESCRIPTION
       The XPutImage function combines an image in memory with a
       rectangle of the specified drawable.  If XYBitmap format is
       used, the depth must be one, or a BadMatch error results.


  Page 2                                          (printed 8/30/91)


















  XPutImage(3X11)     X Version 11 (Release 4)      XPutImage(3X11)



       The foreground pixel in the GC defines the source for the
       one bits in the image, and the background pixel defines the
       source for the zero bits.  For XYPixmap and ZPixmap, the
       depth must match the depth of the drawable, or a BadMatch
       error results.  The section of the image defined by the
       src_x, src_y, width, and height arguments is drawn on the
       specified part of the drawable.

       This function uses these GC components: function, plane-
       mask, subwindow-mode, clip-x-origin, clip-y-origin, and
       clip-mask.  It also uses these GC mode-dependent components:
       foreground and background.

       XPutImage can generate BadDrawable, BadGC, BadMatch, and
       BadValue errors.

       The XGetImage function returns a pointer to an XImage
       structure.  This structure provides you with the contents of
       the specified rectangle of the drawable in the format you
       specify.  If the format argument is XYPixmap, the image
       contains only the bit planes you passed to the plane_mask
       argument.  If the plane_mask argument only requests a subset
       of the planes of the display, the depth of the returned
       image will be the number of planes requested.  If the format
       argument is ZPixmap, XGetImage returns as zero the bits in
       all planes not specified in the plane_mask argument.  The
       function performs no range checking on the values in
       plane_mask and ignores extraneous bits.

       XGetImage returns the depth of the image to the depth member
       of the XImage structure.  The depth of the image is as
       specified when the drawable was created, except when getting
       a subset of the planes in XYPixmap format, when the depth is
       given by the number of bits set to 1 in plane_mask.

       If the drawable is a pixmap, the given rectangle must be
       wholly contained within the pixmap, or a BadMatch error
       results.  If the drawable is a window, the window must be
       viewable, and it must be the case that if there were no
       inferiors or overlapping windows, the specified rectangle of


  Page 3                                          (printed 8/30/91)



















  XPutImage(3X11)     X Version 11 (Release 4)      XPutImage(3X11)



       the window would be fully visible on the screen and wholly
       contained within the outside edges of the window, or a
       BadMatch error results.  Note that the borders of the window
       can be included and read with this request.  If the window
       has backing-store, the backing-store contents are returned
       for regions of the window that are obscured by noninferior
       windows. If the window does not have backing-store, the
       returned contents of such obscured regions are undefined.
       The returned contents of visible regions of inferiors of a
       different depth than the specified window's depth are also
       undefined.  The pointer cursor image is not included in the
       returned contents.  If a problem occurs, XGetImage returns
       NULL.

       XGetImage can generate BadDrawable, BadMatch, and BadValue
       errors.

       The XGetSubImage function updates dest_image with the
       specified subimage in the same manner as XGetImage.  If the
       format argument is XYPixmap, the image contains only the bit
       planes you passed to the plane_mask argument.  If the format
       argument is ZPixmap, XGetSubImage returns as zero the bits
       in all planes not specified in the plane_mask argument.  The
       function performs no range checking on the values in
       plane_mask and ignores extraneous bits.  As a convenience,
       XGetSubImage returns a pointer to the same XImage structure
       specified by dest_image.

       The depth of the destination XImage structure must be the
       same as that of the drawable.  If the specified subimage
       does not fit at the specified location on the destination
       image, the right and bottom edges are clipped.  If the
       drawable is a pixmap, the given rectangle must be wholly
       contained within the pixmap, or a BadMatch error results.
       If the drawable is a window, the window must be viewable,
       and it must be the case that if there were no inferiors or
       overlapping windows, the specified rectangle of the window
       would be fully visible on the screen and wholly contained
       within the outside edges of the window, or a BadMatch error
       results.  If the window has backing-store, then the


  Page 4                                          (printed 8/30/91)



















  XPutImage(3X11)     X Version 11 (Release 4)      XPutImage(3X11)


       backing-store contents are returned for regions of the
       window that are obscured by noninferior windows. If the
       window does not have backing-store, the returned contents of
       such obscured regions are undefined.  The returned contents
       of visible regions of inferiors of a different depth than
       the specified window's depth are also undefined.  If a
       problem occurs, XGetSubImage returns NULL.

       XGetSubImage can generate BadDrawable, BadGC, BadMatch, and
       BadValue errors.

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

  SEE ALSO
       Xlib - C Language X Interface








Page 5 (printed 8/30/91)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026