[Libreoffice-commits] core.git: drawinglayer/source filter/source include/svtools include/svx svtools/source svx/source sw/inc sw/source

Noel Grandin noelgrandin at gmail.com
Mon Mar 13 08:39:13 UTC 2017


 drawinglayer/source/primitive2d/graphicprimitive2d.cxx       |    2 
 drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx |   18 ++++----
 filter/source/msfilter/escherex.cxx                          |    2 
 filter/source/msfilter/msdffimp.cxx                          |   24 +++++------
 include/svtools/grfmgr.hxx                                   |   12 ++---
 include/svx/sdgmoitm.hxx                                     |    5 --
 svtools/source/graphic/grfattr.cxx                           |    2 
 svtools/source/graphic/grfmgr2.cxx                           |   18 ++++----
 svx/source/sdr/properties/graphicproperties.cxx              |    2 
 sw/inc/grfatr.hxx                                            |    5 +-
 sw/source/core/graphic/grfatr.cxx                            |    4 -
 sw/source/filter/ww8/docxattributeoutput.cxx                 |   10 ++--
 sw/source/filter/ww8/wrtw8esh.cxx                            |   21 +++++----
 sw/source/filter/ww8/ww8graf.cxx                             |    8 +--
 sw/source/uibase/shells/grfsh.cxx                            |    6 +-
 sw/source/uibase/utlui/attrdesc.cxx                          |    6 +-
 16 files changed, 72 insertions(+), 73 deletions(-)

New commits:
commit 7c0e3d0b37131b12262d0f610505b3384923c4a1
Author: Noel Grandin <noelgrandin at gmail.com>
Date:   Thu Mar 9 13:08:45 2017 +0200

    convert GraphicDrawMode to scoped enum
    
    Change-Id: I18eec89c4e1ebb86d64297e7cef4b36bf12df59f
    Reviewed-on: https://gerrit.libreoffice.org/35004
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
index e0b344a..d0935fc 100644
--- a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
@@ -80,7 +80,7 @@ namespace drawinglayer
             Graphic aTransformedGraphic(rGraphicObject.GetGraphic());
             const bool isBitmap(GraphicType::Bitmap == aTransformedGraphic.GetType() && !aTransformedGraphic.getSvgData().get());
             const bool isAdjusted(getGraphicAttr().IsAdjusted());
