implement EngBitBlt
win32k
implement NtGdiEngBitBlt

svn path=/trunk/; revision=28252
This commit is contained in:
Magnus Olsen 2007-08-08 23:53:58 +00:00
parent bc272f3edd
commit e11b16d9e7
4 changed files with 47 additions and 22 deletions

View file

@ -164,7 +164,7 @@ EndPath@4
EngAcquireSemaphore@4
EngAlphaBlend@28=NtGdiEngAlphaBlend@28;
EngAssociateSurface@12
EngBitBlt@44
EngBitBlt@44=NtGdiEngBitBlt@44;
EngCheckAbort@4
EngComputeGlyphSet@12
EngCopyBits@24

View file

@ -2548,26 +2548,7 @@ EngAssociateSurface(IN HSURF Surface,
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

View file

@ -248,6 +248,50 @@ CallDibBitBlt(SURFOBJ* OutputObj,
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
*/

View file

@ -617,7 +617,7 @@ NtUserYieldTask 0
# NtGdiEngEraseSurface 3
# NtGdiEngUnlockSurface 1
# NtGdiEngLockSurface 1
# NtGdiEngBitBlt 11
NtGdiEngBitBlt 11
# NtGdiEngStretchBlt 11
# NtGdiEngPlgBlt 11
# NtGdiEngMarkBandingSurface 1