Implement NtGdiEngAlphaBlend

Implement EngAlphaBlend

svn path=/trunk/; revision=28251
This commit is contained in:
Magnus Olsen 2007-08-08 23:03:46 +00:00
parent 54c4a1be66
commit bc272f3edd
4 changed files with 33 additions and 12 deletions

View file

@ -162,7 +162,7 @@ EndFormPage@4
EndPage@4
EndPath@4
EngAcquireSemaphore@4
EngAlphaBlend@28
EngAlphaBlend@28=NtGdiEngAlphaBlend@28;
EngAssociateSurface@12
EngBitBlt@44
EngCheckAbort@4

View file

@ -2534,16 +2534,6 @@ EngAcquireSemaphore ( IN HSEMAPHORE hsem )
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
/*
* @unimplemented
*/
BOOL STDCALL
EngAlphaBlend(SURFOBJ *psoDest,SURFOBJ *psoSrc,CLIPOBJ *pco,XLATEOBJ *pxlo,RECTL *prclDest,RECTL *prclSrc,BLENDOBJ *pBlendObj)
{
UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/*
* @unimplemented

View file

@ -892,6 +892,37 @@ IntEngStretchBlt(SURFOBJ *DestSurf,
return ret;
}
BOOL
STDCALL
NtGdiEngAlphaBlend(IN SURFOBJ *Dest,
IN SURFOBJ *Source,
IN CLIPOBJ *ClipRegion,
IN XLATEOBJ *ColorTranslation,
IN PRECTL upDestRect,
IN PRECTL upSourceRect,
IN BLENDOBJ *BlendObj)
{
RECTL DestRect;
RECTL SourceRect;
_SEH_TRY
{
ProbeForRead(upDestRect, sizeof(RECTL), 1);
RtlCopyMemory(&DestRect,upDestRect, sizeof(RECTL));
ProbeForRead(upSourceRect, sizeof(RECTL), 1);
RtlCopyMemory(&Source, upSourceRect, sizeof(RECTL));
}
_SEH_HANDLE
{
_SEH_YIELD(return FALSE);
}
_SEH_END;
return EngAlphaBlend(Dest, Source, ClipRegion, ColorTranslation, &DestRect, &SourceRect, BlendObj);
}
BOOL
STDCALL
EngAlphaBlend(IN SURFOBJ *Dest,

View file

@ -626,7 +626,7 @@ NtUserYieldTask 0
# NtGdiEngStrokeAndFillPath 10
# NtGdiEngPaint 5
# NtGdiEngLineTo 9
# NtGdiEngAlphaBlend 7
NtGdiEngAlphaBlend 7
# NtGdiEngGradientFill 10
# NtGdiEngTransparentBlt 8
# NtGdiEngTextOut 10