Annotation of researchv9/X11/src/X.V11R1/server/include/scrnintstr.h, revision 1.1

1.1     ! root        1: /* $Header: scrnintstr.h,v 1.1 87/09/11 07:50:28 toddb Exp $ */
        !             2: /***********************************************************
        !             3: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
        !             4: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
        !             5: 
        !             6:                         All Rights Reserved
        !             7: 
        !             8: Permission to use, copy, modify, and distribute this software and its 
        !             9: documentation for any purpose and without fee is hereby granted, 
        !            10: provided that the above copyright notice appear in all copies and that
        !            11: both that copyright notice and this permission notice appear in 
        !            12: supporting documentation, and that the names of Digital or MIT not be
        !            13: used in advertising or publicity pertaining to distribution of the
        !            14: software without specific, written prior permission.  
        !            15: 
        !            16: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            17: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            18: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            19: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            20: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            22: SOFTWARE.
        !            23: 
        !            24: ******************************************************************/
        !            25: #ifndef SCREENINTSTRUCT_H
        !            26: #define SCREENINTSTRUCT_H
        !            27: 
        !            28: #include "screenint.h"
        !            29: #include "misc.h"
        !            30: #include "region.h"
        !            31: #include "pixmap.h"
        !            32: #include "gc.h"
        !            33: #include "colormap.h"
        !            34: 
        !            35: 
        !            36: typedef struct _PixmapFormat {
        !            37:     unsigned char      depth;
        !            38:     unsigned char      bitsPerPixel;
        !            39:     unsigned char      scanlinePad;
        !            40:     } PixmapFormatRec;
        !            41:     
        !            42: typedef struct _Visual {
        !            43:     long       vid;
        !            44:     short      screen;    
        !            45:     short       class;
        !            46:     unsigned long      redMask, greenMask, blueMask;
        !            47:     int                offsetRed, offsetGreen, offsetBlue;
        !            48:     short       bitsPerRGBValue;
        !            49:     short      ColormapEntries;
        !            50:     short      nplanes;        /* = log2 (ColormapEntries). This does not
        !            51:                                 * imply that the screen has this many planes.
        !            52:                                 * it may have more or fewer */
        !            53:   } VisualRec;
        !            54: 
        !            55: typedef struct _Depth {
        !            56:     int                depth;
        !            57:     int                numVids;
        !            58:     long       *vids;    /* block of visual ids for this depth */
        !            59:   } DepthRec;
        !            60: 
        !            61: typedef struct _Screen {
        !            62:     int                        myNum;  /* index of this instance in Screens[] */
        !            63:     ATOM id;
        !            64:     short              width, height;
        !            65:     short              mmWidth, mmHeight;
        !            66:     short              numDepths;
        !            67:     DepthPtr           allowedDepths;
        !            68:     short              rootDepth;
        !            69:     long               rootVisual;
        !            70:     long               defColormap;
        !            71:     short              minInstalledCmaps, maxInstalledCmaps;
        !            72:     char                backingStoreSupport, saveUnderSupport;
        !            73:     unsigned long      whitePixel, blackPixel;
        !            74:     unsigned long      rgf;    /* array of flags; she's -- HUNGARIAN */
        !            75:     GCPtr              GCperDepth[MAXFORMATS+1];
        !            76:                        /* next field is a stipple to use as default in
        !            77:                           a GC.  we don't build default tiles of all depths
        !            78:                           because they are likely to be of a color
        !            79:                           different from the default fg pixel, so
        !            80:                           we don't win anything by building
        !            81:                           a standard one.
        !            82:                        */
        !            83:     PixmapPtr          PixmapPerDepth[1];
        !            84:     pointer            devPrivate;
        !            85:     short              numVisuals;
        !            86:     VisualPtr          visuals;
        !            87: 
        !            88:     /* Random screen procedures */
        !            89: 
        !            90:     Bool (* CloseScreen)();            /* index, pScreen */
        !            91:     void (* QueryBestSize)();          /* class, pwidth, pheight */
        !            92:     Bool (* SaveScreen)();             /* pScreen, on */
        !            93:     void (* GetImage)();               /* pDrawable, sx, sy, w, h, format, 
        !            94:                                         * planemask, pdestbits */
        !            95:     unsigned int  *(* GetSpans)();     /* pDrawable, wMax, ppt, pwidth,
        !            96:                                         * nspans */
        !            97:     void (* PointerNonInterestBox)();  /* pScr, BoxPtr */
        !            98: 
        !            99:     /* Window Procedures */
        !           100: 
        !           101:     Bool (* CreateWindow)();           /* pWin */
        !           102:     Bool (* DestroyWindow)();          /* pWin */
        !           103:     Bool (* PositionWindow)();         /* pWin, x, y */
        !           104:     Bool (* ChangeWindowAttributes)(); /* pWin, mask */
        !           105:     Bool (* RealizeWindow)();          /* pWin */
        !           106:     Bool (* UnrealizeWindow)();                /* pWin */
        !           107:     int  (* ValidateTree)();           /* pParent, pChild, top, anyMarked */
        !           108:     void (* WindowExposures)();       /* pWin: WindowPtr, pRegion: RegionPtr */
        !           109: 
        !           110:     /* Pixmap procedures */
        !           111: 
        !           112:     PixmapPtr (* CreatePixmap)();      /* pScreen, width, height, depth */
        !           113:     Bool (* DestroyPixmap)();          /* pPixmap */
        !           114: 
        !           115:     /* Font procedures */
        !           116: 
        !           117:     Bool (* RealizeFont)();            /* pScr, pFont */
        !           118:     Bool (* UnrealizeFont)();          /* pScr, pFont */
        !           119: 
        !           120:     /* Cursor Procedures */
        !           121:     void (* ConstrainCursor)();        /* pScr, BoxPtr */
        !           122:     void (* CursorLimits)();           /* pScr, pCurs, BoxPtr, BoxPtr */
        !           123:     Bool (* DisplayCursor)();          /* pScr, pCurs */
        !           124:     Bool (* RealizeCursor)();          /* pScr, pCurs */
        !           125:     Bool (* UnrealizeCursor)();                /* pScr, pCurs */
        !           126:     void (* RecolorCursor)();          /* pScr, pCurs, displayed */
        !           127:     Bool (* SetCursorPosition)();      /* pScr, x, y */
        !           128: 
        !           129:     /* GC procedures */
        !           130: 
        !           131:     Bool (* CreateGC)();               /* pGC */
        !           132: 
        !           133:     /* Colormap procedures */
        !           134: 
        !           135:     void (* CreateColormap)();         /* pcmap */
        !           136:     void (* DestroyColormap)();                /* pcmap */
        !           137:     void (* InstallColormap)();                /* pcmap */
        !           138:     void (* UninstallColormap)();      /* pcmap */
        !           139:     int (* ListInstalledColormaps) ();         /* pScreen, pmaps */
        !           140:     void (* StoreColors)();            /* pmap, ndef, pdef */
        !           141:     void (* ResolveColor)();           /* preg, pgreen, pblue */
        !           142: 
        !           143:     /* Region procedures */
        !           144: 
        !           145:     RegionPtr (* RegionCreate)();      /* rect, size */
        !           146:     void (* RegionCopy)();             /* dstrgn, srcrgn */
        !           147:     void (* RegionDestroy)();          /* pRegion */
        !           148:     int (* Intersect)();               /* newReg, reg1, reg2 */
        !           149:     int (* Union)();                   /* newReg, reg1, reg2 */
        !           150:     int (* Subtract)();                        /* regD, regM, regS */
        !           151:     int (* Inverse)();                 /* newReg, reg1, invRect */
        !           152:     void (* RegionReset)();            /* pRegion, pBox */
        !           153:     void (* TranslateRegion)();                /* pRegion, x, y */
        !           154:     int (* RectIn)();                  /* pRegion, pRect */
        !           155:     Bool (* PointInRegion)();          /* pRegion, x, y, pBox */
        !           156:     Bool (* RegionNotEmpty)();         /* pRegion: RegionPtr */
        !           157:     void (* RegionEmpty)();            /* pRegion: RegionPtr */
        !           158:     BoxPtr (*RegionExtents)();                 /* pRegion: RegionPtr */
        !           159: 
        !           160:     /* os layer procedures */
        !           161:     void (* BlockHandler)();           /* data: pointer */
        !           162:     void (* WakeupHandler)();          /* data: pointer */
        !           163:     pointer blockData;
        !           164:     pointer wakeupData;
        !           165: } ScreenRec;
        !           166: 
        !           167: typedef struct _ScreenInfo {
        !           168:     int                imageByteOrder;
        !           169:     int                bitmapScanlineUnit;
        !           170:     int                bitmapScanlinePad;
        !           171:     int                bitmapBitOrder;
        !           172:     int                numPixmapFormats;
        !           173:     PixmapFormatRec
        !           174:                formats[MAXFORMATS];
        !           175:     int                arraySize;
        !           176:     int                numScreens;
        !           177:     ScreenPtr  screen;
        !           178: } ScreenInfo;
        !           179: 
        !           180: extern ScreenInfo screenInfo;
        !           181: #endif /* SCREENINTSTRUCT_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.