patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com, irc: Goplat):

fix coordinate transformation for NtGdiSetDIBitsToDevice,
fixes bug 3200
See issue #3294 for more details.

svn path=/trunk/; revision=33861
This commit is contained in:
Timo Kreuzer 2008-06-05 22:23:19 +00:00
parent 56d318331b
commit d448c26dba
2 changed files with 10 additions and 3 deletions

View file

@ -447,8 +447,9 @@ SetDIBitsToDevice(
ColorUse, ColorUse,
lpbmi->bmiHeader.biSizeImage, lpbmi->bmiHeader.biSizeImage,
lpbmi->bmiHeader.biSize, lpbmi->bmiHeader.biSize,
FALSE, TRUE,
NULL); NULL);
} }

View file

@ -372,8 +372,14 @@ NtGdiSetDIBitsToDeviceInternal(
rcDest.left = XDest; rcDest.left = XDest;
rcDest.top = YDest; rcDest.top = YDest;
rcDest.right = XDest + Width; if (bTransformCoordinates)
rcDest.bottom = YDest + Height; {
CoordLPtoDP(pDC, (LPPOINT)&rcDest);
}
rcDest.left += pDC->ptlDCOrig.x;
rcDest.top += pDC->ptlDCOrig.y;
rcDest.right = rcDest.left + Width;
rcDest.bottom = rcDest.top + Height;
ptSource.x = XSrc; ptSource.x = XSrc;
ptSource.y = YSrc; ptSource.y = YSrc;