VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.5.3/mi.h@ 17448

Last change on this file since 17448 was 17448, checked in by vboxsync, 16 years ago

Additions/x11: added a full header set for X.Org server 1.5 and 1.6

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette