mirror of
https://github.com/reactos/reactos.git
synced 2024-07-03 03:04:22 +00:00
- 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:
parent
132a0cb3b8
commit
4e37ce697b
|
@ -96,11 +96,24 @@ NtGdiAlphaBlend(
|
||||||
DestRect.top = YOriginDest;
|
DestRect.top = YOriginDest;
|
||||||
DestRect.right = XOriginDest + WidthDest;
|
DestRect.right = XOriginDest + WidthDest;
|
||||||
DestRect.bottom = YOriginDest + HeightDest;
|
DestRect.bottom = YOriginDest + HeightDest;
|
||||||
|
IntLPtoDP(DCDest, (LPPOINT)&DestRect, 2);
|
||||||
|
|
||||||
SourceRect.left = XOriginSrc;
|
SourceRect.left = XOriginSrc;
|
||||||
SourceRect.top = YOriginSrc;
|
SourceRect.top = YOriginSrc;
|
||||||
SourceRect.right = XOriginSrc + WidthSrc;
|
SourceRect.right = XOriginSrc + WidthSrc;
|
||||||
SourceRect.bottom = YOriginSrc + HeightSrc;
|
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 */
|
/* Determine surfaces to be used in the bitblt */
|
||||||
BitmapDest = BITMAPOBJ_LockBitmap(DCDest->w.hBitmap);
|
BitmapDest = BITMAPOBJ_LockBitmap(DCDest->w.hBitmap);
|
||||||
|
|
Loading…
Reference in a new issue