[Libreoffice-commits] core.git: vcl/source
Chris Sherlock
chris.sherlock79 at gmail.com
Wed Apr 9 07:19:37 PDT 2014
vcl/source/gdi/outdev4.cxx | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
New commits:
commit 1987cdeaded55da2a2f224a51c9a1575912b22d6
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date: Wed Apr 9 23:16:11 2014 +1000
Fix gradient regressions
1. Fix regression 8659d189ec04a - rect. gradients no longer do grayscale
In commit 8659d189ec04aca78c8ffff97fcca507ca0a9ec3 I swapped the passing
parameters going to ImplComplexGradient and ImplLinearGradient from
aGradient (the copy) to rGradient (the original which didn't have the
grayscale applied).
2. Fix regression 954d7ad4ea7 - grayscale applied at wrong time
In commit 954d7ad4ea7ec3746b0f0cd3f850a25e82b39c14 grayscale was applied
in DrawGradient (Rectangle &rRect...) after the gradient was written to
the metafile. I was attempting to bring it into line with what
DrawGradient (PolyPolygon &rPolyPoly...) does. However, it remains to be
seen if that's actually doing the right thing - so best to revert this
as in all likelihood I may have caused a regression with grayscaled
gradients
Change-Id: Id94549b3366adb8fcf3cddc59d30029579430a30
Reviewed-on: https://gerrit.libreoffice.org/8908
Reviewed-by: Chris Sherlock <chris.sherlock79 at gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79 at gmail.com>
diff --git a/vcl/source/gdi/outdev4.cxx b/vcl/source/gdi/outdev4.cxx
index 16a211f..0198b84 100644
--- a/vcl/source/gdi/outdev4.cxx
+++ b/vcl/source/gdi/outdev4.cxx
@@ -631,17 +631,17 @@ void OutputDevice::DrawGradient( const Rectangle& rRect,
Gradient aGradient( rGradient );
+ if ( mnDrawMode & ( DRAWMODE_GRAYGRADIENT | DRAWMODE_GHOSTEDGRADIENT ) )
+ {
+ SetGrayscaleColors( aGradient );
+ }
+
if( mpMetaFile )
mpMetaFile->AddAction( new MetaGradientAction( rRect, aGradient ) );
if( !IsDeviceOutputNecessary() || ImplIsRecordLayout() )
return;
- if ( mnDrawMode & ( DRAWMODE_GRAYGRADIENT | DRAWMODE_GHOSTEDGRADIENT ) )
- {
- SetGrayscaleColors( aGradient );
- }
-
if ( !Rectangle( PixelToLogic( Point() ), GetOutputSize() ).IsEmpty() )
{
// convert rectangle to pixels
@@ -685,9 +685,9 @@ void OutputDevice::DrawGradient( const Rectangle& rRect,
aGradient.SetSteps( GRADIENT_DEFAULT_STEPCOUNT );
if( aGradient.GetStyle() == GradientStyle_LINEAR || aGradient.GetStyle() == GradientStyle_AXIAL )
- ImplDrawLinearGradient( aRect, rGradient, false, NULL );
+ ImplDrawLinearGradient( aRect, aGradient, false, NULL );
else
- ImplDrawComplexGradient( aRect, rGradient, false, NULL );
+ ImplDrawComplexGradient( aRect, aGradient, false, NULL );
}
Pop();
More information about the Libreoffice-commits
mailing list