|
|
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.