VirtualBox

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

Last change on this file since 78293 was 43272, checked in by vboxsync, 12 years ago

Additions/x11: more original X server headers.

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