VirtualBox

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

Last change on this file since 58634 was 32163, checked in by vboxsync, 14 years ago

Additions/x11/x11include: additional headers for building drivers for X.Org Server 1.9

  • Property svn:eol-style set to native
File size: 12.6 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#include "colormap.h"
60#include "events.h"
61
62#define MiBits CARD32
63
64typedef struct _miDash *miDashPtr;
65#define EVEN_DASH 0
66#define ODD_DASH ~0
67
68/* miarc.c */
69
70extern _X_EXPORT void miPolyArc(
71 DrawablePtr /*pDraw*/,
72 GCPtr /*pGC*/,
73 int /*narcs*/,
74 xArc * /*parcs*/
75);
76
77/* mibitblt.c */
78
79extern _X_EXPORT RegionPtr miCopyArea(
80 DrawablePtr /*pSrcDrawable*/,
81 DrawablePtr /*pDstDrawable*/,
82 GCPtr /*pGC*/,
83 int /*xIn*/,
84 int /*yIn*/,
85 int /*widthSrc*/,
86 int /*heightSrc*/,
87 int /*xOut*/,
88 int /*yOut*/
89);
90
91extern _X_EXPORT RegionPtr miCopyPlane(
92 DrawablePtr /*pSrcDrawable*/,
93 DrawablePtr /*pDstDrawable*/,
94 GCPtr /*pGC*/,
95 int /*srcx*/,
96 int /*srcy*/,
97 int /*width*/,
98 int /*height*/,
99 int /*dstx*/,
100 int /*dsty*/,
101 unsigned long /*bitPlane*/
102);
103
104extern _X_EXPORT void miGetImage(
105 DrawablePtr /*pDraw*/,
106 int /*sx*/,
107 int /*sy*/,
108 int /*w*/,
109 int /*h*/,
110 unsigned int /*format*/,
111 unsigned long /*planeMask*/,
112 char * /*pdstLine*/
113);
114
115extern _X_EXPORT void miPutImage(
116 DrawablePtr /*pDraw*/,
117 GCPtr /*pGC*/,
118 int /*depth*/,
119 int /*x*/,
120 int /*y*/,
121 int /*w*/,
122 int /*h*/,
123 int /*leftPad*/,
124 int /*format*/,
125 char * /*pImage*/
126);
127
128/* micopy.c */
129
130#define miGetCompositeClip(pGC) ((pGC)->pCompositeClip)
131
132typedef void (*miCopyProc) (DrawablePtr pSrcDrawable,
133 DrawablePtr pDstDrawable,
134 GCPtr pGC,
135 BoxPtr pDstBox,
136 int nbox,
137 int dx,
138 int dy,
139 Bool reverse,
140 Bool upsidedown,
141 Pixel bitplane,
142 void *closure);
143
144extern _X_EXPORT void
145miCopyRegion (DrawablePtr pSrcDrawable,
146 DrawablePtr pDstDrawable,
147 GCPtr pGC,
148 RegionPtr pDstRegion,
149 int dx,
150 int dy,
151 miCopyProc copyProc,
152 Pixel bitPlane,
153 void *closure);
154
155extern _X_EXPORT RegionPtr
156miDoCopy (DrawablePtr pSrcDrawable,
157 DrawablePtr pDstDrawable,
158 GCPtr pGC,
159 int xIn,
160 int yIn,
161 int widthSrc,
162 int heightSrc,
163 int xOut,
164 int yOut,
165 miCopyProc copyProc,
166 Pixel bitplane,
167 void *closure);
168
169/* micursor.c */
170
171extern _X_EXPORT void miRecolorCursor(
172 DeviceIntPtr /* pDev */,
173 ScreenPtr /*pScr*/,
174 CursorPtr /*pCurs*/,
175 Bool /*displayed*/
176);
177
178/* midash.c */
179
180extern _X_EXPORT void miStepDash(
181 int /*dist*/,
182 int * /*pDashIndex*/,
183 unsigned char * /*pDash*/,
184 int /*numInDashList*/,
185 int * /*pDashOffset*/
186);
187
188/* mieq.c */
189
190
191#ifndef INPUT_H
192typedef struct _DeviceRec *DevicePtr;
193#endif
194
195extern _X_EXPORT Bool mieqInit(
196 void
197);
198
199extern _X_EXPORT void mieqFini(void);
200
201extern _X_EXPORT void mieqEnqueue(
202 DeviceIntPtr /*pDev*/,
203 InternalEvent* /*e*/
204);
205
206extern _X_EXPORT void mieqSwitchScreen(
207 DeviceIntPtr /* pDev */,
208 ScreenPtr /*pScreen*/,
209 Bool /*fromDIX*/
210);
211
212extern _X_EXPORT void mieqProcessDeviceEvent(
213 DeviceIntPtr /* dev*/,
214 InternalEvent* /* event */,
215 ScreenPtr /* screen*/
216);
217
218extern _X_EXPORT void mieqProcessInputEvents(
219 void
220);
221
222extern DeviceIntPtr CopyGetMasterEvent(
223 DeviceIntPtr /* sdev */,
224 InternalEvent* /* original */,
225 InternalEvent* /* copy */
226);
227
228/**
229 * Custom input event handler. If you need to process input events in some
230 * other way than the default path, register an input event handler for the
231 * given internal event type.
232 */
233typedef void (*mieqHandler)(int screen, InternalEvent* event, DeviceIntPtr dev);
234void _X_EXPORT mieqSetHandler(int event, mieqHandler handler);
235
236/* miexpose.c */
237
238extern _X_EXPORT RegionPtr miHandleExposures(
239 DrawablePtr /*pSrcDrawable*/,
240 DrawablePtr /*pDstDrawable*/,
241 GCPtr /*pGC*/,
242 int /*srcx*/,
243 int /*srcy*/,
244 int /*width*/,
245 int /*height*/,
246 int /*dstx*/,
247 int /*dsty*/,
248 unsigned long /*plane*/
249);
250
251extern _X_EXPORT void miSendGraphicsExpose(
252 ClientPtr /*client*/,
253 RegionPtr /*pRgn*/,
254 XID /*drawable*/,
255 int /*major*/,
256 int /*minor*/
257);
258
259extern _X_EXPORT void miSendExposures(
260 WindowPtr /*pWin*/,
261 RegionPtr /*pRgn*/,
262 int /*dx*/,
263 int /*dy*/
264);
265
266extern _X_EXPORT void miWindowExposures(
267 WindowPtr /*pWin*/,
268 RegionPtr /*prgn*/,
269 RegionPtr /*other_exposed*/
270);
271
272extern _X_EXPORT void miPaintWindow(
273 WindowPtr /*pWin*/,
274 RegionPtr /*prgn*/,
275 int /*what*/
276);
277
278extern _X_EXPORT void miClearDrawable(
279 DrawablePtr /*pDraw*/,
280 GCPtr /*pGC*/
281);
282
283/* mifillrct.c */
284
285extern _X_EXPORT void miPolyFillRect(
286 DrawablePtr /*pDrawable*/,
287 GCPtr /*pGC*/,
288 int /*nrectFill*/,
289 xRectangle * /*prectInit*/
290);
291
292/* miglblt.c */
293
294extern _X_EXPORT void miPolyGlyphBlt(
295 DrawablePtr /*pDrawable*/,
296 GCPtr /*pGC*/,
297 int /*x*/,
298 int /*y*/,
299 unsigned int /*nglyph*/,
300 CharInfoPtr * /*ppci*/,
301 pointer /*pglyphBase*/
302);
303
304extern _X_EXPORT void miImageGlyphBlt(
305 DrawablePtr /*pDrawable*/,
306 GCPtr /*pGC*/,
307 int /*x*/,
308 int /*y*/,
309 unsigned int /*nglyph*/,
310 CharInfoPtr * /*ppci*/,
311 pointer /*pglyphBase*/
312);
313
314/* mipoly.c */
315
316extern _X_EXPORT void miFillPolygon(
317 DrawablePtr /*dst*/,
318 GCPtr /*pgc*/,
319 int /*shape*/,
320 int /*mode*/,
321 int /*count*/,
322 DDXPointPtr /*pPts*/
323);
324
325/* mipolycon.c */
326
327extern _X_EXPORT Bool miFillConvexPoly(
328 DrawablePtr /*dst*/,
329 GCPtr /*pgc*/,
330 int /*count*/,
331 DDXPointPtr /*ptsIn*/
332);
333
334/* mipolygen.c */
335
336extern _X_EXPORT Bool miFillGeneralPoly(
337 DrawablePtr /*dst*/,
338 GCPtr /*pgc*/,
339 int /*count*/,
340 DDXPointPtr /*ptsIn*/
341);
342
343/* mipolypnt.c */
344
345extern _X_EXPORT void miPolyPoint(
346 DrawablePtr /*pDrawable*/,
347 GCPtr /*pGC*/,
348 int /*mode*/,
349 int /*npt*/,
350 xPoint * /*pptInit*/
351);
352
353/* mipolyrect.c */
354
355extern _X_EXPORT void miPolyRectangle(
356 DrawablePtr /*pDraw*/,
357 GCPtr /*pGC*/,
358 int /*nrects*/,
359 xRectangle * /*pRects*/
360);
361
362/* mipolyseg.c */
363
364extern _X_EXPORT void miPolySegment(
365 DrawablePtr /*pDraw*/,
366 GCPtr /*pGC*/,
367 int /*nseg*/,
368 xSegment * /*pSegs*/
369);
370
371/* mipolytext.c */
372
373extern _X_EXPORT int miPolyText8(
374 DrawablePtr /*pDraw*/,
375 GCPtr /*pGC*/,
376 int /*x*/,
377 int /*y*/,
378 int /*count*/,
379 char * /*chars*/
380);
381
382extern _X_EXPORT int miPolyText16(
383 DrawablePtr /*pDraw*/,
384 GCPtr /*pGC*/,
385 int /*x*/,
386 int /*y*/,
387 int /*count*/,
388 unsigned short * /*chars*/
389);
390
391extern _X_EXPORT void miImageText8(
392 DrawablePtr /*pDraw*/,
393 GCPtr /*pGC*/,
394 int /*x*/,
395 int /*y*/,
396 int /*count*/,
397 char * /*chars*/
398);
399
400extern _X_EXPORT void miImageText16(
401 DrawablePtr /*pDraw*/,
402 GCPtr /*pGC*/,
403 int /*x*/,
404 int /*y*/,
405 int /*count*/,
406 unsigned short * /*chars*/
407);
408
409/* mipushpxl.c */
410
411extern _X_EXPORT void miPushPixels(
412 GCPtr /*pGC*/,
413 PixmapPtr /*pBitMap*/,
414 DrawablePtr /*pDrawable*/,
415 int /*dx*/,
416 int /*dy*/,
417 int /*xOrg*/,
418 int /*yOrg*/
419);
420
421/* miscrinit.c */
422
423extern _X_EXPORT Bool miModifyPixmapHeader(
424 PixmapPtr /*pPixmap*/,
425 int /*width*/,
426 int /*height*/,
427 int /*depth*/,
428 int /*bitsPerPixel*/,
429 int /*devKind*/,
430 pointer /*pPixData*/
431);
432
433extern _X_EXPORT Bool miCreateScreenResources(
434 ScreenPtr /*pScreen*/
435);
436
437extern _X_EXPORT Bool miScreenDevPrivateInit(
438 ScreenPtr /*pScreen*/,
439 int /*width*/,
440 pointer /*pbits*/
441);
442
443extern _X_EXPORT Bool miScreenInit(
444 ScreenPtr /*pScreen*/,
445 pointer /*pbits*/,
446 int /*xsize*/,
447 int /*ysize*/,
448 int /*dpix*/,
449 int /*dpiy*/,
450 int /*width*/,
451 int /*rootDepth*/,
452 int /*numDepths*/,
453 DepthPtr /*depths*/,
454 VisualID /*rootVisual*/,
455 int /*numVisuals*/,
456 VisualPtr /*visuals*/
457);
458
459extern _X_EXPORT DevPrivateKey miAllocateGCPrivateIndex(
460 void
461);
462
463/* mivaltree.c */
464
465extern _X_EXPORT int miShapedWindowIn(
466 RegionPtr /*universe*/,
467 RegionPtr /*bounding*/,
468 BoxPtr /*rect*/,
469 int /*x*/,
470 int /*y*/
471);
472
473typedef void
474(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
475
476typedef RegionPtr
477(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
478
479extern _X_EXPORT void
480miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
481 GetRedirectBorderClipProcPtr getBorderClip);
482
483extern _X_EXPORT int miValidateTree(
484 WindowPtr /*pParent*/,
485 WindowPtr /*pChild*/,
486 VTKind /*kind*/
487);
488
489extern _X_EXPORT void miWideLine(
490 DrawablePtr /*pDrawable*/,
491 GCPtr /*pGC*/,
492 int /*mode*/,
493 int /*npt*/,
494 DDXPointPtr /*pPts*/
495);
496
497extern _X_EXPORT void miWideDash(
498 DrawablePtr /*pDrawable*/,
499 GCPtr /*pGC*/,
500 int /*mode*/,
501 int /*npt*/,
502 DDXPointPtr /*pPts*/
503);
504
505/* miwindow.c */
506
507extern _X_EXPORT void miClearToBackground(
508 WindowPtr /*pWin*/,
509 int /*x*/,
510 int /*y*/,
511 int /*w*/,
512 int /*h*/,
513 Bool /*generateExposures*/
514);
515
516extern _X_EXPORT void miMarkWindow(
517 WindowPtr /*pWin*/
518);
519
520extern _X_EXPORT Bool miMarkOverlappedWindows(
521 WindowPtr /*pWin*/,
522 WindowPtr /*pFirst*/,
523 WindowPtr * /*ppLayerWin*/
524);
525
526extern _X_EXPORT void miHandleValidateExposures(
527 WindowPtr /*pWin*/
528);
529
530extern _X_EXPORT void miMoveWindow(
531 WindowPtr /*pWin*/,
532 int /*x*/,
533 int /*y*/,
534 WindowPtr /*pNextSib*/,
535 VTKind /*kind*/
536);
537
538extern _X_EXPORT void miSlideAndSizeWindow(
539 WindowPtr /*pWin*/,
540 int /*x*/,
541 int /*y*/,
542 unsigned int /*w*/,
543 unsigned int /*h*/,
544 WindowPtr /*pSib*/
545);
546
547extern _X_EXPORT WindowPtr miGetLayerWindow(
548 WindowPtr /*pWin*/
549);
550
551extern _X_EXPORT void miSetShape(
552 WindowPtr /*pWin*/,
553 int /*kind*/
554);
555
556extern _X_EXPORT void miChangeBorderWidth(
557 WindowPtr /*pWin*/,
558 unsigned int /*width*/
559);
560
561extern _X_EXPORT void miMarkUnrealizedWindow(
562 WindowPtr /*pChild*/,
563 WindowPtr /*pWin*/,
564 Bool /*fromConfigure*/
565);
566
567extern _X_EXPORT void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
568
569/* mizerarc.c */
570
571extern _X_EXPORT void miZeroPolyArc(
572 DrawablePtr /*pDraw*/,
573 GCPtr /*pGC*/,
574 int /*narcs*/,
575 xArc * /*parcs*/
576);
577
578/* mizerline.c */
579
580extern _X_EXPORT void miZeroLine(
581 DrawablePtr /*dst*/,
582 GCPtr /*pgc*/,
583 int /*mode*/,
584 int /*nptInit*/,
585 DDXPointRec * /*pptInit*/
586);
587
588extern _X_EXPORT void miZeroDashLine(
589 DrawablePtr /*dst*/,
590 GCPtr /*pgc*/,
591 int /*mode*/,
592 int /*nptInit*/,
593 DDXPointRec * /*pptInit*/
594);
595
596extern _X_EXPORT void miPolyFillArc(
597 DrawablePtr /*pDraw*/,
598 GCPtr /*pGC*/,
599 int /*narcs*/,
600 xArc * /*parcs*/
601);
602
603#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