Annotation of ntddk/src/video/displays/jz484/driver.h, revision 1.1.1.1

1.1       root        1: /******************************Module*Header*******************************\
                      2: * Module Name: driver.h
                      3: *
                      4: * contains prototypes for the frame buffer driver.
                      5: *
                      6: * Copyright (c) 1992 Microsoft Corporation
                      7: \**************************************************************************/
                      8: 
                      9: #include "stddef.h"
                     10: #include "windows.h"
                     11: #include "winddi.h"
                     12: #include "devioctl.h"
                     13: #include "ntddvdeo.h"
                     14: #include "debug.h"
                     15: 
                     16: typedef struct  _PDEV
                     17: {
                     18:     HANDLE  hDriver;                    // Handle to \Device\Screen
                     19:     HDEV    hdevEng;                    // Engine's handle to PDEV
                     20:     HSURF   hsurfEng;                   // Engine's handle to surface
                     21:     HPALETTE hpalDefault;               // Handle to the default palette for device.
                     22:     PBYTE   pjScreen;                   // This is pointer to base screen address
                     23:     ULONG   cxScreen;                   // Visible screen width
                     24:     ULONG   cyScreen;                   // Visible screen height
                     25:     ULONG   ulMode;                     // Mode the mini-port driver is in.
                     26:     LONG    lDeltaScreen;               // Distance from one scan to the next.
                     27:     FLONG   flRed;                      // For bitfields device, Red Mask
                     28:     FLONG   flGreen;                    // For bitfields device, Green Mask
                     29:     FLONG   flBlue;                     // For bitfields device, Blue Mask
                     30:     ULONG   ulBitCount;                 // # of bits per pel 8,16,24,32 are only supported.
                     31:     POINTL  ptlHotSpot;                 // adjustment for pointer hot spot
                     32:     ULONG   cPatterns;                  // Count of bitmap patterns created
                     33:     HBITMAP ahbmPat[HS_DDI_MAX];        // Engine handles to standard patterns
                     34:     VIDEO_POINTER_CAPABILITIES PointerCapabilities; // HW pointer abilities
                     35:     PVIDEO_POINTER_ATTRIBUTES pPointerAttributes; // hardware pointer attributes
                     36:     DWORD   cjPointerAttributes;        // Size of buffer allocated
                     37:     BOOL    fHwCursorActive;            // Are we currently using the hw cursor
                     38:     PALETTEENTRY *pPal;                 // If this is pal managed, this is the pal
                     39: } PDEV, *PPDEV;
                     40: 
                     41: DWORD getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *);
                     42: BOOL bInitPDEV(PPDEV, PDEVMODEW, GDIINFO *, DEVINFO *);
                     43: BOOL bInitSURF(PPDEV, BOOL);
                     44: BOOL bInitPaletteInfo(PPDEV, DEVINFO *);
                     45: BOOL bInitPointer(PPDEV, DEVINFO *);
                     46: BOOL bInit256ColorPalette(PPDEV);
                     47: BOOL bInitPatterns(PPDEV, ULONG);
                     48: VOID vDisablePalette(PPDEV);
                     49: VOID vDisablePatterns(PPDEV);
                     50: VOID vDisableSURF(PPDEV);
                     51: 
                     52: #define MAX_CLUT_SIZE (sizeof(VIDEO_CLUT) + (sizeof(ULONG) * 256))
                     53: 
                     54: 
                     55: //
                     56: // Function prototypes
                     57: //
                     58: 
                     59: VOID
                     60: DevpSolidColorFill(
                     61:    IN  PRECTL        DstRect,
                     62:    IN  ULONG        Color
                     63:    );
                     64: 
                     65: VOID
                     66: DrvpSolidFill(
                     67:     IN PRECTL DstRect,
                     68:     IN CLIPOBJ *pco,
                     69:     IN ULONG   Color
                     70:     );
                     71: 
                     72: VOID
                     73: DrvpBitBlt(
                     74:    IN PRECTL DstRect,
                     75:    IN PPOINTL SrcPoint,
                     76:    IN BOOL BltDir
                     77:    );
                     78: 
                     79: 
                     80: BOOL
                     81: DrvpIntersectRect(
                     82:     IN PRECTL Rectl1,
                     83:     IN PRECTL Rectl2,
                     84:     OUT PRECTL DestRectl
                     85:     );
                     86: 
                     87: LONG
                     88: DrvCacheFont(
                     89:    IN FONTOBJ *FontObject
                     90:    );
                     91: 
                     92: 
                     93: BOOL
                     94: DrvInitText();
                     95: 
                     96: 
                     97: VOID DevSetFgColor(ULONG TextForegroundColor);
                     98: VOID DevSetBgColor(ULONG TextBackgroundColor);
                     99: 
                    100: VOID
                    101: WaitForJaguarIdle();
                    102: 
                    103: VOID
                    104: FifoWrite(
                    105:     IN ULONG DstAdr,
                    106:     IN ULONG SrcAdr,
                    107:     IN ULONG XYCmd
                    108:     );
                    109: 
                    110: 
                    111: BOOL
                    112: DrvpSetGammaColorPalette(
                    113:     IN PPDEV   ppdev,
                    114:     IN WORD    NumberOfEntries,
                    115:     IN LDECI4  GammaRed,
                    116:     IN LDECI4  GammaGreen,
                    117:     IN LDECI4  GammaBlue
                    118:     );
                    119: 
                    120: 
                    121: //
                    122: //  GDI Structure
                    123: //
                    124: 
                    125: #define BB_RECT_LIMIT   20
                    126: 
                    127: typedef struct _ENUMRECTLIST
                    128: {
                    129:     ULONG   c;
                    130:     RECTL   arcl[BB_RECT_LIMIT];
                    131: } ENUMRECTLIST;
                    132: 
                    133: 
                    134: //
                    135: // Font cache definitions.
                    136: //
                    137: 
                    138: typedef struct _FONTCACHEINFO {
                    139:     ULONG            FontId;
                    140:     ULONG            GlyphHandle;
                    141: } FONTCACHEINFO,*PFONTCACHEINFO;
                    142: 
                    143: 
                    144: #define GlyphExtended           0xFFFFFFFE
                    145: #define FreeTag                 0xFFFFFFFF
                    146: 
                    147: //
                    148: // Define size of a glyph entry
                    149: //
                    150: #define LinesPerEntry           32
                    151: #define GlyphEntrySize          LinesPerEntry*4
                    152: 
                    153: //
                    154: // Define maximum number of entries for the Font cache = 4096 glyphs.
                    155: // Must be a power of two.
                    156: // If given the resolution mode there isn't enough video memory to
                    157: // allocate a cache this big, the size is reduced by halves until
                    158: // it fits.
                    159: //
                    160: #define MAX_FONT_CACHE_SIZE 0x1000
                    161: 
                    162: typedef struct _VXL_DIMENSIONS {
                    163:     ULONG  ScreenX;
                    164:     ULONG  JaguarScreenX;
                    165:     ULONG  ScreenY;
                    166:     ULONG  ScreenBase;
                    167:     ULONG  MemorySize;
                    168:     PULONG FontCacheBase;
                    169:     ULONG  FontCacheOffset;
                    170:     ULONG  CacheIndexMask;
                    171:     ULONG  CacheSize;
                    172:     PFONTCACHEINFO CacheTag;
                    173:     UCHAR  ColorModeShift;
                    174: } VXL_DIMENSIONS, *PVXL_DIMENSIONS;
                    175: 
                    176: 
                    177: extern VXL_DIMENSIONS Vxl;
                    178: 
                    179: 
                    180: //
                    181: // Determines the size of the DriverExtra information in the DEVMODE
                    182: // structure passed to and from the display driver.
                    183: //
                    184: 
                    185: #define DRIVER_EXTRA_SIZE 0

unix.superglobalmegacorp.com

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