[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