[ros-diffs] [tkreuzer] 50764: [WIN32K] In IntEngGradientFillRect, take the translate value into account, that we need when drawing happens on an intermediate surface. Patch by Thomas Faber (ThFabba at gmx dot ...

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Wed Feb 16 23:29:51 UTC 2011


Author: tkreuzer
Date: Wed Feb 16 23:29:50 2011
New Revision: 50764

URL: http://svn.reactos.org/svn/reactos?rev=50764&view=rev
Log:
[WIN32K]
In IntEngGradientFillRect, take the translate value into account, that we need when drawing happens on an intermediate surface. Patch by Thomas Faber (ThFabba at gmx dot de)

See issue #5805 for more details.

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

Modified: trunk/reactos/subsystems/win32/win32k/eng/gradient.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/eng/gradient.c?rev=50764&r1=50763&r2=50764&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/gradient.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/gradient.c [iso-8859-1] Wed Feb 16 23:29:50 2011
@@ -130,7 +130,7 @@
               {
                 Color = XLATEOBJ_iXlate(pxlo, RGB(c[0], c[1], c[2]));
                 DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_VLine(
-                  psoOutput, y, FillRect.top, FillRect.bottom, Color);
+                  psoOutput, y + Translate.x, FillRect.top + Translate.y, FillRect.bottom + Translate.y, Color);
               }
               HVSTEPCOL(0);
               HVSTEPCOL(1);
@@ -158,7 +158,7 @@
             {
               Color = XLATEOBJ_iXlate(pxlo, RGB(c[0], c[1], c[2]));
               DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(
-                psoOutput, FillRect.left, FillRect.right, y, Color);
+                psoOutput, FillRect.left + Translate.x, FillRect.right + Translate.x, y + Translate.y, Color);
             }
             HVSTEPCOL(0);
             HVSTEPCOL(1);
@@ -187,7 +187,7 @@
         for(; FillRect.top < FillRect.bottom; FillRect.top++)
         {
           DibFunctionsForBitmapFormat[psoOutput->iBitmapFormat].DIB_HLine(
-            psoOutput, FillRect.left, FillRect.right, FillRect.top, Color);
+            psoOutput, FillRect.left + Translate.x, FillRect.right + Translate.x, FillRect.top + Translate.y, Color);
         }
       }
     }
@@ -318,7 +318,7 @@
   //ULONG i;
   POINTL Translate;
   INTENG_ENTER_LEAVE EnterLeave;
-  RECTL FillRect;
+  RECTL FillRect = { 0, 0, 0, 0 };
   //ULONG Color;
 
   //BOOL sx[NLINES];




More information about the Ros-diffs mailing list