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?…
==============================================================================
--- 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/en…
==============================================================================
--- 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/w3…
==============================================================================
--- 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