- Fix AlphaBlend checks that pass wine bitmap gdi32 crosstests. Tested in 16 and 24 bit mode Qemu and 32 bit mode hardware, with our AlphaBlend rendering demo program.

svn path=/trunk/; revision=37385
This commit is contained in:
James Tabor 2008-11-16 02:19:43 +00:00
parent 132a0cb3b8
commit 4e37ce697b

View file

@ -96,11 +96,24 @@ NtGdiAlphaBlend(
DestRect.top = YOriginDest;
DestRect.right = XOriginDest + WidthDest;
DestRect.bottom = YOriginDest + HeightDest;
IntLPtoDP(DCDest, (LPPOINT)&DestRect, 2);
SourceRect.left = XOriginSrc;
SourceRect.top = YOriginSrc;
SourceRect.right = XOriginSrc + WidthSrc;
SourceRect.bottom = YOriginSrc + HeightSrc;
IntLPtoDP(DCSrc, (LPPOINT)&SourceRect, 2);
if (!DestRect.right ||
!DestRect.bottom ||
!SourceRect.right ||
!SourceRect.bottom)
{
if (hDCSrc != hDCDest)
DC_UnlockDc(DCSrc);
DC_UnlockDc(DCDest);
return TRUE;
}
/* Determine surfaces to be used in the bitblt */
BitmapDest = BITMAPOBJ_LockBitmap(DCDest->w.hBitmap);