VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.6.99-20090831/mi.h@ 42204

Last change on this file since 42204 was 22658, checked in by vboxsync, 15 years ago

export Xorg 1.6.99 headers to OSE

  • Property svn:eol-style set to native
File size: 12.9 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 mieqResizeEvents(
200 int /* min_size */
201);
202
203extern _X_EXPORT void mieqEnqueue(
204 DeviceIntPtr /*pDev*/,
205 InternalEvent* /*e*/
206);
207
208extern _X_EXPORT void mieqSwitchScreen(
209 DeviceIntPtr /* pDev */,
210 ScreenPtr /*pScreen*/,
211 Bool /*fromDIX*/
212);
213
214extern _X_EXPORT void mieqProcessDeviceEvent(
215 DeviceIntPtr /* dev*/,
216 InternalEvent* /* event */,
217 ScreenPtr /* screen*/
218);
219
220extern _X_EXPORT void mieqProcessInputEvents(
221 void
222);
223
224extern DeviceIntPtr CopyGetMasterEvent(
225 DeviceIntPtr /* sdev */,
226 InternalEvent* /* original */,
227 InternalEvent* /* copy */
228);
229
230/**
231 * Custom input event handler. If you need to process input events in some
232 * other way than the default path, register an input event handler for the
233 * given internal event type.
234 */
235typedef void (*mieqHandler)(int screen, InternalEvent* event, DeviceIntPtr dev);
236void _X_EXPORT mieqSetHandler(int event, mieqHandler handler);
237
238/* miexpose.c */
239
240extern _X_EXPORT RegionPtr miHandleExposures(
241 DrawablePtr /*pSrcDrawable*/,
242 DrawablePtr /*pDstDrawable*/,
243 GCPtr /*pGC*/,
244 int /*srcx*/,
245 int /*srcy*/,
246 int /*width*/,
247 int /*height*/,
248 int /*dstx*/,
249 int /*dsty*/,
250 unsigned long /*plane*/
251);
252
253extern _X_EXPORT void miSendGraphicsExpose(
254 ClientPtr /*client*/,
255 RegionPtr /*pRgn*/,
256 XID /*drawable*/,
257 int /*major*/,
258 int /*minor*/
259);
260
261extern _X_EXPORT void miSendExposures(
262 WindowPtr /*pWin*/,
263 RegionPtr /*pRgn*/,
264 int /*dx*/,
265 int /*dy*/
266);
267
268extern _X_EXPORT void miWindowExposures(
269 WindowPtr /*pWin*/,
270 RegionPtr /*prgn*/,
271 RegionPtr /*other_exposed*/
272);
273
274extern _X_EXPORT void miPaintWindow(
275 WindowPtr /*pWin*/,
276 RegionPtr /*prgn*/,
277 int /*what*/
278);
279
280extern _X_EXPORT void miClearDrawable(
281 DrawablePtr /*pDraw*/,
282 GCPtr /*pGC*/
283);
284
285/* mifillrct.c */
286
287extern _X_EXPORT void miPolyFillRect(
288 DrawablePtr /*pDrawable*/,
289 GCPtr /*pGC*/,
290 int /*nrectFill*/,
291 xRectangle * /*prectInit*/
292);
293
294/* miglblt.c */
295
296extern _X_EXPORT void miPolyGlyphBlt(
297 DrawablePtr /*pDrawable*/,
298 GCPtr /*pGC*/,
299 int /*x*/,
300 int /*y*/,
301 unsigned int /*nglyph*/,
302 CharInfoPtr * /*ppci*/,
303 pointer /*pglyphBase*/
304);
305
306extern _X_EXPORT void miImageGlyphBlt(
307 DrawablePtr /*pDrawable*/,
308 GCPtr /*pGC*/,
309 int /*x*/,
310 int /*y*/,
311 unsigned int /*nglyph*/,
312 CharInfoPtr * /*ppci*/,
313 pointer /*pglyphBase*/
314);
315
316/* mipoly.c */
317
318extern _X_EXPORT void miFillPolygon(
319 DrawablePtr /*dst*/,
320 GCPtr /*pgc*/,
321 int /*shape*/,
322 int /*mode*/,
323 int /*count*/,
324 DDXPointPtr /*pPts*/
325);
326
327/* mipolycon.c */
328
329extern _X_EXPORT Bool miFillConvexPoly(
330 DrawablePtr /*dst*/,
331 GCPtr /*pgc*/,
332 int /*count*/,
333 DDXPointPtr /*ptsIn*/
334);
335
336/* mipolygen.c */
337
338extern _X_EXPORT Bool miFillGeneralPoly(
339 DrawablePtr /*dst*/,
340 GCPtr /*pgc*/,
341 int /*count*/,
342 DDXPointPtr /*ptsIn*/
343);
344
345/* mipolypnt.c */
346
347extern _X_EXPORT void miPolyPoint(
348 DrawablePtr /*pDrawable*/,
349 GCPtr /*pGC*/,
350 int /*mode*/,
351 int /*npt*/,
352 xPoint * /*pptInit*/
353);
354
355/* mipolyrect.c */
356
357extern _X_EXPORT void miPolyRectangle(
358 DrawablePtr /*pDraw*/,
359 GCPtr /*pGC*/,
360 int /*nrects*/,
361 xRectangle * /*pRects*/
362);
363
364/* mipolyseg.c */
365
366extern _X_EXPORT void miPolySegment(
367 DrawablePtr /*pDraw*/,
368 GCPtr /*pGC*/,
369 int /*nseg*/,
370 xSegment * /*pSegs*/
371);
372
373/* mipolytext.c */
374
375extern _X_EXPORT int miPolyText8(
376 DrawablePtr /*pDraw*/,
377 GCPtr /*pGC*/,
378 int /*x*/,
379 int /*y*/,
380 int /*count*/,
381 char * /*chars*/
382);
383
384extern _X_EXPORT int miPolyText16(
385 DrawablePtr /*pDraw*/,
386 GCPtr /*pGC*/,
387 int /*x*/,
388 int /*y*/,
389 int /*count*/,
390 unsigned short * /*chars*/
391);
392
393extern _X_EXPORT void miImageText8(
394 DrawablePtr /*pDraw*/,
395 GCPtr /*pGC*/,
396 int /*x*/,
397 int /*y*/,
398 int /*count*/,
399 char * /*chars*/
400);
401
402extern _X_EXPORT void miImageText16(
403 DrawablePtr /*pDraw*/,
404 GCPtr /*pGC*/,
405 int /*x*/,
406 int /*y*/,
407 int /*count*/,
408 unsigned short * /*chars*/
409);
410
411/* mipushpxl.c */
412
413extern _X_EXPORT void miPushPixels(
414 GCPtr /*pGC*/,
415 PixmapPtr /*pBitMap*/,
416 DrawablePtr /*pDrawable*/,
417 int /*dx*/,
418 int /*dy*/,
419 int /*xOrg*/,
420 int /*yOrg*/
421);
422
423/* miregion.c */
424
425/* see also region.h */
426
427extern _X_EXPORT Bool miRectAlloc(
428 RegionPtr /*pRgn*/,
429 int /*n*/
430);
431
432#ifdef DEBUG
433extern _X_EXPORT Bool miValidRegion(
434 RegionPtr /*prgn*/
435);
436#endif
437
438extern _X_EXPORT Bool miRegionBroken(RegionPtr pReg);
439
440/* miscrinit.c */
441
442extern _X_EXPORT Bool miModifyPixmapHeader(
443 PixmapPtr /*pPixmap*/,
444 int /*width*/,
445 int /*height*/,
446 int /*depth*/,
447 int /*bitsPerPixel*/,
448 int /*devKind*/,
449 pointer /*pPixData*/
450);
451
452extern _X_EXPORT Bool miCreateScreenResources(
453 ScreenPtr /*pScreen*/
454);
455
456extern _X_EXPORT Bool miScreenDevPrivateInit(
457 ScreenPtr /*pScreen*/,
458 int /*width*/,
459 pointer /*pbits*/
460);
461
462extern _X_EXPORT Bool miScreenInit(
463 ScreenPtr /*pScreen*/,
464 pointer /*pbits*/,
465 int /*xsize*/,
466 int /*ysize*/,
467 int /*dpix*/,
468 int /*dpiy*/,
469 int /*width*/,
470 int /*rootDepth*/,
471 int /*numDepths*/,
472 DepthPtr /*depths*/,
473 VisualID /*rootVisual*/,
474 int /*numVisuals*/,
475 VisualPtr /*visuals*/
476);
477
478extern _X_EXPORT DevPrivateKey miAllocateGCPrivateIndex(
479 void
480);
481
482/* mivaltree.c */
483
484extern _X_EXPORT int miShapedWindowIn(
485 ScreenPtr /*pScreen*/,
486 RegionPtr /*universe*/,
487 RegionPtr /*bounding*/,
488 BoxPtr /*rect*/,
489 int /*x*/,
490 int /*y*/
491);
492
493typedef void
494(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
495
496typedef RegionPtr
497(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
498
499extern _X_EXPORT void
500miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
501 GetRedirectBorderClipProcPtr getBorderClip);
502
503extern _X_EXPORT int miValidateTree(
504 WindowPtr /*pParent*/,
505 WindowPtr /*pChild*/,
506 VTKind /*kind*/
507);
508
509extern _X_EXPORT void miWideLine(
510 DrawablePtr /*pDrawable*/,
511 GCPtr /*pGC*/,
512 int /*mode*/,
513 int /*npt*/,
514 DDXPointPtr /*pPts*/
515);
516
517extern _X_EXPORT void miWideDash(
518 DrawablePtr /*pDrawable*/,
519 GCPtr /*pGC*/,
520 int /*mode*/,
521 int /*npt*/,
522 DDXPointPtr /*pPts*/
523);
524
525/* miwindow.c */
526
527extern _X_EXPORT void miClearToBackground(
528 WindowPtr /*pWin*/,
529 int /*x*/,
530 int /*y*/,
531 int /*w*/,
532 int /*h*/,
533 Bool /*generateExposures*/
534);
535
536extern _X_EXPORT void miMarkWindow(
537 WindowPtr /*pWin*/
538);
539
540extern _X_EXPORT Bool miMarkOverlappedWindows(
541 WindowPtr /*pWin*/,
542 WindowPtr /*pFirst*/,
543 WindowPtr * /*ppLayerWin*/
544);
545
546extern _X_EXPORT void miHandleValidateExposures(
547 WindowPtr /*pWin*/
548);
549
550extern _X_EXPORT void miMoveWindow(
551 WindowPtr /*pWin*/,
552 int /*x*/,
553 int /*y*/,
554 WindowPtr /*pNextSib*/,
555 VTKind /*kind*/
556);
557
558extern _X_EXPORT void miSlideAndSizeWindow(
559 WindowPtr /*pWin*/,
560 int /*x*/,
561 int /*y*/,
562 unsigned int /*w*/,
563 unsigned int /*h*/,
564 WindowPtr /*pSib*/
565);
566
567extern _X_EXPORT WindowPtr miGetLayerWindow(
568 WindowPtr /*pWin*/
569);
570
571extern _X_EXPORT void miSetShape(
572 WindowPtr /*pWin*/
573);
574
575extern _X_EXPORT void miChangeBorderWidth(
576 WindowPtr /*pWin*/,
577 unsigned int /*width*/
578);
579
580extern _X_EXPORT void miMarkUnrealizedWindow(
581 WindowPtr /*pChild*/,
582 WindowPtr /*pWin*/,
583 Bool /*fromConfigure*/
584);
585
586extern _X_EXPORT void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
587
588/* mizerarc.c */
589
590extern _X_EXPORT void miZeroPolyArc(
591 DrawablePtr /*pDraw*/,
592 GCPtr /*pGC*/,
593 int /*narcs*/,
594 xArc * /*parcs*/
595);
596
597/* mizerline.c */
598
599extern _X_EXPORT void miZeroLine(
600 DrawablePtr /*dst*/,
601 GCPtr /*pgc*/,
602 int /*mode*/,
603 int /*nptInit*/,
604 DDXPointRec * /*pptInit*/
605);
606
607extern _X_EXPORT void miZeroDashLine(
608 DrawablePtr /*dst*/,
609 GCPtr /*pgc*/,
610 int /*mode*/,
611 int /*nptInit*/,
612 DDXPointRec * /*pptInit*/
613);
614
615extern _X_EXPORT void miPolyFillArc(
616 DrawablePtr /*pDraw*/,
617 GCPtr /*pGC*/,
618 int /*narcs*/,
619 xArc * /*parcs*/
620);
621
622#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