mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
Changed the calling convention used by the video miniport/port driver interface and the display driver/win32k interface (DrvXxx functions) to STDCALL.
The EngXxx and other funtions will be changed in a second step. svn path=/trunk/; revision=3095
This commit is contained in:
parent
8dd702a72b
commit
37c39cc09a
12 changed files with 735 additions and 589 deletions
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* entry.c
|
||||
*
|
||||
* $Revision: 1.17 $
|
||||
* $Author: chorns $
|
||||
* $Date: 2002/02/08 02:57:09 $
|
||||
* $Revision: 1.18 $
|
||||
* $Author: ekohl $
|
||||
* $Date: 2002/06/15 14:57:26 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -13,62 +13,23 @@
|
|||
|
||||
#define DBG_PREFIX "VGADDI: "
|
||||
|
||||
VOID VGADDIAssertMode(IN DHPDEV DPev,
|
||||
IN BOOL Enable);
|
||||
VOID VGADDICompletePDEV(IN DHPDEV PDev,
|
||||
IN HDEV Dev);
|
||||
VOID VGADDIDisablePDEV(IN DHPDEV PDev);
|
||||
VOID VGADDIDisableSurface(IN DHPDEV PDev);
|
||||
DHPDEV VGADDIEnablePDEV(IN DEVMODEW *DM,
|
||||
IN LPWSTR LogAddress,
|
||||
IN ULONG PatternCount,
|
||||
OUT HSURF *SurfPatterns,
|
||||
IN ULONG CapsSize,
|
||||
OUT ULONG *DevCaps,
|
||||
IN ULONG DevInfoSize,
|
||||
OUT DEVINFO *DI,
|
||||
IN LPWSTR DevDataFile,
|
||||
IN LPWSTR DeviceName,
|
||||
IN HANDLE Driver);
|
||||
HSURF VGADDIEnableSurface(IN DHPDEV PDev);
|
||||
ULONG VGADDIGetModes(IN HANDLE Driver,
|
||||
IN ULONG DataSize,
|
||||
OUT PDEVMODEW DM);
|
||||
BOOL VGADDILineTo(SURFOBJ *Surface, CLIPOBJ *Clip, BRUSHOBJ *Brush,
|
||||
LONG x1, LONG y1, LONG x2, LONG y2,
|
||||
RECTL *RectBounds, MIX mix);
|
||||
BOOL VGADDIPaint(IN SURFOBJ *Surface, IN CLIPOBJ *ClipRegion,
|
||||
IN BRUSHOBJ *Brush, IN POINTL *BrushOrigin,
|
||||
IN MIX Mix);
|
||||
BOOL VGADDIBitBlt(SURFOBJ *Dest, SURFOBJ *Source, SURFOBJ *Mask,
|
||||
CLIPOBJ *Clip, XLATEOBJ *ColorTranslation,
|
||||
RECTL *DestRect, POINTL *SourcePoint, POINTL *MaskPoint,
|
||||
BRUSHOBJ *Brush, POINTL *BrushPoint, ROP4 rop4);
|
||||
VOID VGADDIMovePointer(PSURFOBJ pso, LONG x, LONG y, PRECTL prcl);
|
||||
ULONG VGADDISetPointerShape(PSURFOBJ pso, PSURFOBJ psoMask, PSURFOBJ psoColor, PXLATEOBJ pxlo,
|
||||
LONG xHot, LONG yHot, LONG x, LONG y,
|
||||
PRECTL prcl, ULONG fl);
|
||||
BOOL VGADDITransparentBlt(PSURFOBJ Dest, PSURFOBJ Source,
|
||||
PCLIPOBJ Clip, PXLATEOBJ ColorTranslation,
|
||||
PRECTL DestRect, PRECTL SourceRect,
|
||||
ULONG TransparentColor, ULONG Reserved);
|
||||
|
||||
DRVFN FuncList[] =
|
||||
{
|
||||
/* Required Display driver fuctions */
|
||||
{INDEX_DrvAssertMode, (PFN) VGADDIAssertMode},
|
||||
{INDEX_DrvCompletePDEV, (PFN) VGADDICompletePDEV},
|
||||
{INDEX_DrvDisablePDEV, (PFN) VGADDIDisablePDEV},
|
||||
{INDEX_DrvDisableSurface, (PFN) VGADDIDisableSurface},
|
||||
{INDEX_DrvEnablePDEV, (PFN) VGADDIEnablePDEV},
|
||||
{INDEX_DrvEnableSurface, (PFN) VGADDIEnableSurface},
|
||||
{INDEX_DrvGetModes, (PFN) VGADDIGetModes},
|
||||
{INDEX_DrvLineTo, (PFN) VGADDILineTo},
|
||||
{INDEX_DrvPaint, (PFN) VGADDIPaint},
|
||||
{INDEX_DrvBitBlt, (PFN) VGADDIBitBlt},
|
||||
{INDEX_DrvTransparentBlt, (PFN) VGADDITransparentBlt},
|
||||
{INDEX_DrvMovePointer, (PFN) VGADDIMovePointer},
|
||||
{INDEX_DrvSetPointerShape, (PFN) VGADDISetPointerShape},
|
||||
{INDEX_DrvAssertMode, (PFN) DrvAssertMode},
|
||||
{INDEX_DrvCompletePDEV, (PFN) DrvCompletePDEV},
|
||||
{INDEX_DrvDisablePDEV, (PFN) DrvDisablePDEV},
|
||||
{INDEX_DrvDisableSurface, (PFN) DrvDisableSurface},
|
||||
{INDEX_DrvEnablePDEV, (PFN) DrvEnablePDEV},
|
||||
{INDEX_DrvEnableSurface, (PFN) DrvEnableSurface},
|
||||
{INDEX_DrvGetModes, (PFN) DrvGetModes},
|
||||
{INDEX_DrvLineTo, (PFN) DrvLineTo},
|
||||
{INDEX_DrvPaint, (PFN) DrvPaint},
|
||||
{INDEX_DrvBitBlt, (PFN) DrvBitBlt},
|
||||
{INDEX_DrvTransparentBlt, (PFN) DrvTransparentBlt},
|
||||
{INDEX_DrvMovePointer, (PFN) DrvMovePointer},
|
||||
{INDEX_DrvSetPointerShape, (PFN) DrvSetPointerShape},
|
||||
|
||||
#if 0
|
||||
/* Optional Display driver functions */
|
||||
|
@ -98,10 +59,10 @@ DRVFN FuncList[] =
|
|||
};
|
||||
|
||||
|
||||
BOOL
|
||||
DrvEnableDriver(IN ULONG EngineVersion,
|
||||
IN ULONG SizeOfDED,
|
||||
OUT PDRVENABLEDATA DriveEnableData)
|
||||
BOOL STDCALL
|
||||
DrvEnableDriver(IN ULONG EngineVersion,
|
||||
IN ULONG SizeOfDED,
|
||||
OUT PDRVENABLEDATA DriveEnableData)
|
||||
{
|
||||
EngDebugPrint("VGADDI", "DrvEnableDriver called...\n", 0);
|
||||
|
||||
|
@ -125,7 +86,8 @@ DrvEnableDriver(IN ULONG EngineVersion,
|
|||
// RETURNS:
|
||||
// NONE
|
||||
|
||||
VOID DrvDisableDriver(VOID)
|
||||
VOID STDCALL
|
||||
DrvDisableDriver(VOID)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -153,26 +115,27 @@ VOID DrvDisableDriver(VOID)
|
|||
// RETURNS:
|
||||
// DHPDEV a handle to a DPev object
|
||||
|
||||
DHPDEV VGADDIEnablePDEV(IN DEVMODEW *DM,
|
||||
IN LPWSTR LogAddress,
|
||||
IN ULONG PatternCount,
|
||||
OUT HSURF *SurfPatterns,
|
||||
IN ULONG CapsSize,
|
||||
OUT ULONG *DevCaps,
|
||||
IN ULONG DevInfoSize,
|
||||
OUT DEVINFO *DI,
|
||||
IN LPWSTR DevDataFile,
|
||||
IN LPWSTR DeviceName,
|
||||
IN HANDLE Driver)
|
||||
DHPDEV STDCALL
|
||||
DrvEnablePDEV(IN DEVMODEW *DM,
|
||||
IN LPWSTR LogAddress,
|
||||
IN ULONG PatternCount,
|
||||
OUT HSURF *SurfPatterns,
|
||||
IN ULONG CapsSize,
|
||||
OUT ULONG *DevCaps,
|
||||
IN ULONG DevInfoSize,
|
||||
OUT DEVINFO *DI,
|
||||
IN LPWSTR DevDataFile,
|
||||
IN LPWSTR DeviceName,
|
||||
IN HANDLE Driver)
|
||||
{
|
||||
PPDEV PDev;
|
||||
|
||||
PDev = EngAllocMem(FL_ZERO_MEMORY, sizeof(PDEV), ALLOC_TAG);
|
||||
if (PDev == NULL)
|
||||
{
|
||||
EngDebugPrint(DBG_PREFIX, "EngAllocMem failed for PDEV\n", 0);
|
||||
return NULL;
|
||||
}
|
||||
{
|
||||
EngDebugPrint(DBG_PREFIX, "EngAllocMem failed for PDEV\n", 0);
|
||||
return(NULL);
|
||||
}
|
||||
PDev->KMDriver = Driver;
|
||||
DPRINT( "PDev: %x, Driver: %x\n", PDev, PDev->KMDriver );
|
||||
PDev->xyCursor.x = 320;
|
||||
|
@ -184,28 +147,31 @@ DHPDEV VGADDIEnablePDEV(IN DEVMODEW *DM,
|
|||
// FIXME: fill out DevCaps
|
||||
// FIXME: full out DevInfo
|
||||
|
||||
devinfoVGA.hpalDefault = EngCreatePalette(PAL_INDEXED, 16, (PULONG)(VGApalette.PaletteEntry), 0, 0, 0);
|
||||
devinfoVGA.hpalDefault = EngCreatePalette(PAL_INDEXED, 16, (PULONG *)VGApalette.PaletteEntry, 0, 0, 0);
|
||||
DPRINT("Palette from Driver: %u\n", devinfoVGA.hpalDefault);
|
||||
*DI = devinfoVGA;
|
||||
DPRINT("Palette from Driver 2: %u and DI is %08x\n", DI->hpalDefault, DI);
|
||||
|
||||
return PDev;
|
||||
return(PDev);
|
||||
}
|
||||
|
||||
// DrvEnablePDEV
|
||||
|
||||
// DrvCompletePDEV
|
||||
// DESCRIPTION
|
||||
// Called after initialization of PDEV is complete. Supplies
|
||||
// a reference to the GDI handle for the PDEV.
|
||||
|
||||
VOID VGADDICompletePDEV(IN DHPDEV PDev,
|
||||
IN HDEV Dev)
|
||||
VOID STDCALL
|
||||
DrvCompletePDEV(IN DHPDEV PDev,
|
||||
IN HDEV Dev)
|
||||
{
|
||||
((PPDEV) PDev)->GDIDevHandle = Dev; // Handle to the DC
|
||||
}
|
||||
|
||||
|
||||
VOID VGADDIAssertMode(IN DHPDEV DPev,
|
||||
IN BOOL Enable)
|
||||
BOOL STDCALL
|
||||
DrvAssertMode(IN DHPDEV DPev,
|
||||
IN BOOL Enable)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)DPev;
|
||||
ULONG returnedDataLength;
|
||||
|
@ -238,7 +204,9 @@ VOID VGADDIAssertMode(IN DHPDEV DPev,
|
|||
}
|
||||
}
|
||||
|
||||
VOID VGADDIDisablePDEV(IN DHPDEV PDev)
|
||||
|
||||
VOID STDCALL
|
||||
DrvDisablePDEV(IN DHPDEV PDev)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)PDev;
|
||||
|
||||
|
@ -256,7 +224,9 @@ VOID VGADDIDisablePDEV(IN DHPDEV PDev)
|
|||
EngFreeMem(PDev);
|
||||
}
|
||||
|
||||
VOID VGADDIDisableSurface(IN DHPDEV PDev)
|
||||
|
||||
VOID STDCALL
|
||||
DrvDisableSurface(IN DHPDEV PDev)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)PDev;
|
||||
PDEVSURF pdsurf = ppdev->AssociatedSurf;
|
||||
|
@ -296,7 +266,9 @@ VOID VGADDIDisableSurface(IN DHPDEV PDev)
|
|||
// EngFreeMem(pdsurf); // free the surface
|
||||
}
|
||||
|
||||
VOID InitSavedBits(PPDEV ppdev)
|
||||
|
||||
static VOID
|
||||
InitSavedBits(PPDEV ppdev)
|
||||
{
|
||||
if (!(ppdev->fl & DRIVER_OFFSCREEN_REFRESHED))
|
||||
{
|
||||
|
@ -338,18 +310,23 @@ VOID InitSavedBits(PPDEV ppdev)
|
|||
return;
|
||||
}
|
||||
|
||||
HSURF VGADDIEnableSurface(IN DHPDEV PDev)
|
||||
|
||||
HSURF STDCALL
|
||||
DrvEnableSurface(IN DHPDEV PDev)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)PDev;
|
||||
PDEVSURF pdsurf;
|
||||
DHSURF dhsurf;
|
||||
HSURF hsurf;
|
||||
|
||||
DPRINT1("DrvEnableSurface() called\n");
|
||||
|
||||
// Initialize the VGA
|
||||
if (!InitVGA(ppdev, TRUE))
|
||||
{
|
||||
goto error_done;
|
||||
}
|
||||
CHECKPOINT1;
|
||||
|
||||
// dhsurf is of type DEVSURF, which is the drivers specialized surface type
|
||||
dhsurf = (DHSURF)EngAllocMem(0, sizeof(DEVSURF), ALLOC_TAG);
|
||||
|
@ -416,9 +393,11 @@ error_done:
|
|||
return((HSURF)0);
|
||||
}
|
||||
|
||||
ULONG VGADDIGetModes(IN HANDLE Driver,
|
||||
IN ULONG DataSize,
|
||||
OUT PDEVMODEW DM)
|
||||
|
||||
ULONG STDCALL
|
||||
DrvGetModes(IN HANDLE Driver,
|
||||
IN ULONG DataSize,
|
||||
OUT PDEVMODEW DM)
|
||||
{
|
||||
DWORD NumModes;
|
||||
DWORD ModeSize;
|
||||
|
@ -487,4 +466,3 @@ ULONG VGADDIGetModes(IN HANDLE Driver,
|
|||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
|
|
@ -200,10 +200,19 @@ BOOL VGAtoVGA(
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL VGADDIBitBlt(SURFOBJ *Dest, SURFOBJ *Source, SURFOBJ *Mask,
|
||||
CLIPOBJ *Clip, XLATEOBJ *ColorTranslation,
|
||||
RECTL *DestRect, POINTL *SourcePoint, POINTL *MaskPoint,
|
||||
BRUSHOBJ *Brush, POINTL *BrushPoint, ROP4 rop4)
|
||||
|
||||
BOOL STDCALL
|
||||
DrvBitBlt(SURFOBJ *Dest,
|
||||
SURFOBJ *Source,
|
||||
SURFOBJ *Mask,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
RECTL *DestRect,
|
||||
POINTL *SourcePoint,
|
||||
POINTL *MaskPoint,
|
||||
BRUSHOBJ *Brush,
|
||||
POINTL *BrushPoint,
|
||||
ROP4 rop4)
|
||||
{
|
||||
RECT_ENUM RectEnum;
|
||||
BOOL EnumMore;
|
||||
|
|
|
@ -2,9 +2,16 @@
|
|||
#include "../vgavideo/vgavideo.h"
|
||||
|
||||
|
||||
BOOL VGADDILineTo(SURFOBJ *Surface, CLIPOBJ *Clip, BRUSHOBJ *Brush,
|
||||
LONG x1, LONG y1, LONG x2, LONG y2,
|
||||
RECTL *RectBounds, MIX mix)
|
||||
BOOL STDCALL
|
||||
DrvLineTo(SURFOBJ *Surface,
|
||||
CLIPOBJ *Clip,
|
||||
BRUSHOBJ *Brush,
|
||||
LONG x1,
|
||||
LONG y1,
|
||||
LONG x2,
|
||||
LONG y2,
|
||||
RECTL *RectBounds,
|
||||
MIX mix)
|
||||
|
||||
// FIXME: Use ClipObj and RectBounds to clip the line where required
|
||||
// FIXME: Use Mix to perform ROPs
|
||||
|
|
|
@ -102,9 +102,13 @@ BOOL VGADDIPaintRgn(SURFOBJ *Surface, CLIPOBJ *ClipRegion, ULONG iColor, MIX Mix
|
|||
}
|
||||
}
|
||||
|
||||
BOOL VGADDIPaint(IN SURFOBJ *Surface, IN CLIPOBJ *ClipRegion,
|
||||
IN BRUSHOBJ *Brush, IN POINTL *BrushOrigin,
|
||||
IN MIX Mix)
|
||||
|
||||
BOOL STDCALL
|
||||
DrvPaint(IN SURFOBJ *Surface,
|
||||
IN CLIPOBJ *ClipRegion,
|
||||
IN BRUSHOBJ *Brush,
|
||||
IN POINTL *BrushOrigin,
|
||||
IN MIX Mix)
|
||||
{
|
||||
ULONG iSolidColor;
|
||||
|
||||
|
|
|
@ -33,7 +33,12 @@ BOOL InitPointer(PPDEV ppdev)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
VOID VGADDIMovePointer(PSURFOBJ pso, LONG x, LONG y, PRECTL prcl)
|
||||
|
||||
VOID STDCALL
|
||||
DrvMovePointer(IN PSURFOBJ pso,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL prcl)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)pso->dhpdev;
|
||||
|
||||
|
@ -53,9 +58,18 @@ VOID VGADDIMovePointer(PSURFOBJ pso, LONG x, LONG y, PRECTL prcl)
|
|||
// if (prcl != NULL) ComputePointerRect(ppdev, prcl);
|
||||
}
|
||||
|
||||
ULONG VGADDISetPointerShape(PSURFOBJ pso, PSURFOBJ psoMask, PSURFOBJ psoColor, PXLATEOBJ pxlo,
|
||||
LONG xHot, LONG yHot, LONG x, LONG y,
|
||||
PRECTL prcl, ULONG fl)
|
||||
|
||||
ULONG STDCALL
|
||||
DrvSetPointerShape(PSURFOBJ pso,
|
||||
PSURFOBJ psoMask,
|
||||
PSURFOBJ psoColor,
|
||||
PXLATEOBJ pxlo,
|
||||
LONG xHot,
|
||||
LONG yHot,
|
||||
LONG x,
|
||||
LONG y,
|
||||
PRECTL prcl,
|
||||
ULONG fl)
|
||||
{
|
||||
PPDEV ppdev = (PPDEV)pso->dhpdev;
|
||||
PCHAR DFBTmp;
|
||||
|
|
|
@ -6,10 +6,15 @@
|
|||
#include "brush.h"
|
||||
#include "bitblt.h"
|
||||
|
||||
BOOL VGADDITransparentBlt(PSURFOBJ Dest, PSURFOBJ Source,
|
||||
PCLIPOBJ Clip, PXLATEOBJ ColorTranslation,
|
||||
PRECTL DestRect, PRECTL SourceRect,
|
||||
ULONG TransparentColor, ULONG Reserved)
|
||||
BOOL STDCALL
|
||||
DrvTransparentBlt(PSURFOBJ Dest,
|
||||
PSURFOBJ Source,
|
||||
PCLIPOBJ Clip,
|
||||
PXLATEOBJ ColorTranslation,
|
||||
PRECTL DestRect,
|
||||
PRECTL SourceRect,
|
||||
ULONG TransparentColor,
|
||||
ULONG Reserved)
|
||||
{
|
||||
LONG dx, dy, sx, sy;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: vgaddi.def,v 1.1 2000/03/10 12:45:44 jfilby Exp $
|
||||
; $Id: vgaddi.def,v 1.2 2002/06/15 14:56:53 ekohl Exp $
|
||||
;
|
||||
; vgaddi.def
|
||||
;
|
||||
|
@ -8,4 +8,4 @@
|
|||
;
|
||||
LIBRARY vgaddi.dll
|
||||
EXPORTS
|
||||
DrvEnableDriver
|
||||
DrvEnableDriver@12
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: vgaddi.edf,v 1.1 2000/03/10 12:45:44 jfilby Exp $
|
||||
; $Id: vgaddi.edf,v 1.2 2002/06/15 14:56:53 ekohl Exp $
|
||||
;
|
||||
; vgaddi.def
|
||||
;
|
||||
|
@ -8,4 +8,4 @@
|
|||
;
|
||||
LIBRARY vgaddi.dll
|
||||
EXPORTS
|
||||
DrvEnableDriver=DrvEnableDriver
|
||||
DrvEnableDriver=DrvEnableDriver@12
|
||||
|
|
|
@ -11,20 +11,26 @@
|
|||
#define VERSION "0.0.0"
|
||||
|
||||
// ---------------------------------------------------- Forward Declarations
|
||||
static VP_STATUS VGAFindAdapter(PVOID DeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again);
|
||||
static BOOLEAN VGAInitialize(PVOID DeviceExtension);
|
||||
static BOOLEAN VGAStartIO(PVOID DeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket);
|
||||
static VP_STATUS STDCALL
|
||||
VGAFindAdapter(PVOID DeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again);
|
||||
static BOOLEAN STDCALL
|
||||
VGAInitialize(PVOID DeviceExtension);
|
||||
static BOOLEAN STDCALL
|
||||
VGAStartIO(PVOID DeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket);
|
||||
/*
|
||||
static BOOLEAN VGAInterrupt(PVOID DeviceExtension);
|
||||
static BOOLEAN VGAResetHw(PVOID DeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
static VOID VGATimer(PVOID DeviceExtension);
|
||||
static BOOLEAN STDCALL
|
||||
VGAInterrupt(PVOID DeviceExtension);
|
||||
static BOOLEAN STDCALL
|
||||
VGAResetHw(PVOID DeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
static VOID STDCALL
|
||||
VGATimer(PVOID DeviceExtension);
|
||||
*/
|
||||
|
||||
/* Mandatory IoControl routines */
|
||||
|
@ -69,8 +75,8 @@ VOID VGAUnshareVideoMemory(IN PVIDEO_MEMORY MemoryToUnshare,
|
|||
// VP_STATUS
|
||||
|
||||
VP_STATUS STDCALL
|
||||
DriverEntry(IN PVOID Context1,
|
||||
IN PVOID Context2)
|
||||
DriverEntry(IN PVOID Context1,
|
||||
IN PVOID Context2)
|
||||
{
|
||||
VIDEO_HW_INITIALIZATION_DATA InitData;
|
||||
|
||||
|
@ -116,12 +122,12 @@ DriverEntry(IN PVOID Context1,
|
|||
// RETURNS:
|
||||
// VP_STATUS
|
||||
|
||||
static VP_STATUS
|
||||
VGAFindAdapter(PVOID DeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again)
|
||||
static VP_STATUS STDCALL
|
||||
VGAFindAdapter(PVOID DeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again)
|
||||
{
|
||||
/* FIXME: Determine if the adapter is present */
|
||||
*Again = FALSE;
|
||||
|
@ -148,8 +154,8 @@ VGAFindAdapter(PVOID DeviceExtension,
|
|||
// PVOID DeviceExtension
|
||||
// RETURNS:
|
||||
// BOOLEAN Success or failure
|
||||
static BOOLEAN
|
||||
VGAInitialize(PVOID DeviceExtension)
|
||||
static BOOLEAN STDCALL
|
||||
VGAInitialize(PVOID DeviceExtension)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -205,9 +211,9 @@ VGAInitialize(PVOID DeviceExtension)
|
|||
// BOOLEAN This function must return TRUE, and complete the work or
|
||||
// set an error status in the VRP.
|
||||
|
||||
static BOOLEAN
|
||||
VGAStartIO(PVOID DeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket)
|
||||
static BOOLEAN STDCALL
|
||||
VGAStartIO(PVOID DeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket)
|
||||
{
|
||||
switch (RequestPacket->IoControlCode)
|
||||
{
|
||||
|
@ -328,7 +334,11 @@ VGAStartIO(PVOID DeviceExtension,
|
|||
// RETURNS:
|
||||
// BOOLEAN TRUE if the interrupt was handled by the routine
|
||||
|
||||
static BOOLEAN VGAInterrupt(PVOID DeviceExtension);
|
||||
static BOOLEAN STDCALL
|
||||
VGAInterrupt(PVOID DeviceExtension)
|
||||
{
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
// VGAResetHw
|
||||
//
|
||||
|
@ -347,9 +357,13 @@ static BOOLEAN VGAInterrupt(PVOID DeviceExtension);
|
|||
// BOOLEAN TRUE if no further action is necessary, FALSE if the system
|
||||
// needs to still do a BOIS int 10 reset.
|
||||
|
||||
static BOOLEAN VGAResetHw(PVOID DeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
static BOOLEAN STDCALL
|
||||
VGAResetHw(PVOID DeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows)
|
||||
{
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
// VGATimer
|
||||
//
|
||||
|
@ -364,7 +378,10 @@ static BOOLEAN VGAResetHw(PVOID DeviceExtension,
|
|||
// RETURNS:
|
||||
// VOID
|
||||
|
||||
static VOID VGATimer(PVOID DeviceExtension);
|
||||
static VOID STDCALL
|
||||
VGATimer(PVOID DeviceExtension)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -40,85 +40,92 @@ typedef LONG VP_STATUS, *PVP_STATUS;
|
|||
#define VIDEO_MEMORY_SPACE_DENSE 0x04
|
||||
#define VIDEO_MEMORY_SPACE_P6CACHE 0x08
|
||||
|
||||
typedef struct _VIDEO_POINTER_CAPABILITIES {
|
||||
ULONG Flags;
|
||||
ULONG MaxWidth;
|
||||
ULONG MaxHeight;
|
||||
ULONG HWPtrBitmapStart;
|
||||
ULONG HWPtrBitmapEnd;
|
||||
typedef struct _VIDEO_POINTER_CAPABILITIES
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG MaxWidth;
|
||||
ULONG MaxHeight;
|
||||
ULONG HWPtrBitmapStart;
|
||||
ULONG HWPtrBitmapEnd;
|
||||
} VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES;
|
||||
|
||||
typedef struct _VIDEO_POINTER_ATTRIBUTES {
|
||||
ULONG Flags;
|
||||
ULONG Width;
|
||||
ULONG Height;
|
||||
ULONG WidthInBytes;
|
||||
ULONG Enable;
|
||||
SHORT Column;
|
||||
SHORT Row;
|
||||
UCHAR Pixels[1];
|
||||
typedef struct _VIDEO_POINTER_ATTRIBUTES
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG Width;
|
||||
ULONG Height;
|
||||
ULONG WidthInBytes;
|
||||
ULONG Enable;
|
||||
SHORT Column;
|
||||
SHORT Row;
|
||||
UCHAR Pixels[1];
|
||||
} VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES;
|
||||
|
||||
typedef enum _VIDEO_BANK_TYPE {
|
||||
VideoNotBanked = 0,
|
||||
VideoBanked1RW,
|
||||
VideoBanked1R1W,
|
||||
VideoBanked2RW,
|
||||
NumVideoBankTypes
|
||||
typedef enum _VIDEO_BANK_TYPE
|
||||
{
|
||||
VideoNotBanked = 0,
|
||||
VideoBanked1RW,
|
||||
VideoBanked1R1W,
|
||||
VideoBanked2RW,
|
||||
NumVideoBankTypes
|
||||
} VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE;
|
||||
|
||||
typedef struct _VIDEO_BANK_SELECT {
|
||||
ULONG Length;
|
||||
ULONG Size;
|
||||
ULONG BankingFlags;
|
||||
ULONG BankingType;
|
||||
ULONG PlanarHCBankingType;
|
||||
ULONG BitmapWidthInBytes;
|
||||
ULONG BitmapSize;
|
||||
ULONG Granularity;
|
||||
ULONG PlanarHCGranularity;
|
||||
ULONG CodeOffset;
|
||||
ULONG PlanarHCBankCodeOffset;
|
||||
ULONG PlanarHCEnableCodeOffset;
|
||||
ULONG PlanarHCDisableCodeOffset;
|
||||
typedef struct _VIDEO_BANK_SELECT
|
||||
{
|
||||
ULONG Length;
|
||||
ULONG Size;
|
||||
ULONG BankingFlags;
|
||||
ULONG BankingType;
|
||||
ULONG PlanarHCBankingType;
|
||||
ULONG BitmapWidthInBytes;
|
||||
ULONG BitmapSize;
|
||||
ULONG Granularity;
|
||||
ULONG PlanarHCGranularity;
|
||||
ULONG CodeOffset;
|
||||
ULONG PlanarHCBankCodeOffset;
|
||||
ULONG PlanarHCEnableCodeOffset;
|
||||
ULONG PlanarHCDisableCodeOffset;
|
||||
} VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT;
|
||||
|
||||
typedef struct _VIDEO_CLUTDATA {
|
||||
UCHAR Red;
|
||||
UCHAR Green;
|
||||
UCHAR Blue;
|
||||
UCHAR Unused;
|
||||
typedef struct _VIDEO_CLUTDATA
|
||||
{
|
||||
UCHAR Red;
|
||||
UCHAR Green;
|
||||
UCHAR Blue;
|
||||
UCHAR Unused;
|
||||
} VIDEO_CLUTDATA, *PVIDEO_CLUTDATA;
|
||||
|
||||
typedef struct _VIDEO_NUM_MODES {
|
||||
ULONG NumModes;
|
||||
ULONG ModeInformationLength;
|
||||
typedef struct _VIDEO_NUM_MODES
|
||||
{
|
||||
ULONG NumModes;
|
||||
ULONG ModeInformationLength;
|
||||
} VIDEO_NUM_MODES, *PVIDEO_NUM_MODES;
|
||||
|
||||
typedef struct _VIDEO_MODE_INFORMATION {
|
||||
ULONG Length;
|
||||
ULONG ModeIndex;
|
||||
ULONG VisScreenWidth;
|
||||
ULONG VisScreenHeight;
|
||||
ULONG ScreenStride;
|
||||
ULONG NumberOfPlanes;
|
||||
ULONG BitsPerPlane;
|
||||
ULONG Frequency;
|
||||
ULONG XMillimeter;
|
||||
ULONG YMillimeter;
|
||||
ULONG NumberRedBits;
|
||||
ULONG NumberGreenBits;
|
||||
ULONG NumberBlueBits;
|
||||
ULONG RedMask;
|
||||
ULONG GreenMask;
|
||||
ULONG BlueMask;
|
||||
ULONG AttributeFlags;
|
||||
ULONG VideoMemoryBitmapWidth;
|
||||
ULONG VideoMemoryBitmapHeight;
|
||||
ULONG DriverSpecificAttributeFlags;
|
||||
typedef struct _VIDEO_MODE_INFORMATION
|
||||
{
|
||||
ULONG Length;
|
||||
ULONG ModeIndex;
|
||||
ULONG VisScreenWidth;
|
||||
ULONG VisScreenHeight;
|
||||
ULONG ScreenStride;
|
||||
ULONG NumberOfPlanes;
|
||||
ULONG BitsPerPlane;
|
||||
ULONG Frequency;
|
||||
ULONG XMillimeter;
|
||||
ULONG YMillimeter;
|
||||
ULONG NumberRedBits;
|
||||
ULONG NumberGreenBits;
|
||||
ULONG NumberBlueBits;
|
||||
ULONG RedMask;
|
||||
ULONG GreenMask;
|
||||
ULONG BlueMask;
|
||||
ULONG AttributeFlags;
|
||||
ULONG VideoMemoryBitmapWidth;
|
||||
ULONG VideoMemoryBitmapHeight;
|
||||
ULONG DriverSpecificAttributeFlags;
|
||||
} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;
|
||||
|
||||
typedef enum _VIDEO_DEVICE_DATA_TYPE
|
||||
typedef enum _VIDEO_DEVICE_DATA_TYPE
|
||||
{
|
||||
VpMachineData,
|
||||
VpCmosData,
|
||||
|
@ -127,20 +134,20 @@ typedef enum _VIDEO_DEVICE_DATA_TYPE
|
|||
VpMonitorData
|
||||
} VIDEO_DEVICE_DATA_TYPE, *PVIDEO_DEVICE_DATA_TYPE;
|
||||
|
||||
typedef enum _VIDEO_SYNCHRONIZE_PRIORITY
|
||||
typedef enum _VIDEO_SYNCHRONIZE_PRIORITY
|
||||
{
|
||||
VpLowPriority,
|
||||
VpMediumPriority,
|
||||
VpHighPriority
|
||||
} VIDEO_SYNCHRONIZE_PRIORITY, *PVIDEO_SYNCHRONIZE_PRIORITY;
|
||||
|
||||
typedef struct _STATUS_BLOCK
|
||||
typedef struct _STATUS_BLOCK
|
||||
{
|
||||
VP_STATUS Status;
|
||||
ULONG Information;
|
||||
} STATUS_BLOCK, *PSTATUS_BLOCK;
|
||||
|
||||
typedef struct _VIDEO_REQUEST_PACKET
|
||||
typedef struct _VIDEO_REQUEST_PACKET
|
||||
{
|
||||
ULONG IoControlCode;
|
||||
PSTATUS_BLOCK StatusBlock;
|
||||
|
@ -184,7 +191,7 @@ typedef struct _VIDEO_REQUEST_PACKET
|
|||
#define IOCTL_VIDEO_SET_PALETTE_REGISTERS CTL_CODE(FILE_DEVICE_VIDEO, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_VIDEO_LOAD_AND_SET_FONT CTL_CODE(FILE_DEVICE_VIDEO, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
typedef struct _VIDEO_PORT_CONFIG_INFO
|
||||
typedef struct _VIDEO_PORT_CONFIG_INFO
|
||||
{
|
||||
ULONG Length;
|
||||
ULONG SystemIoBusNumber;
|
||||
|
@ -204,21 +211,32 @@ typedef struct _VIDEO_PORT_CONFIG_INFO
|
|||
UCHAR InterruptShareable;
|
||||
} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
|
||||
|
||||
typedef VP_STATUS (*PVIDEO_HW_FIND_ADAPTER) (PVOID HwDeviceExtension,
|
||||
PVOID HwContext,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again);
|
||||
typedef BOOLEAN (*PVIDEO_HW_INITIALIZE)(PVOID HwDeviceExtension);
|
||||
typedef BOOLEAN (*PVIDEO_HW_INTERRUPT)(PVOID HwDeviceExtension);
|
||||
typedef BOOLEAN (*PVIDEO_HW_START_IO)(PVOID HwDeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket);
|
||||
typedef BOOLEAN (*PVIDEO_HW_RESET_HW)(PVOID HwDeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
typedef VOID (*PVIDEO_HW_TIMER)(PVOID HwDeviceExtension);
|
||||
typedef VP_STATUS STDCALL
|
||||
(*PVIDEO_HW_FIND_ADAPTER)(PVOID HwDeviceExtension,
|
||||
PVOID HwContext,
|
||||
PWSTR ArgumentString,
|
||||
PVIDEO_PORT_CONFIG_INFO ConfigInfo,
|
||||
PUCHAR Again);
|
||||
|
||||
typedef struct _VIDEO_HW_INITIALIZATION_DATA
|
||||
typedef BOOLEAN STDCALL
|
||||
(*PVIDEO_HW_INITIALIZE)(PVOID HwDeviceExtension);
|
||||
|
||||
typedef BOOLEAN STDCALL
|
||||
(*PVIDEO_HW_INTERRUPT)(PVOID HwDeviceExtension);
|
||||
|
||||
typedef BOOLEAN STDCALL
|
||||
(*PVIDEO_HW_START_IO)(PVOID HwDeviceExtension,
|
||||
PVIDEO_REQUEST_PACKET RequestPacket);
|
||||
|
||||
typedef BOOLEAN STDCALL
|
||||
(*PVIDEO_HW_RESET_HW)(PVOID HwDeviceExtension,
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
|
||||
typedef VOID STDCALL
|
||||
(*PVIDEO_HW_TIMER)(PVOID HwDeviceExtension);
|
||||
|
||||
typedef struct _VIDEO_HW_INITIALIZATION_DATA
|
||||
{
|
||||
ULONG HwInitDataSize;
|
||||
INTERFACE_TYPE AdapterInterfaceType;
|
||||
|
@ -232,23 +250,28 @@ typedef struct _VIDEO_HW_INITIALIZATION_DATA
|
|||
PVIDEO_HW_TIMER HwTimer;
|
||||
} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
|
||||
|
||||
typedef VP_STATUS (*PMINIPORT_GET_REGISTRY_ROUTINE)(PVOID HwDeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ValueName,
|
||||
PVOID ValueData,
|
||||
ULONG ValueLength);
|
||||
typedef VP_STATUS (*PMINIPORT_QUERY_DEVICE_ROUTINE)(PVOID HwDeviceExtension,
|
||||
PVOID Context,
|
||||
VIDEO_DEVICE_DATA_TYPE DeviceDataType,
|
||||
PVOID Identifier,
|
||||
ULONG IdentiferLength,
|
||||
PVOID ConfigurationData,
|
||||
ULONG ConfigurationDataLength,
|
||||
PVOID ComponentInformation,
|
||||
ULONG ComponentInformationLength);
|
||||
typedef BOOLEAN (*PMINIPORT_SYNCHRONIZE_ROUTINE)(PVOID Context);
|
||||
typedef VP_STATUS STDCALL
|
||||
(*PMINIPORT_GET_REGISTRY_ROUTINE)(PVOID HwDeviceExtension,
|
||||
PVOID Context,
|
||||
PWSTR ValueName,
|
||||
PVOID ValueData,
|
||||
ULONG ValueLength);
|
||||
|
||||
typedef struct _VIDEO_ACCESS_RANGE
|
||||
typedef VP_STATUS STDCALL
|
||||
(*PMINIPORT_QUERY_DEVICE_ROUTINE)(PVOID HwDeviceExtension,
|
||||
PVOID Context,
|
||||
VIDEO_DEVICE_DATA_TYPE DeviceDataType,
|
||||
PVOID Identifier,
|
||||
ULONG IdentiferLength,
|
||||
PVOID ConfigurationData,
|
||||
ULONG ConfigurationDataLength,
|
||||
PVOID ComponentInformation,
|
||||
ULONG ComponentInformationLength);
|
||||
|
||||
typedef BOOLEAN STDCALL
|
||||
(*PMINIPORT_SYNCHRONIZE_ROUTINE)(PVOID Context);
|
||||
|
||||
typedef struct _VIDEO_ACCESS_RANGE
|
||||
{
|
||||
PHYSICAL_ADDRESS RangeStart;
|
||||
ULONG RangeLength;
|
||||
|
@ -257,7 +280,7 @@ typedef struct _VIDEO_ACCESS_RANGE
|
|||
UCHAR RangeShareable;
|
||||
} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
|
||||
|
||||
typedef struct _VIDEO_X86_BIOS_ARGUMENTS
|
||||
typedef struct _VIDEO_X86_BIOS_ARGUMENTS
|
||||
{
|
||||
ULONG Eax;
|
||||
ULONG Ebx;
|
||||
|
@ -268,23 +291,28 @@ typedef struct _VIDEO_X86_BIOS_ARGUMENTS
|
|||
ULONG Ebp;
|
||||
} VIDEO_X86_BIOS_ARGUMENTS, *PVIDEO_X86_BIOS_ARGUMENTS;
|
||||
|
||||
typedef VOID (*PBANKED_SECTION_ROUTINE)(IN ULONG ReadBank, IN ULONG WriteBank, IN PVOID Context);
|
||||
typedef VOID STDCALL
|
||||
(*PBANKED_SECTION_ROUTINE)(IN ULONG ReadBank,
|
||||
IN ULONG WriteBank,
|
||||
IN PVOID Context);
|
||||
|
||||
typedef struct {
|
||||
USHORT NumEntries;
|
||||
USHORT FirstEntry;
|
||||
union {
|
||||
VIDEO_CLUTDATA RgbArray;
|
||||
ULONG RgbLong;
|
||||
typedef struct
|
||||
{
|
||||
USHORT NumEntries;
|
||||
USHORT FirstEntry;
|
||||
union
|
||||
{
|
||||
VIDEO_CLUTDATA RgbArray;
|
||||
ULONG RgbLong;
|
||||
} LookupTable[1];
|
||||
} VIDEO_CLUT, *PVIDEO_CLUT;
|
||||
|
||||
typedef struct _VIDEO_MEMORY
|
||||
typedef struct _VIDEO_MEMORY
|
||||
{
|
||||
PVOID RequestedVirtualAddress;
|
||||
PVOID RequestedVirtualAddress;
|
||||
} VIDEO_MEMORY, *PVIDEO_MEMORY;
|
||||
|
||||
typedef struct _VIDEO_MEMORY_INFORMATION
|
||||
typedef struct _VIDEO_MEMORY_INFORMATION
|
||||
{
|
||||
PVOID VideoRamBase;
|
||||
ULONG VideoRamLength;
|
||||
|
@ -292,12 +320,12 @@ typedef struct _VIDEO_MEMORY_INFORMATION
|
|||
ULONG FrameBufferLength;
|
||||
} VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
|
||||
|
||||
typedef struct _VIDEO_MODE
|
||||
typedef struct _VIDEO_MODE
|
||||
{
|
||||
ULONG RequestedMode;
|
||||
} VIDEO_MODE, *PVIDEO_MODE;
|
||||
|
||||
typedef struct _VIDEO_SHARE_MEMORY
|
||||
typedef struct _VIDEO_SHARE_MEMORY
|
||||
{
|
||||
HANDLE ProcessHandle;
|
||||
ULONG ViewOffset;
|
||||
|
|
|
@ -679,207 +679,257 @@ typedef struct _XFORMOBJ
|
|||
*/
|
||||
|
||||
/* GDI --> DDI calls */
|
||||
BOOL DrvAssertMode(IN DHPDEV PDev,
|
||||
IN BOOL ShouldEnable);
|
||||
BOOL DrvBitBlt(IN PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN PRECTL DestRectL,
|
||||
IN PPOINTL SrcPointL,
|
||||
IN PPOINTL MaskPointL,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushPointL,
|
||||
IN ROP4 RasterOp);
|
||||
VOID DrvCompletePDEV(IN DHPDEV PDev,
|
||||
IN HDEV Dev);
|
||||
BOOL DrvCopyBits(OUT PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN PRECTL DestRectL,
|
||||
IN PPOINTL SrcPointL);
|
||||
HBITMAP DrvCreateDeviceBitmap(IN DHPDEV DPev,
|
||||
IN SIZEL SizeL,
|
||||
IN ULONG Format);
|
||||
VOID DrvDeleteDeviceBitmap(IN DHSURF Surface);
|
||||
LONG DrvDescribePixelFormat(IN DHPDEV DPev,
|
||||
IN LONG PixelFormat,
|
||||
IN ULONG DescriptorSize,
|
||||
OUT PPIXELFORMATDESCRIPTOR PFD);
|
||||
VOID DrvDestroyFont(IN PFONTOBJ FontObj);
|
||||
VOID DrvDisableDirectDraw(IN DHPDEV PDev);
|
||||
VOID DrvDisableDriver(VOID);
|
||||
VOID DrvDisablePDEV(IN DHPDEV PDev);
|
||||
VOID DrvDisableSurface(IN DHPDEV PDev);
|
||||
ULONG DrvDitherColor(IN DHPDEV DPev,
|
||||
IN ULONG Mode,
|
||||
IN ULONG RGB,
|
||||
OUT PULONG DitherBits);
|
||||
ULONG DrvDrawEscape(IN PSURFOBJ SurfObj,
|
||||
IN ULONG EscCode,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PRECTL RectL,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID *InputData);
|
||||
BOOL DrvEnableDirectDraw(IN DHPDEV PDev,
|
||||
IN PDD_CALLBACKS Callbacks,
|
||||
IN PDD_SURFACECALLBACKS SurfaceCallbacks,
|
||||
IN PDD_PALETTECALLBACKS PaletteCallbacks);
|
||||
BOOL DrvEnableDriver(IN ULONG Version,
|
||||
IN ULONG DEDSize,
|
||||
OUT PDRVENABLEDATA DED);
|
||||
DHPDEV DrvEnablePDEV(IN DEVMODEW *DM,
|
||||
IN LPWSTR LogAddress,
|
||||
IN ULONG PatternCount,
|
||||
OUT HSURF *SurfPatterns,
|
||||
IN ULONG CapsSize,
|
||||
OUT ULONG *DevCaps,
|
||||
IN ULONG DevInfoSize,
|
||||
OUT DEVINFO *DI,
|
||||
IN LPWSTR DevDataFile,
|
||||
IN LPWSTR DeviceName,
|
||||
IN HANDLE Driver);
|
||||
HSURF DrvEnableSurface(IN DHPDEV PDev);
|
||||
BOOL DrvEndDoc(IN PSURFOBJ SurfObj,
|
||||
IN ULONG Flags);
|
||||
ULONG DrvEscape(IN PSURFOBJ SurfObj,
|
||||
IN ULONG EscCode,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID *InputData,
|
||||
IN ULONG OutputSize,
|
||||
OUT PVOID *OutputData);
|
||||
BOOL DrvFillPath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX Mix,
|
||||
IN ULONG Options);
|
||||
ULONG DrvFontManagement(IN PSURFOBJ SurfObj,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID InputData,
|
||||
IN ULONG OutputSize,
|
||||
OUT PVOID OutputData);
|
||||
VOID DrvFree(IN PVOID Obj,
|
||||
IN ULONG ID);
|
||||
BOOL DrvGetDirectDrawInfo(IN DHPDEV PDev,
|
||||
IN PDD_HALINFO HalInfo,
|
||||
IN PDWORD NumHeaps,
|
||||
IN PVIDEOMEMORY List,
|
||||
IN PDWORD NumFourCCCodes,
|
||||
IN PDWORD FourCC);
|
||||
ULONG DrvGetGlyphMode(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj);
|
||||
ULONG DrvGetModes(IN HANDLE Driver,
|
||||
IN ULONG DataSize,
|
||||
OUT PDEVMODEW DM);
|
||||
PVOID DrvGetTrueTypeFile(IN ULONG FileNumber,
|
||||
IN PULONG Size);
|
||||
BOOL DrvLineTo(IN PSURFOBJ SurfObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN LONG x1,
|
||||
IN LONG y1,
|
||||
IN LONG x2,
|
||||
IN LONG y2,
|
||||
IN PRECTL Bounds,
|
||||
IN MIX Mix);
|
||||
ULONG DrvLoadFontFile(IN ULONG FileNumber,
|
||||
IN PVOID ViewData,
|
||||
IN ULONG ViewSize,
|
||||
IN ULONG LangID);
|
||||
VOID DrvMovePointer(IN PSURFOBJ SurfObj,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL RectL);
|
||||
BOOL DrvNextBand(IN PSURFOBJ SurfObj,
|
||||
OUT PPOINTL PointL);
|
||||
BOOL DrvPaint(IN PSURFOBJ SurfObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX Mix);
|
||||
BOOL DrvQueryAdvanceWidths(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN HGLYPH Glyph,
|
||||
OUT PVOID *Widths,
|
||||
IN ULONG NumGlyphs);
|
||||
PIFIMETRICS DrvQueryFont(IN DHPDEV PDev,
|
||||
IN ULONG FileNumber,
|
||||
IN ULONG FaceIndex,
|
||||
IN PULONG Identifier);
|
||||
LONG DrvQueryFontCaps(IN ULONG CapsSize,
|
||||
OUT PULONG CapsData);
|
||||
LONG DrvQueryFontData(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN HGLYPH Glyph,
|
||||
IN PGLYPHDATA GlyphData,
|
||||
IN PVOID DataBuffer,
|
||||
IN ULONG BufferSize);
|
||||
LONG DrvQueryFontFile(IN ULONG FileNumber,
|
||||
IN ULONG Mode,
|
||||
IN ULONG BufSize,
|
||||
OUT PULONG Buf);
|
||||
PVOID DrvQueryFontTree(IN DHPDEV PDev,
|
||||
IN ULONG FileNumber,
|
||||
IN ULONG FaceIndex,
|
||||
IN ULONG Mode,
|
||||
OUT ULONG *ID);
|
||||
BOOL DrvQuerySpoolType(DHPDEV PDev,
|
||||
LPWSTR SpoolType);
|
||||
LONG DrvQueryTrueTypeOutline(IN DHPDEV PDev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN HGLYPH Glyph,
|
||||
IN BOOL MetricsOnly,
|
||||
IN PGLYPHDATA GlyphData,
|
||||
IN ULONG BufSize,
|
||||
OUT PTTPOLYGONHEADER Polygons);
|
||||
LONG DrvQueryTrueTypeTable(IN ULONG FileNumber,
|
||||
IN ULONG Font,
|
||||
IN ULONG Tag,
|
||||
IN PTRDIFF Start,
|
||||
IN ULONG BufSize,
|
||||
OUT BYTE *Buf);
|
||||
BOOL DrvRealizeBrush(IN PBRUSHOBJ BrushObj,
|
||||
IN PSURFOBJ TargetSurface,
|
||||
IN PSURFOBJ PatternSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN ULONG iHatch);
|
||||
BOOL DrvResetPDEV(IN DHPDEV PDevOld,
|
||||
IN DHPDEV PDevNew);
|
||||
ULONG DrvSaveScreenBits(IN PSURFOBJ SurfObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG ID,
|
||||
IN PRECTL RectL);
|
||||
BOOL DrvSendPage(IN PSURFOBJ SurfObj);
|
||||
BOOL DrvSetPalette(IN DHPDEV PDev,
|
||||
IN PPALOBJ PaletteObj,
|
||||
IN ULONG Flags,
|
||||
IN ULONG Start,
|
||||
IN ULONG NumColors);
|
||||
ULONG DrvSetPointerShape(IN PSURFOBJ SurfObj,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PSURFOBJ ColorSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN LONG xHot,
|
||||
IN LONG yHot,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL RectL,
|
||||
IN ULONG Flags);
|
||||
BOOL DrvStartBanding(IN PSURFOBJ SurfObj,
|
||||
IN PPOINTL PointL);
|
||||
BOOL DrvStartDoc(IN PSURFOBJ SurfObj,
|
||||
IN LPWSTR DocName,
|
||||
IN DWORD JobID);
|
||||
BOOL DrvStartPage(IN PSURFOBJ SurfObj);
|
||||
BOOL STDCALL
|
||||
DrvAssertMode(IN DHPDEV PDev,
|
||||
IN BOOL ShouldEnable);
|
||||
BOOL STDCALL
|
||||
DrvBitBlt(IN PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN PRECTL DestRectL,
|
||||
IN PPOINTL SrcPointL,
|
||||
IN PPOINTL MaskPointL,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushPointL,
|
||||
IN ROP4 RasterOp);
|
||||
VOID STDCALL
|
||||
DrvCompletePDEV(IN DHPDEV PDev,
|
||||
IN HDEV Dev);
|
||||
BOOL STDCALL
|
||||
DrvCopyBits(OUT PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN PRECTL DestRectL,
|
||||
IN PPOINTL SrcPointL);
|
||||
HBITMAP STDCALL
|
||||
DrvCreateDeviceBitmap(IN DHPDEV DPev,
|
||||
IN SIZEL SizeL,
|
||||
IN ULONG Format);
|
||||
VOID STDCALL
|
||||
DrvDeleteDeviceBitmap(IN DHSURF Surface);
|
||||
LONG STDCALL
|
||||
DrvDescribePixelFormat(IN DHPDEV DPev,
|
||||
IN LONG PixelFormat,
|
||||
IN ULONG DescriptorSize,
|
||||
OUT PPIXELFORMATDESCRIPTOR PFD);
|
||||
VOID STDCALL
|
||||
DrvDestroyFont(IN PFONTOBJ FontObj);
|
||||
VOID STDCALL
|
||||
DrvDisableDirectDraw(IN DHPDEV PDev);
|
||||
VOID STDCALL
|
||||
DrvDisableDriver(VOID);
|
||||
VOID STDCALL
|
||||
DrvDisablePDEV(IN DHPDEV PDev);
|
||||
VOID STDCALL
|
||||
DrvDisableSurface(IN DHPDEV PDev);
|
||||
ULONG STDCALL
|
||||
DrvDitherColor(IN DHPDEV DPev,
|
||||
IN ULONG Mode,
|
||||
IN ULONG RGB,
|
||||
OUT PULONG DitherBits);
|
||||
ULONG STDCALL
|
||||
DrvDrawEscape(IN PSURFOBJ SurfObj,
|
||||
IN ULONG EscCode,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PRECTL RectL,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID *InputData);
|
||||
BOOL STDCALL
|
||||
DrvEnableDirectDraw(IN DHPDEV PDev,
|
||||
IN PDD_CALLBACKS Callbacks,
|
||||
IN PDD_SURFACECALLBACKS SurfaceCallbacks,
|
||||
IN PDD_PALETTECALLBACKS PaletteCallbacks);
|
||||
BOOL STDCALL
|
||||
DrvEnableDriver(IN ULONG Version,
|
||||
IN ULONG DEDSize,
|
||||
OUT PDRVENABLEDATA DED);
|
||||
DHPDEV STDCALL
|
||||
DrvEnablePDEV(IN DEVMODEW *DM,
|
||||
IN LPWSTR LogAddress,
|
||||
IN ULONG PatternCount,
|
||||
OUT HSURF *SurfPatterns,
|
||||
IN ULONG CapsSize,
|
||||
OUT ULONG *DevCaps,
|
||||
IN ULONG DevInfoSize,
|
||||
OUT DEVINFO *DI,
|
||||
IN LPWSTR DevDataFile,
|
||||
IN LPWSTR DeviceName,
|
||||
IN HANDLE Driver);
|
||||
HSURF STDCALL
|
||||
DrvEnableSurface(IN DHPDEV PDev);
|
||||
BOOL STDCALL
|
||||
DrvEndDoc(IN PSURFOBJ SurfObj,
|
||||
IN ULONG Flags);
|
||||
ULONG STDCALL
|
||||
DrvEscape(IN PSURFOBJ SurfObj,
|
||||
IN ULONG EscCode,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID *InputData,
|
||||
IN ULONG OutputSize,
|
||||
OUT PVOID *OutputData);
|
||||
BOOL STDCALL
|
||||
DrvFillPath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX Mix,
|
||||
IN ULONG Options);
|
||||
ULONG STDCALL
|
||||
DrvFontManagement(IN PSURFOBJ SurfObj,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG InputSize,
|
||||
IN PVOID InputData,
|
||||
IN ULONG OutputSize,
|
||||
OUT PVOID OutputData);
|
||||
VOID STDCALL
|
||||
DrvFree(IN PVOID Obj,
|
||||
IN ULONG ID);
|
||||
BOOL STDCALL
|
||||
DrvGetDirectDrawInfo(IN DHPDEV PDev,
|
||||
IN PDD_HALINFO HalInfo,
|
||||
IN PDWORD NumHeaps,
|
||||
IN PVIDEOMEMORY List,
|
||||
IN PDWORD NumFourCCCodes,
|
||||
IN PDWORD FourCC);
|
||||
ULONG STDCALL
|
||||
DrvGetGlyphMode(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj);
|
||||
ULONG STDCALL
|
||||
DrvGetModes(IN HANDLE Driver,
|
||||
IN ULONG DataSize,
|
||||
OUT PDEVMODEW DM);
|
||||
PVOID STDCALL
|
||||
DrvGetTrueTypeFile(IN ULONG FileNumber,
|
||||
IN PULONG Size);
|
||||
BOOL STDCALL
|
||||
DrvLineTo(IN PSURFOBJ SurfObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN LONG x1,
|
||||
IN LONG y1,
|
||||
IN LONG x2,
|
||||
IN LONG y2,
|
||||
IN PRECTL Bounds,
|
||||
IN MIX Mix);
|
||||
ULONG STDCALL
|
||||
DrvLoadFontFile(IN ULONG FileNumber,
|
||||
IN PVOID ViewData,
|
||||
IN ULONG ViewSize,
|
||||
IN ULONG LangID);
|
||||
VOID STDCALL
|
||||
DrvMovePointer(IN PSURFOBJ SurfObj,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL RectL);
|
||||
BOOL STDCALL
|
||||
DrvNextBand(IN PSURFOBJ SurfObj,
|
||||
OUT PPOINTL PointL);
|
||||
BOOL STDCALL
|
||||
DrvPaint(IN PSURFOBJ SurfObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX Mix);
|
||||
BOOL STDCALL
|
||||
DrvQueryAdvanceWidths(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN HGLYPH Glyph,
|
||||
OUT PVOID *Widths,
|
||||
IN ULONG NumGlyphs);
|
||||
PIFIMETRICS STDCALL
|
||||
DrvQueryFont(IN DHPDEV PDev,
|
||||
IN ULONG FileNumber,
|
||||
IN ULONG FaceIndex,
|
||||
IN PULONG Identifier);
|
||||
LONG STDCALL
|
||||
DrvQueryFontCaps(IN ULONG CapsSize,
|
||||
OUT PULONG CapsData);
|
||||
LONG STDCALL
|
||||
DrvQueryFontData(IN DHPDEV DPev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN ULONG Mode,
|
||||
IN HGLYPH Glyph,
|
||||
IN PGLYPHDATA GlyphData,
|
||||
IN PVOID DataBuffer,
|
||||
IN ULONG BufferSize);
|
||||
LONG STDCALL
|
||||
DrvQueryFontFile(IN ULONG FileNumber,
|
||||
IN ULONG Mode,
|
||||
IN ULONG BufSize,
|
||||
OUT PULONG Buf);
|
||||
PVOID STDCALL
|
||||
DrvQueryFontTree(IN DHPDEV PDev,
|
||||
IN ULONG FileNumber,
|
||||
IN ULONG FaceIndex,
|
||||
IN ULONG Mode,
|
||||
OUT ULONG *ID);
|
||||
BOOL STDCALL
|
||||
DrvQuerySpoolType(DHPDEV PDev,
|
||||
LPWSTR SpoolType);
|
||||
LONG STDCALL
|
||||
DrvQueryTrueTypeOutline(IN DHPDEV PDev,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN HGLYPH Glyph,
|
||||
IN BOOL MetricsOnly,
|
||||
IN PGLYPHDATA GlyphData,
|
||||
IN ULONG BufSize,
|
||||
OUT PTTPOLYGONHEADER Polygons);
|
||||
LONG STDCALL
|
||||
DrvQueryTrueTypeTable(IN ULONG FileNumber,
|
||||
IN ULONG Font,
|
||||
IN ULONG Tag,
|
||||
IN PTRDIFF Start,
|
||||
IN ULONG BufSize,
|
||||
OUT BYTE *Buf);
|
||||
BOOL STDCALL
|
||||
DrvRealizeBrush(IN PBRUSHOBJ BrushObj,
|
||||
IN PSURFOBJ TargetSurface,
|
||||
IN PSURFOBJ PatternSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN ULONG iHatch);
|
||||
BOOL STDCALL
|
||||
DrvResetPDEV(IN DHPDEV PDevOld,
|
||||
IN DHPDEV PDevNew);
|
||||
ULONG STDCALL
|
||||
DrvSaveScreenBits(IN PSURFOBJ SurfObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG ID,
|
||||
IN PRECTL RectL);
|
||||
BOOL STDCALL
|
||||
DrvSendPage(IN PSURFOBJ SurfObj);
|
||||
BOOL STDCALL
|
||||
DrvSetPalette(IN DHPDEV PDev,
|
||||
IN PPALOBJ PaletteObj,
|
||||
IN ULONG Flags,
|
||||
IN ULONG Start,
|
||||
IN ULONG NumColors);
|
||||
ULONG STDCALL
|
||||
DrvSetPointerShape(IN PSURFOBJ SurfObj,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
IN PSURFOBJ ColorSurface,
|
||||
IN PXLATEOBJ XLateObj,
|
||||
IN LONG xHot,
|
||||
IN LONG yHot,
|
||||
IN LONG x,
|
||||
IN LONG y,
|
||||
IN PRECTL RectL,
|
||||
IN ULONG Flags);
|
||||
BOOL STDCALL
|
||||
DrvStartBanding(IN PSURFOBJ SurfObj,
|
||||
IN PPOINTL PointL);
|
||||
BOOL STDCALL
|
||||
DrvStartDoc(IN PSURFOBJ SurfObj,
|
||||
IN LPWSTR DocName,
|
||||
IN DWORD JobID);
|
||||
BOOL STDCALL
|
||||
DrvStartPage(IN PSURFOBJ SurfObj);
|
||||
BOOL DrvStretchBlt(IN PSURFOBJ DestSurface,
|
||||
IN PSURFOBJ SrcSurface,
|
||||
IN PSURFOBJ MaskSurface,
|
||||
|
@ -891,37 +941,51 @@ BOOL DrvStretchBlt(IN PSURFOBJ DestSurface,
|
|||
IN PRECTL Src,
|
||||
IN PPOINTL Mask,
|
||||
IN ULONG Mode);
|
||||
BOOL DrvStrokeAndFillPath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ StrokeBrush,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN PBRUSHOBJ FillBrush,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX MixFill,
|
||||
IN ULONG Options);
|
||||
BOOL DrvStrokePath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ PClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN MIX Mix);
|
||||
VOID DrvSynchronize(IN DHPDEV PDev,
|
||||
IN PRECTL RectL);
|
||||
BOOL DrvTextOut(IN PSURFOBJ SurfObj,
|
||||
IN PSTROBJ StrObj,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PRECTL ExtraRect,
|
||||
IN PRECTL OpaqueRect,
|
||||
IN PBRUSHOBJ ForegroundBrush,
|
||||
IN PBRUSHOBJ OpaqueBrush,
|
||||
IN PPOINTL OrgPoint,
|
||||
IN MIX Mix);
|
||||
BOOL DrvUnloadFontFile(IN ULONG FileNumber);
|
||||
BOOL STDCALL
|
||||
DrvStrokeAndFillPath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ StrokeBrush,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN PBRUSHOBJ FillBrush,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN MIX MixFill,
|
||||
IN ULONG Options);
|
||||
BOOL STDCALL
|
||||
DrvStrokePath(IN PSURFOBJ SurfObj,
|
||||
IN PPATHOBJ PathObj,
|
||||
IN PCLIPOBJ PClipObj,
|
||||
IN PXFORMOBJ XFormObj,
|
||||
IN PBRUSHOBJ BrushObj,
|
||||
IN PPOINTL BrushOrg,
|
||||
IN PLINEATTRS LineAttrs,
|
||||
IN MIX Mix);
|
||||
VOID STDCALL
|
||||
DrvSynchronize(IN DHPDEV PDev,
|
||||
IN PRECTL RectL);
|
||||
BOOL STDCALL
|
||||
DrvTextOut(IN PSURFOBJ SurfObj,
|
||||
IN PSTROBJ StrObj,
|
||||
IN PFONTOBJ FontObj,
|
||||
IN PCLIPOBJ ClipObj,
|
||||
IN PRECTL ExtraRect,
|
||||
IN PRECTL OpaqueRect,
|
||||
IN PBRUSHOBJ ForegroundBrush,
|
||||
IN PBRUSHOBJ OpaqueBrush,
|
||||
IN PPOINTL OrgPoint,
|
||||
IN MIX Mix);
|
||||
BOOL STDCALL
|
||||
DrvTransparentBlt(PSURFOBJ Dest,
|
||||
PSURFOBJ Source,
|
||||
PCLIPOBJ Clip,
|
||||
PXLATEOBJ ColorTranslation,
|
||||
PRECTL DestRect,
|
||||
PRECTL SourceRect,
|
||||
ULONG TransparentColor,
|
||||
ULONG Reserved);
|
||||
BOOL STDCALL
|
||||
DrvUnloadFontFile(IN ULONG FileNumber);
|
||||
|
||||
/* DDI --> GDI calls */
|
||||
PVOID BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
|
||||
|
@ -944,16 +1008,19 @@ EngAcquireSemaphore
|
|||
/* FIXME: find correct defines for following symbols */
|
||||
#define FL_ZERO_MEMORY 1
|
||||
|
||||
PVOID APIENTRY EngAllocMem(ULONG Flags,
|
||||
ULONG MemSize,
|
||||
ULONG Tag);
|
||||
PVOID STDCALL
|
||||
EngAllocMem(ULONG Flags,
|
||||
ULONG MemSize,
|
||||
ULONG Tag);
|
||||
|
||||
PVOID STDCALL EngAllocUserMem(ULONG cj,
|
||||
ULONG tag);
|
||||
PVOID STDCALL
|
||||
EngAllocUserMem(ULONG cj,
|
||||
ULONG tag);
|
||||
|
||||
BOOL EngAssociateSurface(IN HSURF Surface,
|
||||
IN HDEV Dev,
|
||||
IN ULONG Hooks);
|
||||
BOOL
|
||||
EngAssociateSurface(IN HSURF Surface,
|
||||
IN HDEV Dev,
|
||||
IN ULONG Hooks);
|
||||
|
||||
/*
|
||||
EngBitBlt
|
||||
|
@ -962,32 +1029,36 @@ EngComputeGlyphSet
|
|||
EngCopyBits
|
||||
*/
|
||||
|
||||
HBITMAP EngCreateBitmap(IN SIZEL Size,
|
||||
IN LONG Width,
|
||||
IN ULONG Format,
|
||||
IN ULONG Flags,
|
||||
IN PVOID Bits);
|
||||
HBITMAP
|
||||
EngCreateBitmap(IN SIZEL Size,
|
||||
IN LONG Width,
|
||||
IN ULONG Format,
|
||||
IN ULONG Flags,
|
||||
IN PVOID Bits);
|
||||
|
||||
/*
|
||||
EngCreateClip
|
||||
EngCreateDeviceBitmap
|
||||
*/
|
||||
|
||||
HSURF EngCreateDeviceSurface(IN DHSURF Surface,
|
||||
IN SIZEL Size,
|
||||
IN ULONG FormatVersion);
|
||||
HSURF
|
||||
EngCreateDeviceSurface(IN DHSURF Surface,
|
||||
IN SIZEL Size,
|
||||
IN ULONG FormatVersion);
|
||||
|
||||
/*
|
||||
EngCreateDriverObj
|
||||
EngCreateEvent
|
||||
*/
|
||||
|
||||
HPALETTE EngCreatePalette(IN ULONG Mode,
|
||||
IN ULONG NumColors,
|
||||
IN PULONG *Colors,
|
||||
IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue);
|
||||
HPALETTE
|
||||
EngCreatePalette(IN ULONG Mode,
|
||||
IN ULONG NumColors,
|
||||
IN PULONG *Colors,
|
||||
IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue);
|
||||
|
||||
/*
|
||||
EngCreatePath
|
||||
EngCreateSemaphore
|
||||
|
@ -995,24 +1066,10 @@ EngCreateWnd
|
|||
EngDebugBreak = NTOSKRNL.DbgBreakPoint
|
||||
*/
|
||||
|
||||
VOID APIENTRY EngDebugPrint(PCHAR StandardPrefix,
|
||||
PCHAR DebugMessage,
|
||||
va_list ArgList);
|
||||
|
||||
HANDLE STDCALL EngLoadImage(LPWSTR DriverName);
|
||||
|
||||
DWORD APIENTRY EngDeviceIoControl(
|
||||
HANDLE hDevice,
|
||||
DWORD dwIoControlCode,
|
||||
LPVOID lpInBuffer,
|
||||
DWORD nInBufferSize,
|
||||
LPVOID lpOutBuffer,
|
||||
DWORD nOutBufferSize,
|
||||
DWORD *lpBytesReturned);
|
||||
|
||||
VOID STDCALL EngFreeMem(PVOID Mem);
|
||||
|
||||
VOID STDCALL EngFreeUserMem(PVOID pv);
|
||||
VOID APIENTRY
|
||||
EngDebugPrint(PCHAR StandardPrefix,
|
||||
PCHAR DebugMessage,
|
||||
va_list ArgList);
|
||||
|
||||
/*
|
||||
EngDeleteClip
|
||||
|
@ -1023,11 +1080,33 @@ EngDeletePath
|
|||
EngDeleteSemaphore
|
||||
EngDeleteSurface
|
||||
EngDeleteWnd
|
||||
*/
|
||||
|
||||
|
||||
DWORD APIENTRY
|
||||
EngDeviceIoControl(HANDLE hDevice,
|
||||
DWORD dwIoControlCode,
|
||||
LPVOID lpInBuffer,
|
||||
DWORD nInBufferSize,
|
||||
LPVOID lpOutBuffer,
|
||||
DWORD nOutBufferSize,
|
||||
DWORD *lpBytesReturned);
|
||||
|
||||
/*
|
||||
EngEnumForms
|
||||
EngEraseSurface
|
||||
EngFillPath
|
||||
EngFindImageProcAddress
|
||||
EngFindResource
|
||||
*/
|
||||
|
||||
VOID STDCALL
|
||||
EngFreeMem(PVOID Mem);
|
||||
|
||||
VOID STDCALL
|
||||
EngFreeUserMem(PVOID pv);
|
||||
|
||||
/*
|
||||
EngFreeModule
|
||||
EngGetCurrentCodePage
|
||||
EngGetDriverName
|
||||
|
@ -1041,7 +1120,12 @@ EngGetPrinterDataFileName
|
|||
EngGetProcessHandle
|
||||
EngGetType1FontList
|
||||
EngLineTo
|
||||
EngLoadImage
|
||||
*/
|
||||
|
||||
HANDLE STDCALL
|
||||
EngLoadImage(LPWSTR DriverName);
|
||||
|
||||
/*
|
||||
EngLoadModule
|
||||
EngLoadModuleForWrite
|
||||
EngLockDriverObj
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
#include <ddk/winddi.h>
|
||||
|
||||
typedef BOOL (*PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
|
||||
typedef DHPDEV (*PGD_ENABLEPDEV)(DEVMODEW *,
|
||||
typedef BOOL STDCALL (*PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
|
||||
typedef DHPDEV STDCALL (*PGD_ENABLEPDEV)(DEVMODEW *,
|
||||
LPWSTR,
|
||||
ULONG,
|
||||
HSURF *,
|
||||
|
@ -16,79 +16,79 @@ typedef DHPDEV (*PGD_ENABLEPDEV)(DEVMODEW *,
|
|||
LPWSTR,
|
||||
LPWSTR,
|
||||
HANDLE);
|
||||
typedef VOID (*PGD_COMPLETEPDEV)(DHPDEV, HDEV);
|
||||
typedef VOID (*PGD_DISABLEPDEV)(DHPDEV);
|
||||
typedef HSURF (*PGD_ENABLESURFACE)(DHPDEV);
|
||||
typedef VOID (*PGD_DISABLESURFACE)(DHPDEV);
|
||||
typedef VOID (*PGD_ASSERTMODE)(DHPDEV, BOOL);
|
||||
typedef BOOL (*PGD_RESETPDEV)(DHPDEV, DHPDEV);
|
||||
typedef HBITMAP (*PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
|
||||
typedef VOID (*PGD_DELETEDEVICEBITMAP)(DHSURF);
|
||||
typedef BOOL (*PGD_REALIZEBRUSH)(PBRUSHOBJ, PSURFOBJ, PSURFOBJ, PSURFOBJ,
|
||||
typedef VOID STDCALL (*PGD_COMPLETEPDEV)(DHPDEV, HDEV);
|
||||
typedef VOID STDCALL (*PGD_DISABLEPDEV)(DHPDEV);
|
||||
typedef HSURF STDCALL (*PGD_ENABLESURFACE)(DHPDEV);
|
||||
typedef VOID STDCALL (*PGD_DISABLESURFACE)(DHPDEV);
|
||||
typedef BOOL STDCALL (*PGD_ASSERTMODE)(DHPDEV, BOOL);
|
||||
typedef BOOL STDCALL (*PGD_RESETPDEV)(DHPDEV, DHPDEV);
|
||||
typedef HBITMAP STDCALL (*PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
|
||||
typedef VOID STDCALL (*PGD_DELETEDEVICEBITMAP)(DHSURF);
|
||||
typedef BOOL STDCALL (*PGD_REALIZEBRUSH)(PBRUSHOBJ, PSURFOBJ, PSURFOBJ, PSURFOBJ,
|
||||
PXLATEOBJ, ULONG);
|
||||
typedef ULONG (*PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef BOOL (*PGD_STROKEPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PXFORMOBJ,
|
||||
typedef ULONG STDCALL (*PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef BOOL STDCALL (*PGD_STROKEPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PXFORMOBJ,
|
||||
PBRUSHOBJ, PPOINTL, PLINEATTRS, MIX);
|
||||
typedef BOOL (*PGD_FILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PBRUSHOBJ,
|
||||
typedef BOOL STDCALL (*PGD_FILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PBRUSHOBJ,
|
||||
PPOINTL, MIX, ULONG);
|
||||
typedef BOOL (*PGD_STROKEANDFILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ,
|
||||
typedef BOOL STDCALL (*PGD_STROKEANDFILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ,
|
||||
PXFORMOBJ, PBRUSHOBJ, PLINEATTRS,
|
||||
PBRUSHOBJ, PPOINTL, MIX, ULONG);
|
||||
typedef BOOL (*PGD_PAINT)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, PPOINTL, MIX);
|
||||
typedef BOOL (*PGD_BITBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ,
|
||||
typedef BOOL STDCALL (*PGD_PAINT)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, PPOINTL, MIX);
|
||||
typedef BOOL STDCALL (*PGD_BITBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ,
|
||||
PXLATEOBJ, PRECTL, PPOINTL, PPOINTL, PBRUSHOBJ,
|
||||
PPOINTL, ROP4);
|
||||
typedef BOOL (*PGD_TRANSPARENTBLT)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, PXLATEOBJ, PRECTL, PRECTL, ULONG, ULONG);
|
||||
typedef BOOL (*PGD_COPYBITS)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, PXLATEOBJ,
|
||||
typedef BOOL STDCALL (*PGD_TRANSPARENTBLT)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, PXLATEOBJ, PRECTL, PRECTL, ULONG, ULONG);
|
||||
typedef BOOL STDCALL (*PGD_COPYBITS)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, PXLATEOBJ,
|
||||
PRECTL, PPOINTL);
|
||||
typedef BOOL (*PGD_STRETCHBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ,
|
||||
typedef BOOL STDCALL (*PGD_STRETCHBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ,
|
||||
PXLATEOBJ, PCOLORADJUSTMENT, PPOINTL,
|
||||
PRECTL, PRECTL, PPOINTL, ULONG);
|
||||
typedef BOOL (*PGD_SETPALETTE)(DHPDEV, PPALOBJ, ULONG, ULONG, ULONG);
|
||||
typedef BOOL (*PGD_TEXTOUT)(PSURFOBJ, PSTROBJ, PFONTOBJ, PCLIPOBJ, PRECTL,
|
||||
typedef BOOL STDCALL (*PGD_SETPALETTE)(DHPDEV, PPALOBJ, ULONG, ULONG, ULONG);
|
||||
typedef BOOL STDCALL (*PGD_TEXTOUT)(PSURFOBJ, PSTROBJ, PFONTOBJ, PCLIPOBJ, PRECTL,
|
||||
PRECTL, PBRUSHOBJ, PBRUSHOBJ, PPOINTL, MIX);
|
||||
typedef ULONG (*PGD_ESCAPE)(PSURFOBJ, ULONG, ULONG, PVOID *, ULONG, PVOID *);
|
||||
typedef ULONG (*PGD_DRAWESCAPE)(PSURFOBJ, ULONG, PCLIPOBJ, PRECTL, ULONG,
|
||||
typedef ULONG STDCALL (*PGD_ESCAPE)(PSURFOBJ, ULONG, ULONG, PVOID *, ULONG, PVOID *);
|
||||
typedef ULONG STDCALL (*PGD_DRAWESCAPE)(PSURFOBJ, ULONG, PCLIPOBJ, PRECTL, ULONG,
|
||||
PVOID *);
|
||||
typedef PIFIMETRICS (*PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef PVOID (*PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
|
||||
typedef LONG (*PGD_QUERYFONTDATA)(DHPDEV, PFONTOBJ, ULONG, HGLYPH, PGLYPHDATA,
|
||||
typedef PIFIMETRICS STDCALL (*PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef PVOID STDCALL (*PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
|
||||
typedef LONG STDCALL (*PGD_QUERYFONTDATA)(DHPDEV, PFONTOBJ, ULONG, HGLYPH, PGLYPHDATA,
|
||||
PVOID, ULONG);
|
||||
typedef ULONG (*PGD_SETPOINTERSHAPE)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PXLATEOBJ,
|
||||
typedef ULONG STDCALL (*PGD_SETPOINTERSHAPE)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PXLATEOBJ,
|
||||
LONG, LONG, LONG, LONG, PRECTL, ULONG);
|
||||
typedef VOID (*PGD_MOVEPOINTER)(PSURFOBJ, LONG, LONG, PRECTL);
|
||||
typedef BOOL (*PGD_LINETO)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, LONG, LONG, LONG,
|
||||
LONG, PRECTL, MIX);
|
||||
typedef BOOL (*PGD_SENDPAGE)(PSURFOBJ);
|
||||
typedef BOOL (*PGD_STARTPAGE)(PSURFOBJ);
|
||||
typedef BOOL (*PGD_ENDDOC)(PSURFOBJ, ULONG);
|
||||
typedef BOOL (*PGD_STARTDOC)(PSURFOBJ, PWSTR, DWORD);
|
||||
typedef ULONG (*PGD_GETGLYPHMODE)(DHPDEV, PFONTOBJ);
|
||||
typedef VOID (*PGD_SYNCHRONIZE)(DHPDEV, PRECTL);
|
||||
typedef ULONG (*PGD_SAVESCREENBITS)(PSURFOBJ, ULONG, ULONG, PRECTL);
|
||||
typedef ULONG (*PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
|
||||
typedef VOID (*PGD_FREE)(PVOID, ULONG);
|
||||
typedef VOID (*PGD_DESTROYFONT)(PFONTOBJ);
|
||||
typedef LONG (*PGD_QUERYFONTCAPS)(ULONG, PULONG);
|
||||
typedef ULONG (*PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
|
||||
typedef BOOL (*PGD_UNLOADFONTFILE)(ULONG);
|
||||
typedef ULONG (*PGD_FONTMANAGEMENT)(PSURFOBJ, PFONTOBJ, ULONG, ULONG, PVOID,
|
||||
ULONG, PVOID);
|
||||
typedef LONG (*PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
|
||||
PBYTE);
|
||||
typedef LONG (*PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, PFONTOBJ, HGLYPH, BOOL,
|
||||
PGLYPHDATA, ULONG, PTTPOLYGONHEADER);
|
||||
typedef PVOID (*PGD_GETTRUETYPEFILE)(ULONG, PULONG);
|
||||
typedef LONG (*PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
|
||||
typedef BOOL (*PGD_QUERYADVANCEWIDTHS)(DHPDEV, PFONTOBJ, ULONG, HGLYPH *,
|
||||
PVOID *, ULONG);
|
||||
typedef BOOL (*PGD_SETPIXELFORMAT)(PSURFOBJ, LONG, ULONG);
|
||||
typedef LONG (*PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
|
||||
PPIXELFORMATDESCRIPTOR);
|
||||
typedef BOOL (*PGD_SWAPBUFFERS)(PSURFOBJ, PWNDOBJ);
|
||||
typedef BOOL (*PGD_STARTBANDING)(PSURFOBJ, PPOINTL);
|
||||
typedef BOOL (*PGD_NEXTBAND)(PSURFOBJ, PPOINTL);
|
||||
typedef LONG (*PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
|
||||
typedef VOID STDCALL (*PGD_MOVEPOINTER)(PSURFOBJ, LONG, LONG, PRECTL);
|
||||
typedef BOOL STDCALL (*PGD_LINETO)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, LONG, LONG, LONG,
|
||||
LONG, PRECTL, MIX);
|
||||
typedef BOOL STDCALL (*PGD_SENDPAGE)(PSURFOBJ);
|
||||
typedef BOOL STDCALL (*PGD_STARTPAGE)(PSURFOBJ);
|
||||
typedef BOOL STDCALL (*PGD_ENDDOC)(PSURFOBJ, ULONG);
|
||||
typedef BOOL STDCALL (*PGD_STARTDOC)(PSURFOBJ, PWSTR, DWORD);
|
||||
typedef ULONG STDCALL (*PGD_GETGLYPHMODE)(DHPDEV, PFONTOBJ);
|
||||
typedef VOID STDCALL (*PGD_SYNCHRONIZE)(DHPDEV, PRECTL);
|
||||
typedef ULONG STDCALL (*PGD_SAVESCREENBITS)(PSURFOBJ, ULONG, ULONG, PRECTL);
|
||||
typedef ULONG STDCALL (*PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
|
||||
typedef VOID STDCALL (*PGD_FREE)(PVOID, ULONG);
|
||||
typedef VOID STDCALL (*PGD_DESTROYFONT)(PFONTOBJ);
|
||||
typedef LONG STDCALL (*PGD_QUERYFONTCAPS)(ULONG, PULONG);
|
||||
typedef ULONG STDCALL (*PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
|
||||
typedef BOOL STDCALL (*PGD_UNLOADFONTFILE)(ULONG);
|
||||
typedef ULONG STDCALL (*PGD_FONTMANAGEMENT)(PSURFOBJ, PFONTOBJ, ULONG, ULONG, PVOID,
|
||||
ULONG, PVOID);
|
||||
typedef LONG STDCALL (*PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
|
||||
PBYTE);
|
||||
typedef LONG STDCALL (*PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, PFONTOBJ, HGLYPH, BOOL,
|
||||
PGLYPHDATA, ULONG, PTTPOLYGONHEADER);
|
||||
typedef PVOID STDCALL (*PGD_GETTRUETYPEFILE)(ULONG, PULONG);
|
||||
typedef LONG STDCALL (*PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
|
||||
typedef BOOL STDCALL (*PGD_QUERYADVANCEWIDTHS)(DHPDEV, PFONTOBJ, ULONG, HGLYPH *,
|
||||
PVOID *, ULONG);
|
||||
typedef BOOL STDCALL (*PGD_SETPIXELFORMAT)(PSURFOBJ, LONG, ULONG);
|
||||
typedef LONG STDCALL (*PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
|
||||
PPIXELFORMATDESCRIPTOR);
|
||||
typedef BOOL STDCALL (*PGD_SWAPBUFFERS)(PSURFOBJ, PWNDOBJ);
|
||||
typedef BOOL STDCALL (*PGD_STARTBANDING)(PSURFOBJ, PPOINTL);
|
||||
typedef BOOL STDCALL (*PGD_NEXTBAND)(PSURFOBJ, PPOINTL);
|
||||
typedef LONG STDCALL (*PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
|
||||
|
||||
|
||||
typedef struct _DRIVER_FUNCTIONS
|
||||
|
|
Loading…
Reference in a new issue