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/obj... ============================================================================== --- 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);