[ros-diffs] [gschneider] 44809: [win32k] Add support for mask offsets in IntEngStretchBlt

gschneider at svn.reactos.org gschneider at svn.reactos.org
Wed Dec 30 13:42:48 CET 2009


Author: gschneider
Date: Wed Dec 30 13:42:48 2009
New Revision: 44809

URL: http://svn.reactos.org/svn/reactos?rev=44809&view=rev
Log:
[win32k] Add support for mask offsets in IntEngStretchBlt

Modified:
    trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c

Modified: trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c?rev=44809&r1=44808&r2=44809&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] Wed Dec 30 13:42:48 2009
@@ -389,7 +389,7 @@
 {
     BOOLEAN ret;
     COLORADJUSTMENT ca;
-    POINT MaskOrigin;
+    POINTL MaskOrigin = {0, 0};
     SURFACE *psurfDest;
     SURFACE *psurfSource = NULL;
     RECTL InputClippedRect;
@@ -456,7 +456,8 @@
 
     if (pMaskOrigin != NULL)
     {
-        MaskOrigin.x = pMaskOrigin->x; MaskOrigin.y = pMaskOrigin->y;
+        MaskOrigin.x = pMaskOrigin->x;
+        MaskOrigin.y = pMaskOrigin->y;
     }
 
     /* No success yet */
@@ -482,16 +483,35 @@
     if (psurfDest->flHooks & HOOK_STRETCHBLTROP)
     {
         /* Drv->StretchBltROP (look at http://www.osronline.com/ddkx/graphics/ddifncs_0z3b.htm ) */
-        // FIXME: MaskOrigin is always NULL !
-        ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest, (UsesSource) ? psoSource : NULL, MaskSurf, ClipRegion, ColorTranslation,
-                  &ca, BrushOrigin, &OutputRect, &InputRect, NULL, COLORONCOLOR, pbo, ROP);
+        ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest,
+                                                 (UsesSource) ? psoSource : NULL,
+                                                 MaskSurf,
+                                                 ClipRegion,
+                                                 ColorTranslation,
+                                                 &ca, BrushOrigin,
+                                                 &OutputRect,
+                                                 &InputRect,
+                                                 &MaskOrigin,
+                                                 COLORONCOLOR,
+                                                 pbo,
+                                                 ROP);
     }
 
     if (! ret)
     {
-        // FIXME: see previous fixme
-        ret = EngStretchBltROP(psoDest, (UsesSource) ? psoSource : NULL, MaskSurf, ClipRegion, ColorTranslation,
-                            &ca, BrushOrigin, &OutputRect, &InputRect, NULL, COLORONCOLOR, pbo, ROP);
+        ret = EngStretchBltROP(psoDest,
+                               (UsesSource) ? psoSource : NULL,
+                               MaskSurf,
+                               ClipRegion,
+                               ColorTranslation,
+                               &ca,
+                               BrushOrigin,
+                               &OutputRect,
+                               &InputRect,
+                               &MaskOrigin,
+                               COLORONCOLOR,
+                               pbo,
+                               ROP);
     }
 
     if (UsesSource)




More information about the Ros-diffs mailing list