1
/***********************************************************
3
Copyright 1987, 1998 The Open Group
5
Permission to use, copy, modify, distribute, and sell this software and its
6
documentation for any purpose is hereby granted without fee, provided that
7
the above copyright notice appear in all copies and that both that
8
copyright notice and this permission notice appear in supporting
11
The above copyright notice and this permission notice shall be included in
12
all copies or substantial portions of the Software.
14
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
Except as contained in this notice, the name of The Open Group shall not be
22
used in advertising or otherwise to promote the sale, use or other dealings
23
in this Software without prior written authorization from The Open Group.
26
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
30
Permission to use, copy, modify, and distribute this software and its
31
documentation for any purpose and without fee is hereby granted,
32
provided that the above copyright notice appear in all copies and that
33
both that copyright notice and this permission notice appear in
34
supporting documentation, and that the name of Digital not be
35
used in advertising or publicity pertaining to distribution of the
36
software without specific, written prior permission.
38
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
39
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
40
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
41
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
42
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
43
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
46
******************************************************************/
55
#include <X11/fonts/font.h>
61
typedef struct _miDash *miDashPtr;
67
extern void miPolyArc(
68
DrawablePtr /*pDraw*/,
76
extern RegionPtr miCopyArea(
77
DrawablePtr /*pSrcDrawable*/,
78
DrawablePtr /*pDstDrawable*/,
88
extern RegionPtr miCopyPlane(
89
DrawablePtr /*pSrcDrawable*/,
90
DrawablePtr /*pDstDrawable*/,
98
unsigned long /*bitPlane*/
101
extern void miGetImage(
102
DrawablePtr /*pDraw*/,
107
unsigned int /*format*/,
108
unsigned long /*planeMask*/,
112
extern void miPutImage(
113
DrawablePtr /*pDraw*/,
127
extern void miRecolorCursor(
135
extern void miStepDash(
137
int * /*pDashIndex*/,
138
unsigned char * /*pDash*/,
139
int /*numInDashList*/,
140
int * /*pDashOffset*/
147
typedef struct _DeviceRec *DevicePtr;
150
extern Bool mieqInit(
154
extern void mieqEnqueue(
155
DeviceIntPtr /*pDev*/,
159
extern void mieqSwitchScreen(
160
ScreenPtr /*pScreen*/,
164
extern void mieqProcessInputEvents(
168
typedef void (*mieqHandler)(int, xEventPtr, DeviceIntPtr, int);
169
void mieqSetHandler(int event, mieqHandler handler);
173
extern RegionPtr miHandleExposures(
174
DrawablePtr /*pSrcDrawable*/,
175
DrawablePtr /*pDstDrawable*/,
183
unsigned long /*plane*/
186
extern void miSendGraphicsExpose(
187
ClientPtr /*client*/,
194
extern void miSendExposures(
201
extern void miWindowExposures(
204
RegionPtr /*other_exposed*/
207
extern void miPaintWindow(
213
extern void miClearDrawable(
214
DrawablePtr /*pDraw*/,
220
extern void miPolyFillRect(
221
DrawablePtr /*pDrawable*/,
224
xRectangle * /*prectInit*/
229
extern void miPolyGlyphBlt(
230
DrawablePtr /*pDrawable*/,
234
unsigned int /*nglyph*/,
235
CharInfoPtr * /*ppci*/,
236
pointer /*pglyphBase*/
239
extern void miImageGlyphBlt(
240
DrawablePtr /*pDrawable*/,
244
unsigned int /*nglyph*/,
245
CharInfoPtr * /*ppci*/,
246
pointer /*pglyphBase*/
251
extern void miFillPolygon(
262
extern Bool miFillConvexPoly(
266
DDXPointPtr /*ptsIn*/
271
extern Bool miFillGeneralPoly(
275
DDXPointPtr /*ptsIn*/
280
extern void miPolyPoint(
281
DrawablePtr /*pDrawable*/,
290
extern void miPolyRectangle(
291
DrawablePtr /*pDraw*/,
294
xRectangle * /*pRects*/
299
extern void miPolySegment(
300
DrawablePtr /*pDraw*/,
308
extern int miPolyText8(
309
DrawablePtr /*pDraw*/,
317
extern int miPolyText16(
318
DrawablePtr /*pDraw*/,
323
unsigned short * /*chars*/
326
extern void miImageText8(
327
DrawablePtr /*pDraw*/,
335
extern void miImageText16(
336
DrawablePtr /*pDraw*/,
341
unsigned short * /*chars*/
346
extern void miPushPixels(
348
PixmapPtr /*pBitMap*/,
349
DrawablePtr /*pDrawable*/,
358
/* see also region.h */
360
extern Bool miRectAlloc(
365
extern int miFindMaxBand(
370
extern Bool miValidRegion(
375
extern Bool miRegionBroken(RegionPtr pReg);
379
extern Bool miModifyPixmapHeader(
380
PixmapPtr /*pPixmap*/,
384
int /*bitsPerPixel*/,
389
extern Bool miCreateScreenResources(
390
ScreenPtr /*pScreen*/
393
extern Bool miScreenDevPrivateInit(
394
ScreenPtr /*pScreen*/,
399
extern Bool miScreenInit(
400
ScreenPtr /*pScreen*/,
410
VisualID /*rootVisual*/,
412
VisualPtr /*visuals*/
415
extern int miAllocateGCPrivateIndex(
419
extern PixmapPtr miGetScreenPixmap(
423
extern void miSetScreenPixmap(
429
extern int miShapedWindowIn(
430
ScreenPtr /*pScreen*/,
431
RegionPtr /*universe*/,
432
RegionPtr /*bounding*/,
439
(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
442
(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
445
miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
446
GetRedirectBorderClipProcPtr getBorderClip);
448
extern int miValidateTree(
449
WindowPtr /*pParent*/,
450
WindowPtr /*pChild*/,
454
extern void miWideLine(
455
DrawablePtr /*pDrawable*/,
462
extern void miWideDash(
463
DrawablePtr /*pDrawable*/,
472
extern void miClearToBackground(
478
Bool /*generateExposures*/
481
extern Bool miChangeSaveUnder(
486
extern void miPostChangeSaveUnder(
491
extern void miMarkWindow(
495
extern Bool miMarkOverlappedWindows(
497
WindowPtr /*pFirst*/,
498
WindowPtr * /*ppLayerWin*/
501
extern void miHandleValidateExposures(
505
extern void miMoveWindow(
509
WindowPtr /*pNextSib*/,
513
extern void miSlideAndSizeWindow(
522
extern WindowPtr miGetLayerWindow(
526
extern void miSetShape(
530
extern void miChangeBorderWidth(
532
unsigned int /*width*/
535
extern void miMarkUnrealizedWindow(
536
WindowPtr /*pChild*/,
538
Bool /*fromConfigure*/
541
extern void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
545
extern void miZeroPolyArc(
546
DrawablePtr /*pDraw*/,
554
extern void miZeroLine(
559
DDXPointRec * /*pptInit*/
562
extern void miZeroDashLine(
567
DDXPointRec * /*pptInit*/
570
extern void miPolyFillArc(
571
DrawablePtr /*pDraw*/,