1485f0483Smrg/************************************************************ 2485f0483Smrg 3485f0483SmrgCopyright 1989, 1998 The Open Group 4485f0483Smrg 5485f0483SmrgPermission to use, copy, modify, distribute, and sell this software and its 6485f0483Smrgdocumentation for any purpose is hereby granted without fee, provided that 7485f0483Smrgthe above copyright notice appear in all copies and that both that 8485f0483Smrgcopyright notice and this permission notice appear in supporting 9485f0483Smrgdocumentation. 10485f0483Smrg 11485f0483SmrgThe above copyright notice and this permission notice shall be included in 12485f0483Smrgall copies or substantial portions of the Software. 13485f0483Smrg 14485f0483SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15485f0483SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16485f0483SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17485f0483SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18485f0483SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19485f0483SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20485f0483Smrg 21485f0483SmrgExcept as contained in this notice, the name of The Open Group shall not be 22485f0483Smrgused in advertising or otherwise to promote the sale, use or other dealings 23485f0483Smrgin this Software without prior written authorization from The Open Group. 24485f0483Smrg 25485f0483Smrg********************************************************/ 26485f0483Smrg 27485f0483Smrg#ifndef _SHAPE_H_ 28485f0483Smrg#define _SHAPE_H_ 29485f0483Smrg 30485f0483Smrg#include <X11/Xfuncproto.h> 31485f0483Smrg#include <X11/extensions/shapeconst.h> 32485f0483Smrg 33485f0483Smrg#ifndef _SHAPE_SERVER_ 34485f0483Smrg#include <X11/Xutil.h> 35485f0483Smrg 36485f0483Smrgtypedef struct { 37485f0483Smrg int type; /* of event */ 38485f0483Smrg unsigned long serial; /* # of last request processed by server */ 390760f5d2Smrg Bool send_event; /* true if this came from a SendEvent request */ 40485f0483Smrg Display *display; /* Display the event was read from */ 41485f0483Smrg Window window; /* window of event */ 42485f0483Smrg int kind; /* ShapeBounding or ShapeClip */ 43485f0483Smrg int x, y; /* extents of new region */ 44485f0483Smrg unsigned width, height; 45485f0483Smrg Time time; /* server timestamp when region changed */ 46485f0483Smrg Bool shaped; /* true if the region exists */ 47485f0483Smrg} XShapeEvent; 48485f0483Smrg 49485f0483Smrg_XFUNCPROTOBEGIN 50485f0483Smrg 51485f0483Smrgextern Bool XShapeQueryExtension ( 52485f0483Smrg Display* /* display */, 53485f0483Smrg int* /* event_base */, 54485f0483Smrg int* /* error_base */ 55485f0483Smrg); 56485f0483Smrg 57485f0483Smrgextern Status XShapeQueryVersion ( 58485f0483Smrg Display* /* display */, 59485f0483Smrg int* /* major_version */, 60485f0483Smrg int* /* minor_version */ 61485f0483Smrg); 62485f0483Smrg 63485f0483Smrgextern void XShapeCombineRegion ( 64485f0483Smrg Display* /* display */, 65485f0483Smrg Window /* dest */, 66485f0483Smrg int /* dest_kind */, 67485f0483Smrg int /* x_off */, 68485f0483Smrg int /* y_off */, 69485f0483Smrg Region /* region */, 70485f0483Smrg int /* op */ 71485f0483Smrg); 72485f0483Smrg 73485f0483Smrgextern void XShapeCombineRectangles ( 74485f0483Smrg Display* /* display */, 75485f0483Smrg Window /* dest */, 76485f0483Smrg int /* dest_kind */, 77485f0483Smrg int /* x_off */, 78485f0483Smrg int /* y_off */, 79485f0483Smrg XRectangle* /* rectangles */, 80485f0483Smrg int /* n_rects */, 81485f0483Smrg int /* op */, 82485f0483Smrg int /* ordering */ 83485f0483Smrg); 84485f0483Smrg 85485f0483Smrgextern void XShapeCombineMask ( 86485f0483Smrg Display* /* display */, 87485f0483Smrg Window /* dest */, 88485f0483Smrg int /* dest_kind */, 89485f0483Smrg int /* x_off */, 90485f0483Smrg int /* y_off */, 91485f0483Smrg Pixmap /* src */, 92485f0483Smrg int /* op */ 93485f0483Smrg); 94485f0483Smrg 95485f0483Smrgextern void XShapeCombineShape ( 96485f0483Smrg Display* /* display */, 97485f0483Smrg Window /* dest */, 98485f0483Smrg int /* dest_kind */, 99485f0483Smrg int /* x_off */, 100485f0483Smrg int /* y_off */, 101485f0483Smrg Window /* src */, 102485f0483Smrg int /* src_kind */, 103485f0483Smrg int /* op */ 104485f0483Smrg); 105485f0483Smrg 106485f0483Smrgextern void XShapeOffsetShape ( 107485f0483Smrg Display* /* display */, 108485f0483Smrg Window /* dest */, 109485f0483Smrg int /* dest_kind */, 110485f0483Smrg int /* x_off */, 111485f0483Smrg int /* y_off */ 112485f0483Smrg); 113485f0483Smrg 114485f0483Smrgextern Status XShapeQueryExtents ( 115485f0483Smrg Display* /* display */, 116485f0483Smrg Window /* window */, 117485f0483Smrg Bool* /* bounding_shaped */, 118485f0483Smrg int* /* x_bounding */, 119485f0483Smrg int* /* y_bounding */, 120485f0483Smrg unsigned int* /* w_bounding */, 121485f0483Smrg unsigned int* /* h_bounding */, 122485f0483Smrg Bool* /* clip_shaped */, 123485f0483Smrg int* /* x_clip */, 124485f0483Smrg int* /* y_clip */, 125485f0483Smrg unsigned int* /* w_clip */, 126485f0483Smrg unsigned int* /* h_clip */ 127485f0483Smrg); 128485f0483Smrg 129485f0483Smrgextern void XShapeSelectInput ( 130485f0483Smrg Display* /* display */, 131485f0483Smrg Window /* window */, 132485f0483Smrg unsigned long /* mask */ 133485f0483Smrg); 134485f0483Smrg 135485f0483Smrgextern unsigned long XShapeInputSelected ( 136485f0483Smrg Display* /* display */, 137485f0483Smrg Window /* window */ 138485f0483Smrg); 139485f0483Smrg 140485f0483Smrgextern XRectangle *XShapeGetRectangles ( 141485f0483Smrg Display* /* display */, 142485f0483Smrg Window /* window */, 143485f0483Smrg int /* kind */, 144485f0483Smrg int* /* count */, 145485f0483Smrg int* /* ordering */ 146485f0483Smrg); 147485f0483Smrg 148485f0483Smrg_XFUNCPROTOEND 149485f0483Smrg 150485f0483Smrg#endif /* !_SHAPE_SERVER_ */ 151485f0483Smrg 152485f0483Smrg#endif /* _SHAPE_H_ */ 153