[ros-diffs] [gschneider] 39336: Offset the source and destination rectangles as pointed out in bug #4107. Remove respective FIXME.

gschneider at svn.reactos.org gschneider at svn.reactos.org
Tue Feb 3 16:58:46 CET 2009


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/objects/bitblt.c?rev=39336&r1=39335&r2=39336&view=diff
==============================================================================
--- 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);



More information about the Ros-diffs mailing list