]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/l4con/examples/xf86_stub/include-xorg-7.1.0/mi.h
Inital import
[l4.git] / l4 / pkg / l4con / examples / xf86_stub / include-xorg-7.1.0 / mi.h
1 /* $Xorg: mi.h,v 1.4 2001/02/09 02:05:20 xorgcvs Exp $ */
2 /***********************************************************
3
4 Copyright 1987, 1998  The Open Group
5
6 Permission to use, copy, modify, distribute, and sell this software and its
7 documentation for any purpose is hereby granted without fee, provided that
8 the above copyright notice appear in all copies and that both that
9 copyright notice and this permission notice appear in supporting
10 documentation.
11
12 The above copyright notice and this permission notice shall be included in
13 all copies or substantial portions of the Software.
14
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
18 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
19 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22 Except as contained in this notice, the name of The Open Group shall not be
23 used in advertising or otherwise to promote the sale, use or other dealings
24 in this Software without prior written authorization from The Open Group.
25
26
27 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
28
29                         All Rights Reserved
30
31 Permission to use, copy, modify, and distribute this software and its 
32 documentation for any purpose and without fee is hereby granted, 
33 provided that the above copyright notice appear in all copies and that
34 both that copyright notice and this permission notice appear in 
35 supporting documentation, and that the name of Digital not be
36 used in advertising or publicity pertaining to distribution of the
37 software without specific, written prior permission.  
38
39 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
40 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
41 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
42 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
43 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
44 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
45 SOFTWARE.
46
47 ******************************************************************/
48 /* $XFree86: xc/programs/Xserver/mi/mi.h,v 3.9 2001/08/06 20:51:16 dawes Exp $ */
49
50 #ifndef MI_H
51 #define MI_H
52 #include <X11/X.h>
53 #include "region.h"
54 #include "validate.h"
55 #include "window.h"
56 #include "gc.h"
57 #include <X11/fonts/font.h>
58 #include "input.h"
59 #include "cursor.h"
60
61 #define MiBits  CARD32
62
63 typedef struct _miDash *miDashPtr;
64 #define EVEN_DASH       0
65 #define ODD_DASH        ~0
66
67 /* miarc.c */
68
69 extern void miPolyArc(
70     DrawablePtr /*pDraw*/,
71     GCPtr /*pGC*/,
72     int /*narcs*/,
73     xArc * /*parcs*/
74 );
75
76 /* mibitblt.c */
77
78 extern RegionPtr miCopyArea(
79     DrawablePtr /*pSrcDrawable*/,
80     DrawablePtr /*pDstDrawable*/,
81     GCPtr /*pGC*/,
82     int /*xIn*/,
83     int /*yIn*/,
84     int /*widthSrc*/,
85     int /*heightSrc*/,
86     int /*xOut*/,
87     int /*yOut*/
88 );
89
90 extern void miOpqStipDrawable(
91     DrawablePtr /*pDraw*/,
92     GCPtr /*pGC*/,
93     RegionPtr /*prgnSrc*/,
94     MiBits * /*pbits*/,
95     int /*srcx*/,
96     int /*w*/,
97     int /*h*/,
98     int /*dstx*/,
99     int /*dsty*/
100 );
101
102 extern RegionPtr miCopyPlane(
103     DrawablePtr /*pSrcDrawable*/,
104     DrawablePtr /*pDstDrawable*/,
105     GCPtr /*pGC*/,
106     int /*srcx*/,
107     int /*srcy*/,
108     int /*width*/,
109     int /*height*/,
110     int /*dstx*/,
111     int /*dsty*/,
112     unsigned long /*bitPlane*/
113 );
114
115 extern void miGetImage(
116     DrawablePtr /*pDraw*/,
117     int /*sx*/,
118     int /*sy*/,
119     int /*w*/,
120     int /*h*/,
121     unsigned int /*format*/,
122     unsigned long /*planeMask*/,
123     char * /*pdstLine*/
124 );
125
126 extern void miPutImage(
127     DrawablePtr /*pDraw*/,
128     GCPtr /*pGC*/,
129     int /*depth*/,
130     int /*x*/,
131     int /*y*/,
132     int /*w*/,
133     int /*h*/,
134     int /*leftPad*/,
135     int /*format*/,
136     char * /*pImage*/
137 );
138
139 /* micursor.c */
140
141 extern void miRecolorCursor(
142     ScreenPtr /*pScr*/,
143     CursorPtr /*pCurs*/,
144     Bool /*displayed*/
145 );
146
147 /* midash.c */
148
149 extern miDashPtr miDashLine(
150     int /*npt*/,
151     DDXPointPtr /*ppt*/,
152     unsigned int /*nDash*/,
153     unsigned char * /*pDash*/,
154     unsigned int /*offset*/,
155     int * /*pnseg*/
156 );
157
158 extern void miStepDash(
159     int /*dist*/,
160     int * /*pDashIndex*/,
161     unsigned char * /*pDash*/,
162     int /*numInDashList*/,
163     int * /*pDashOffset*/
164 );
165
166 /* mieq.c */
167
168
169 #ifndef INPUT_H
170 typedef struct _DeviceRec *DevicePtr;
171 #endif
172
173 extern Bool mieqInit(
174     DevicePtr /*pKbd*/,
175     DevicePtr /*pPtr*/
176 );
177
178 extern void mieqEnqueue(
179     xEventPtr /*e*/
180 );
181
182 extern void mieqSwitchScreen(
183     ScreenPtr /*pScreen*/,
184     Bool /*fromDIX*/
185 );
186
187 extern void mieqProcessInputEvents(
188     void
189 );
190
191 /* miexpose.c */
192
193 extern RegionPtr miHandleExposures(
194     DrawablePtr /*pSrcDrawable*/,
195     DrawablePtr /*pDstDrawable*/,
196     GCPtr /*pGC*/,
197     int /*srcx*/,
198     int /*srcy*/,
199     int /*width*/,
200     int /*height*/,
201     int /*dstx*/,
202     int /*dsty*/,
203     unsigned long /*plane*/
204 );
205
206 extern void miSendGraphicsExpose(
207     ClientPtr /*client*/,
208     RegionPtr /*pRgn*/,
209     XID /*drawable*/,
210     int /*major*/,
211     int /*minor*/
212 );
213
214 extern void miSendExposures(
215     WindowPtr /*pWin*/,
216     RegionPtr /*pRgn*/,
217     int /*dx*/,
218     int /*dy*/
219 );
220
221 extern void miWindowExposures(
222     WindowPtr /*pWin*/,
223     RegionPtr /*prgn*/,
224     RegionPtr /*other_exposed*/
225 );
226
227 extern void miPaintWindow(
228     WindowPtr /*pWin*/,
229     RegionPtr /*prgn*/,
230     int /*what*/
231 );
232
233 extern void miClearDrawable(
234     DrawablePtr /*pDraw*/,
235     GCPtr /*pGC*/
236 );
237
238 /* mifillrct.c */
239
240 extern void miPolyFillRect(
241     DrawablePtr /*pDrawable*/,
242     GCPtr /*pGC*/,
243     int /*nrectFill*/,
244     xRectangle * /*prectInit*/
245 );
246
247 /* miglblt.c */
248
249 extern void miPolyGlyphBlt(
250     DrawablePtr /*pDrawable*/,
251     GCPtr /*pGC*/,
252     int /*x*/,
253     int /*y*/,
254     unsigned int /*nglyph*/,
255     CharInfoPtr * /*ppci*/,
256     pointer /*pglyphBase*/
257 );
258
259 extern void miImageGlyphBlt(
260     DrawablePtr /*pDrawable*/,
261     GCPtr /*pGC*/,
262     int /*x*/,
263     int /*y*/,
264     unsigned int /*nglyph*/,
265     CharInfoPtr * /*ppci*/,
266     pointer /*pglyphBase*/
267 );
268
269 /* mipoly.c */
270
271 extern void miFillPolygon(
272     DrawablePtr /*dst*/,
273     GCPtr /*pgc*/,
274     int /*shape*/,
275     int /*mode*/,
276     int /*count*/,
277     DDXPointPtr /*pPts*/
278 );
279
280 /* mipolycon.c */
281
282 extern Bool miFillConvexPoly(
283     DrawablePtr /*dst*/,
284     GCPtr /*pgc*/,
285     int /*count*/,
286     DDXPointPtr /*ptsIn*/
287 );
288
289 /* mipolygen.c */
290
291 extern Bool miFillGeneralPoly(
292     DrawablePtr /*dst*/,
293     GCPtr /*pgc*/,
294     int /*count*/,
295     DDXPointPtr /*ptsIn*/
296 );
297
298 /* mipolypnt.c */
299
300 extern void miPolyPoint(
301     DrawablePtr /*pDrawable*/,
302     GCPtr /*pGC*/,
303     int /*mode*/,
304     int /*npt*/,
305     xPoint * /*pptInit*/
306 );
307
308 /* mipolyrect.c */
309
310 extern void miPolyRectangle(
311     DrawablePtr /*pDraw*/,
312     GCPtr /*pGC*/,
313     int /*nrects*/,
314     xRectangle * /*pRects*/
315 );
316
317 /* mipolyseg.c */
318
319 extern void miPolySegment(
320     DrawablePtr /*pDraw*/,
321     GCPtr /*pGC*/,
322     int /*nseg*/,
323     xSegment * /*pSegs*/
324 );
325
326 /* mipolytext.c */
327
328 extern int miPolyText(
329     DrawablePtr /*pDraw*/,
330     GCPtr /*pGC*/,
331     int /*x*/,
332     int /*y*/,
333     int /*count*/,
334     char * /*chars*/,
335     FontEncoding /*fontEncoding*/
336 );
337
338 extern int miPolyText8(
339     DrawablePtr /*pDraw*/,
340     GCPtr /*pGC*/,
341     int /*x*/,
342     int /*y*/,
343     int /*count*/,
344     char * /*chars*/
345 );
346
347 extern int miPolyText16(
348     DrawablePtr /*pDraw*/,
349     GCPtr /*pGC*/,
350     int /*x*/,
351     int /*y*/,
352     int /*count*/,
353     unsigned short * /*chars*/
354 );
355
356 extern int miImageText(
357     DrawablePtr /*pDraw*/,
358     GCPtr /*pGC*/,
359     int /*x*/,
360     int /*y*/,
361     int /*count*/,
362     char * /*chars*/,
363     FontEncoding /*fontEncoding*/
364 );
365
366 extern void miImageText8(
367     DrawablePtr /*pDraw*/,
368     GCPtr /*pGC*/,
369     int /*x*/,
370     int /*y*/,
371     int /*count*/,
372     char * /*chars*/
373 );
374
375 extern void miImageText16(
376     DrawablePtr /*pDraw*/,
377     GCPtr /*pGC*/,
378     int /*x*/,
379     int /*y*/,
380     int /*count*/,
381     unsigned short * /*chars*/
382 );
383
384 /* mipushpxl.c */
385
386 extern void miPushPixels(
387     GCPtr /*pGC*/,
388     PixmapPtr /*pBitMap*/,
389     DrawablePtr /*pDrawable*/,
390     int /*dx*/,
391     int /*dy*/,
392     int /*xOrg*/,
393     int /*yOrg*/
394 );
395
396 /* miregion.c */
397
398 /* see also region.h */
399
400 extern Bool miRectAlloc(
401     RegionPtr /*pRgn*/,
402     int /*n*/
403 );
404
405 extern void miSetExtents(
406     RegionPtr /*pReg*/
407 );
408
409 extern int miFindMaxBand(
410     RegionPtr /*prgn*/
411 );
412
413 #ifdef DEBUG
414 extern Bool miValidRegion(
415     RegionPtr /*prgn*/
416 );
417 #endif
418
419 extern Bool miRegionDataCopy(RegionPtr dst, RegionPtr src);
420 extern Bool miRegionBroken(RegionPtr pReg);
421
422 /* miscrinit.c */
423
424 extern Bool miModifyPixmapHeader(
425     PixmapPtr /*pPixmap*/,
426     int /*width*/,
427     int /*height*/,
428     int /*depth*/,
429     int /*bitsPerPixel*/,
430     int /*devKind*/,
431     pointer /*pPixData*/
432 );
433
434 extern Bool miCloseScreen(
435     int /*index*/,
436     ScreenPtr /*pScreen*/
437 );
438
439 extern Bool miCreateScreenResources(
440     ScreenPtr /*pScreen*/
441 );
442
443 extern Bool miScreenDevPrivateInit(
444     ScreenPtr /*pScreen*/,
445     int /*width*/,
446     pointer /*pbits*/
447 );
448
449 extern Bool miScreenInit(
450     ScreenPtr /*pScreen*/,
451     pointer /*pbits*/,
452     int /*xsize*/,
453     int /*ysize*/,
454     int /*dpix*/,
455     int /*dpiy*/,
456     int /*width*/,
457     int /*rootDepth*/,
458     int /*numDepths*/,
459     DepthPtr /*depths*/,
460     VisualID /*rootVisual*/,
461     int /*numVisuals*/,
462     VisualPtr /*visuals*/
463 );
464
465 extern int miAllocateGCPrivateIndex(
466     void
467 );
468
469 extern PixmapPtr miGetScreenPixmap(
470     ScreenPtr pScreen
471 );
472
473 extern void miSetScreenPixmap(
474     PixmapPtr pPix
475 );
476
477 /* mivaltree.c */
478
479 extern int miShapedWindowIn(
480     ScreenPtr /*pScreen*/,
481     RegionPtr /*universe*/,
482     RegionPtr /*bounding*/,
483     BoxPtr /*rect*/,
484     int /*x*/,
485     int /*y*/
486 );
487
488 typedef void 
489 (*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
490
491 typedef RegionPtr
492 (*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
493
494 void
495 miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
496                                   GetRedirectBorderClipProcPtr getBorderClip);
497
498 extern int miValidateTree(
499     WindowPtr /*pParent*/,
500     WindowPtr /*pChild*/,
501     VTKind /*kind*/
502 );
503
504 extern void miWideLine(
505     DrawablePtr /*pDrawable*/,
506     GCPtr /*pGC*/,
507     int /*mode*/,
508     int /*npt*/,
509     DDXPointPtr /*pPts*/
510 );
511
512 extern void miWideDash(
513     DrawablePtr /*pDrawable*/,
514     GCPtr /*pGC*/,
515     int /*mode*/,
516     int /*npt*/,
517     DDXPointPtr /*pPts*/
518 );
519
520 extern void miMiter(
521     void
522 );
523
524 extern void miNotMiter(
525     void
526 );
527
528 /* miwindow.c */
529
530 extern void miClearToBackground(
531     WindowPtr /*pWin*/,
532     int /*x*/,
533     int /*y*/,
534     int /*w*/,
535     int /*h*/,
536     Bool /*generateExposures*/
537 );
538
539 extern Bool miChangeSaveUnder(
540     WindowPtr /*pWin*/,
541     WindowPtr /*first*/
542 );
543
544 extern void miPostChangeSaveUnder(
545     WindowPtr /*pWin*/,
546     WindowPtr /*pFirst*/
547 );
548
549 extern void miMarkWindow(
550     WindowPtr /*pWin*/
551 );
552
553 extern Bool miMarkOverlappedWindows(
554     WindowPtr /*pWin*/,
555     WindowPtr /*pFirst*/,
556     WindowPtr * /*ppLayerWin*/
557 );
558
559 extern void miHandleValidateExposures(
560     WindowPtr /*pWin*/
561 );
562
563 extern void miMoveWindow(
564     WindowPtr /*pWin*/,
565     int /*x*/,
566     int /*y*/,
567     WindowPtr /*pNextSib*/,
568     VTKind /*kind*/
569 );
570
571 extern void miSlideAndSizeWindow(
572     WindowPtr /*pWin*/,
573     int /*x*/,
574     int /*y*/,
575     unsigned int /*w*/,
576     unsigned int /*h*/,
577     WindowPtr /*pSib*/
578 );
579
580 extern WindowPtr miGetLayerWindow(
581     WindowPtr /*pWin*/
582 );
583
584 extern void miSetShape(
585     WindowPtr /*pWin*/
586 );
587
588 extern void miChangeBorderWidth(
589     WindowPtr /*pWin*/,
590     unsigned int /*width*/
591 );
592
593 extern void miMarkUnrealizedWindow(
594     WindowPtr /*pChild*/,
595     WindowPtr /*pWin*/,
596     Bool /*fromConfigure*/
597 );
598
599 extern void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
600
601 /* mizerarc.c */
602
603 extern void miZeroPolyArc(
604     DrawablePtr /*pDraw*/,
605     GCPtr /*pGC*/,
606     int /*narcs*/,
607     xArc * /*parcs*/
608 );
609
610 /* mizerline.c */
611
612 extern void miZeroLine(
613     DrawablePtr /*dst*/,
614     GCPtr /*pgc*/,
615     int /*mode*/,
616     int /*nptInit*/,
617     DDXPointRec * /*pptInit*/
618 );
619
620 extern void miZeroDashLine(
621     DrawablePtr /*dst*/,
622     GCPtr /*pgc*/,
623     int /*mode*/,
624     int /*nptInit*/,
625     DDXPointRec * /*pptInit*/
626 );
627
628 extern void miPolyFillArc(
629     DrawablePtr /*pDraw*/,
630     GCPtr /*pGC*/,
631     int /*narcs*/,
632     xArc * /*parcs*/
633 );
634
635 #endif /* MI_H */