Annotation of ntddk/src/video/displays/jz484/driver.h, revision 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.