1*4882a593Smuzhiyun /*********************************************************** 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun Copyright 1987, 1998 The Open Group 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun Permission to use, copy, modify, distribute, and sell this software and its 6*4882a593Smuzhiyun documentation for any purpose is hereby granted without fee, provided that 7*4882a593Smuzhiyun the above copyright notice appear in all copies and that both that 8*4882a593Smuzhiyun copyright notice and this permission notice appear in supporting 9*4882a593Smuzhiyun documentation. 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun The above copyright notice and this permission notice shall be included in 12*4882a593Smuzhiyun all copies or substantial portions of the Software. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*4882a593Smuzhiyun IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*4882a593Smuzhiyun FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17*4882a593Smuzhiyun OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18*4882a593Smuzhiyun AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19*4882a593Smuzhiyun CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun Except as contained in this notice, the name of The Open Group shall not be 22*4882a593Smuzhiyun used in advertising or otherwise to promote the sale, use or other dealings 23*4882a593Smuzhiyun in this Software without prior written authorization from The Open Group. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun All Rights Reserved 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun Permission to use, copy, modify, and distribute this software and its 30*4882a593Smuzhiyun documentation for any purpose and without fee is hereby granted, 31*4882a593Smuzhiyun provided that the above copyright notice appear in all copies and that 32*4882a593Smuzhiyun both that copyright notice and this permission notice appear in 33*4882a593Smuzhiyun supporting documentation, and that the name of Digital not be 34*4882a593Smuzhiyun used in advertising or publicity pertaining to distribution of the 35*4882a593Smuzhiyun software without specific, written prior permission. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 38*4882a593Smuzhiyun ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 39*4882a593Smuzhiyun DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 40*4882a593Smuzhiyun ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 41*4882a593Smuzhiyun WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 42*4882a593Smuzhiyun ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 43*4882a593Smuzhiyun SOFTWARE. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun ******************************************************************/ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun #ifndef MI_H 48*4882a593Smuzhiyun #define MI_H 49*4882a593Smuzhiyun #include <X11/X.h> 50*4882a593Smuzhiyun #include "region.h" 51*4882a593Smuzhiyun #include "validate.h" 52*4882a593Smuzhiyun #include "window.h" 53*4882a593Smuzhiyun #include "gc.h" 54*4882a593Smuzhiyun #include <X11/fonts/font.h> 55*4882a593Smuzhiyun #include "input.h" 56*4882a593Smuzhiyun #include "cursor.h" 57*4882a593Smuzhiyun #include "privates.h" 58*4882a593Smuzhiyun #include "colormap.h" 59*4882a593Smuzhiyun #include "events.h" 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun #define MiBits CARD32 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun typedef struct _miDash *miDashPtr; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun #define EVEN_DASH 0 66*4882a593Smuzhiyun #define ODD_DASH ~0 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun /* miarc.c */ 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun extern _X_EXPORT void miWideArc(DrawablePtr pDraw, 71*4882a593Smuzhiyun GCPtr pGC, 72*4882a593Smuzhiyun int narcs, 73*4882a593Smuzhiyun xArc * parcs); 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun extern _X_EXPORT void miPolyArc(DrawablePtr /*pDraw */ , 76*4882a593Smuzhiyun GCPtr /*pGC */ , 77*4882a593Smuzhiyun int /*narcs */ , 78*4882a593Smuzhiyun xArc * /*parcs */ 79*4882a593Smuzhiyun ); 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun /* mibitblt.c */ 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun extern _X_EXPORT RegionPtr miCopyArea(DrawablePtr /*pSrcDrawable */ , 84*4882a593Smuzhiyun DrawablePtr /*pDstDrawable */ , 85*4882a593Smuzhiyun GCPtr /*pGC */ , 86*4882a593Smuzhiyun int /*xIn */ , 87*4882a593Smuzhiyun int /*yIn */ , 88*4882a593Smuzhiyun int /*widthSrc */ , 89*4882a593Smuzhiyun int /*heightSrc */ , 90*4882a593Smuzhiyun int /*xOut */ , 91*4882a593Smuzhiyun int /*yOut */ 92*4882a593Smuzhiyun ); 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun extern _X_EXPORT RegionPtr miCopyPlane(DrawablePtr /*pSrcDrawable */ , 95*4882a593Smuzhiyun DrawablePtr /*pDstDrawable */ , 96*4882a593Smuzhiyun GCPtr /*pGC */ , 97*4882a593Smuzhiyun int /*srcx */ , 98*4882a593Smuzhiyun int /*srcy */ , 99*4882a593Smuzhiyun int /*width */ , 100*4882a593Smuzhiyun int /*height */ , 101*4882a593Smuzhiyun int /*dstx */ , 102*4882a593Smuzhiyun int /*dsty */ , 103*4882a593Smuzhiyun unsigned long /*bitPlane */ 104*4882a593Smuzhiyun ); 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun extern _X_EXPORT void miGetImage(DrawablePtr /*pDraw */ , 107*4882a593Smuzhiyun int /*sx */ , 108*4882a593Smuzhiyun int /*sy */ , 109*4882a593Smuzhiyun int /*w */ , 110*4882a593Smuzhiyun int /*h */ , 111*4882a593Smuzhiyun unsigned int /*format */ , 112*4882a593Smuzhiyun unsigned long /*planeMask */ , 113*4882a593Smuzhiyun char * /*pdstLine */ 114*4882a593Smuzhiyun ); 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun extern _X_EXPORT void miPutImage(DrawablePtr /*pDraw */ , 117*4882a593Smuzhiyun GCPtr /*pGC */ , 118*4882a593Smuzhiyun int /*depth */ , 119*4882a593Smuzhiyun int /*x */ , 120*4882a593Smuzhiyun int /*y */ , 121*4882a593Smuzhiyun int /*w */ , 122*4882a593Smuzhiyun int /*h */ , 123*4882a593Smuzhiyun int /*leftPad */ , 124*4882a593Smuzhiyun int /*format */ , 125*4882a593Smuzhiyun char * /*pImage */ 126*4882a593Smuzhiyun ); 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun /* micopy.c */ 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun #define miGetCompositeClip(pGC) ((pGC)->pCompositeClip) 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun typedef void (*miCopyProc) (DrawablePtr pSrcDrawable, 133*4882a593Smuzhiyun DrawablePtr pDstDrawable, 134*4882a593Smuzhiyun GCPtr pGC, 135*4882a593Smuzhiyun BoxPtr pDstBox, 136*4882a593Smuzhiyun int nbox, 137*4882a593Smuzhiyun int dx, 138*4882a593Smuzhiyun int dy, 139*4882a593Smuzhiyun Bool reverse, 140*4882a593Smuzhiyun Bool upsidedown, Pixel bitplane, void *closure); 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun extern _X_EXPORT void 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun miCopyRegion(DrawablePtr pSrcDrawable, 145*4882a593Smuzhiyun DrawablePtr pDstDrawable, 146*4882a593Smuzhiyun GCPtr pGC, 147*4882a593Smuzhiyun RegionPtr pDstRegion, 148*4882a593Smuzhiyun int dx, 149*4882a593Smuzhiyun int dy, miCopyProc copyProc, Pixel bitPlane, void *closure); 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun extern _X_EXPORT RegionPtr 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun miDoCopy(DrawablePtr pSrcDrawable, 154*4882a593Smuzhiyun DrawablePtr pDstDrawable, 155*4882a593Smuzhiyun GCPtr pGC, 156*4882a593Smuzhiyun int xIn, 157*4882a593Smuzhiyun int yIn, 158*4882a593Smuzhiyun int widthSrc, 159*4882a593Smuzhiyun int heightSrc, 160*4882a593Smuzhiyun int xOut, 161*4882a593Smuzhiyun int yOut, miCopyProc copyProc, Pixel bitplane, void *closure); 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun /* micursor.c */ 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun extern _X_EXPORT void miRecolorCursor(DeviceIntPtr /* pDev */ , 166*4882a593Smuzhiyun ScreenPtr /*pScr */ , 167*4882a593Smuzhiyun CursorPtr /*pCurs */ , 168*4882a593Smuzhiyun Bool /*displayed */ 169*4882a593Smuzhiyun ); 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* midash.c */ 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun extern _X_EXPORT void miStepDash(int /*dist */ , 174*4882a593Smuzhiyun int * /*pDashIndex */ , 175*4882a593Smuzhiyun unsigned char * /*pDash */ , 176*4882a593Smuzhiyun int /*numInDashList */ , 177*4882a593Smuzhiyun int * /*pDashOffset */ 178*4882a593Smuzhiyun ); 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun /* mieq.c */ 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun #ifndef INPUT_H 183*4882a593Smuzhiyun typedef struct _DeviceRec *DevicePtr; 184*4882a593Smuzhiyun #endif 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun extern _X_EXPORT Bool mieqInit(void 187*4882a593Smuzhiyun ); 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun extern _X_EXPORT void mieqFini(void); 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun extern _X_EXPORT void mieqEnqueue(DeviceIntPtr /*pDev */ , 192*4882a593Smuzhiyun InternalEvent * /*e */ 193*4882a593Smuzhiyun ); 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun extern _X_EXPORT void mieqSwitchScreen(DeviceIntPtr /* pDev */ , 196*4882a593Smuzhiyun ScreenPtr /*pScreen */ , 197*4882a593Smuzhiyun Bool /*set_dequeue_screen */ 198*4882a593Smuzhiyun ); 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun extern _X_EXPORT void mieqProcessDeviceEvent(DeviceIntPtr /* dev */ , 201*4882a593Smuzhiyun InternalEvent * /* event */ , 202*4882a593Smuzhiyun ScreenPtr /* screen */ 203*4882a593Smuzhiyun ); 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun extern _X_EXPORT void mieqProcessInputEvents(void 206*4882a593Smuzhiyun ); 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun extern DeviceIntPtr CopyGetMasterEvent(DeviceIntPtr /* sdev */ , 209*4882a593Smuzhiyun InternalEvent * /* original */ , 210*4882a593Smuzhiyun InternalEvent * /* copy */ 211*4882a593Smuzhiyun ); 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun /** 214*4882a593Smuzhiyun * Custom input event handler. If you need to process input events in some 215*4882a593Smuzhiyun * other way than the default path, register an input event handler for the 216*4882a593Smuzhiyun * given internal event type. 217*4882a593Smuzhiyun */ 218*4882a593Smuzhiyun typedef void (*mieqHandler) (int screen, InternalEvent *event, 219*4882a593Smuzhiyun DeviceIntPtr dev); 220*4882a593Smuzhiyun void _X_EXPORT mieqSetHandler(int event, mieqHandler handler); 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun /* miexpose.c */ 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun extern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ , 225*4882a593Smuzhiyun DrawablePtr /*pDstDrawable */ , 226*4882a593Smuzhiyun GCPtr /*pGC */ , 227*4882a593Smuzhiyun int /*srcx */ , 228*4882a593Smuzhiyun int /*srcy */ , 229*4882a593Smuzhiyun int /*width */ , 230*4882a593Smuzhiyun int /*height */ , 231*4882a593Smuzhiyun int /*dstx */ , 232*4882a593Smuzhiyun int /*dsty */ 233*4882a593Smuzhiyun ); 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun extern _X_EXPORT void miSendExposures(WindowPtr /*pWin */ , 236*4882a593Smuzhiyun RegionPtr /*pRgn */ , 237*4882a593Smuzhiyun int /*dx */ , 238*4882a593Smuzhiyun int /*dy */ 239*4882a593Smuzhiyun ); 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun extern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ , 242*4882a593Smuzhiyun RegionPtr /*prgn */); 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun extern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ , 245*4882a593Smuzhiyun RegionPtr /*prgn */ , 246*4882a593Smuzhiyun int /*what */ 247*4882a593Smuzhiyun ); 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun extern _X_EXPORT void miClearDrawable(DrawablePtr /*pDraw */ , 250*4882a593Smuzhiyun GCPtr /*pGC */ 251*4882a593Smuzhiyun ); 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun /* mifillrct.c */ 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun extern _X_EXPORT void miPolyFillRect(DrawablePtr /*pDrawable */ , 256*4882a593Smuzhiyun GCPtr /*pGC */ , 257*4882a593Smuzhiyun int /*nrectFill */ , 258*4882a593Smuzhiyun xRectangle * /*prectInit */ 259*4882a593Smuzhiyun ); 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun /* miglblt.c */ 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun extern _X_EXPORT void miPolyGlyphBlt(DrawablePtr pDrawable, 264*4882a593Smuzhiyun GCPtr pGC, 265*4882a593Smuzhiyun int x, 266*4882a593Smuzhiyun int y, 267*4882a593Smuzhiyun unsigned int nglyph, 268*4882a593Smuzhiyun CharInfoPtr *ppci, 269*4882a593Smuzhiyun void *pglyphBase 270*4882a593Smuzhiyun ); 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun extern _X_EXPORT void miImageGlyphBlt(DrawablePtr pDrawable, 273*4882a593Smuzhiyun GCPtr pGC, 274*4882a593Smuzhiyun int x, 275*4882a593Smuzhiyun int y, 276*4882a593Smuzhiyun unsigned int nglyph, 277*4882a593Smuzhiyun CharInfoPtr *ppci, 278*4882a593Smuzhiyun void *pglyphBase 279*4882a593Smuzhiyun ); 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun /* mipoly.c */ 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun extern _X_EXPORT void miFillPolygon(DrawablePtr /*dst */ , 284*4882a593Smuzhiyun GCPtr /*pgc */ , 285*4882a593Smuzhiyun int /*shape */ , 286*4882a593Smuzhiyun int /*mode */ , 287*4882a593Smuzhiyun int /*count */ , 288*4882a593Smuzhiyun DDXPointPtr /*pPts */ 289*4882a593Smuzhiyun ); 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun /* mipolypnt.c */ 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun extern _X_EXPORT void miPolyPoint(DrawablePtr /*pDrawable */ , 294*4882a593Smuzhiyun GCPtr /*pGC */ , 295*4882a593Smuzhiyun int /*mode */ , 296*4882a593Smuzhiyun int /*npt */ , 297*4882a593Smuzhiyun xPoint * /*pptInit */ 298*4882a593Smuzhiyun ); 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun /* mipolyrect.c */ 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun extern _X_EXPORT void miPolyRectangle(DrawablePtr /*pDraw */ , 303*4882a593Smuzhiyun GCPtr /*pGC */ , 304*4882a593Smuzhiyun int /*nrects */ , 305*4882a593Smuzhiyun xRectangle * /*pRects */ 306*4882a593Smuzhiyun ); 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun /* mipolyseg.c */ 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun extern _X_EXPORT void miPolySegment(DrawablePtr /*pDraw */ , 311*4882a593Smuzhiyun GCPtr /*pGC */ , 312*4882a593Smuzhiyun int /*nseg */ , 313*4882a593Smuzhiyun xSegment * /*pSegs */ 314*4882a593Smuzhiyun ); 315*4882a593Smuzhiyun 316*4882a593Smuzhiyun /* mipolytext.c */ 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun extern _X_EXPORT int miPolyText8(DrawablePtr /*pDraw */ , 319*4882a593Smuzhiyun GCPtr /*pGC */ , 320*4882a593Smuzhiyun int /*x */ , 321*4882a593Smuzhiyun int /*y */ , 322*4882a593Smuzhiyun int /*count */ , 323*4882a593Smuzhiyun char * /*chars */ 324*4882a593Smuzhiyun ); 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun extern _X_EXPORT int miPolyText16(DrawablePtr /*pDraw */ , 327*4882a593Smuzhiyun GCPtr /*pGC */ , 328*4882a593Smuzhiyun int /*x */ , 329*4882a593Smuzhiyun int /*y */ , 330*4882a593Smuzhiyun int /*count */ , 331*4882a593Smuzhiyun unsigned short * /*chars */ 332*4882a593Smuzhiyun ); 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun extern _X_EXPORT void miImageText8(DrawablePtr /*pDraw */ , 335*4882a593Smuzhiyun GCPtr /*pGC */ , 336*4882a593Smuzhiyun int /*x */ , 337*4882a593Smuzhiyun int /*y */ , 338*4882a593Smuzhiyun int /*count */ , 339*4882a593Smuzhiyun char * /*chars */ 340*4882a593Smuzhiyun ); 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun extern _X_EXPORT void miImageText16(DrawablePtr /*pDraw */ , 343*4882a593Smuzhiyun GCPtr /*pGC */ , 344*4882a593Smuzhiyun int /*x */ , 345*4882a593Smuzhiyun int /*y */ , 346*4882a593Smuzhiyun int /*count */ , 347*4882a593Smuzhiyun unsigned short * /*chars */ 348*4882a593Smuzhiyun ); 349*4882a593Smuzhiyun 350*4882a593Smuzhiyun /* mipushpxl.c */ 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun extern _X_EXPORT void miPushPixels(GCPtr /*pGC */ , 353*4882a593Smuzhiyun PixmapPtr /*pBitMap */ , 354*4882a593Smuzhiyun DrawablePtr /*pDrawable */ , 355*4882a593Smuzhiyun int /*dx */ , 356*4882a593Smuzhiyun int /*dy */ , 357*4882a593Smuzhiyun int /*xOrg */ , 358*4882a593Smuzhiyun int /*yOrg */ 359*4882a593Smuzhiyun ); 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun /* miscrinit.c */ 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun extern _X_EXPORT void 364*4882a593Smuzhiyun miSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h, 365*4882a593Smuzhiyun unsigned int subWindowMode); 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun extern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr pPixmap, 368*4882a593Smuzhiyun int width, 369*4882a593Smuzhiyun int height, 370*4882a593Smuzhiyun int depth, 371*4882a593Smuzhiyun int bitsPerPixel, 372*4882a593Smuzhiyun int devKind, 373*4882a593Smuzhiyun void *pPixData 374*4882a593Smuzhiyun ); 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun extern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */ 377*4882a593Smuzhiyun ); 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun extern _X_EXPORT Bool miScreenDevPrivateInit(ScreenPtr pScreen, 380*4882a593Smuzhiyun int width, 381*4882a593Smuzhiyun void *pbits 382*4882a593Smuzhiyun ); 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun extern _X_EXPORT Bool miScreenInit(ScreenPtr pScreen, 385*4882a593Smuzhiyun void *pbits, 386*4882a593Smuzhiyun int xsize, 387*4882a593Smuzhiyun int ysize, 388*4882a593Smuzhiyun int dpix, 389*4882a593Smuzhiyun int dpiy, 390*4882a593Smuzhiyun int width, 391*4882a593Smuzhiyun int rootDepth, 392*4882a593Smuzhiyun int numDepths, 393*4882a593Smuzhiyun DepthPtr depths, 394*4882a593Smuzhiyun VisualID rootVisual, 395*4882a593Smuzhiyun int numVisuals, 396*4882a593Smuzhiyun VisualPtr visuals 397*4882a593Smuzhiyun ); 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun /* mivaltree.c */ 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun extern _X_EXPORT int miShapedWindowIn(RegionPtr /*universe */ , 402*4882a593Smuzhiyun RegionPtr /*bounding */ , 403*4882a593Smuzhiyun BoxPtr /*rect */ , 404*4882a593Smuzhiyun int /*x */ , 405*4882a593Smuzhiyun int /*y */ 406*4882a593Smuzhiyun ); 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun extern _X_EXPORT int miValidateTree(WindowPtr /*pParent */ , 409*4882a593Smuzhiyun WindowPtr /*pChild */ , 410*4882a593Smuzhiyun VTKind /*kind */ 411*4882a593Smuzhiyun ); 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun extern _X_EXPORT void miWideLine(DrawablePtr /*pDrawable */ , 414*4882a593Smuzhiyun GCPtr /*pGC */ , 415*4882a593Smuzhiyun int /*mode */ , 416*4882a593Smuzhiyun int /*npt */ , 417*4882a593Smuzhiyun DDXPointPtr /*pPts */ 418*4882a593Smuzhiyun ); 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun extern _X_EXPORT void miWideDash(DrawablePtr /*pDrawable */ , 421*4882a593Smuzhiyun GCPtr /*pGC */ , 422*4882a593Smuzhiyun int /*mode */ , 423*4882a593Smuzhiyun int /*npt */ , 424*4882a593Smuzhiyun DDXPointPtr /*pPts */ 425*4882a593Smuzhiyun ); 426*4882a593Smuzhiyun 427*4882a593Smuzhiyun extern _X_EXPORT void miPolylines(DrawablePtr pDrawable, 428*4882a593Smuzhiyun GCPtr pGC, 429*4882a593Smuzhiyun int mode, 430*4882a593Smuzhiyun int npt, 431*4882a593Smuzhiyun DDXPointPtr pPts); 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun /* miwindow.c */ 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun extern _X_EXPORT void miClearToBackground(WindowPtr /*pWin */ , 436*4882a593Smuzhiyun int /*x */ , 437*4882a593Smuzhiyun int /*y */ , 438*4882a593Smuzhiyun int /*w */ , 439*4882a593Smuzhiyun int /*h */ , 440*4882a593Smuzhiyun Bool /*generateExposures */ 441*4882a593Smuzhiyun ); 442*4882a593Smuzhiyun 443*4882a593Smuzhiyun extern _X_EXPORT void miMarkWindow(WindowPtr /*pWin */ 444*4882a593Smuzhiyun ); 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun extern _X_EXPORT Bool miMarkOverlappedWindows(WindowPtr /*pWin */ , 447*4882a593Smuzhiyun WindowPtr /*pFirst */ , 448*4882a593Smuzhiyun WindowPtr * /*ppLayerWin */ 449*4882a593Smuzhiyun ); 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun extern _X_EXPORT void miHandleValidateExposures(WindowPtr /*pWin */ 452*4882a593Smuzhiyun ); 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun extern _X_EXPORT void miMoveWindow(WindowPtr /*pWin */ , 455*4882a593Smuzhiyun int /*x */ , 456*4882a593Smuzhiyun int /*y */ , 457*4882a593Smuzhiyun WindowPtr /*pNextSib */ , 458*4882a593Smuzhiyun VTKind /*kind */ 459*4882a593Smuzhiyun ); 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun extern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ , 462*4882a593Smuzhiyun int /*x */ , 463*4882a593Smuzhiyun int /*y */ , 464*4882a593Smuzhiyun unsigned int /*w */ , 465*4882a593Smuzhiyun unsigned int /*h */ , 466*4882a593Smuzhiyun WindowPtr /*pSib */ 467*4882a593Smuzhiyun ); 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun extern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr /*pWin */ 470*4882a593Smuzhiyun ); 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun extern _X_EXPORT void miSetShape(WindowPtr /*pWin */ , 473*4882a593Smuzhiyun int /*kind */ 474*4882a593Smuzhiyun ); 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun extern _X_EXPORT void miChangeBorderWidth(WindowPtr /*pWin */ , 477*4882a593Smuzhiyun unsigned int /*width */ 478*4882a593Smuzhiyun ); 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun extern _X_EXPORT void miMarkUnrealizedWindow(WindowPtr /*pChild */ , 481*4882a593Smuzhiyun WindowPtr /*pWin */ , 482*4882a593Smuzhiyun Bool /*fromConfigure */ 483*4882a593Smuzhiyun ); 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun extern _X_EXPORT WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y); 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun extern _X_EXPORT WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y); 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun /* mizerarc.c */ 490*4882a593Smuzhiyun 491*4882a593Smuzhiyun extern _X_EXPORT void miZeroPolyArc(DrawablePtr /*pDraw */ , 492*4882a593Smuzhiyun GCPtr /*pGC */ , 493*4882a593Smuzhiyun int /*narcs */ , 494*4882a593Smuzhiyun xArc * /*parcs */ 495*4882a593Smuzhiyun ); 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun /* mizerline.c */ 498*4882a593Smuzhiyun 499*4882a593Smuzhiyun extern _X_EXPORT void miZeroLine(DrawablePtr /*dst */ , 500*4882a593Smuzhiyun GCPtr /*pgc */ , 501*4882a593Smuzhiyun int /*mode */ , 502*4882a593Smuzhiyun int /*nptInit */ , 503*4882a593Smuzhiyun DDXPointRec * /*pptInit */ 504*4882a593Smuzhiyun ); 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun extern _X_EXPORT void miZeroDashLine(DrawablePtr /*dst */ , 507*4882a593Smuzhiyun GCPtr /*pgc */ , 508*4882a593Smuzhiyun int /*mode */ , 509*4882a593Smuzhiyun int /*nptInit */ , 510*4882a593Smuzhiyun DDXPointRec * /*pptInit */ 511*4882a593Smuzhiyun ); 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun extern _X_EXPORT void miPolyFillArc(DrawablePtr /*pDraw */ , 514*4882a593Smuzhiyun GCPtr /*pGC */ , 515*4882a593Smuzhiyun int /*narcs */ , 516*4882a593Smuzhiyun xArc * /*parcs */ 517*4882a593Smuzhiyun ); 518*4882a593Smuzhiyun 519*4882a593Smuzhiyun #endif /* MI_H */ 520