[ros-diffs] [greatlrd] 28252: gdi32 implement EngBitBlt win32k implement NtGdiEngBitBlt

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Thu Aug 9 01:53:59 CEST 2007


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?rev=28252&r1=28251&r2=28252&view=diff
==============================================================================
--- 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 at 4
 EngAlphaBlend at 28=NtGdiEngAlphaBlend at 28;
 EngAssociateSurface at 12
-EngBitBlt at 44
+EngBitBlt at 44=NtGdiEngBitBlt at 44;
 EngCheckAbort at 4
 EngComputeGlyphSet at 12
 EngCopyBits at 24

Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.c?rev=28252&r1=28251&r2=28252&view=diff
==============================================================================
--- 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/eng/bitblt.c?rev=28252&r1=28251&r2=28252&view=diff
==============================================================================
--- 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/w32ksvc.db?rev=28252&r1=28251&r2=28252&view=diff
==============================================================================
--- 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




More information about the Ros-diffs mailing list