Author: gschneider
Date: Tue Feb 3 09:58:46 2009
New Revision: 39336
URL:
http://svn.reactos.org/svn/reactos?rev=39336&view=rev
Log:
Offset the source and destination rectangles as pointed out in bug #4107. Remove
respective FIXME.
Modified:
trunk/reactos/subsystems/win32/win32k/objects/bitblt.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/bitblt.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] Tue Feb 3
09:58:46 2009
@@ -805,7 +805,6 @@
IntGdiSelectBrush(DCDest,Dc_Attr->hbrush);
/* Offset the destination and source by the origin of their DCs. */
- // FIXME: ptlDCOrig is in device coordinates!
XOriginDest += DCDest->ptlDCOrig.x;
YOriginDest += DCDest->ptlDCOrig.y;
if (UsesSource)
@@ -818,11 +817,16 @@
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;
+ if (UsesSource)
+ {
+ IntLPtoDP(DCSrc, (LPPOINT)&SourceRect, 2);
+ }
/* Determine surfaces to be used in the bitblt */
BitmapDest = SURFACE_LockSurface(DCDest->w.hBitmap);