VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.0.1/scrnintstr.h@ 71717

Last change on this file since 71717 was 51223, checked in by vboxsync, 11 years ago

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

  • Property svn:eol-style set to native
File size: 18.8 KB
Line 
1/* $Xorg: scrnintstr.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */
2/***********************************************************
3
4Copyright 1987, 1998 The Open Group
5
6Permission to use, copy, modify, distribute, and sell this software and its
7documentation for any purpose is hereby granted without fee, provided that
8the above copyright notice appear in all copies and that both that
9copyright notice and this permission notice appear in supporting
10documentation.
11
12The above copyright notice and this permission notice shall be included in
13all copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
19AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22Except as contained in this notice, the name of The Open Group shall not be
23used in advertising or otherwise to promote the sale, use or other dealings
24in this Software without prior written authorization from The Open Group.
25
26
27Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
28
29 All Rights Reserved
30
31Permission to use, copy, modify, and distribute this software and its
32documentation for any purpose and without fee is hereby granted,
33provided that the above copyright notice appear in all copies and that
34both that copyright notice and this permission notice appear in
35supporting documentation, and that the name of Digital not be
36used in advertising or publicity pertaining to distribution of the
37software without specific, written prior permission.
38
39DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
40ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
41DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
42ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
43WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
44ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
45SOFTWARE.
46
47******************************************************************/
48/* $XFree86: xc/programs/Xserver/include/scrnintstr.h,v 1.12 2003/04/27 21:31:05 herrb Exp $ */
49
50#ifndef SCREENINTSTRUCT_H
51#define SCREENINTSTRUCT_H
52
53#include "screenint.h"
54#include "regionstr.h"
55#include "bstore.h"
56#include "colormap.h"
57#include "cursor.h"
58#include "validate.h"
59#include <X11/Xproto.h>
60#include "dix.h"
61
62typedef struct _PixmapFormat {
63 unsigned char depth;
64 unsigned char bitsPerPixel;
65 unsigned char scanlinePad;
66 } PixmapFormatRec;
67
68typedef struct _Visual {
69 VisualID vid;
70 short class;
71 short bitsPerRGBValue;
72 short ColormapEntries;
73 short nplanes;/* = log2 (ColormapEntries). This does not
74 * imply that the screen has this many planes.
75 * it may have more or fewer */
76 unsigned long redMask, greenMask, blueMask;
77 int offsetRed, offsetGreen, offsetBlue;
78 } VisualRec;
79
80typedef struct _Depth {
81 unsigned char depth;
82 short numVids;
83 VisualID *vids; /* block of visual ids for this depth */
84 } DepthRec;
85
86
87/*
88 * There is a typedef for each screen function pointer so that code that
89 * needs to declare a screen function pointer (e.g. in a screen private
90 * or as a local variable) can easily do so and retain full type checking.
91 */
92
93typedef Bool (* CloseScreenProcPtr)(
94 int /*index*/,
95 ScreenPtr /*pScreen*/);
96
97typedef void (* QueryBestSizeProcPtr)(
98 int /*class*/,
99 unsigned short * /*pwidth*/,
100 unsigned short * /*pheight*/,
101 ScreenPtr /*pScreen*/);
102
103typedef Bool (* SaveScreenProcPtr)(
104 ScreenPtr /*pScreen*/,
105 int /*on*/);
106
107typedef void (* GetImageProcPtr)(
108 DrawablePtr /*pDrawable*/,
109 int /*sx*/,
110 int /*sy*/,
111 int /*w*/,
112 int /*h*/,
113 unsigned int /*format*/,
114 unsigned long /*planeMask*/,
115 char * /*pdstLine*/);
116
117typedef void (* GetSpansProcPtr)(
118 DrawablePtr /*pDrawable*/,
119 int /*wMax*/,
120 DDXPointPtr /*ppt*/,
121 int* /*pwidth*/,
122 int /*nspans*/,
123 char * /*pdstStart*/);
124
125typedef void (* PointerNonInterestBoxProcPtr)(
126 ScreenPtr /*pScreen*/,
127 BoxPtr /*pBox*/);
128
129typedef void (* SourceValidateProcPtr)(
130 DrawablePtr /*pDrawable*/,
131 int /*x*/,
132 int /*y*/,
133 int /*width*/,
134 int /*height*/);
135
136typedef Bool (* CreateWindowProcPtr)(
137 WindowPtr /*pWindow*/);
138
139typedef Bool (* DestroyWindowProcPtr)(
140 WindowPtr /*pWindow*/);
141
142typedef Bool (* PositionWindowProcPtr)(
143 WindowPtr /*pWindow*/,
144 int /*x*/,
145 int /*y*/);
146
147typedef Bool (* ChangeWindowAttributesProcPtr)(
148 WindowPtr /*pWindow*/,
149 unsigned long /*mask*/);
150
151typedef Bool (* RealizeWindowProcPtr)(
152 WindowPtr /*pWindow*/);
153
154typedef Bool (* UnrealizeWindowProcPtr)(
155 WindowPtr /*pWindow*/);
156
157typedef void (* RestackWindowProcPtr)(
158 WindowPtr /*pWindow*/,
159 WindowPtr /*pOldNextSib*/);
160
161typedef int (* ValidateTreeProcPtr)(
162 WindowPtr /*pParent*/,
163 WindowPtr /*pChild*/,
164 VTKind /*kind*/);
165
166typedef void (* PostValidateTreeProcPtr)(
167 WindowPtr /*pParent*/,
168 WindowPtr /*pChild*/,
169 VTKind /*kind*/);
170
171typedef void (* WindowExposuresProcPtr)(
172 WindowPtr /*pWindow*/,
173 RegionPtr /*prgn*/,
174 RegionPtr /*other_exposed*/);
175
176typedef void (* PaintWindowProcPtr)(
177 WindowPtr /*pWindow*/,
178 RegionPtr /*pRegion*/,
179 int /*what*/);
180
181typedef PaintWindowProcPtr PaintWindowBackgroundProcPtr;
182typedef PaintWindowProcPtr PaintWindowBorderProcPtr;
183
184typedef void (* CopyWindowProcPtr)(
185 WindowPtr /*pWindow*/,
186 DDXPointRec /*ptOldOrg*/,
187 RegionPtr /*prgnSrc*/);
188
189typedef void (* ClearToBackgroundProcPtr)(
190 WindowPtr /*pWindow*/,
191 int /*x*/,
192 int /*y*/,
193 int /*w*/,
194 int /*h*/,
195 Bool /*generateExposures*/);
196
197typedef void (* ClipNotifyProcPtr)(
198 WindowPtr /*pWindow*/,
199 int /*dx*/,
200 int /*dy*/);
201
202typedef PixmapPtr (* CreatePixmapProcPtr)(
203 ScreenPtr /*pScreen*/,
204 int /*width*/,
205 int /*height*/,
206 int /*depth*/);
207
208typedef Bool (* DestroyPixmapProcPtr)(
209 PixmapPtr /*pPixmap*/);
210
211typedef void (* SaveDoomedAreasProcPtr)(
212 WindowPtr /*pWindow*/,
213 RegionPtr /*prgnSave*/,
214 int /*xorg*/,
215 int /*yorg*/);
216
217typedef RegionPtr (* RestoreAreasProcPtr)(
218 WindowPtr /*pWindow*/,
219 RegionPtr /*prgnRestore*/);
220
221typedef void (* ExposeCopyProcPtr)(
222 WindowPtr /*pSrc*/,
223 DrawablePtr /*pDst*/,
224 GCPtr /*pGC*/,
225 RegionPtr /*prgnExposed*/,
226 int /*srcx*/,
227 int /*srcy*/,
228 int /*dstx*/,
229 int /*dsty*/,
230 unsigned long /*plane*/);
231
232typedef RegionPtr (* TranslateBackingStoreProcPtr)(
233 WindowPtr /*pWindow*/,
234 int /*windx*/,
235 int /*windy*/,
236 RegionPtr /*oldClip*/,
237 int /*oldx*/,
238 int /*oldy*/);
239
240typedef RegionPtr (* ClearBackingStoreProcPtr)(
241 WindowPtr /*pWindow*/,
242 int /*x*/,
243 int /*y*/,
244 int /*w*/,
245 int /*h*/,
246 Bool /*generateExposures*/);
247
248typedef void (* DrawGuaranteeProcPtr)(
249 WindowPtr /*pWindow*/,
250 GCPtr /*pGC*/,
251 int /*guarantee*/);
252
253typedef Bool (* RealizeFontProcPtr)(
254 ScreenPtr /*pScreen*/,
255 FontPtr /*pFont*/);
256
257typedef Bool (* UnrealizeFontProcPtr)(
258 ScreenPtr /*pScreen*/,
259 FontPtr /*pFont*/);
260
261typedef void (* ConstrainCursorProcPtr)(
262 ScreenPtr /*pScreen*/,
263 BoxPtr /*pBox*/);
264
265typedef void (* CursorLimitsProcPtr)(
266 ScreenPtr /*pScreen*/,
267 CursorPtr /*pCursor*/,
268 BoxPtr /*pHotBox*/,
269 BoxPtr /*pTopLeftBox*/);
270
271typedef Bool (* DisplayCursorProcPtr)(
272 ScreenPtr /*pScreen*/,
273 CursorPtr /*pCursor*/);
274
275typedef Bool (* RealizeCursorProcPtr)(
276 ScreenPtr /*pScreen*/,
277 CursorPtr /*pCursor*/);
278
279typedef Bool (* UnrealizeCursorProcPtr)(
280 ScreenPtr /*pScreen*/,
281 CursorPtr /*pCursor*/);
282
283typedef void (* RecolorCursorProcPtr)(
284 ScreenPtr /*pScreen*/,
285 CursorPtr /*pCursor*/,
286 Bool /*displayed*/);
287
288typedef Bool (* SetCursorPositionProcPtr)(
289 ScreenPtr /*pScreen*/,
290 int /*x*/,
291 int /*y*/,
292 Bool /*generateEvent*/);
293
294typedef Bool (* CreateGCProcPtr)(
295 GCPtr /*pGC*/);
296
297typedef Bool (* CreateColormapProcPtr)(
298 ColormapPtr /*pColormap*/);
299
300typedef void (* DestroyColormapProcPtr)(
301 ColormapPtr /*pColormap*/);
302
303typedef void (* InstallColormapProcPtr)(
304 ColormapPtr /*pColormap*/);
305
306typedef void (* UninstallColormapProcPtr)(
307 ColormapPtr /*pColormap*/);
308
309typedef int (* ListInstalledColormapsProcPtr) (
310 ScreenPtr /*pScreen*/,
311 XID* /*pmaps */);
312
313typedef void (* StoreColorsProcPtr)(
314 ColormapPtr /*pColormap*/,
315 int /*ndef*/,
316 xColorItem * /*pdef*/);
317
318typedef void (* ResolveColorProcPtr)(
319 unsigned short* /*pred*/,
320 unsigned short* /*pgreen*/,
321 unsigned short* /*pblue*/,
322 VisualPtr /*pVisual*/);
323
324#ifdef NEED_SCREEN_REGIONS
325
326typedef RegionPtr (* RegionCreateProcPtr)(
327 BoxPtr /*rect*/,
328 int /*size*/);
329
330typedef void (* RegionInitProcPtr)(
331 RegionPtr /*pReg*/,
332 BoxPtr /*rect*/,
333 int /*size*/);
334
335typedef Bool (* RegionCopyProcPtr)(
336 RegionPtr /*dst*/,
337 RegionPtr /*src*/);
338
339typedef void (* RegionDestroyProcPtr)(
340 RegionPtr /*pReg*/);
341
342typedef void (* RegionUninitProcPtr)(
343 RegionPtr /*pReg*/);
344
345typedef Bool (* IntersectProcPtr)(
346 RegionPtr /*newReg*/,
347 RegionPtr /*reg1*/,
348 RegionPtr /*reg2*/);
349
350typedef Bool (* UnionProcPtr)(
351 RegionPtr /*newReg*/,
352 RegionPtr /*reg1*/,
353 RegionPtr /*reg2*/);
354
355typedef Bool (* SubtractProcPtr)(
356 RegionPtr /*regD*/,
357 RegionPtr /*regM*/,
358 RegionPtr /*regS*/);
359
360typedef Bool (* InverseProcPtr)(
361 RegionPtr /*newReg*/,
362 RegionPtr /*reg1*/,
363 BoxPtr /*invRect*/);
364
365typedef void (* RegionResetProcPtr)(
366 RegionPtr /*pReg*/,
367 BoxPtr /*pBox*/);
368
369typedef void (* TranslateRegionProcPtr)(
370 RegionPtr /*pReg*/,
371 int /*x*/,
372 int /*y*/);
373
374typedef int (* RectInProcPtr)(
375 RegionPtr /*region*/,
376 BoxPtr /*prect*/);
377
378typedef Bool (* PointInRegionProcPtr)(
379 RegionPtr /*pReg*/,
380 int /*x*/,
381 int /*y*/,
382 BoxPtr /*box*/);
383
384typedef Bool (* RegionNotEmptyProcPtr)(
385 RegionPtr /*pReg*/);
386
387typedef Bool (* RegionEqualProcPtr)(
388 RegionPtr /*pReg1*/,
389 RegionPtr /*pReg2*/);
390
391typedef Bool (* RegionBrokenProcPtr)(
392 RegionPtr /*pReg*/);
393
394typedef Bool (* RegionBreakProcPtr)(
395 RegionPtr /*pReg*/);
396
397typedef void (* RegionEmptyProcPtr)(
398 RegionPtr /*pReg*/);
399
400typedef BoxPtr (* RegionExtentsProcPtr)(
401 RegionPtr /*pReg*/);
402
403typedef Bool (* RegionAppendProcPtr)(
404 RegionPtr /*dstrgn*/,
405 RegionPtr /*rgn*/);
406
407typedef Bool (* RegionValidateProcPtr)(
408 RegionPtr /*badreg*/,
409 Bool* /*pOverlap*/);
410
411#endif /* NEED_SCREEN_REGIONS */
412
413typedef RegionPtr (* BitmapToRegionProcPtr)(
414 PixmapPtr /*pPix*/);
415
416#ifdef NEED_SCREEN_REGIONS
417
418typedef RegionPtr (* RectsToRegionProcPtr)(
419 int /*nrects*/,
420 xRectangle* /*prect*/,
421 int /*ctype*/);
422
423#endif /* NEED_SCREEN_REGIONS */
424
425typedef void (* SendGraphicsExposeProcPtr)(
426 ClientPtr /*client*/,
427 RegionPtr /*pRgn*/,
428 XID /*drawable*/,
429 int /*major*/,
430 int /*minor*/);
431
432typedef void (* ScreenBlockHandlerProcPtr)(
433 int /*screenNum*/,
434 pointer /*blockData*/,
435 pointer /*pTimeout*/,
436 pointer /*pReadmask*/);
437
438typedef void (* ScreenWakeupHandlerProcPtr)(
439 int /*screenNum*/,
440 pointer /*wakeupData*/,
441 unsigned long /*result*/,
442 pointer /*pReadMask*/);
443
444typedef Bool (* CreateScreenResourcesProcPtr)(
445 ScreenPtr /*pScreen*/);
446
447typedef Bool (* ModifyPixmapHeaderProcPtr)(
448 PixmapPtr /*pPixmap*/,
449 int /*width*/,
450 int /*height*/,
451 int /*depth*/,
452 int /*bitsPerPixel*/,
453 int /*devKind*/,
454 pointer /*pPixData*/);
455
456typedef PixmapPtr (* GetWindowPixmapProcPtr)(
457 WindowPtr /*pWin*/);
458
459typedef void (* SetWindowPixmapProcPtr)(
460 WindowPtr /*pWin*/,
461 PixmapPtr /*pPix*/);
462
463typedef PixmapPtr (* GetScreenPixmapProcPtr)(
464 ScreenPtr /*pScreen*/);
465
466typedef void (* SetScreenPixmapProcPtr)(
467 PixmapPtr /*pPix*/);
468
469typedef void (* MarkWindowProcPtr)(
470 WindowPtr /*pWin*/);
471
472typedef Bool (* MarkOverlappedWindowsProcPtr)(
473 WindowPtr /*parent*/,
474 WindowPtr /*firstChild*/,
475 WindowPtr * /*pLayerWin*/);
476
477typedef Bool (* ChangeSaveUnderProcPtr)(
478 WindowPtr /*pLayerWin*/,
479 WindowPtr /*firstChild*/);
480
481typedef void (* PostChangeSaveUnderProcPtr)(
482 WindowPtr /*pLayerWin*/,
483 WindowPtr /*firstChild*/);
484
485typedef void (* MoveWindowProcPtr)(
486 WindowPtr /*pWin*/,
487 int /*x*/,
488 int /*y*/,
489 WindowPtr /*pSib*/,
490 VTKind /*kind*/);
491
492typedef void (* ResizeWindowProcPtr)(
493 WindowPtr /*pWin*/,
494 int /*x*/,
495 int /*y*/,
496 unsigned int /*w*/,
497 unsigned int /*h*/,
498 WindowPtr /*pSib*/
499);
500
501typedef WindowPtr (* GetLayerWindowProcPtr)(
502 WindowPtr /*pWin*/
503);
504
505typedef void (* HandleExposuresProcPtr)(
506 WindowPtr /*pWin*/);
507
508typedef void (* ReparentWindowProcPtr)(
509 WindowPtr /*pWin*/,
510 WindowPtr /*pPriorParent*/);
511
512#ifdef SHAPE
513typedef void (* SetShapeProcPtr)(
514 WindowPtr /*pWin*/);
515#endif /* SHAPE */
516
517typedef void (* ChangeBorderWidthProcPtr)(
518 WindowPtr /*pWin*/,
519 unsigned int /*width*/);
520
521typedef void (* MarkUnrealizedWindowProcPtr)(
522 WindowPtr /*pChild*/,
523 WindowPtr /*pWin*/,
524 Bool /*fromConfigure*/);
525
526typedef struct _Screen {
527 int myNum; /* index of this instance in Screens[] */
528 ATOM id;
529 short width, height;
530 short mmWidth, mmHeight;
531 short numDepths;
532 unsigned char rootDepth;
533 DepthPtr allowedDepths;
534 unsigned long rootVisual;
535 unsigned long defColormap;
536 short minInstalledCmaps, maxInstalledCmaps;
537 char backingStoreSupport, saveUnderSupport;
538 unsigned long whitePixel, blackPixel;
539 unsigned long rgf; /* array of flags; she's -- HUNGARIAN */
540 GCPtr GCperDepth[MAXFORMATS+1];
541 /* next field is a stipple to use as default in
542 a GC. we don't build default tiles of all depths
543 because they are likely to be of a color
544 different from the default fg pixel, so
545 we don't win anything by building
546 a standard one.
547 */
548 PixmapPtr PixmapPerDepth[1];
549 pointer devPrivate;
550 short numVisuals;
551 VisualPtr visuals;
552 int WindowPrivateLen;
553 unsigned *WindowPrivateSizes;
554 unsigned totalWindowSize;
555 int GCPrivateLen;
556 unsigned *GCPrivateSizes;
557 unsigned totalGCSize;
558
559 /* Random screen procedures */
560
561 CloseScreenProcPtr CloseScreen;
562 QueryBestSizeProcPtr QueryBestSize;
563 SaveScreenProcPtr SaveScreen;
564 GetImageProcPtr GetImage;
565 GetSpansProcPtr GetSpans;
566 PointerNonInterestBoxProcPtr PointerNonInterestBox;
567 SourceValidateProcPtr SourceValidate;
568
569 /* Window Procedures */
570
571 CreateWindowProcPtr CreateWindow;
572 DestroyWindowProcPtr DestroyWindow;
573 PositionWindowProcPtr PositionWindow;
574 ChangeWindowAttributesProcPtr ChangeWindowAttributes;
575 RealizeWindowProcPtr RealizeWindow;
576 UnrealizeWindowProcPtr UnrealizeWindow;
577 ValidateTreeProcPtr ValidateTree;
578 PostValidateTreeProcPtr PostValidateTree;
579 WindowExposuresProcPtr WindowExposures;
580 PaintWindowBackgroundProcPtr PaintWindowBackground;
581 PaintWindowBorderProcPtr PaintWindowBorder;
582 CopyWindowProcPtr CopyWindow;
583 ClearToBackgroundProcPtr ClearToBackground;
584 ClipNotifyProcPtr ClipNotify;
585 RestackWindowProcPtr RestackWindow;
586
587 /* Pixmap procedures */
588
589 CreatePixmapProcPtr CreatePixmap;
590 DestroyPixmapProcPtr DestroyPixmap;
591
592 /* Backing store procedures */
593
594 SaveDoomedAreasProcPtr SaveDoomedAreas;
595 RestoreAreasProcPtr RestoreAreas;
596 ExposeCopyProcPtr ExposeCopy;
597 TranslateBackingStoreProcPtr TranslateBackingStore;
598 ClearBackingStoreProcPtr ClearBackingStore;
599 DrawGuaranteeProcPtr DrawGuarantee;
600 /*
601 * A read/write copy of the lower level backing store vector is needed now
602 * that the functions can be wrapped.
603 */
604 BSFuncRec BackingStoreFuncs;
605
606 /* Font procedures */
607
608 RealizeFontProcPtr RealizeFont;
609 UnrealizeFontProcPtr UnrealizeFont;
610
611 /* Cursor Procedures */
612
613 ConstrainCursorProcPtr ConstrainCursor;
614 CursorLimitsProcPtr CursorLimits;
615 DisplayCursorProcPtr DisplayCursor;
616 RealizeCursorProcPtr RealizeCursor;
617 UnrealizeCursorProcPtr UnrealizeCursor;
618 RecolorCursorProcPtr RecolorCursor;
619 SetCursorPositionProcPtr SetCursorPosition;
620
621 /* GC procedures */
622
623 CreateGCProcPtr CreateGC;
624
625 /* Colormap procedures */
626
627 CreateColormapProcPtr CreateColormap;
628 DestroyColormapProcPtr DestroyColormap;
629 InstallColormapProcPtr InstallColormap;
630 UninstallColormapProcPtr UninstallColormap;
631 ListInstalledColormapsProcPtr ListInstalledColormaps;
632 StoreColorsProcPtr StoreColors;
633 ResolveColorProcPtr ResolveColor;
634
635 /* Region procedures */
636
637#ifdef NEED_SCREEN_REGIONS
638 RegionCreateProcPtr RegionCreate;
639 RegionInitProcPtr RegionInit;
640 RegionCopyProcPtr RegionCopy;
641 RegionDestroyProcPtr RegionDestroy;
642 RegionUninitProcPtr RegionUninit;
643 IntersectProcPtr Intersect;
644 UnionProcPtr Union;
645 SubtractProcPtr Subtract;
646 InverseProcPtr Inverse;
647 RegionResetProcPtr RegionReset;
648 TranslateRegionProcPtr TranslateRegion;
649 RectInProcPtr RectIn;
650 PointInRegionProcPtr PointInRegion;
651 RegionNotEmptyProcPtr RegionNotEmpty;
652 RegionEqualProcPtr RegionEqual;
653 RegionBrokenProcPtr RegionBroken;
654 RegionBreakProcPtr RegionBreak;
655 RegionEmptyProcPtr RegionEmpty;
656 RegionExtentsProcPtr RegionExtents;
657 RegionAppendProcPtr RegionAppend;
658 RegionValidateProcPtr RegionValidate;
659#endif /* NEED_SCREEN_REGIONS */
660 BitmapToRegionProcPtr BitmapToRegion;
661#ifdef NEED_SCREEN_REGIONS
662 RectsToRegionProcPtr RectsToRegion;
663#endif /* NEED_SCREEN_REGIONS */
664 SendGraphicsExposeProcPtr SendGraphicsExpose;
665
666 /* os layer procedures */
667
668 ScreenBlockHandlerProcPtr BlockHandler;
669 ScreenWakeupHandlerProcPtr WakeupHandler;
670
671 pointer blockData;
672 pointer wakeupData;
673
674 /* anybody can get a piece of this array */
675 DevUnion *devPrivates;
676
677 CreateScreenResourcesProcPtr CreateScreenResources;
678 ModifyPixmapHeaderProcPtr ModifyPixmapHeader;
679
680 GetWindowPixmapProcPtr GetWindowPixmap;
681 SetWindowPixmapProcPtr SetWindowPixmap;
682 GetScreenPixmapProcPtr GetScreenPixmap;
683 SetScreenPixmapProcPtr SetScreenPixmap;
684
685 PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
686
687#ifdef PIXPRIV
688 int PixmapPrivateLen;
689 unsigned int *PixmapPrivateSizes;
690 unsigned int totalPixmapSize;
691#endif
692
693 MarkWindowProcPtr MarkWindow;
694 MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
695 ChangeSaveUnderProcPtr ChangeSaveUnder;
696 PostChangeSaveUnderProcPtr PostChangeSaveUnder;
697 MoveWindowProcPtr MoveWindow;
698 ResizeWindowProcPtr ResizeWindow;
699 GetLayerWindowProcPtr GetLayerWindow;
700 HandleExposuresProcPtr HandleExposures;
701 ReparentWindowProcPtr ReparentWindow;
702
703#ifdef SHAPE
704 SetShapeProcPtr SetShape;
705#endif /* SHAPE */
706
707 ChangeBorderWidthProcPtr ChangeBorderWidth;
708 MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
709
710} ScreenRec;
711
712typedef struct _ScreenInfo {
713 int imageByteOrder;
714 int bitmapScanlineUnit;
715 int bitmapScanlinePad;
716 int bitmapBitOrder;
717 int numPixmapFormats;
718 PixmapFormatRec
719 formats[MAXFORMATS];
720 int arraySize;
721 int numScreens;
722 ScreenPtr screens[MAXSCREENS];
723 int numVideoScreens;
724} ScreenInfo;
725
726extern ScreenInfo screenInfo;
727
728extern void InitOutput(
729 ScreenInfo * /*pScreenInfo*/,
730 int /*argc*/,
731 char ** /*argv*/);
732
733#endif /* SCREENINTSTRUCT_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