040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/***********************************************************
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCopyright 1987, 1998 The Open Group
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncthe above copyright notice appear in all copies and that both that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynccopyright notice and this permission notice appear in supporting
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncThe above copyright notice and this permission notice shall be included in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncall copies or substantial portions of the Software.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncExcept as contained in this notice, the name of The Open Group shall not be
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncin this Software without prior written authorization from The Open Group.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync All Rights Reserved
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPermission to use, copy, modify, and distribute this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation for any purpose and without fee is hereby granted,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncprovided that the above copyright notice appear in all copies and that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncboth that copyright notice and this permission notice appear in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsupporting documentation, and that the name of Digital not be
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncused in advertising or publicity pertaining to distribution of the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsoftware without specific, written prior permission.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync******************************************************************/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef SCREENINTSTRUCT_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SCREENINTSTRUCT_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "screenint.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "regionstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "bstore.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "colormap.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "cursor.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "validate.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <X11/Xproto.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "dix.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "privates.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PixmapFormat {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char depth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char bitsPerPixel;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char scanlinePad;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync } PixmapFormatRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _Visual {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualID vid;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short bitsPerRGBValue;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short ColormapEntries;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short nplanes;/* = log2 (ColormapEntries). This does not
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * imply that the screen has this many planes.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * it may have more or fewer */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long redMask, greenMask, blueMask;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int offsetRed, offsetGreen, offsetBlue;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync } VisualRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _Depth {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char depth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short numVids;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualID *vids; /* block of visual ids for this depth */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync } DepthRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * There is a typedef for each screen function pointer so that code that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * needs to declare a screen function pointer (e.g. in a screen private
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * or as a local variable) can easily do so and retain full type checking.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* CloseScreenProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*index*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* QueryBestSizeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*class*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned short * /*pwidth*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned short * /*pheight*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* SaveScreenProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*on*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* GetImageProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDrawable*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*sx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*sy*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*w*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*h*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*format*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*planeMask*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char * /*pdstLine*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* GetSpansProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDrawable*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*wMax*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DDXPointPtr /*ppt*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int* /*pwidth*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*nspans*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char * /*pdstStart*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* PointerNonInterestBoxProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BoxPtr /*pBox*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SourceValidateProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDrawable*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*width*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*height*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* CreateWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* DestroyWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* PositionWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* ChangeWindowAttributesProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*mask*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* RealizeWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* UnrealizeWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* RestackWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pOldNextSib*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (* ValidateTreeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pParent*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pChild*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VTKind /*kind*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* PostValidateTreeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pParent*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pChild*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VTKind /*kind*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* WindowExposuresProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*prgn*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*other_exposed*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* PaintWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*pRegion*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*what*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef PaintWindowProcPtr PaintWindowBackgroundProcPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef PaintWindowProcPtr PaintWindowBorderProcPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* CopyWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DDXPointRec /*ptOldOrg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*prgnSrc*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ClearToBackgroundProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*w*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*h*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool /*generateExposures*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ClipNotifyProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*dx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*dy*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* pixmap will exist only for the duration of the current rendering operation */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define CREATE_PIXMAP_USAGE_SCRATCH 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* pixmap will be the backing pixmap for a redirected window */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* pixmap will contain a glyph */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef PixmapPtr (* CreatePixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*width*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*height*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*depth*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned /*usage_hint*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* DestroyPixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr /*pPixmap*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SaveDoomedAreasProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*prgnSave*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*xorg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*yorg*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef RegionPtr (* RestoreAreasProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*prgnRestore*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ExposeCopyProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pSrc*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDst*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr /*pGC*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*prgnExposed*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*srcx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*srcy*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*dstx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*dsty*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*plane*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef RegionPtr (* TranslateBackingStoreProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*windx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*windy*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*oldClip*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*oldx*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*oldy*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef RegionPtr (* ClearBackingStoreProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*w*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*h*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool /*generateExposures*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* DrawGuaranteeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWindow*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr /*pGC*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*guarantee*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* RealizeFontProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync FontPtr /*pFont*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* UnrealizeFontProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync FontPtr /*pFont*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ConstrainCursorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BoxPtr /*pBox*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* CursorLimitsProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorPtr /*pCursor*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BoxPtr /*pHotBox*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BoxPtr /*pTopLeftBox*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* DisplayCursorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorPtr /*pCursor*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* RealizeCursorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorPtr /*pCursor*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* UnrealizeCursorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorPtr /*pCursor*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* RecolorCursorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorPtr /*pCursor*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool /*displayed*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* SetCursorPositionProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool /*generateEvent*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* CreateGCProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr /*pGC*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* CreateColormapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr /*pColormap*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* DestroyColormapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr /*pColormap*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* InstallColormapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr /*pColormap*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* UninstallColormapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr /*pColormap*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (* ListInstalledColormapsProcPtr) (
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID* /*pmaps */);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* StoreColorsProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr /*pColormap*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*ndef*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xColorItem * /*pdef*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ResolveColorProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned short* /*pred*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned short* /*pgreen*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned short* /*pblue*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualPtr /*pVisual*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef RegionPtr (* BitmapToRegionProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr /*pPix*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SendGraphicsExposeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr /*pRgn*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID /*drawable*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*major*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*minor*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ScreenBlockHandlerProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*screenNum*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*blockData*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*pTimeout*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*pReadmask*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ScreenWakeupHandlerProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*screenNum*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*wakeupData*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*result*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*pReadMask*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* CreateScreenResourcesProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* ModifyPixmapHeaderProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr /*pPixmap*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*width*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*height*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*depth*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*bitsPerPixel*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*devKind*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*pPixData*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef PixmapPtr (* GetWindowPixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SetWindowPixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr /*pPix*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef PixmapPtr (* GetScreenPixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr /*pScreen*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SetScreenPixmapProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr /*pPix*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* MarkWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* MarkOverlappedWindowsProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*parent*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*firstChild*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr * /*pLayerWin*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (* ChangeSaveUnderProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pLayerWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*firstChild*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* PostChangeSaveUnderProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pLayerWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*firstChild*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* MoveWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pSib*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VTKind /*kind*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ResizeWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*x*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*y*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*w*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*h*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pSib*/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef WindowPtr (* GetLayerWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* HandleExposuresProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ReparentWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pPriorParent*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef SHAPE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* SetShapeProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* SHAPE */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* ChangeBorderWidthProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*width*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (* MarkUnrealizedWindowProcPtr)(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pChild*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowPtr /*pWin*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool /*fromConfigure*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _Screen {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int myNum; /* index of this instance in Screens[] */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ATOM id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short width, height;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short mmWidth, mmHeight;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short numDepths;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char rootDepth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DepthPtr allowedDepths;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long rootVisual;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long defColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short minInstalledCmaps, maxInstalledCmaps;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char backingStoreSupport, saveUnderSupport;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long whitePixel, blackPixel;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long rgf; /* array of flags; she's -- HUNGARIAN */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr GCperDepth[MAXFORMATS+1];
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* next field is a stipple to use as default in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync a GC. we don't build default tiles of all depths
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync because they are likely to be of a color
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync different from the default fg pixel, so
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync we don't win anything by building
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync a standard one.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr PixmapPerDepth[1];
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer devPrivate;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync short numVisuals;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualPtr visuals;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Random screen procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CloseScreenProcPtr CloseScreen;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync QueryBestSizeProcPtr QueryBestSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SaveScreenProcPtr SaveScreen;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GetImageProcPtr GetImage;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GetSpansProcPtr GetSpans;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PointerNonInterestBoxProcPtr PointerNonInterestBox;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SourceValidateProcPtr SourceValidate;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Window Procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreateWindowProcPtr CreateWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyWindowProcPtr DestroyWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PositionWindowProcPtr PositionWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RealizeWindowProcPtr RealizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UnrealizeWindowProcPtr UnrealizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ValidateTreeProcPtr ValidateTree;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PostValidateTreeProcPtr PostValidateTree;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync WindowExposuresProcPtr WindowExposures;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PaintWindowBackgroundProcPtr PaintWindowBackground; /** unused */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PaintWindowBorderProcPtr PaintWindowBorder; /** unused */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CopyWindowProcPtr CopyWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClearToBackgroundProcPtr ClearToBackground;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClipNotifyProcPtr ClipNotify;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RestackWindowProcPtr RestackWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Pixmap procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreatePixmapProcPtr CreatePixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyPixmapProcPtr DestroyPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Backing store procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SaveDoomedAreasProcPtr SaveDoomedAreas;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RestoreAreasProcPtr RestoreAreas;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ExposeCopyProcPtr ExposeCopy;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync TranslateBackingStoreProcPtr TranslateBackingStore;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClearBackingStoreProcPtr ClearBackingStore;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawGuaranteeProcPtr DrawGuarantee;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * A read/write copy of the lower level backing store vector is needed now
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * that the functions can be wrapped.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BSFuncRec BackingStoreFuncs;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Font procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RealizeFontProcPtr RealizeFont;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UnrealizeFontProcPtr UnrealizeFont;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Cursor Procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ConstrainCursorProcPtr ConstrainCursor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CursorLimitsProcPtr CursorLimits;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DisplayCursorProcPtr DisplayCursor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RealizeCursorProcPtr RealizeCursor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UnrealizeCursorProcPtr UnrealizeCursor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RecolorCursorProcPtr RecolorCursor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SetCursorPositionProcPtr SetCursorPosition;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* GC procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreateGCProcPtr CreateGC;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Colormap procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreateColormapProcPtr CreateColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyColormapProcPtr DestroyColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync InstallColormapProcPtr InstallColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UninstallColormapProcPtr UninstallColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ListInstalledColormapsProcPtr ListInstalledColormaps;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync StoreColorsProcPtr StoreColors;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ResolveColorProcPtr ResolveColor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* Region procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync BitmapToRegionProcPtr BitmapToRegion;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SendGraphicsExposeProcPtr SendGraphicsExpose;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* os layer procedures */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenBlockHandlerProcPtr BlockHandler;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenWakeupHandlerProcPtr WakeupHandler;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer blockData;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer wakeupData;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /* anybody can get a piece of this array */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PrivateRec *devPrivates;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreateScreenResourcesProcPtr CreateScreenResources;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ModifyPixmapHeaderProcPtr ModifyPixmapHeader;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GetWindowPixmapProcPtr GetWindowPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SetWindowPixmapProcPtr SetWindowPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GetScreenPixmapProcPtr GetScreenPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SetScreenPixmapProcPtr SetScreenPixmap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int totalPixmapSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync MarkWindowProcPtr MarkWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangeSaveUnderProcPtr ChangeSaveUnder;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PostChangeSaveUnderProcPtr PostChangeSaveUnder;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync MoveWindowProcPtr MoveWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ResizeWindowProcPtr ResizeWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GetLayerWindowProcPtr GetLayerWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync HandleExposuresProcPtr HandleExposures;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ReparentWindowProcPtr ReparentWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef SHAPE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SetShapeProcPtr SetShape;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* SHAPE */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangeBorderWidthProcPtr ChangeBorderWidth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} ScreenRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _ScreenInfo {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int imageByteOrder;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int bitmapScanlineUnit;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int bitmapScanlinePad;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int bitmapBitOrder;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int numPixmapFormats;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PixmapFormatRec
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync formats[MAXFORMATS];
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int arraySize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int numScreens;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenPtr screens[MAXSCREENS];
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int numVideoScreens;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} ScreenInfo;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern ScreenInfo screenInfo;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void InitOutput(
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ScreenInfo * /*pScreenInfo*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*argc*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char ** /*argv*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* SCREENINTSTRUCT_H */