jpayne@69: /************************************************************ jpayne@69: jpayne@69: Copyright 1989, 1998 The Open Group jpayne@69: jpayne@69: Permission to use, copy, modify, distribute, and sell this software and its jpayne@69: documentation for any purpose is hereby granted without fee, provided that jpayne@69: the above copyright notice appear in all copies and that both that jpayne@69: copyright notice and this permission notice appear in supporting jpayne@69: documentation. jpayne@69: jpayne@69: The above copyright notice and this permission notice shall be included in jpayne@69: all copies or substantial portions of the Software. jpayne@69: jpayne@69: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR jpayne@69: IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, jpayne@69: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE jpayne@69: OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN jpayne@69: AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN jpayne@69: CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. jpayne@69: jpayne@69: Except as contained in this notice, the name of The Open Group shall not be jpayne@69: used in advertising or otherwise to promote the sale, use or other dealings jpayne@69: in this Software without prior written authorization from The Open Group. jpayne@69: jpayne@69: ********************************************************/ jpayne@69: jpayne@69: #ifndef _SHAPE_H_ jpayne@69: #define _SHAPE_H_ jpayne@69: jpayne@69: #include jpayne@69: #include jpayne@69: jpayne@69: #ifndef _SHAPE_SERVER_ jpayne@69: #include jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* of event */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* window of event */ jpayne@69: int kind; /* ShapeBounding or ShapeClip */ jpayne@69: int x, y; /* extents of new region */ jpayne@69: unsigned width, height; jpayne@69: Time time; /* server timestamp when region changed */ jpayne@69: Bool shaped; /* true if the region exists */ jpayne@69: } XShapeEvent; jpayne@69: jpayne@69: _XFUNCPROTOBEGIN jpayne@69: jpayne@69: extern Bool XShapeQueryExtension ( jpayne@69: Display* /* display */, jpayne@69: int* /* event_base */, jpayne@69: int* /* error_base */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XShapeQueryVersion ( jpayne@69: Display* /* display */, jpayne@69: int* /* major_version */, jpayne@69: int* /* minor_version */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeCombineRegion ( jpayne@69: Display* /* display */, jpayne@69: Window /* dest */, jpayne@69: int /* dest_kind */, jpayne@69: int /* x_off */, jpayne@69: int /* y_off */, jpayne@69: Region /* region */, jpayne@69: int /* op */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeCombineRectangles ( jpayne@69: Display* /* display */, jpayne@69: Window /* dest */, jpayne@69: int /* dest_kind */, jpayne@69: int /* x_off */, jpayne@69: int /* y_off */, jpayne@69: XRectangle* /* rectangles */, jpayne@69: int /* n_rects */, jpayne@69: int /* op */, jpayne@69: int /* ordering */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeCombineMask ( jpayne@69: Display* /* display */, jpayne@69: Window /* dest */, jpayne@69: int /* dest_kind */, jpayne@69: int /* x_off */, jpayne@69: int /* y_off */, jpayne@69: Pixmap /* src */, jpayne@69: int /* op */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeCombineShape ( jpayne@69: Display* /* display */, jpayne@69: Window /* dest */, jpayne@69: int /* dest_kind */, jpayne@69: int /* x_off */, jpayne@69: int /* y_off */, jpayne@69: Window /* src */, jpayne@69: int /* src_kind */, jpayne@69: int /* op */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeOffsetShape ( jpayne@69: Display* /* display */, jpayne@69: Window /* dest */, jpayne@69: int /* dest_kind */, jpayne@69: int /* x_off */, jpayne@69: int /* y_off */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XShapeQueryExtents ( jpayne@69: Display* /* display */, jpayne@69: Window /* window */, jpayne@69: Bool* /* bounding_shaped */, jpayne@69: int* /* x_bounding */, jpayne@69: int* /* y_bounding */, jpayne@69: unsigned int* /* w_bounding */, jpayne@69: unsigned int* /* h_bounding */, jpayne@69: Bool* /* clip_shaped */, jpayne@69: int* /* x_clip */, jpayne@69: int* /* y_clip */, jpayne@69: unsigned int* /* w_clip */, jpayne@69: unsigned int* /* h_clip */ jpayne@69: ); jpayne@69: jpayne@69: extern void XShapeSelectInput ( jpayne@69: Display* /* display */, jpayne@69: Window /* window */, jpayne@69: unsigned long /* mask */ jpayne@69: ); jpayne@69: jpayne@69: extern unsigned long XShapeInputSelected ( jpayne@69: Display* /* display */, jpayne@69: Window /* window */ jpayne@69: ); jpayne@69: jpayne@69: extern XRectangle *XShapeGetRectangles ( jpayne@69: Display* /* display */, jpayne@69: Window /* window */, jpayne@69: int /* kind */, jpayne@69: int* /* count */, jpayne@69: int* /* ordering */ jpayne@69: ); jpayne@69: jpayne@69: _XFUNCPROTOEND jpayne@69: jpayne@69: #endif /* !_SHAPE_SERVER_ */ jpayne@69: jpayne@69: #endif /* _SHAPE_H_ */