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?r... ============================================================================== --- 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/eng... ============================================================================== --- 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/w32... ============================================================================== --- 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