Author: greatlrd
Date: Thu Aug 9 03:53:58 2007
New Revision: 28252
URL:
http://svn.reactos.org/svn/reactos?rev=28252&view=rev
Log:
gdi32
implement EngBitBlt
win32k
implement NtGdiEngBitBlt
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:53:58 2007
@@ -164,7 +164,7 @@
EngAcquireSemaphore@4
EngAlphaBlend@28=NtGdiEngAlphaBlend@28;
EngAssociateSurface@12
-EngBitBlt@44
+EngBitBlt@44=NtGdiEngBitBlt@44;
EngCheckAbort@4
EngComputeGlyphSet@12
EngCopyBits@24
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:53:58 2007
@@ -2548,26 +2548,7 @@
return 0;
}
-/*
- * @unimplemented
- */
-BOOL STDCALL
-EngBitBlt(SURFOBJ *Dest,
- SURFOBJ *Source,
- SURFOBJ *Mask,
- CLIPOBJ *ClipRegion,
- XLATEOBJ *ColorTranslation,
- RECTL *DestRect,
- POINTL *SourcePoint,
- POINTL *MaskRect,
- BRUSHOBJ *Brush,
- POINTL *BrushOrigin,
- ROP4 rop4)
-{
- 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:53:58 2007
@@ -247,6 +247,50 @@
}
INT __cdecl abs(INT nm);
+
+
+BOOL STDCALL
+NtGdiEngBitBlt(
+ IN SURFOBJ *psoTrg,
+ IN SURFOBJ *psoSrc,
+ IN SURFOBJ *psoMask,
+ IN CLIPOBJ *pco,
+ IN XLATEOBJ *pxlo,
+ IN RECTL *prclTrg,
+ IN POINTL *pptlSrc,
+ IN POINTL *pptlMask,
+ IN BRUSHOBJ *pbo,
+ IN POINTL *pptlBrush,
+ IN ROP4 rop4 )
+{
+ RECTL rclTrg;
+ POINTL ptlSrc;
+ POINTL ptlMask;
+ POINTL ptlBrush;
+
+ _SEH_TRY
+ {
+ ProbeForRead(prclTrg, sizeof(RECTL), 1);
+ RtlCopyMemory(&rclTrg,prclTrg, sizeof(POINTL));
+
+ ProbeForRead(pptlSrc, sizeof(RECTL), 1);
+ RtlCopyMemory(&ptlSrc, pptlSrc, sizeof(POINTL));
+
+ ProbeForRead(pptlMask, sizeof(RECTL), 1);
+ RtlCopyMemory(&ptlMask, pptlMask, sizeof(POINTL));
+
+ ProbeForRead(pptlBrush, sizeof(RECTL), 1);
+ RtlCopyMemory(&ptlBrush, pptlBrush, sizeof(POINTL));
+
+ }
+ _SEH_HANDLE
+ {
+ _SEH_YIELD(return FALSE);
+ }
+ _SEH_END;
+
+ return EngBitBlt(psoTrg, psoSrc, psoMask, pco, pxlo, &rclTrg, &ptlSrc,
&ptlMask, pbo, &ptlBrush, rop4);
+}
/*
* @implemented
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:53:58 2007
@@ -617,7 +617,7 @@
# NtGdiEngEraseSurface 3
# NtGdiEngUnlockSurface 1
# NtGdiEngLockSurface 1
-# NtGdiEngBitBlt 11
+NtGdiEngBitBlt 11
# NtGdiEngStretchBlt 11
# NtGdiEngPlgBlt 11
# NtGdiEngMarkBandingSurface 1