Author: greatlrd Date: Thu Aug 9 03:03:46 2007 New Revision: 28251
URL: http://svn.reactos.org/svn/reactos?rev=28251&view=rev Log: Implement NtGdiEngAlphaBlend Implement EngAlphaBlend
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def trunk/reactos/dll/win32/gdi32/misc/stubs.c trunk/reactos/subsystems/win32/win32k/eng/bitblt.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?r... ============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.def (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.def Thu Aug 9 03:03:46 2007 @@ -162,7 +162,7 @@ EndPage@4 EndPath@4 EngAcquireSemaphore@4 -EngAlphaBlend@28 +EngAlphaBlend@28=NtGdiEngAlphaBlend@28; EngAssociateSurface@12 EngBitBlt@44 EngCheckAbort@4
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.... ============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Thu Aug 9 03:03:46 2007 @@ -2534,16 +2534,6 @@ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); }
-/* - * @unimplemented - */ -BOOL STDCALL -EngAlphaBlend(SURFOBJ *psoDest,SURFOBJ *psoSrc,CLIPOBJ *pco,XLATEOBJ *pxlo,RECTL *prclDest,RECTL *prclSrc,BLENDOBJ *pBlendObj) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -}
/* * @unimplemented
Modified: trunk/reactos/subsystems/win32/win32k/eng/bitblt.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/eng/bitblt.c (original) +++ trunk/reactos/subsystems/win32/win32k/eng/bitblt.c Thu Aug 9 03:03:46 2007 @@ -890,6 +890,37 @@ BITMAPOBJ_UnlockBitmapBits(DestObj);
return ret; +} + + +BOOL +STDCALL +NtGdiEngAlphaBlend(IN SURFOBJ *Dest, + IN SURFOBJ *Source, + IN CLIPOBJ *ClipRegion, + IN XLATEOBJ *ColorTranslation, + IN PRECTL upDestRect, + IN PRECTL upSourceRect, + IN BLENDOBJ *BlendObj) +{ + RECTL DestRect; + RECTL SourceRect; + + _SEH_TRY + { + ProbeForRead(upDestRect, sizeof(RECTL), 1); + RtlCopyMemory(&DestRect,upDestRect, sizeof(RECTL)); + ProbeForRead(upSourceRect, sizeof(RECTL), 1); + RtlCopyMemory(&Source, upSourceRect, sizeof(RECTL)); + + } + _SEH_HANDLE + { + _SEH_YIELD(return FALSE); + } + _SEH_END; + + return EngAlphaBlend(Dest, Source, ClipRegion, ColorTranslation, &DestRect, &SourceRect, BlendObj); }
BOOL
Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 9 03:03:46 2007 @@ -626,7 +626,7 @@ # NtGdiEngStrokeAndFillPath 10 # NtGdiEngPaint 5 # NtGdiEngLineTo 9 -# NtGdiEngAlphaBlend 7 +NtGdiEngAlphaBlend 7 # NtGdiEngGradientFill 10 # NtGdiEngTransparentBlt 8 # NtGdiEngTextOut 10