|
|
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: ! 35: VIDEO_POINTER_CAPABILITIES PointerCapabilities; // HW pointer abilities ! 36: PVIDEO_POINTER_ATTRIBUTES pPointerAttributes; // hardware pointer attributes ! 37: DWORD cjPointerAttributes; // Size of buffer allocated ! 38: BOOL fHwCursorActive; // Are we currently using the hw cursor ! 39: PALETTEENTRY *pPal; // If this is pal managed, this is the pal ! 40: } PDEV, *PPDEV; ! 41: ! 42: DWORD getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *); ! 43: BOOL bInitPDEV(PPDEV, PDEVMODEW, GDIINFO *, DEVINFO *); ! 44: BOOL bInitSURF(PPDEV, BOOL); ! 45: BOOL bInitPaletteInfo(PPDEV, DEVINFO *); ! 46: BOOL bInitPointer(PPDEV, DEVINFO *); ! 47: BOOL bInit256ColorPalette(PPDEV); ! 48: BOOL bInitPatterns(PPDEV, ULONG); ! 49: VOID vDisablePalette(PPDEV); ! 50: VOID vDisablePatterns(PPDEV); ! 51: VOID vDisableSURF(PPDEV); ! 52: ! 53: #define MAX_CLUT_SIZE (sizeof(VIDEO_CLUT) + (sizeof(ULONG) * 256)) ! 54: ! 55: // ! 56: // Determines the size of the DriverExtra information in the DEVMODE ! 57: // structure passed to and from the display driver. ! 58: // ! 59: ! 60: #define DRIVER_EXTRA_SIZE 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.