[Libreoffice-commits] core.git: svx/source
Armin Le Grand
alg at apache.org
Sat Mar 16 03:47:46 PDT 2013
svx/source/svdraw/svdfmtf.cxx | 54 +++++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 26 deletions(-)
New commits:
commit d43ae957000d20e34447501341b45a07b467fddc
Author: Armin Le Grand <alg at apache.org>
Date: Mon May 21 09:07:53 2012 +0000
merge getting XGradientStyle From GradientStyle
Conflicts:
svx/source/svdraw/svdfmtf.cxx
Change-Id: I05032df10af530b2b250845c8543ed0205535852
diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index a453394..5c83ee7 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -1263,6 +1263,32 @@ void ImpSdrGDIMetaFileImport::DoAction(MetaMaskScalePartAction& rAct)
InsertObj(pGraf);
}
+namespace
+{
+ XGradientStyle getXGradientStyleFromGradientStyle(const GradientStyle& rGradientStyle)
+ {
+ XGradientStyle aXGradientStyle(XGRAD_LINEAR);
+
+ switch(rGradientStyle)
+ {
+ case GradientStyle_LINEAR: aXGradientStyle = XGRAD_LINEAR; break;
+ case GradientStyle_AXIAL: aXGradientStyle = XGRAD_AXIAL; break;
+ case GradientStyle_RADIAL: aXGradientStyle = XGRAD_RADIAL; break;
+ case GradientStyle_ELLIPTICAL: aXGradientStyle = XGRAD_ELLIPTICAL; break;
+ case GradientStyle_SQUARE: aXGradientStyle = XGRAD_SQUARE; break;
+ case GradientStyle_RECT: aXGradientStyle = XGRAD_RECT; break;
+
+ // Needed due to GradientStyle_FORCE_EQUAL_SIZE; this again is needed
+ // to force the enum defines in VCL to a defined size for the compilers,
+ // so despite it is never used it cannot be removed (would break the
+ // API implementation probably).
+ case GradientStyle_FORCE_EQUAL_SIZE: break;
+ }
+
+ return aXGradientStyle;
+ }
+}
+
void ImpSdrGDIMetaFileImport::DoAction(MetaGradientAction& rAct)
{
basegfx::B2DRange aRange(rAct.GetRect().Left(), rAct.GetRect().Top(), rAct.GetRect().Right(), rAct.GetRect().Bottom());
@@ -1279,19 +1305,7 @@ void ImpSdrGDIMetaFileImport::DoAction(MetaGradientAction& rAct)
ceil(aRange.getMaxX()),
ceil(aRange.getMaxY())));
SfxItemSet aGradientAttr(mpModel->GetItemPool(), XATTR_FILLSTYLE, XATTR_FILLSTYLE, XATTR_FILLGRADIENT, XATTR_FILLGRADIENT, 0, 0);
- XGradientStyle aXGradientStyle(XGRAD_LINEAR);
-
- switch(rGradient.GetStyle())
- {
- case GradientStyle_FORCE_EQUAL_SIZE:
- case GradientStyle_LINEAR: aXGradientStyle = XGRAD_LINEAR; break;
- case GradientStyle_AXIAL: aXGradientStyle = XGRAD_AXIAL; break;
- case GradientStyle_RADIAL: aXGradientStyle = XGRAD_RADIAL; break;
- case GradientStyle_ELLIPTICAL: aXGradientStyle = XGRAD_ELLIPTICAL; break;
- case GradientStyle_SQUARE: aXGradientStyle = XGRAD_SQUARE; break;
- case GradientStyle_RECT: aXGradientStyle = XGRAD_RECT; break;
- }
-
+ const XGradientStyle aXGradientStyle(getXGradientStyleFromGradientStyle(rGradient.GetStyle()));
const XFillGradientItem aXFillGradientItem(
XGradient(
rGradient.GetStartColor(),
@@ -1360,19 +1374,7 @@ void ImpSdrGDIMetaFileImport::DoAction(MetaGradientExAction& rAct)
const Gradient& rGradient = rAct.GetGradient();
SdrPathObj* pPath = new SdrPathObj(OBJ_POLY, aSource);
SfxItemSet aGradientAttr(mpModel->GetItemPool(), XATTR_FILLSTYLE, XATTR_FILLSTYLE, XATTR_FILLGRADIENT, XATTR_FILLGRADIENT, 0, 0);
- XGradientStyle aXGradientStyle(XGRAD_LINEAR);
-
- switch(rGradient.GetStyle())
- {
- case GradientStyle_FORCE_EQUAL_SIZE:
- case GradientStyle_LINEAR: aXGradientStyle = XGRAD_LINEAR; break;
- case GradientStyle_AXIAL: aXGradientStyle = XGRAD_AXIAL; break;
- case GradientStyle_RADIAL: aXGradientStyle = XGRAD_RADIAL; break;
- case GradientStyle_ELLIPTICAL: aXGradientStyle = XGRAD_ELLIPTICAL; break;
- case GradientStyle_SQUARE: aXGradientStyle = XGRAD_SQUARE; break;
- case GradientStyle_RECT: aXGradientStyle = XGRAD_RECT; break;
- }
-
+ const XGradientStyle aXGradientStyle(getXGradientStyleFromGradientStyle(rGradient.GetStyle()));
const XFillGradientItem aXFillGradientItem(
XGradient(
rGradient.GetStartColor(),
More information about the Libreoffice-commits
mailing list