|
|
#include "scrninstr.h"
The first section contains various screen definitions
typedef struct _Screen { int myNum; /* index of this instance in Screens[] */ ATOM id; short width, height; short mmWidth, mmHeight; short numDepths; unsigned char rootDepth; DepthPtr allowedDepths; unsigned long rootVisual; unsigned long defColormap; short minInstalledCmaps, maxInstalledCmaps; char backingStoreSupport, saveUnderSupport; unsigned long whitePixel, blackPixel; unsigned long rgf; /* array of flags; she's -- HUNGARIAN */ GCPtr GCperDepth[MAXFORMATS+1]; PixmapPtr PixmapPerDepth[1]; pointer devPrivate; short numVisuals; VisualPtr visuals; int WindowPrivateLen; unsigned *WindowPrivateSizes; unsigned totalWindowSize; int GCPrivateLen; unsigned *GCPrivateSizes; unsigned totalGCSize; #ifdef PIXPRIV int PixmapPrivateLen; unsigned *PixmapPrivateSizes; unsigned totalPixmapSize; long _reserved_pad_data[47]; /* new privates */ #else long _reserved_pad_data[50]; /* padding for expansion S001 */ #endifNote the following:
myNum
PixmapPtr
Bool (* CloseScreen)(); /* index, pScreen */ void (* QueryBestSize)(); /* class, pwidth, pheight, pScreen */ Bool (* SaveScreen)(); /* pScreen, on */ void (* GetImage)(); /* pDrawable, sx, sy, w, h, format, * planemask, pdestbits */ void (* GetSpans)(); /* pDrawable, wMax, ppt, pwidth, * nspans, pdstbits */ void (* PointerNonInterestBox)(); /* pScr, BoxPtr */ void (* SourceValidate)(); /* pDrawable, x, y, w, h */
Bool (* CreateWindow)(); /* pWin */ Bool (* DestroyWindow)(); /* pWin */ Bool (* PositionWindow)(); /* pWin, x, y */ Bool (* ChangeWindowAttributes)(); /* pWin, mask */ Bool (* RealizeWindow)(); /* pWin */ Bool (* UnrealizeWindow)(); /* pWin */ int (* ValidateTree)(); /* pParent, pChild, kind */ void (* PostValidateTree)(); /* pParent, pChild, kind */ void (* WindowExposures)(); /* pWin, pRegion, pBSRegion */ void (* PaintWindowBackground)(); /* pWin, pRgn, which */ void (* PaintWindowBorder)(); /* pWin, pRgn, which */ void (* CopyWindow)(); /* pWin, oldPt, pOldRegion */ void (* ClearToBackground)(); /* pWin, x,y,w,h, sendExpose */ void (* ClipNotify)(); /* pWin, dx, dy */
PixmapPtr (* CreatePixmap)(); /* pScreen, width, height, depth */ Bool (* DestroyPixmap)(); /* pPixmap */
void (* SaveDoomedAreas)(); /* pWin, pRegion, dx, dy */ RegionPtr (* RestoreAreas)(); /* pWin, pRegion */ void (* ExposeCopy)(); /* pSrc, pDst, pGC, pRegion, */ /* srcx, srcy, dstx, dsty, plane */ RegionPtr (* TranslateBackingStore)();/* pWin, dx, dy, pOldClip */ RegionPtr (* ClearBackingStore)(); /* pWin, x, y, w, h, sendExpose */ void (* DrawGuarantee)(); /* pWin, pGC, guarantee */
Bool (* RealizeFont)(); /* pScr, pFont */ Bool (* UnrealizeFont)(); /* pScr, pFont */
void (* ConstrainCursor)(); /* pScr, BoxPtr */ void (* CursorLimits)(); /* pScr, pCurs, BoxPtr, BoxPtr */ Bool (* DisplayCursor)(); /* pScr, pCurs */ Bool (* RealizeCursor)(); /* pScr, pCurs */ Bool (* UnrealizeCursor)(); /* pScr, pCurs */ void (* RecolorCursor)(); /* pScr, pCurs, displayed */ Bool (* SetCursorPosition)(); /* pScr, x, y */
Bool (* CreateGC)(); /* pGC */
Bool (* CreateColormap)(); /* pcmap */ void (* DestroyColormap)(); /* pcmap */ void (* InstallColormap)(); /* pcmap */ void (* UninstallColormap)(); /* pcmap */ int (* ListInstalledColormaps) (); /* pScreen, pmaps */ void (* StoreColors)(); /* pmap, ndef, pdef */ void (* ResolveColor)(); /* preg, pgreen, pblue */
RegionPtr (* RegionCreate)(); /* rect, size */ void (* RegionInit)(); /* pRegion, rect, size */ Bool (* RegionCopy)(); /* dstrgn, srcrgn */ void (* RegionDestroy)(); /* pRegion */ void (* RegionUninit)(); /* pRegion */ Bool (* Intersect)(); /* newReg, reg1, reg2 */ Bool (* Union)(); /* newReg, reg1, reg2 */ Bool (* Subtract)(); /* regD, regM, regS */ Bool (* Inverse)(); /* newReg, reg1, invRect */ void (* RegionReset)(); /* pRegion, pBox */ void (* TranslateRegion)(); /* pRegion, x, y */ int (* RectIn)(); /* pRegion, pRect */ Bool (* PointInRegion)(); /* pRegion, x, y, pBox */ Bool (* RegionNotEmpty)(); /* pRegion: RegionPtr */ void (* RegionEmpty)(); /* pRegion: RegionPtr */ BoxPtr (* RegionExtents)(); /* pRegion: RegionPtr */ Bool (* RegionAppend)(); /* pRegion, pRegion */ Bool (* RegionValidate)(); /* pRegion, pOverlap */ RegionPtr (* BitmapToRegion)(); /* PixmapPtr */ RegionPtr (* RectsToRegion)(); /* nrects, pRects, ordering */ void (* SendGraphicsExpose)(); /* client, rgn, draw, major, minor */Bool (* CreateScreenResources)(); /* pScreen */ Bool (* ModifyPixmapHeader)(); /* pPixmap, w, h, depth, bpp, devKind, pixdata */
void (* BlockHandler)(); /* data: pointer */ void (* WakeupHandler)(); /* data: pointer */ pointer blockData; pointer wakeupData;/* anybody can get a piece of this array */ DevUnion *devPrivates;
PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
``Screen Private'' in Developing NFB graphics adapter drivers