65fea56f17cd614bc8908264df980a62e1931468vboxsync/***********************************************************
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCopyright 1987, 1998 The Open Group
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
65fea56f17cd614bc8908264df980a62e1931468vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
65fea56f17cd614bc8908264df980a62e1931468vboxsyncthe above copyright notice appear in all copies and that both that
65fea56f17cd614bc8908264df980a62e1931468vboxsynccopyright notice and this permission notice appear in supporting
65fea56f17cd614bc8908264df980a62e1931468vboxsyncdocumentation.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncThe above copyright notice and this permission notice shall be included in
65fea56f17cd614bc8908264df980a62e1931468vboxsyncall copies or substantial portions of the Software.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65fea56f17cd614bc8908264df980a62e1931468vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65fea56f17cd614bc8908264df980a62e1931468vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
65fea56f17cd614bc8908264df980a62e1931468vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
65fea56f17cd614bc8908264df980a62e1931468vboxsyncin this Software without prior written authorization from The Open Group.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync All Rights Reserved
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPermission to use, copy, modify, and distribute this software and its
65fea56f17cd614bc8908264df980a62e1931468vboxsyncdocumentation for any purpose and without fee is hereby granted,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncprovided that the above copyright notice appear in all copies and that
65fea56f17cd614bc8908264df980a62e1931468vboxsyncboth that copyright notice and this permission notice appear in
65fea56f17cd614bc8908264df980a62e1931468vboxsyncsupporting documentation, and that the name of Digital not be
65fea56f17cd614bc8908264df980a62e1931468vboxsyncused in advertising or publicity pertaining to distribution of the
65fea56f17cd614bc8908264df980a62e1931468vboxsyncsoftware without specific, written prior permission.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
65fea56f17cd614bc8908264df980a62e1931468vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
65fea56f17cd614bc8908264df980a62e1931468vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
65fea56f17cd614bc8908264df980a62e1931468vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync******************************************************************/
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#ifndef SCREENINTSTRUCT_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define SCREENINTSTRUCT_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "screenint.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "regionstr.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "colormap.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "cursor.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "validate.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include <X11/Xproto.h>
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "dix.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "privates.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _PixmapFormat {
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned char depth;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned char bitsPerPixel;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned char scanlinePad;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} PixmapFormatRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _Visual {
65fea56f17cd614bc8908264df980a62e1931468vboxsync VisualID vid;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short class;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short bitsPerRGBValue;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short ColormapEntries;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short nplanes; /* = log2 (ColormapEntries). This does not
65fea56f17cd614bc8908264df980a62e1931468vboxsync * imply that the screen has this many planes.
65fea56f17cd614bc8908264df980a62e1931468vboxsync * it may have more or fewer */
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long redMask, greenMask, blueMask;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int offsetRed, offsetGreen, offsetBlue;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} VisualRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _Depth {
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned char depth;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short numVids;
65fea56f17cd614bc8908264df980a62e1931468vboxsync VisualID *vids; /* block of visual ids for this depth */
65fea56f17cd614bc8908264df980a62e1931468vboxsync} DepthRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _ScreenSaverStuff {
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr pWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync XID wid;
65fea56f17cd614bc8908264df980a62e1931468vboxsync char blanked;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool (*ExternalScreenSaver) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*xstate */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool /*force */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync} ScreenSaverStuffRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/*
65fea56f17cd614bc8908264df980a62e1931468vboxsync * There is a typedef for each screen function pointer so that code that
65fea56f17cd614bc8908264df980a62e1931468vboxsync * needs to declare a screen function pointer (e.g. in a screen private
65fea56f17cd614bc8908264df980a62e1931468vboxsync * or as a local variable) can easily do so and retain full type checking.
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*CloseScreenProcPtr) (ScreenPtr /*pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*QueryBestSizeProcPtr) (int /*class */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned short * /*pwidth */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned short * /*pheight */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*SaveScreenProcPtr) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*on */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*GetImageProcPtr) (DrawablePtr /*pDrawable */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*sx */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*sy */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*w */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*h */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /*format */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long /*planeMask */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /*pdstLine */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*GetSpansProcPtr) (DrawablePtr /*pDrawable */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*wMax */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync DDXPointPtr /*ppt */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int * /*pwidth */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*nspans */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /*pdstStart */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*SourceValidateProcPtr) (DrawablePtr /*pDrawable */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*width */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*height */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /*subWindowMode */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*CreateWindowProcPtr) (WindowPtr /*pWindow */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*DestroyWindowProcPtr) (WindowPtr /*pWindow */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*PositionWindowProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*ChangeWindowAttributesProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long /*mask */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*RealizeWindowProcPtr) (WindowPtr /*pWindow */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*UnrealizeWindowProcPtr) (WindowPtr /*pWindow */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*RestackWindowProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pOldNextSib */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ValidateTreeProcPtr) (WindowPtr /*pParent */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pChild */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync VTKind /*kind */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*PostValidateTreeProcPtr) (WindowPtr /*pParent */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pChild */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync VTKind /*kind */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync RegionPtr /*prgn */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync RegionPtr /*other_exposed */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync DDXPointRec /*ptOldOrg */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync RegionPtr /*prgnSrc */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ClearToBackgroundProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*w */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*h */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool /*generateExposures */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ClipNotifyProcPtr) (WindowPtr /*pWindow */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*dx */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*dy */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* pixmap will exist only for the duration of the current rendering operation */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define CREATE_PIXMAP_USAGE_SCRATCH 1
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* pixmap will be the backing pixmap for a redirected window */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* pixmap will contain a glyph */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* pixmap will be shared */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define CREATE_PIXMAP_USAGE_SHARED 4
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef PixmapPtr (*CreatePixmapProcPtr) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*width */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*height */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*depth */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned /*usage_hint */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*DestroyPixmapProcPtr) (PixmapPtr /*pPixmap */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*RealizeFontProcPtr) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync FontPtr /*pFont */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*UnrealizeFontProcPtr) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync FontPtr /*pFont */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ConstrainCursorProcPtr) (DeviceIntPtr /*pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync BoxPtr /*pBox */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*CursorLimitsProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorPtr /*pCursor */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync BoxPtr /*pHotBox */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync BoxPtr /*pTopLeftBox */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*DisplayCursorProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorPtr /*pCursor */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*RealizeCursorProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorPtr /*pCursor */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*UnrealizeCursorProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorPtr /*pCursor */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*RecolorCursorProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorPtr /*pCursor */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool /*displayed */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*SetCursorPositionProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool /*generateEvent */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*CreateGCProcPtr) (GCPtr /*pGC */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*CreateColormapProcPtr) (ColormapPtr /*pColormap */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*DestroyColormapProcPtr) (ColormapPtr /*pColormap */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*InstallColormapProcPtr) (ColormapPtr /*pColormap */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*UninstallColormapProcPtr) (ColormapPtr /*pColormap */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ListInstalledColormapsProcPtr) (ScreenPtr /*pScreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync XID * /*pmaps */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*StoreColorsProcPtr) (ColormapPtr /*pColormap */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*ndef */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync xColorItem * /*pdef */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ResolveColorProcPtr) (unsigned short * /*pred */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned short * /*pgreen */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned short * /*pblue */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync VisualPtr /*pVisual */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef RegionPtr (*BitmapToRegionProcPtr) (PixmapPtr /*pPix */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*SendGraphicsExposeProcPtr) (ClientPtr /*client */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync RegionPtr /*pRgn */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync XID /*drawable */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*major */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*minor */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ScreenBlockHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer /*pTimeout */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer /*pReadmask */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ScreenWakeupHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long /*result */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer /*pReadMask */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*CreateScreenResourcesProcPtr) (ScreenPtr /*pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*ModifyPixmapHeaderProcPtr) (PixmapPtr /*pPixmap */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*width */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*height */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*depth */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*bitsPerPixel */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*devKind */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer /*pPixData */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef PixmapPtr (*GetWindowPixmapProcPtr) (WindowPtr /*pWin */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*SetWindowPixmapProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync PixmapPtr /*pPix */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef PixmapPtr (*GetScreenPixmapProcPtr) (ScreenPtr /*pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*SetScreenPixmapProcPtr) (PixmapPtr /*pPix */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*MarkWindowProcPtr) (WindowPtr /*pWin */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*MarkOverlappedWindowsProcPtr) (WindowPtr /*parent */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*firstChild */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr * /*pLayerWin */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ConfigNotifyProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*w */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*h */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*bw */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pSib */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*MoveWindowProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pSib */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync VTKind /*kind */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ResizeWindowProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*x */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*y */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /*w */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /*h */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pSib */
65fea56f17cd614bc8908264df980a62e1931468vboxsync );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef WindowPtr (*GetLayerWindowProcPtr) (WindowPtr /*pWin */
65fea56f17cd614bc8908264df980a62e1931468vboxsync );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*HandleExposuresProcPtr) (WindowPtr /*pWin */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ReparentWindowProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pPriorParent */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*SetShapeProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* kind */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ChangeBorderWidthProcPtr) (WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /*width */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*MarkUnrealizedWindowProcPtr) (WindowPtr /*pChild */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr /*pWin */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool /*fromConfigure */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*DeviceCursorInitializeProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /* pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*DeviceCursorCleanupProcPtr) (DeviceIntPtr /* pDev */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr /* pScreen */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ConstrainCursorHarderProcPtr) (DeviceIntPtr, ScreenPtr, int,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int *, int *);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*SharePixmapBackingProcPtr)(PixmapPtr, ScreenPtr, void **);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*SetSharedPixmapBackingProcPtr)(PixmapPtr, void *);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*StartPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int x, int y);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*StopPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*ReplaceScanoutPixmapProcPtr)(DrawablePtr, PixmapPtr, Bool);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _Screen {
65fea56f17cd614bc8908264df980a62e1931468vboxsync int myNum; /* index of this instance in Screens[] */
65fea56f17cd614bc8908264df980a62e1931468vboxsync ATOM id;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short x, y, width, height;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short mmWidth, mmHeight;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short numDepths;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned char rootDepth;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DepthPtr allowedDepths;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long rootVisual;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long defColormap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short minInstalledCmaps, maxInstalledCmaps;
65fea56f17cd614bc8908264df980a62e1931468vboxsync char backingStoreSupport, saveUnderSupport;
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned long whitePixel, blackPixel;
65fea56f17cd614bc8908264df980a62e1931468vboxsync GCPtr GCperDepth[MAXFORMATS + 1];
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* next field is a stipple to use as default in
65fea56f17cd614bc8908264df980a62e1931468vboxsync a GC. we don't build default tiles of all depths
65fea56f17cd614bc8908264df980a62e1931468vboxsync because they are likely to be of a color
65fea56f17cd614bc8908264df980a62e1931468vboxsync different from the default fg pixel, so
65fea56f17cd614bc8908264df980a62e1931468vboxsync we don't win anything by building
65fea56f17cd614bc8908264df980a62e1931468vboxsync a standard one.
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsync PixmapPtr PixmapPerDepth[1];
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer devPrivate;
65fea56f17cd614bc8908264df980a62e1931468vboxsync short numVisuals;
65fea56f17cd614bc8908264df980a62e1931468vboxsync VisualPtr visuals;
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr root;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenSaverStuffRec screensaver;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync DevPrivateSetRec screenSpecificPrivates[PRIVATE_LAST];
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Random screen procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CloseScreenProcPtr CloseScreen;
65fea56f17cd614bc8908264df980a62e1931468vboxsync QueryBestSizeProcPtr QueryBestSize;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SaveScreenProcPtr SaveScreen;
65fea56f17cd614bc8908264df980a62e1931468vboxsync GetImageProcPtr GetImage;
65fea56f17cd614bc8908264df980a62e1931468vboxsync GetSpansProcPtr GetSpans;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SourceValidateProcPtr SourceValidate;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Window Procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CreateWindowProcPtr CreateWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DestroyWindowProcPtr DestroyWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync PositionWindowProcPtr PositionWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RealizeWindowProcPtr RealizeWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync UnrealizeWindowProcPtr UnrealizeWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ValidateTreeProcPtr ValidateTree;
65fea56f17cd614bc8908264df980a62e1931468vboxsync PostValidateTreeProcPtr PostValidateTree;
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowExposuresProcPtr WindowExposures;
65fea56f17cd614bc8908264df980a62e1931468vboxsync CopyWindowProcPtr CopyWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClearToBackgroundProcPtr ClearToBackground;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClipNotifyProcPtr ClipNotify;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RestackWindowProcPtr RestackWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Pixmap procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CreatePixmapProcPtr CreatePixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DestroyPixmapProcPtr DestroyPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Font procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync RealizeFontProcPtr RealizeFont;
65fea56f17cd614bc8908264df980a62e1931468vboxsync UnrealizeFontProcPtr UnrealizeFont;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Cursor Procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync ConstrainCursorProcPtr ConstrainCursor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ConstrainCursorHarderProcPtr ConstrainCursorHarder;
65fea56f17cd614bc8908264df980a62e1931468vboxsync CursorLimitsProcPtr CursorLimits;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DisplayCursorProcPtr DisplayCursor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RealizeCursorProcPtr RealizeCursor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync UnrealizeCursorProcPtr UnrealizeCursor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RecolorCursorProcPtr RecolorCursor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetCursorPositionProcPtr SetCursorPosition;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* GC procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CreateGCProcPtr CreateGC;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Colormap procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CreateColormapProcPtr CreateColormap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DestroyColormapProcPtr DestroyColormap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync InstallColormapProcPtr InstallColormap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync UninstallColormapProcPtr UninstallColormap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ListInstalledColormapsProcPtr ListInstalledColormaps;
65fea56f17cd614bc8908264df980a62e1931468vboxsync StoreColorsProcPtr StoreColors;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ResolveColorProcPtr ResolveColor;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Region procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync BitmapToRegionProcPtr BitmapToRegion;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SendGraphicsExposeProcPtr SendGraphicsExpose;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* os layer procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenBlockHandlerProcPtr BlockHandler;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenWakeupHandlerProcPtr WakeupHandler;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* anybody can get a piece of this array */
65fea56f17cd614bc8908264df980a62e1931468vboxsync PrivateRec *devPrivates;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync CreateScreenResourcesProcPtr CreateScreenResources;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ModifyPixmapHeaderProcPtr ModifyPixmapHeader;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync GetWindowPixmapProcPtr GetWindowPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetWindowPixmapProcPtr SetWindowPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync GetScreenPixmapProcPtr GetScreenPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetScreenPixmapProcPtr SetScreenPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int totalPixmapSize;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync MarkWindowProcPtr MarkWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ConfigNotifyProcPtr ConfigNotify;
65fea56f17cd614bc8908264df980a62e1931468vboxsync MoveWindowProcPtr MoveWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ResizeWindowProcPtr ResizeWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync GetLayerWindowProcPtr GetLayerWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync HandleExposuresProcPtr HandleExposures;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ReparentWindowProcPtr ReparentWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetShapeProcPtr SetShape;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync ChangeBorderWidthProcPtr ChangeBorderWidth;
65fea56f17cd614bc8908264df980a62e1931468vboxsync MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* Device cursor procedures */
65fea56f17cd614bc8908264df980a62e1931468vboxsync DeviceCursorInitializeProcPtr DeviceCursorInitialize;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DeviceCursorCleanupProcPtr DeviceCursorCleanup;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync /* set it in driver side if X server can copy the framebuffer content.
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Meant to be used together with '-background none' option, avoiding
65fea56f17cd614bc8908264df980a62e1931468vboxsync * malicious users to steal framebuffer's content if that would be the
65fea56f17cd614bc8908264df980a62e1931468vboxsync * default */
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool canDoBGNoneRoot;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync Bool isGPU;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list unattached_list;
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list unattached_head;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr current_master;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list output_slave_list;
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list output_head;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync SharePixmapBackingProcPtr SharePixmapBacking;
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetSharedPixmapBackingProcPtr SetSharedPixmapBacking;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync StartPixmapTrackingProcPtr StartPixmapTracking;
65fea56f17cd614bc8908264df980a62e1931468vboxsync StopPixmapTrackingProcPtr StopPixmapTracking;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list pixmap_dirty_list;
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list offload_slave_list;
65fea56f17cd614bc8908264df980a62e1931468vboxsync struct xorg_list offload_head;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync ReplaceScanoutPixmapProcPtr ReplaceScanoutPixmap;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} ScreenRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncstatic inline RegionPtr
65fea56f17cd614bc8908264df980a62e1931468vboxsyncBitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix)
65fea56f17cd614bc8908264df980a62e1931468vboxsync{
65fea56f17cd614bc8908264df980a62e1931468vboxsync return (*(_pScreen)->BitmapToRegion) (pPix); /* no mi version?! */
65fea56f17cd614bc8908264df980a62e1931468vboxsync}
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct _ScreenInfo {
65fea56f17cd614bc8908264df980a62e1931468vboxsync int imageByteOrder;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int bitmapScanlineUnit;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int bitmapScanlinePad;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int bitmapBitOrder;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int numPixmapFormats;
65fea56f17cd614bc8908264df980a62e1931468vboxsync PixmapFormatRec formats[MAXFORMATS];
65fea56f17cd614bc8908264df980a62e1931468vboxsync int numScreens;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr screens[MAXSCREENS];
65fea56f17cd614bc8908264df980a62e1931468vboxsync int numGPUScreens;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr gpuscreens[MAXGPUSCREENS];
65fea56f17cd614bc8908264df980a62e1931468vboxsync int x; /* origin */
65fea56f17cd614bc8908264df980a62e1931468vboxsync int y; /* origin */
65fea56f17cd614bc8908264df980a62e1931468vboxsync int width; /* total width of all screens together */
65fea56f17cd614bc8908264df980a62e1931468vboxsync int height; /* total height of all screens together */
65fea56f17cd614bc8908264df980a62e1931468vboxsync} ScreenInfo;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT ScreenInfo screenInfo;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT void InitOutput(ScreenInfo * /*pScreenInfo */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /*argc */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char ** /*argv */ );
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* SCREENINTSTRUCT_H */