1 /* $XConsortium: mi.h,v 1.17 94/04/17 20:27:10 dpw Exp $ */
2 /* $XFree86: xc/programs/Xserver/mi/mi.h,v 3.1 1997/01/14 22:22:51 dawes Exp $ */
3 /***********************************************************
5 Copyright (c) 1987 X Consortium
7 Permission is hereby granted, free of charge, to any person obtaining a copy
8 of this software and associated documentation files (the "Software"), to deal
9 in the Software without restriction, including without limitation the rights
10 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 copies of the Software, and to permit persons to whom the Software is
12 furnished to do so, subject to the following conditions:
14 The above copyright notice and this permission notice shall be included in
15 all copies or substantial portions of the Software.
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 Except as contained in this notice, the name of the X Consortium shall not be
25 used in advertising or otherwise to promote the sale, use or other dealings
26 in this Software without prior written authorization from the X Consortium.
29 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
33 Permission to use, copy, modify, and distribute this software and its
34 documentation for any purpose and without fee is hereby granted,
35 provided that the above copyright notice appear in all copies and that
36 both that copyright notice and this permission notice appear in
37 supporting documentation, and that the name of Digital not be
38 used in advertising or publicity pertaining to distribution of the
39 software without specific, written prior permission.
41 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
42 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
43 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
44 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
45 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
46 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
49 ******************************************************************/
61 typedef struct _miDash *miDashPtr;
67 extern void miPolyArc(
68 #if NeedFunctionPrototypes
69 DrawablePtr /*pDraw*/,
78 extern RegionPtr miCopyArea(
79 #if NeedFunctionPrototypes
80 DrawablePtr /*pSrcDrawable*/,
81 DrawablePtr /*pDstDrawable*/,
92 extern void miOpqStipDrawable(
93 #if NeedFunctionPrototypes
94 DrawablePtr /*pDraw*/,
96 RegionPtr /*prgnSrc*/,
97 unsigned long * /*pbits*/,
106 extern RegionPtr miCopyPlane(
107 #if NeedFunctionPrototypes
108 DrawablePtr /*pSrcDrawable*/,
109 DrawablePtr /*pDstDrawable*/,
117 unsigned long /*bitPlane*/
121 extern void miGetImage(
122 #if NeedFunctionPrototypes
123 DrawablePtr /*pDraw*/,
128 unsigned int /*format*/,
129 unsigned long /*planeMask*/,
134 extern void miPutImage(
135 #if NeedFunctionPrototypes
136 DrawablePtr /*pDraw*/,
151 extern void miClipNotify(
152 #if NeedFunctionPrototypes
154 #if NeedNestedPrototypes
155 WindowPtr /* pWin */,
165 extern void miRecolorCursor(
166 #if NeedFunctionPrototypes
175 extern miDashPtr miDashLine(
176 #if NeedFunctionPrototypes
179 unsigned int /*nDash*/,
180 unsigned char * /*pDash*/,
181 unsigned int /*offset*/,
186 extern void miStepDash(
187 #if NeedFunctionPrototypes
189 int * /*pDashIndex*/,
190 unsigned char * /*pDash*/,
191 int /*numInDashList*/,
192 int * /*pDashOffset*/
200 typedef struct _DeviceRec *DevicePtr;
203 extern Bool mieqInit(
204 #if NeedFunctionPrototypes
210 extern void mieqEnqueue(
211 #if NeedFunctionPrototypes
216 extern void mieqSwitchScreen(
217 #if NeedFunctionPrototypes
218 ScreenPtr /*pScreen*/,
223 extern int mieqProcessInputEvents(
224 #if NeedFunctionPrototypes
231 extern RegionPtr miHandleExposures(
232 #if NeedFunctionPrototypes
233 DrawablePtr /*pSrcDrawable*/,
234 DrawablePtr /*pDstDrawable*/,
242 unsigned long /*plane*/
246 extern void miSendGraphicsExpose(
247 #if NeedFunctionPrototypes
248 ClientPtr /*client*/,
256 extern void miSendExposures(
257 #if NeedFunctionPrototypes
265 extern void miWindowExposures(
266 #if NeedFunctionPrototypes
269 RegionPtr /*other_exposed*/
273 extern void miPaintWindow(
274 #if NeedFunctionPrototypes
281 extern int miClearDrawable(
282 #if NeedFunctionPrototypes
283 DrawablePtr /*pDraw*/,
290 extern void miPolyFillRect(
291 #if NeedFunctionPrototypes
292 DrawablePtr /*pDrawable*/,
295 xRectangle * /*prectInit*/
301 extern void miPolyGlyphBlt(
302 #if NeedFunctionPrototypes
303 DrawablePtr /*pDrawable*/,
307 unsigned int /*nglyph*/,
308 CharInfoPtr * /*ppci*/,
309 pointer /*pglyphBase*/
313 extern void miImageGlyphBlt(
314 #if NeedFunctionPrototypes
315 DrawablePtr /*pDrawable*/,
319 unsigned int /*nglyph*/,
320 CharInfoPtr * /*ppci*/,
321 pointer /*pglyphBase*/
327 extern void miFillPolygon(
328 #if NeedFunctionPrototypes
340 extern Bool miFillConvexPoly(
341 #if NeedFunctionPrototypes
345 DDXPointPtr /*ptsIn*/
351 extern Bool miFillGeneralPoly(
352 #if NeedFunctionPrototypes
356 DDXPointPtr /*ptsIn*/
362 extern void miPolyPoint(
363 #if NeedFunctionPrototypes
364 DrawablePtr /*pDrawable*/,
374 extern void miPolyRectangle(
375 #if NeedFunctionPrototypes
376 DrawablePtr /*pDraw*/,
379 xRectangle * /*pRects*/
385 extern void miPolySegment(
386 #if NeedFunctionPrototypes
387 DrawablePtr /*pDraw*/,
396 extern int miPolyText(
397 #if NeedFunctionPrototypes
398 DrawablePtr /*pDraw*/,
404 FontEncoding /*fontEncoding*/
408 extern int miPolyText8(
409 #if NeedFunctionPrototypes
410 DrawablePtr /*pDraw*/,
419 extern int miPolyText16(
420 #if NeedFunctionPrototypes
421 DrawablePtr /*pDraw*/,
426 unsigned short * /*chars*/
430 extern int miImageText(
431 #if NeedFunctionPrototypes
432 DrawablePtr /*pDraw*/,
438 FontEncoding /*fontEncoding*/
442 extern void miImageText8(
443 #if NeedFunctionPrototypes
444 DrawablePtr /*pDraw*/,
453 extern void miImageText16(
454 #if NeedFunctionPrototypes
455 DrawablePtr /*pDraw*/,
460 unsigned short * /*chars*/
466 extern void miPushPixels(
467 #if NeedFunctionPrototypes
469 PixmapPtr /*pBitMap*/,
470 DrawablePtr /*pDrawable*/,
480 /* see also region.h */
482 extern Bool miRectAlloc(
483 #if NeedFunctionPrototypes
489 extern void miSetExtents(
490 #if NeedFunctionPrototypes
495 extern int miFindMaxBand(
496 #if NeedFunctionPrototypes
502 extern Bool miValidRegion(
503 #if NeedFunctionPrototypes
511 extern Bool miModifyPixmapHeader(
512 #if NeedFunctionPrototypes
513 PixmapPtr /*pPixmap*/,
517 int /*bitsPerPixel*/,
523 extern Bool miCloseScreen(
524 #if NeedFunctionPrototypes
526 ScreenPtr /*pScreen*/
530 extern Bool miCreateScreenResources(
531 #if NeedFunctionPrototypes
532 ScreenPtr /*pScreen*/
536 extern Bool miScreenDevPrivateInit(
537 #if NeedFunctionPrototypes
538 ScreenPtr /*pScreen*/,
544 #ifndef _XTYPEDEF_MIBSFUNCPTR
545 typedef struct _miBSFuncRec *miBSFuncPtr;
546 #define _XTYPEDEF_MIBSFUNCPTR
549 extern Bool miScreenInit(
550 #if NeedFunctionPrototypes
551 ScreenPtr /*pScreen*/,
561 VisualID /*rootVisual*/,
563 VisualPtr /*visuals*/,
564 miBSFuncPtr /*bsfuncs*/
568 extern int miAllocateGCPrivateIndex(
569 #if NeedFunctionPrototypes
576 extern int miShapedWindowIn(
577 #if NeedFunctionPrototypes
578 ScreenPtr /*pScreen*/,
579 RegionPtr /*universe*/,
580 RegionPtr /*bounding*/,
587 extern int miValidateTree(
588 #if NeedFunctionPrototypes
589 WindowPtr /*pParent*/,
590 WindowPtr /*pChild*/,
595 extern void miWideLine(
596 #if NeedFunctionPrototypes
597 DrawablePtr /*pDrawable*/,
605 extern void miWideDash(
606 #if NeedFunctionPrototypes
607 DrawablePtr /*pDrawable*/,
616 #if NeedFunctionPrototypes
621 extern void miNotMiter(
622 #if NeedFunctionPrototypes
629 extern void miClearToBackground(
630 #if NeedFunctionPrototypes
636 Bool /*generateExposures*/
640 extern Bool miChangeSaveUnder(
641 #if NeedFunctionPrototypes
647 extern void miPostChangeSaveUnder(
648 #if NeedFunctionPrototypes
654 extern void miMarkWindow(
655 #if NeedFunctionPrototypes
660 extern Bool miMarkOverlappedWindows(
661 #if NeedFunctionPrototypes
663 WindowPtr /*pFirst*/,
664 WindowPtr * /*ppLayerWin*/
668 extern void miHandleValidateExposures(
669 #if NeedFunctionPrototypes
674 extern void miMoveWindow(
675 #if NeedFunctionPrototypes
679 WindowPtr /*pNextSib*/,
684 extern void miSlideAndSizeWindow(
685 #if NeedFunctionPrototypes
695 extern WindowPtr miGetLayerWindow(
696 #if NeedFunctionPrototypes
701 extern void miSetShape(
702 #if NeedFunctionPrototypes
707 extern void miChangeBorderWidth(
708 #if NeedFunctionPrototypes
710 unsigned int /*width*/
714 extern void miMarkUnrealizedWindow(
715 #if NeedFunctionPrototypes
716 WindowPtr /*pChild*/,
718 Bool /*fromConfigure*/
722 extern void miZeroPolyArc(
723 #if NeedFunctionPrototypes
724 DrawablePtr /*pDraw*/,
733 extern void miZeroLine(
734 #if NeedFunctionPrototypes
739 DDXPointRec * /*pptInit*/
743 extern void miZeroDashLine(
744 #if NeedFunctionPrototypes
749 DDXPointRec * /*pptInit*/
753 extern void miPolyFillArc(
754 #if NeedFunctionPrototypes
755 DrawablePtr /*pDraw*/,