VirtualBox

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

Last change on this file since 68495 was 36308, checked in by vboxsync, 14 years ago

fix OSE

  • 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
459/* mivaltree.c */
460
461extern _X_EXPORT int miShapedWindowIn(
462 RegionPtr /*universe*/,
463 RegionPtr /*bounding*/,
464 BoxPtr /*rect*/,
465 int /*x*/,
466 int /*y*/
467);
468
469typedef void
470(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
471
472typedef RegionPtr
473(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
474
475extern _X_EXPORT void
476miRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
477 GetRedirectBorderClipProcPtr getBorderClip);
478
479extern _X_EXPORT int miValidateTree(
480 WindowPtr /*pParent*/,
481 WindowPtr /*pChild*/,
482 VTKind /*kind*/
483);
484
485extern _X_EXPORT void miWideLine(
486 DrawablePtr /*pDrawable*/,
487 GCPtr /*pGC*/,
488 int /*mode*/,
489 int /*npt*/,
490 DDXPointPtr /*pPts*/
491);
492
493extern _X_EXPORT void miWideDash(
494 DrawablePtr /*pDrawable*/,
495 GCPtr /*pGC*/,
496 int /*mode*/,
497 int /*npt*/,
498 DDXPointPtr /*pPts*/
499);
500
501/* miwindow.c */
502
503extern _X_EXPORT void miClearToBackground(
504 WindowPtr /*pWin*/,
505 int /*x*/,
506 int /*y*/,
507 int /*w*/,
508 int /*h*/,
509 Bool /*generateExposures*/
510);
511
512extern _X_EXPORT void miMarkWindow(
513 WindowPtr /*pWin*/
514);
515
516extern _X_EXPORT Bool miMarkOverlappedWindows(
517 WindowPtr /*pWin*/,
518 WindowPtr /*pFirst*/,
519 WindowPtr * /*ppLayerWin*/
520);
521
522extern _X_EXPORT void miHandleValidateExposures(
523 WindowPtr /*pWin*/
524);
525
526extern _X_EXPORT void miMoveWindow(
527 WindowPtr /*pWin*/,
528 int /*x*/,
529 int /*y*/,
530 WindowPtr /*pNextSib*/,
531 VTKind /*kind*/
532);
533
534extern _X_EXPORT void miSlideAndSizeWindow(
535 WindowPtr /*pWin*/,
536 int /*x*/,
537 int /*y*/,
538 unsigned int /*w*/,
539 unsigned int /*h*/,
540 WindowPtr /*pSib*/
541);
542
543extern _X_EXPORT WindowPtr miGetLayerWindow(
544 WindowPtr /*pWin*/
545);
546
547extern _X_EXPORT void miSetShape(
548 WindowPtr /*pWin*/,
549 int /*kind*/
550);
551
552extern _X_EXPORT void miChangeBorderWidth(
553 WindowPtr /*pWin*/,
554 unsigned int /*width*/
555);
556
557extern _X_EXPORT void miMarkUnrealizedWindow(
558 WindowPtr /*pChild*/,
559 WindowPtr /*pWin*/,
560 Bool /*fromConfigure*/
561);
562
563extern _X_EXPORT void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
564
565/* mizerarc.c */
566
567extern _X_EXPORT void miZeroPolyArc(
568 DrawablePtr /*pDraw*/,
569 GCPtr /*pGC*/,
570 int /*narcs*/,
571 xArc * /*parcs*/
572);
573
574/* mizerline.c */
575
576extern _X_EXPORT void miZeroLine(
577 DrawablePtr /*dst*/,
578 GCPtr /*pgc*/,
579 int /*mode*/,
580 int /*nptInit*/,
581 DDXPointRec * /*pptInit*/
582);
583
584extern _X_EXPORT void miZeroDashLine(
585 DrawablePtr /*dst*/,
586 GCPtr /*pgc*/,
587 int /*mode*/,
588 int /*nptInit*/,
589 DDXPointRec * /*pptInit*/
590);
591
592extern _X_EXPORT void miPolyFillArc(
593 DrawablePtr /*pDraw*/,
594 GCPtr /*pGC*/,
595 int /*narcs*/,
596 xArc * /*parcs*/
597);
598
599#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