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