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