XSetClipOrigin, XSetClipMask, XSetClipRectangles - GC con-
       venience routines


SYNTAX

       XSetClipOrigin(display, gc, clip_x_origin, clip_y_origin)
             Display *display;
             GC gc;
             int clip_x_origin, clip_y_origin;

       XSetClipMask(display, gc, pixmap)
             Display *display;
             GC gc;
             Pixmap pixmap;

       XSetClipRectangles(display, gc, clip_x_origin,
       clip_y_origin, rectangles, n, ordering)
             Display *display;
             GC gc;
             int clip_x_origin, clip_y_origin;
             XRectangle rectangles[];
             int n;
             int ordering;


ARGUMENTS

       display   Specifies the connection to the X server.

       clip_x_origin
       clip_y_origin
                 Specify the x and y coordinates of the clip-mask
                 origin.

       gc        Specifies the GC.

       n         Specifies the number of rectangles.

       ordering  Specifies the ordering relations on the rectan-
                 gles.  You can pass Unsorted, YSorted, YXSorted,
                 or YXBanded.

       pixmap    Specifies the pixmap or None.

       rectangles
                 Specifies an array of rectangles that define the
                 clip-mask.


DESCRIPTION

       The XSetClipOrigin function sets the clip origin in the
       specified GC.  The clip-mask origin is interpreted rela-
       tive to the origin of whatever destination drawable is
       specified in the graphics request.

       XSetClipOrigin can generate BadAlloc and BadGC errors.
       drawable is specified in a graphics request.  The rectan-
       gle coordinates are interpreted relative to the clip-ori-
       gin.  The rectangles should be nonintersecting, or the
       graphics results will be undefined.  Note that the list of
       rectangles can be empty, which effectively disables out-
       put.  This is the opposite of passing None as the clip-
       mask in XCreateGC, XChangeGC, and XSetClipMask.

       If known by the client, ordering relations on the rectan-
       gles can be specified with the ordering argument.  This
       may provide faster operation by the server.  If an incor-
       rect ordering is specified, the X server may generate a
       BadMatch error, but it is not required to do so.  If no
       error is generated, the graphics results are undefined.
       Unsorted means the rectangles are in arbitrary order.
       YSorted means that the rectangles are nondecreasing in
       their Y origin.  YXSorted additionally constrains YSorted
       order in that all rectangles with an equal Y origin are
       nondecreasing in their X origin.  YXBanded additionally
       constrains YXSorted by requiring that, for every possible
       Y scanline, all rectangles that include that scanline have
       an identical Y origins and Y extents.

       XSetClipRectangles can generate BadAlloc, BadGC, BadMatch,
       and BadValue errors.


DIAGNOSTICS

       BadAlloc  The server failed to allocate the requested
                 resource or server memory.

       BadGC     A value for a GContext argument does not name a
                 defined GContext.

       BadMatch  Some argument or pair of arguments has the cor-
                 rect 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 spe-
                 cific 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

       XCreateGC(3X11), XDrawRectangle(3X11), XQueryBest-
       Size(3X11), XSetArcMode(3X11), XSetFillStyle(3X11), XSet-
       Font(3X11), XSetLineAttributes(3X11), XSetState(3X11),
       XSetTile(3X11)
       Xlib - C Language X Interface