From c6c92ec896caf2beac2bc2c5372dc75d3fe3d7b4 Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Thu, 14 Apr 2005 15:47:03 +0000 Subject: [PATCH] add some missing gdi functions to the driver function table svn path=/trunk/; revision=14618 --- reactos/include/win32k/driver.h | 16 ++++++++++++++-- reactos/subsys/win32k/misc/driver.c | 4 ++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/reactos/include/win32k/driver.h b/reactos/include/win32k/driver.h index a18ff7d7648..a7cf14ce426 100644 --- a/reactos/include/win32k/driver.h +++ b/reactos/include/win32k/driver.h @@ -21,9 +21,12 @@ 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_OFFSET)(SURFOBJ*, LONG, LONG, FLONG); typedef BOOL (STDCALL *PGD_RESETPDEV)(DHPDEV, DHPDEV); +typedef VOID (STDCALL *PGD_DISABLEDRIVER)(VOID); typedef HBITMAP (STDCALL *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG); typedef VOID (STDCALL *PGD_DELETEDEVICEBITMAP)(DHSURF); +typedef BOOL (STDCALL *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*); typedef BOOL (STDCALL *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, ULONG); typedef ULONG (STDCALL *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG); @@ -38,12 +41,17 @@ typedef BOOL (STDCALL *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX); typedef BOOL (STDCALL *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*, POINTL*, ROP4); -typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG); +typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, + RECTL*, RECTL*, ULONG, ULONG); typedef BOOL (STDCALL *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*); typedef BOOL (STDCALL *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, - RECTL*, RECTL*, POINTL*, ULONG); + RECTL*, RECTL*, POINTL*, ULONG); +typedef BOOL (STDCALL *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, + XLATEOBJ*, COLORADJUSTMENT*, POINTL*, + RECTL*, RECTL*, POINTL*, ULONG, + BRUSHOBJ*, DWORD); typedef BOOL (STDCALL *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG); typedef BOOL (STDCALL *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*, RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX); @@ -108,7 +116,9 @@ typedef struct _DRIVER_FUNCTIONS PGD_ENABLESURFACE EnableSurface; PGD_DISABLESURFACE DisableSurface; PGD_ASSERTMODE AssertMode; + PGD_OFFSET Offset; PGD_RESETPDEV ResetPDEV; + PGD_DISABLEDRIVER DisableDriver; PGD_CREATEDEVICEBITMAP CreateDeviceBitmap; PGD_DELETEDEVICEBITMAP DeleteDeviceBitmap; PGD_REALIZEBRUSH RealizeBrush; @@ -121,6 +131,7 @@ typedef struct _DRIVER_FUNCTIONS PGD_TRANSPARENTBLT TransparentBlt; PGD_COPYBITS CopyBits; PGD_STRETCHBLT StretchBlt; + PGD_STRETCHBLTROP StretchBltROP; PGD_SETPALETTE SetPalette; PGD_TEXTOUT TextOut; PGD_ESCAPE Escape; @@ -161,6 +172,7 @@ typedef struct _DRIVER_FUNCTIONS PGD_QUERYSPOOLTYPE QuerySpoolType; PGD_GRADIENTFILL GradientFill; PGD_SYNCHRONIZESURFACE SynchronizeSurface; + PGD_ALPHABLEND AlphaBlend; } DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS; BOOL DRIVER_RegisterDriver(LPCWSTR Name, PGD_ENABLEDRIVER EnableDriver); diff --git a/reactos/subsys/win32k/misc/driver.c b/reactos/subsys/win32k/misc/driver.c index 67618a1400e..9784caaca6b 100644 --- a/reactos/subsys/win32k/misc/driver.c +++ b/reactos/subsys/win32k/misc/driver.c @@ -187,7 +187,9 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED, DRIVER_FUNCTION(EnableSurface); DRIVER_FUNCTION(DisableSurface); DRIVER_FUNCTION(AssertMode); + DRIVER_FUNCTION(Offset); DRIVER_FUNCTION(ResetPDEV); + DRIVER_FUNCTION(DisableDriver); DRIVER_FUNCTION(CreateDeviceBitmap); DRIVER_FUNCTION(DeleteDeviceBitmap); DRIVER_FUNCTION(RealizeBrush); @@ -200,6 +202,7 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED, DRIVER_FUNCTION(TransparentBlt); DRIVER_FUNCTION(CopyBits); DRIVER_FUNCTION(StretchBlt); + DRIVER_FUNCTION(StretchBltROP); DRIVER_FUNCTION(SetPalette); DRIVER_FUNCTION(TextOut); DRIVER_FUNCTION(Escape); @@ -240,6 +243,7 @@ BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED, DRIVER_FUNCTION(QuerySpoolType); DRIVER_FUNCTION(GradientFill); DRIVER_FUNCTION(SynchronizeSurface); + DRIVER_FUNCTION(AlphaBlend); END_FUNCTION_MAP();