VirtualBox

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

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

export to OSE

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