svx/source/svdraw/svdfmtf.cxx | 54 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 26 deletions(-)
New commits: commit d43ae957000d20e34447501341b45a07b467fddc Author: Armin Le Grand <a...@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(), _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits