34 {INDEX_DescribePixelFormat, (
PFN) VGADDIDescribePixelFormat},
146 { 0x00, 0x00, 0x00, 0x00 },
147 { 0x80, 0x00, 0x00, 0x00 },
148 { 0x00, 0x80, 0x00, 0x00 },
149 { 0x80, 0x80, 0x00, 0x00 },
150 { 0x00, 0x00, 0x80, 0x00 },
151 { 0x80, 0x00, 0x80, 0x00 },
152 { 0x00, 0x80, 0x80, 0x00 },
153 { 0x80, 0x80, 0x80, 0x00 },
154 { 0xc0, 0xc0, 0xc0, 0x00 },
155 { 0xff, 0x00, 0x00, 0x00 },
156 { 0x00, 0xff, 0x00, 0x00 },
157 { 0xff, 0xff, 0x00, 0x00 },
158 { 0x00, 0x00, 0xff, 0x00 },
159 { 0xff, 0x00, 0xff, 0x00 },
160 { 0x00, 0xff, 0xff, 0x00 },
161 { 0xff, 0xff, 0xff, 0x00 }
167#define SYSTM_LOGFONT {16,7,0,0,700,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,VARIABLE_PITCH | FF_DONTCARE, L"System"}
168#define HELVE_LOGFONT {12,9,0,0,400,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_STROKE_PRECIS,PROOF_QUALITY,VARIABLE_PITCH | FF_DONTCARE, L"MS Sans Serif"}
169#define COURI_LOGFONT {12,9,0,0,400,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_STROKE_PRECIS,PROOF_QUALITY,FIXED_PITCH | FF_DONTCARE, L"Courier"}
193 DPRINT(
"DrvEnableDriver called...\n");
261 DPRINT1(
"EngAllocMem failed for PDEV\n");
269 if (
sizeof(
GDIINFO) < GDIInfoSize)
277 if (
sizeof(
DEVINFO) < DevInfoSize)
293 ((
PPDEV) PDev)->GDIDevHandle = Dev;
301 ULONG returnedDataLength;
395 ppdev->SavedBitsRight.left = ppdev->sizeSurf.cx;
396 ppdev->SavedBitsRight.top = 0;
398 ppdev->SavedBitsRight.bottom = ppdev->sizeSurf.cy;
400 if ((ppdev->SavedBitsRight.right <= ppdev->SavedBitsRight.left) ||
401 (ppdev->SavedBitsRight.bottom <= ppdev->SavedBitsRight.top))
403 ppdev->SavedBitsRight.left = 0;
404 ppdev->SavedBitsRight.top = 0;
405 ppdev->SavedBitsRight.right = 0;
406 ppdev->SavedBitsRight.bottom = 0;
410 ppdev->SavedBitsBottom.left = 0;
411 ppdev->SavedBitsBottom.top = ppdev->sizeSurf.cy;
413 ppdev->SavedBitsBottom.bottom = ppdev->sizeMem.cy - ppdev->NumScansUsedByPointer;
415 if ((ppdev->SavedBitsBottom.right <= ppdev->SavedBitsBottom.left) ||
416 (ppdev->SavedBitsBottom.bottom <= ppdev->SavedBitsBottom.top))
418 ppdev->SavedBitsBottom.left = 0;
419 ppdev->SavedBitsBottom.top = 0;
420 ppdev->SavedBitsBottom.right = 0;
421 ppdev->SavedBitsBottom.bottom = 0;
424 ppdev->BitsSaved =
FALSE;
435 DPRINT(
"DrvEnableSurface() called\n");
456 pdsurf->
ppdev = ppdev;
471 DPRINT1(
"DrvEnablePDEV failed bInitPointer\n");
485 DPRINT(
"EngCreateDeviceSurface call failed\n");
494 DPRINT(
"Successfully associated surface\n");
503 DPRINT(
"EngAssociateSurface() failed\n");
538 VideoTemp = VideoModeInformation;
542 if (VideoTemp->
Length != 0)
544 if (OutputModes == 0)
559 DM->dmDisplayFlags = 0;
577 }
while (--NumModes);
#define memcpy(s1, s2, n)
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
struct _VIDEO_MODE_INFORMATION * PVIDEO_MODE_INFORMATION
#define IOCTL_VIDEO_RESET_DEVICE
VOID VGADDI_InitializeOffScreenMem(IN ULONG Start, IN ULONG Length)
void * EngAllocMem(int zero, unsigned long size, int tag=0)
PSAVED_SCREEN_BITS ssbList
PVIDEO_POINTER_ATTRIBUTES pPointerAttributes
PUCHAR pucDIB4ToVGAConvBuffer
PUCHAR pjPreallocSSBBuffer
PALETTEENTRY PaletteEntry[16]
BOOL InitPointer(PPDEV ppdev)
struct _SAVED_SCREEN_BITS * PSAVED_SCREEN_BITS
#define PLANAR_PELS_PER_CPU_ADDRESS
#define DRIVER_OFFSCREEN_REFRESHED
#define DRIVER_EXTRA_SIZE
struct _DEVSURF * PDEVSURF
_Must_inspect_result_ _In_ WDFDRIVER Driver
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
const VGALOGPALETTE VGApalette
struct _VGALOGPALETTE VGALOGPALETTE
static BOOL VGAInitialized
static VOID InitSavedBits(IN PPDEV ppdev)
DWORD getAvailableModes(IN HANDLE Driver, OUT PVIDEO_MODE_INFORMATION *modeInformation, OUT DWORD *ModeSize)
BOOL InitVGA(PPDEV ppdev, BOOL bFirst)
BOOL DeinitVGA(PPDEV ppdev)
#define INDEX_DrvSetPointerShape
#define DDI_DRIVER_VERSION_NT4
#define INDEX_DrvStretchBlt
#define INDEX_DrvQueryFontData
#define INDEX_DrvStrokePath
LONG_PTR(APIENTRY * PFN)()
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
#define GCAPS_WINDINGFILL
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
#define INDEX_DrvQueryFont
#define INDEX_DrvDisableSurface
#define HOOK_TRANSPARENTBLT
#define INDEX_DrvMovePointer
#define INDEX_DrvSwapBuffers
#define GCAPS_MONO_DITHER
#define INDEX_DrvFillPath
FN_DrvCopyBits DrvCopyBits
#define GCAPS_HORIZSTRIKE
FN_DrvSetPointerShape DrvSetPointerShape
#define HT_FLAG_ADDITIVE_PRIMS
#define INDEX_DrvGetTrueTypeFile
ENGAPI VOID APIENTRY EngDebugPrint(_In_z_ PCHAR StandardPrefix, _In_z_ PCHAR DebugMessage, _In_ va_list ap)
FN_DrvGetModes DrvGetModes
#define INDEX_DrvLoadFontFile
#define INDEX_DrvCompletePDEV
FN_DrvTransparentBlt DrvTransparentBlt
_Must_inspect_result_ ENGAPI HSURF APIENTRY EngCreateDeviceSurface(_In_ DHSURF dhsurf, _In_ SIZEL sizl, _In_ ULONG iFormatCompat)
#define INDEX_DrvSetPalette
#define INDEX_DrvQueryFontTree
FN_DrvEnableSurface DrvEnableSurface
#define INDEX_DrvEnablePDEV
#define GDI_DRIVER_VERSION
#define INDEX_DrvSetPixelFormat
FN_DrvMovePointer DrvMovePointer
#define INDEX_DrvQueryFontFile
#define INDEX_DrvCopyBits
ENGAPI BOOL APIENTRY EngAssociateSurface(_In_ HSURF hsurf, _In_ HDEV hdev, _In_ FLONG flHooks)
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
#define INDEX_DrvTransparentBlt
#define INDEX_DrvUnloadFontFile
#define INDEX_DrvRealizeBrush
#define PRIMARY_ORDER_CBA
FN_DrvCompletePDEV DrvCompletePDEV
#define GCAPS_ALTERNATEFILL
#define INDEX_DrvAssertMode
#define GCAPS_DITHERONREALIZE
#define INDEX_DrvQueryTrueTypeOutline
#define INDEX_DrvResetPDEV
#define HT_FORMAT_4BPP_IRGB
#define INDEX_DrvQueryFontCaps
FN_DrvEnablePDEV DrvEnablePDEV
#define INDEX_DrvDitherColor
#define GCAPS_COLOR_DITHER
FN_DrvDisableDriver DrvDisableDriver
FN_DrvEnableDriver DrvEnableDriver
FN_DrvAssertMode DrvAssertMode
_Must_inspect_result_ ENGAPI HPALETTE APIENTRY EngCreatePalette(_In_ ULONG iMode, _In_ ULONG cColors, _In_ ULONG *pulColors, _In_ FLONG flRed, _In_ FLONG flGreen, _In_ FLONG flBlue)
FN_DrvDisableSurface DrvDisableSurface
FN_DrvDisablePDEV DrvDisablePDEV
#define INDEX_DrvQueryTrueTypeTable
#define INDEX_DrvEnableSurface
#define INDEX_DrvDisablePDEV
#define INDEX_DrvGetModes
void int int ULONGLONG int va_list * ap
#define DM_DISPLAYFREQUENCY
struct _devicemodeW * PDEVMODEW
struct _devicemodeW DEVMODEW