[ros-diffs] [fireball] 40040: Evgeniy Boltik <bstsoft at narod.ru> - Brush's origin is always (0, 0) of a window, not a screen. Offset it accordingly in NtGdiStretchBlt. See issue #4147 for more details.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Mar 15 18:00:14 CET 2009


Author: fireball
Date: Sun Mar 15 20:00:13 2009
New Revision: 40040

URL: http://svn.reactos.org/svn/reactos?rev=40040&view=rev
Log:
Evgeniy Boltik <bstsoft at narod.ru>
- Brush's origin is always (0,0) of a window, not a screen. Offset it accordingly in NtGdiStretchBlt.
See issue #4147 for more details.

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=40040&r1=40039&r2=40040&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] Sun Mar 15 20:00:13 2009
@@ -879,6 +879,10 @@
         IntGdiInitBrushInstance(&BrushInst, BrushObj, DCDest->XlateBrush);
     }
 
+    /* Offset the brush */
+    BrushOrigin.x += DCDest->ptlDCOrig.x;
+    BrushOrigin.y += DCDest->ptlDCOrig.y;
+
     /* Perform the bitblt operation */
     Status = IntEngStretchBlt(&BitmapDest->SurfObj, &BitmapSrc->SurfObj,
         NULL, DCDest->CombinedClip, XlateObj,



More information about the Ros-diffs mailing list