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/en…
==============================================================================
--- 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];