[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