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>
62
typedef struct _miDash *miDashPtr;
68
extern void miPolyArc(
69
DrawablePtr /*pDraw*/,
77
extern RegionPtr miCopyArea(
78
DrawablePtr /*pSrcDrawable*/,
79
DrawablePtr /*pDstDrawable*/,
89
extern RegionPtr miCopyPlane(
90
DrawablePtr /*pSrcDrawable*/,
91
DrawablePtr /*pDstDrawable*/,
99
unsigned long /*bitPlane*/
102
extern void miGetImage(
103
DrawablePtr /*pDraw*/,
108
unsigned int /*format*/,
109
unsigned long /*planeMask*/,
113
extern void miPutImage(
114
DrawablePtr /*pDraw*/,
128
extern void miRecolorCursor(
136
extern void miStepDash(
138
int * /*pDashIndex*/,
139
unsigned char * /*pDash*/,
140
int /*numInDashList*/,
141
int * /*pDashOffset*/
148
typedef struct _DeviceRec *DevicePtr;
151
extern Bool mieqInit(
155
extern void mieqEnqueue(
156
DeviceIntPtr /*pDev*/,
160
extern void mieqSwitchScreen(
161
ScreenPtr /*pScreen*/,
165
extern void mieqProcessInputEvents(
169
typedef void (*mieqHandler)(int, xEventPtr, DeviceIntPtr, int);
170
void mieqSetHandler(int event, mieqHandler handler);
174
extern RegionPtr miHandleExposures(
175
DrawablePtr /*pSrcDrawable*/,
176
DrawablePtr /*pDstDrawable*/,
184
unsigned long /*plane*/
187
extern void miSendGraphicsExpose(
188
ClientPtr /*client*/,
195
extern void miSendExposures(
202
extern void miWindowExposures(
205
RegionPtr /*other_exposed*/
208
extern void miPaintWindow(
214
extern void miClearDrawable(
215
DrawablePtr /*pDraw*/,
221
extern void miPolyFillRect(
222
DrawablePtr /*pDrawable*/,
225
xRectangle * /*prectInit*/
230
extern void miPolyGlyphBlt(
231
DrawablePtr /*pDrawable*/,
235
unsigned int /*nglyph*/,
236
CharInfoPtr * /*ppci*/,
237
pointer /*pglyphBase*/
240
extern void miImageGlyphBlt(
241
DrawablePtr /*pDrawable*/,
245
unsigned int /*nglyph*/,
246
CharInfoPtr * /*ppci*/,
247
pointer /*pglyphBase*/
252
extern void miFillPolygon(
263
extern Bool miFillConvexPoly(
267
DDXPointPtr /*ptsIn*/
272
extern Bool miFillGeneralPoly(
276
DDXPointPtr /*ptsIn*/
281
extern void miPolyPoint(
282
DrawablePtr /*pDrawable*/,
291
extern void miPolyRectangle(
292
DrawablePtr /*pDraw*/,
295
xRectangle * /*pRects*/
300
extern void miPolySegment(
301
DrawablePtr /*pDraw*/,
309
extern int miPolyText8(
310
DrawablePtr /*pDraw*/,
318
extern int miPolyText16(
319
DrawablePtr /*pDraw*/,
324
unsigned short * /*chars*/
327
extern void miImageText8(
328
DrawablePtr /*pDraw*/,
336
extern void miImageText16(
337
DrawablePtr /*pDraw*/,
342
unsigned short * /*chars*/
347
extern void miPushPixels(
349
PixmapPtr /*pBitMap*/,
350
DrawablePtr /*pDrawable*/,
359
/* see also region.h */
361
extern Bool miRectAlloc(
366
extern int miFindMaxBand(
371
extern Bool miValidRegion(
376
extern Bool miRegionBroken(RegionPtr pReg);
380
extern Bool miModifyPixmapHeader(
381
PixmapPtr /*pPixmap*/,
385
int /*bitsPerPixel*/,
390
extern Bool miCreateScreenResources(
391
ScreenPtr /*pScreen*/
394
extern Bool miScreenDevPrivateInit(
395
ScreenPtr /*pScreen*/,
400
extern Bool miScreenInit(
401
ScreenPtr /*pScreen*/,
411
VisualID /*rootVisual*/,
413
VisualPtr /*visuals*/
416
extern DevPrivateKey miAllocateGCPrivateIndex(
420
extern PixmapPtr miGetScreenPixmap(
424
extern void miSetScreenPixmap(
430
extern int miShapedWindowIn(
431
ScreenPtr /*pScreen*/,
432
RegionPtr /*universe*/,
433
RegionPtr /*bounding*/,
440
(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
443
(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
446
miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
447
GetRedirectBorderClipProcPtr getBorderClip);
449
extern int miValidateTree(
450
WindowPtr /*pParent*/,
451
WindowPtr /*pChild*/,
455
extern void miWideLine(
456
DrawablePtr /*pDrawable*/,
463
extern void miWideDash(
464
DrawablePtr /*pDrawable*/,
473
extern void miClearToBackground(
479
Bool /*generateExposures*/
482
extern Bool miChangeSaveUnder(
487
extern void miPostChangeSaveUnder(
492
extern void miMarkWindow(
496
extern Bool miMarkOverlappedWindows(
498
WindowPtr /*pFirst*/,
499
WindowPtr * /*ppLayerWin*/
502
extern void miHandleValidateExposures(
506
extern void miMoveWindow(
510
WindowPtr /*pNextSib*/,
514
extern void miSlideAndSizeWindow(
523
extern WindowPtr miGetLayerWindow(
527
extern void miSetShape(
531
extern void miChangeBorderWidth(
533
unsigned int /*width*/
536
extern void miMarkUnrealizedWindow(
537
WindowPtr /*pChild*/,
539
Bool /*fromConfigure*/
542
extern void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
546
extern void miZeroPolyArc(
547
DrawablePtr /*pDraw*/,
555
extern void miZeroLine(
560
DDXPointRec * /*pptInit*/
563
extern void miZeroDashLine(
568
DDXPointRec * /*pptInit*/
571
extern void miPolyFillArc(
572
DrawablePtr /*pDraw*/,