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