From bc8d008551542d26d120a8a8f82f9dfd85878e3c Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 16 Feb 2011 23:29:50 +0000 Subject: [PATCH] [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. svn path=/trunk/; revision=50764 --- reactos/subsystems/win32/win32k/eng/gradient.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/subsystems/win32/win32k/eng/gradient.c b/reactos/subsystems/win32/win32k/eng/gradient.c index 75faeae5c33..38d663c7723 100644 --- a/reactos/subsystems/win32/win32k/eng/gradient.c +++ b/reactos/subsystems/win32/win32k/eng/gradient.c @@ -130,7 +130,7 @@ IntEngGradientFillRect( { 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 @@ IntEngGradientFillRect( { 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 @@ IntEngGradientFillRect( 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 @@ IntEngGradientFillTriangle( //ULONG i; POINTL Translate; INTENG_ENTER_LEAVE EnterLeave; - RECTL FillRect; + RECTL FillRect = { 0, 0, 0, 0 }; //ULONG Color; //BOOL sx[NLINES]; -- 2.17.1