You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2012/08/14 11:19:41 UTC
svn commit: r1372793 -
/incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx
Author: alg
Date: Tue Aug 14 09:19:40 2012
New Revision: 1372793
URL: http://svn.apache.org/viewvc?rev=1372793&view=rev
Log:
#120539# Fixed visualisation of gradeint type 'square' which was broken in OOo3.3
Modified:
incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx
Modified: incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx?rev=1372793&r1=1372792&r2=1372793&view=diff
==============================================================================
--- incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx (original)
+++ incubator/ooo/trunk/main/basegfx/source/tools/gradienttools.cxx Tue Aug 14 09:19:40 2012
@@ -183,7 +183,8 @@ namespace basegfx
const B2DVector& rOffset,
sal_uInt32 nSteps,
double fBorder,
- double fAngle)
+ double fAngle,
+ bool bSquare)
{
o_rGradientInfo.maTextureTransform.identity();
o_rGradientInfo.maBackTextureTransform.identity();
@@ -197,6 +198,16 @@ namespace basegfx
double fTargetOffsetY(rTargetRange.getMinY());
// add object expansion
+ if(bSquare)
+ {
+ const double fOriginalDiag(sqrt((fTargetSizeX * fTargetSizeX) + (fTargetSizeY * fTargetSizeY)));
+ fTargetOffsetX -= (fOriginalDiag - fTargetSizeX) / 2.0;
+ fTargetOffsetY -= (fOriginalDiag - fTargetSizeY) / 2.0;
+ fTargetSizeX = fOriginalDiag;
+ fTargetSizeY = fOriginalDiag;
+ }
+
+ // add object expansion
if(0.0 != fAngle)
{
const double fAbsCos(fabs(cos(fAngle)));
@@ -320,7 +331,8 @@ namespace basegfx
rOffset,
nSteps,
fBorder,
- fAngle);
+ fAngle,
+ true);
return o_rGradientInfo;
}
@@ -336,7 +348,8 @@ namespace basegfx
rOffset,
nSteps,
fBorder,
- fAngle);
+ fAngle,
+ false);
return o_rGradientInfo;
}