Annotation of researchv9/X11/src/X.V11R1/server/include/scrnintstr.h, revision 1.1.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.