-            const bool isDrawMode(GRAPHICDRAWMODE_STANDARD != getGraphicAttr().GetDrawMode());
+            const bool isDrawMode(GraphicDrawMode::Standard != getGraphicAttr().GetDrawMode());
 
             if(isBitmap && (isAdjusted || isDrawMode))
             {
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 7014dcf..c2e574a 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -577,22 +577,22 @@ namespace drawinglayer
             // embeddings from here
             aRetval = rChildren;
 
-            if(GRAPHICDRAWMODE_WATERMARK == aGraphicDrawMode)
+            if(GraphicDrawMode::Watermark == aGraphicDrawMode)
             {
                 // this is solved by applying fixed values additionally to luminance
-                // and contrast, do it here and reset DrawMode to GRAPHICDRAWMODE_STANDARD
+                // and contrast, do it here and reset DrawMode to GraphicDrawMode::Standard
                 // original in svtools uses:
                 // #define WATERMARK_LUM_OFFSET        50
                 // #define WATERMARK_CON_OFFSET        -70
                 fLuminance = basegfx::clamp(fLuminance + 0.5, -1.0, 1.0);
                 fContrast = basegfx::clamp(fContrast - 0.7, -1.0, 1.0);
-                aGraphicDrawMode = GRAPHICDRAWMODE_STANDARD;
+                aGraphicDrawMode = GraphicDrawMode::Standard;
             }
 
-            // DrawMode (GRAPHICDRAWMODE_WATERMARK already handled)
+            // DrawMode (GraphicDrawMode::Watermark already handled)
             switch(aGraphicDrawMode)
             {
-                case GRAPHICDRAWMODE_GREYS:
+                case GraphicDrawMode::Greys:
                 {
                     // convert to grey
                     const Primitive2DReference aPrimitiveGrey(
@@ -604,7 +604,7 @@ namespace drawinglayer
                     aRetval = Primitive2DContainer { aPrimitiveGrey };
                     break;
                 }
-                case GRAPHICDRAWMODE_MONO:
+                case GraphicDrawMode::Mono:
                 {
                     // convert to mono (black/white with threshold 0.5)
                     const Primitive2DReference aPrimitiveBlackAndWhite(
@@ -616,11 +616,11 @@ namespace drawinglayer
                     aRetval = Primitive2DContainer { aPrimitiveBlackAndWhite };
                     break;
                 }
-                default: // case GRAPHICDRAWMODE_STANDARD:
+                default: // case GraphicDrawMode::Standard:
                 {
                     assert(
-                        aGraphicDrawMode != GRAPHICDRAWMODE_WATERMARK
-                        && "OOps, GRAPHICDRAWMODE_WATERMARK should already be handled (see above)");
+                        aGraphicDrawMode != GraphicDrawMode::Watermark
+                        && "OOps, GraphicDrawMode::Watermark should already be handled (see above)");
                     // nothing to do
                     break;
                 }
diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx
index b32f965..4c8cc12 100644
--- a/filter/source/msfilter/escherex.cxx
+++ b/filter/source/msfilter/escherex.cxx
@@ -3984,7 +3984,7 @@ EscherBlibEntry::EscherBlibEntry( sal_uInt32 nPictureOffset, const GraphicObject
                                     || pGraphicAttr->IsAdjusted() )
             {
                 SvMemoryStream aSt( sizeof( GraphicAttr ) );
-                aSt.WriteUInt16( pGraphicAttr->GetDrawMode() )
+                aSt.WriteUInt16( (sal_uInt16)pGraphicAttr->GetDrawMode() )
                    .WriteUInt32( static_cast<sal_uInt32>(pGraphicAttr->GetMirrorFlags()) )
                    .WriteInt32( pGraphicAttr->GetLeftCrop() )
                    .WriteInt32( pGraphicAttr->GetTopCrop() )
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 2393e28..d170540 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -3859,11 +3859,11 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
             }
             sal_Int16   nBrightness     = (sal_Int16)( (sal_Int32)GetPropertyValue( DFF_Prop_pictureBrightness, 0 ) / 327 );
             sal_Int32   nGamma          = GetPropertyValue( DFF_Prop_pictureGamma, 0x10000 );
-            GraphicDrawMode eDrawMode   = GRAPHICDRAWMODE_STANDARD;
+            GraphicDrawMode eDrawMode   = GraphicDrawMode::Standard;
             switch ( GetPropertyValue( DFF_Prop_pictureActive, 0 ) & 6 )
             {
-                case 4 : eDrawMode = GRAPHICDRAWMODE_GREYS; break;
-                case 6 : eDrawMode = GRAPHICDRAWMODE_MONO; break;
+                case 4 : eDrawMode = GraphicDrawMode::Greys; break;
+                case 6 : eDrawMode = GraphicDrawMode::Mono; break;
                 case 0 :
                 {
                     //office considers the converted values of (in OOo) 70 to be the
@@ -3873,13 +3873,13 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
                     {
                         nContrast = 0;
                         nBrightness = 0;
-                        eDrawMode = GRAPHICDRAWMODE_WATERMARK;
+                        eDrawMode = GraphicDrawMode::Watermark;
                     };
                 }
                 break;
             }
 
-            if ( nContrast || nBrightness || ( nGamma != 0x10000 ) || ( eDrawMode != GRAPHICDRAWMODE_STANDARD ) )
+            if ( nContrast || nBrightness || ( nGamma != 0x10000 ) || ( eDrawMode != GraphicDrawMode::Standard ) )
             {
                 // MSO uses a different algorithm for contrast+brightness, LO applies contrast before brightness,
                 // while MSO apparently applies half of brightness before contrast and half after. So if only
@@ -3894,16 +3894,16 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
                         rSet.Put( SdrGrafContrastItem( (sal_Int16)nContrast ) );
                     if ( nGamma != 0x10000 )
                         rSet.Put( SdrGrafGamma100Item( nGamma / 655 ) );
-                    if ( eDrawMode != GRAPHICDRAWMODE_STANDARD )
+                    if ( eDrawMode != GraphicDrawMode::Standard )
                         rSet.Put( SdrGrafModeItem( eDrawMode ) );
                 }
                 else
                 {
-                    if ( eDrawMode == GRAPHICDRAWMODE_WATERMARK )
+                    if ( eDrawMode == GraphicDrawMode::Watermark )
                     {
                         nContrast = 60;
                         nBrightness = 70;
-                        eDrawMode = GRAPHICDRAWMODE_STANDARD;
+                        eDrawMode = GraphicDrawMode::Standard;
                     }
                     switch ( aGraf.GetType() )
                     {
@@ -3912,9 +3912,9 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
                             BitmapEx    aBitmapEx( aGraf.GetBitmapEx() );
                             if ( nBrightness || nContrast || ( nGamma != 0x10000 ) )
                                 aBitmapEx.Adjust( nBrightness, (sal_Int16)nContrast, 0, 0, 0, (double)nGamma / 0x10000, false, true );
-                            if ( eDrawMode == GRAPHICDRAWMODE_GREYS )
+                            if ( eDrawMode == GraphicDrawMode::Greys )
                                 aBitmapEx.Convert( BmpConversion::N8BitGreys );
-                            else if ( eDrawMode == GRAPHICDRAWMODE_MONO )
+                            else if ( eDrawMode == GraphicDrawMode::Mono )
                                 aBitmapEx.Convert( BmpConversion::N1BitThreshold );
                             aGraf = aBitmapEx;
 
@@ -3926,9 +3926,9 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
                             GDIMetaFile aGdiMetaFile( aGraf.GetGDIMetaFile() );
                             if ( nBrightness || nContrast || ( nGamma != 0x10000 ) )
                                 aGdiMetaFile.Adjust( nBrightness, (sal_Int16)nContrast, 0, 0, 0, (double)nGamma / 0x10000, false, true );
-                            if ( eDrawMode == GRAPHICDRAWMODE_GREYS )
+                            if ( eDrawMode == GraphicDrawMode::Greys )
                                 aGdiMetaFile.Convert( MtfConversion::N8BitGreys );
-                            else if ( eDrawMode == GRAPHICDRAWMODE_MONO )
+                            else if ( eDrawMode == GraphicDrawMode::Mono )
                                 aGdiMetaFile.Convert( MtfConversion::N1BitThreshold );
                             aGraf = aGdiMetaFile;
                         }
diff --git a/include/svtools/grfmgr.hxx b/include/svtools/grfmgr.hxx
index 60be201..f85a175 100644
--- a/include/svtools/grfmgr.hxx
+++ b/include/svtools/grfmgr.hxx
@@ -63,12 +63,12 @@ namespace o3tl
     template<> struct typed_flags<GraphicAdjustmentFlags> : is_typed_flags<GraphicAdjustmentFlags, 0x1f> {};
 }
 
-enum GraphicDrawMode
+enum class GraphicDrawMode
 {
-    GRAPHICDRAWMODE_STANDARD = 0,
-    GRAPHICDRAWMODE_GREYS = 1,
-    GRAPHICDRAWMODE_MONO = 2,
-    GRAPHICDRAWMODE_WATERMARK = 3
+    Standard = 0,
+    Greys = 1,
+    Mono = 2,
+    Watermark = 3
 };
 
 class GraphicManager;
@@ -149,7 +149,7 @@ public:
     void            SetTransparency( sal_uInt8 cTransparency ) { mcTransparency = cTransparency; }
     sal_uInt8       GetTransparency() const { return mcTransparency; }
 
-    bool            IsSpecialDrawMode() const { return( meDrawMode != GRAPHICDRAWMODE_STANDARD ); }
+    bool            IsSpecialDrawMode() const { return( meDrawMode != GraphicDrawMode::Standard ); }
     bool            IsMirrored() const { return mnMirrFlags != BmpMirrorFlags::NONE; }
     bool            IsCropped() const
                     {
diff --git a/include/svx/sdgmoitm.hxx b/include/svx/sdgmoitm.hxx
index 3d38fb1..2ff3c6e 100644
--- a/include/svx/sdgmoitm.hxx
+++ b/include/svx/sdgmoitm.hxx
@@ -26,13 +26,10 @@
 #include <svx/svxdllapi.h>
 
 
-// SdrGrafModeItem -
-
-
 class SVX_DLLPUBLIC SdrGrafModeItem : public SfxEnumItem<GraphicDrawMode>
 {
 public:
-                            SdrGrafModeItem( GraphicDrawMode eMode = GRAPHICDRAWMODE_STANDARD ) : SfxEnumItem( SDRATTR_GRAFMODE, eMode ) {}
+                            SdrGrafModeItem( GraphicDrawMode eMode = GraphicDrawMode::Standard ) : SfxEnumItem( SDRATTR_GRAFMODE, eMode ) {}
                             SdrGrafModeItem( SvStream& rIn ) : SfxEnumItem( SDRATTR_GRAFMODE, rIn ) {}
 
     virtual SfxPoolItem*    Clone( SfxItemPool* pPool = nullptr ) const override;
diff --git a/svtools/source/graphic/grfattr.cxx b/svtools/source/graphic/grfattr.cxx
index 6b5cd6c..df6ebaa 100644
--- a/svtools/source/graphic/grfattr.cxx
+++ b/svtools/source/graphic/grfattr.cxx
@@ -37,7 +37,7 @@ GraphicAttr::GraphicAttr() :
     mnBPercent      ( 0 ),
     mbInvert        ( false ),
     mcTransparency  ( 0 ),
-    meDrawMode      ( GRAPHICDRAWMODE_STANDARD )
+    meDrawMode      ( GraphicDrawMode::Standard )
 {
 }
 
diff --git a/svtools/source/graphic/grfmgr2.cxx b/svtools/source/graphic/grfmgr2.cxx
index 68ade89..78319de 100644
--- a/svtools/source/graphic/grfmgr2.cxx
+++ b/svtools/source/graphic/grfmgr2.cxx
@@ -1406,15 +1406,15 @@ void GraphicManager::ImplAdjust( BitmapEx& rBmpEx, const GraphicAttr& rAttr, Gra
     {
         switch( aAttr.GetDrawMode() )
         {
-            case GRAPHICDRAWMODE_MONO:
+            case GraphicDrawMode::Mono:
                 rBmpEx.Convert( BmpConversion::N1BitThreshold );
             break;
 
-            case GRAPHICDRAWMODE_GREYS:
+            case GraphicDrawMode::Greys:
                 rBmpEx.Convert( BmpConversion::N8BitGreys );
             break;
 
-            case GRAPHICDRAWMODE_WATERMARK:
+            case GraphicDrawMode::Watermark:
             {
                 aAttr.SetLuminance( aAttr.GetLuminance() + WATERMARK_LUM_OFFSET );
                 aAttr.SetContrast( aAttr.GetContrast() + WATERMARK_CON_OFFSET );
@@ -1509,15 +1509,15 @@ void GraphicManager::ImplAdjust( GDIMetaFile& rMtf, const GraphicAttr& rAttr, Gr
     {
         switch( aAttr.GetDrawMode() )
         {
-            case GRAPHICDRAWMODE_MONO:
+            case GraphicDrawMode::Mono:
                 rMtf.Convert( MtfConversion::N1BitThreshold );
             break;
 
-            case GRAPHICDRAWMODE_GREYS:
+            case GraphicDrawMode::Greys:
                 rMtf.Convert( MtfConversion::N8BitGreys );
             break;
 
-            case GRAPHICDRAWMODE_WATERMARK:
+            case GraphicDrawMode::Watermark:
             {
                 aAttr.SetLuminance( aAttr.GetLuminance() + WATERMARK_LUM_OFFSET );
                 aAttr.SetContrast( aAttr.GetContrast() + WATERMARK_CON_OFFSET );
@@ -1560,15 +1560,15 @@ void GraphicManager::ImplAdjust( Animation& rAnimation, const GraphicAttr& rAttr
     {
         switch( aAttr.GetDrawMode() )
         {
-            case GRAPHICDRAWMODE_MONO:
+            case GraphicDrawMode::Mono:
                 rAnimation.Convert( BmpConversion::N1BitThreshold );
             break;
 
-            case GRAPHICDRAWMODE_GREYS:
+            case GraphicDrawMode::Greys:
                 rAnimation.Convert( BmpConversion::N8BitGreys );
             break;
 
-            case GRAPHICDRAWMODE_WATERMARK:
+            case GraphicDrawMode::Watermark:
             {
                 aAttr.SetLuminance( aAttr.GetLuminance() + WATERMARK_LUM_OFFSET );
                 aAttr.SetContrast( aAttr.GetContrast() + WATERMARK_CON_OFFSET );
diff --git a/svx/source/sdr/properties/graphicproperties.cxx b/svx/source/sdr/properties/graphicproperties.cxx
index 09a0f7c..9663199 100644
--- a/svx/source/sdr/properties/graphicproperties.cxx
+++ b/svx/source/sdr/properties/graphicproperties.cxx
@@ -118,7 +118,7 @@ namespace sdr
             mpItemSet->Put( SdrGrafGamma100Item( 100 ) );
             mpItemSet->Put( SdrGrafTransparenceItem( 0 ) );
             mpItemSet->Put( SdrGrafInvertItem( false ) );
-            mpItemSet->Put( SdrGrafModeItem( GRAPHICDRAWMODE_STANDARD ) );
+            mpItemSet->Put( SdrGrafModeItem( GraphicDrawMode::Standard ) );
             mpItemSet->Put( SdrGrafCropItem( 0, 0, 0, 0 ) );
         }
     } // end of namespace properties
diff --git a/sw/inc/grfatr.hxx b/sw/inc/grfatr.hxx
index 43d8c97..b169ce4 100644
--- a/sw/inc/grfatr.hxx
+++ b/sw/inc/grfatr.hxx
@@ -23,6 +23,7 @@
 #include <tools/gen.hxx>
 #include <svl/eitem.hxx>
 #include <svl/intitem.hxx>
+#include <svtools/grfmgr.hxx>
 #include <svx/grfcrop.hxx>
 #include "swdllapi.h"
 #include <swatrset.hxx>
@@ -260,10 +261,10 @@ public:
                                         sal_uInt8 nMemberId ) override;
 };
 
-class SW_DLLPUBLIC SwDrawModeGrf : public SfxEnumItem<sal_uInt16>
+class SW_DLLPUBLIC SwDrawModeGrf : public SfxEnumItem<GraphicDrawMode>
 {
 public:
-    SwDrawModeGrf( sal_uInt16 nMode = 0 )
+    SwDrawModeGrf( GraphicDrawMode nMode = GraphicDrawMode::Standard )
         : SfxEnumItem( RES_GRFATR_DRAWMODE, nMode )
     {}
 
diff --git a/sw/source/core/graphic/grfatr.cxx b/sw/source/core/graphic/grfatr.cxx
index 8c38558..626d596 100644
--- a/sw/source/core/graphic/grfatr.cxx
+++ b/sw/source/core/graphic/grfatr.cxx
@@ -288,7 +288,7 @@ SfxPoolItem* SwDrawModeGrf::Clone( SfxItemPool * ) const
 
 sal_uInt16 SwDrawModeGrf::GetValueCount() const
 {
-    return GRAPHICDRAWMODE_WATERMARK + 1;
+    return (sal_uInt16)GraphicDrawMode::Watermark + 1;
 }
 
 bool SwDrawModeGrf::QueryValue( uno::Any& rVal,
@@ -303,7 +303,7 @@ bool SwDrawModeGrf::PutValue( const uno::Any& rVal,
                                 sal_uInt8 )
 {
     sal_Int32 eVal = SWUnoHelper::GetEnumAsInt32( rVal );
-    if(eVal >= 0 && eVal <= GRAPHICDRAWMODE_WATERMARK)
+    if(eVal >= 0 && eVal <= (sal_uInt16)GraphicDrawMode::Watermark)
     {
         SetEnumValue((sal_uInt16)eVal);
         return true;
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 7614eaf..011a9b1 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -4367,16 +4367,16 @@ void DocxAttributeOutput::FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size
             FSEND );
 
     pItem = nullptr;
-    sal_uInt32 nMode = GRAPHICDRAWMODE_STANDARD;
+    GraphicDrawMode nMode = GraphicDrawMode::Standard;
 
     if ( pGrfNode && SfxItemState::SET == pGrfNode->GetSwAttrSet().GetItemState(RES_GRFATR_DRAWMODE, true, &pItem))
     {
-        nMode = static_cast<const SfxEnumItemInterface*>(pItem)->GetEnumValue();
-        if (nMode == GRAPHICDRAWMODE_GREYS)
+        nMode = (GraphicDrawMode)static_cast<const SfxEnumItemInterface*>(pItem)->GetEnumValue();
+        if (nMode == GraphicDrawMode::Greys)
             m_pSerializer->singleElementNS (XML_a, XML_grayscl, FSEND);
-        else if (nMode == GRAPHICDRAWMODE_MONO) //black/white has a 0,5 threshold in LibreOffice
+        else if (nMode == GraphicDrawMode::Mono) //black/white has a 0,5 threshold in LibreOffice
             m_pSerializer->singleElementNS (XML_a, XML_biLevel, XML_thresh, OString::number(50000), FSEND);
-        else if (nMode == GRAPHICDRAWMODE_WATERMARK) //watermark has a brightness/luminance of 0,5 and contrast of -0.7 in LibreOffice
+        else if (nMode == GraphicDrawMode::Watermark) //watermark has a brightness/luminance of 0,5 and contrast of -0.7 in LibreOffice
             m_pSerializer->singleElementNS( XML_a, XML_lum, XML_bright, OString::number(70000), XML_contrast, OString::number(-70000), FSEND );
     }
     m_pSerializer->endElementNS( XML_a, XML_blip );
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index b6d7771..85b1296 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -1743,7 +1743,7 @@ void SwBasicEscherEx::WriteGrfAttr(const SwNoTextNode& rNd, const SwFrameFormat&
     EscherPropertyContainer& rPropOpt)
 {
     const SfxPoolItem* pItem;
-    sal_uInt32 nMode = GRAPHICDRAWMODE_STANDARD;
+    GraphicDrawMode nMode = GraphicDrawMode::Standard;
     sal_Int32 nContrast = 0;
     sal_Int16 nBrightness = 0;
 
@@ -1762,8 +1762,8 @@ void SwBasicEscherEx::WriteGrfAttr(const SwNoTextNode& rNd, const SwFrameFormat&
     if (SfxItemState::SET == rNd.GetSwAttrSet().GetItemState(RES_GRFATR_DRAWMODE,
         true, &pItem))
     {
-        nMode = static_cast<const SfxEnumItemInterface*>(pItem)->GetEnumValue();
-        if (nMode == GRAPHICDRAWMODE_WATERMARK)
+        nMode = (GraphicDrawMode)static_cast<const SfxEnumItemInterface*>(pItem)->GetEnumValue();
+        if (nMode == GraphicDrawMode::Watermark)
         {
             /*
             There is no real watermark mode in word, we must use standard
@@ -1778,17 +1778,18 @@ void SwBasicEscherEx::WriteGrfAttr(const SwNoTextNode& rNd, const SwFrameFormat&
             nContrast -= 70;
             if (nContrast < -100)
                 nContrast = -100;
-            nMode = GRAPHICDRAWMODE_STANDARD;
+            nMode = GraphicDrawMode::Standard;
         }
     }
 
-    if (nMode == GRAPHICDRAWMODE_GREYS)
-        nMode = 0x40004;
-    else if (nMode == GRAPHICDRAWMODE_MONO)
-        nMode = 0x60006;
+    sal_uInt32 nPictureMode;
+    if (nMode == GraphicDrawMode::Greys)
+        nPictureMode = 0x40004;
+    else if (nMode == GraphicDrawMode::Mono)
+        nPictureMode = 0x60006;
     else
-        nMode = 0;
-    rPropOpt.AddOpt( ESCHER_Prop_pictureActive, nMode );
+        nPictureMode = 0;
+    rPropOpt.AddOpt( ESCHER_Prop_pictureActive, nPictureMode );
 
     if (nContrast != 0)
     {
diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx
index e0c5fd6..9298401 100644
--- a/sw/source/filter/ww8/ww8graf.cxx
+++ b/sw/source/filter/ww8/ww8graf.cxx
@@ -1607,7 +1607,7 @@ sal_Int32 SwWW8ImplReader::MatchSdrBoxIntoFlyBoxItem(const Color& rLineColor,
     return nOutsideThick;
 }
 
-#define WW8ITEMVALUE(ItemSet,Id,Cast)  static_cast<const Cast&>((ItemSet).Get(Id)).GetValue()
+#define WW8ITEMVALUE(ItemSet,Id,Cast)  ItemSet.GetItem<Cast>(Id)->GetValue()
 
 void SwWW8ImplReader::MatchSdrItemsIntoFlySet( SdrObject* pSdrObj,
     SfxItemSet& rFlySet, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType,
@@ -2122,10 +2122,10 @@ SwWW8ImplReader::SetAttributesAtGrfNode(SvxMSDffImportRec const*const pRecord,
             }
 
             // drawmode
-            if (WW8ITEMVALUE(rOldSet, SDRATTR_GRAFMODE, SdrGrafModeItem))
+            auto nGrafMode = rOldSet.GetItem<SdrGrafModeItem>(SDRATTR_GRAFMODE)->GetValue();
+            if ( nGrafMode != GraphicDrawMode::Standard)
             {
-                SwDrawModeGrf aDrawMode( static_cast< sal_uInt16 >(WW8ITEMVALUE(rOldSet,
-                    SDRATTR_GRAFMODE, SdrGrafModeItem)) );
+                SwDrawModeGrf aDrawMode( nGrafMode );
                 pGrfNd->SetAttr( aDrawMode );
             }
         }
diff --git a/sw/source/uibase/shells/grfsh.cxx b/sw/source/uibase/shells/grfsh.cxx
index 9f3cb37..0405fc7 100644
--- a/sw/source/uibase/shells/grfsh.cxx
+++ b/sw/source/uibase/shells/grfsh.cxx
@@ -600,7 +600,7 @@ void SwGrfShell::ExecAttr( SfxRequest &rReq )
         case SID_ATTR_GRAF_MODE:
             if( pItem )
                 aGrfSet.Put( SwDrawModeGrf(
-                            static_cast<const SfxUInt16Item*>(pItem)->GetValue() ));
+                            (GraphicDrawMode)static_cast<const SfxUInt16Item*>(pItem)->GetValue() ));
             break;
 
         case SID_COLOR_SETTINGS:
@@ -777,8 +777,8 @@ void SwGrfShell::GetAttrState(SfxItemSet &rSet)
 
         case SID_ATTR_GRAF_MODE:
             if( !bParentCntProt )
-                rSet.Put( SfxUInt16Item( nWhich, static_cast<const SwDrawModeGrf&>(
-                        aCoreSet.Get(RES_GRFATR_DRAWMODE)).GetValue() ));
+                rSet.Put( SfxUInt16Item( nWhich, (sal_uInt16)static_cast<const SwDrawModeGrf&>(
+                              aCoreSet.Get(RES_GRFATR_DRAWMODE)).GetValue() ));
             break;
 
         case SID_GRFFILTER:
diff --git a/sw/source/uibase/utlui/attrdesc.cxx b/sw/source/uibase/utlui/attrdesc.cxx
index 35ef94e..b78f77f 100644
--- a/sw/source/uibase/utlui/attrdesc.cxx
+++ b/sw/source/uibase/utlui/attrdesc.cxx
@@ -815,9 +815,9 @@ bool SwDrawModeGrf::GetPresentation(
         switch ( GetValue() )
         {
 
-        case GRAPHICDRAWMODE_GREYS:     nId = STR_DRAWMODE_GREY; break;
-        case GRAPHICDRAWMODE_MONO:      nId = STR_DRAWMODE_BLACKWHITE; break;
-        case GRAPHICDRAWMODE_WATERMARK: nId = STR_DRAWMODE_WATERMARK; break;
+        case GraphicDrawMode::Greys:     nId = STR_DRAWMODE_GREY; break;
+        case GraphicDrawMode::Mono:      nId = STR_DRAWMODE_BLACKWHITE; break;
+        case GraphicDrawMode::Watermark: nId = STR_DRAWMODE_WATERMARK; break;
         default:                        nId = STR_DRAWMODE_STD; break;
         }
         rText = SW_RESSTR( STR_DRAWMODE ) + SW_RESSTR( nId );


More information about the Libreoffice-commits mailing list