[Libreoffice-commits] core.git: svtools/source

Tomaž Vajngerl tomaz.vajngerl at collabora.com
Sat Oct 1 17:16:20 UTC 2016


 svtools/source/graphic/graphic.cxx |   76 ++++++++++++++++++-------------------
 svtools/source/graphic/graphic.hxx |    4 +
 2 files changed, 41 insertions(+), 39 deletions(-)

New commits:
commit f15eb068fdc1e3e70a4c623b6bf462cda64f43ad
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Fri Sep 30 18:14:37 2016 +0200

    svtools: don't store "vcl" Graphic as a pointer
    
    Change-Id: Icf8a5fa72ef66659bbc9c70355d430ff6bf545fc
    Reviewed-on: https://gerrit.libreoffice.org/29412
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/svtools/source/graphic/graphic.cxx b/svtools/source/graphic/graphic.cxx
index 3739d3b..5c56025 100644
--- a/svtools/source/graphic/graphic.cxx
+++ b/svtools/source/graphic/graphic.cxx
@@ -22,7 +22,6 @@
 #include <com/sun/star/graphic/GraphicType.hpp>
 #include <com/sun/star/graphic/XGraphicTransformer.hpp>
 #include <vcl/dibtools.hxx>
-#include <vcl/graph.hxx>
 #include "graphic.hxx"
 #include <comphelper/servicehelper.hxx>
 #include <cppuhelper/supportsservice.hxx>
@@ -34,24 +33,19 @@ using namespace com::sun::star;
 namespace unographic {
 
 Graphic::Graphic() :
-    mpGraphic( nullptr )
+    maGraphic()
 {
 }
 
-
-Graphic::~Graphic()
-    throw()
+Graphic::~Graphic() throw()
 {
-    delete mpGraphic;
 }
 
-
 void Graphic::init( const ::Graphic& rGraphic )
     throw()
 {
-    delete mpGraphic;
-    mpGraphic = new ::Graphic( rGraphic );
-    ::unographic::GraphicDescriptor::init( *mpGraphic );
+    maGraphic = ::Graphic(rGraphic);
+    unographic::GraphicDescriptor::init(maGraphic);
 }
 
 
@@ -68,7 +62,7 @@ uno::Any SAL_CALL Graphic::queryAggregation( const uno::Type& rType )
     else
         aAny <<= ::unographic::GraphicDescriptor::queryAggregation( rType );
 
-    return aAny ;
+    return aAny;
 }
 
 
@@ -85,17 +79,16 @@ uno::Any SAL_CALL Graphic::queryInterface( const uno::Type & rType )
 void SAL_CALL Graphic::acquire()
     throw()
 {
-    ::unographic::GraphicDescriptor::acquire();
+    unographic::GraphicDescriptor::acquire();
 }
 
 
 void SAL_CALL Graphic::release() throw()
 {
-    ::unographic::GraphicDescriptor::release();
+    unographic::GraphicDescriptor::release();
 }
 
-OUString Graphic::getImplementationName_Static()
-    throw()
+OUString Graphic::getImplementationName_Static() throw()
 {
     return OUString( "com.sun.star.comp.graphic.Graphic" );
 }
@@ -156,13 +149,21 @@ uno::Sequence< sal_Int8 > SAL_CALL Graphic::getImplementationId()
 }
 
 
-::sal_Int8 SAL_CALL Graphic::getType()
+sal_Int8 SAL_CALL Graphic::getType()
      throw (uno::RuntimeException, std::exception)
 {
-    ::sal_Int8 cRet = graphic::GraphicType::EMPTY;
+    sal_Int8 cRet = graphic::GraphicType::EMPTY;
 
-    if( mpGraphic && ( mpGraphic->GetType() != GraphicType::NONE ) )
-        cRet = ( ( mpGraphic->GetType() == GraphicType::Bitmap ) ? graphic::GraphicType::PIXEL : graphic::GraphicType::VECTOR );
+    if (!!maGraphic)
+    {
+        ::GraphicType eType = maGraphic.GetType();
+
+        if (eType != ::GraphicType::NONE)
+        {
+            cRet = (eType == ::GraphicType::Bitmap) ? graphic::GraphicType::PIXEL
+                                                  : graphic::GraphicType::VECTOR;
+        }
+    }
 
     return cRet;
 }
@@ -170,29 +171,29 @@ uno::Sequence< sal_Int8 > SAL_CALL Graphic::getImplementationId()
 
 // XBitmap
 
-
-awt::Size SAL_CALL Graphic::getSize(  ) throw (uno::RuntimeException, std::exception)
+awt::Size SAL_CALL Graphic::getSize() throw (uno::RuntimeException, std::exception)
 {
     SolarMutexGuard aGuard;
 
-    ::Size aVclSize;
-    if( mpGraphic && ( mpGraphic->GetType() != GraphicType::NONE ) )
-        aVclSize = mpGraphic->GetSizePixel();
-
-    return awt::Size( aVclSize.Width(), aVclSize.Height() );
+    Size aVclSize;
+    if (!!maGraphic && maGraphic.GetType() != ::GraphicType::NONE)
+    {
+        aVclSize = maGraphic.GetSizePixel();
+    }
+    return awt::Size(aVclSize.Width(), aVclSize.Height());
 }
 
 
-uno::Sequence< ::sal_Int8 > SAL_CALL Graphic::getDIB(  ) throw (uno::RuntimeException, std::exception)
+uno::Sequence<sal_Int8> SAL_CALL Graphic::getDIB() throw (uno::RuntimeException, std::exception)
 {
     SolarMutexGuard aGuard;
 
-    if( mpGraphic && ( mpGraphic->GetType() != GraphicType::NONE ) )
+    if (!!maGraphic && maGraphic.GetType() != ::GraphicType::NONE)
     {
-        SvMemoryStream aMem;
+        SvMemoryStream aMemoryStream;
 
-        WriteDIB(mpGraphic->GetBitmapEx().GetBitmap(), aMem, false, true);
-        return css::uno::Sequence<sal_Int8>( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
+        WriteDIB(maGraphic.GetBitmapEx().GetBitmap(), aMemoryStream, false, true);
+        return css::uno::Sequence<sal_Int8>(static_cast<sal_Int8 const *>(aMemoryStream.GetData()), aMemoryStream.Tell());
     }
     else
     {
@@ -201,16 +202,16 @@ uno::Sequence< ::sal_Int8 > SAL_CALL Graphic::getDIB(  ) throw (uno::RuntimeExce
 }
 
 
-uno::Sequence< ::sal_Int8 > SAL_CALL Graphic::getMaskDIB(  ) throw (uno::RuntimeException, std::exception)
+uno::Sequence<sal_Int8> SAL_CALL Graphic::getMaskDIB() throw (uno::RuntimeException, std::exception)
 {
     SolarMutexGuard aGuard;
 
-    if( mpGraphic && ( mpGraphic->GetType() != GraphicType::NONE ) )
+    if (!!maGraphic && maGraphic.GetType() != ::GraphicType::NONE)
     {
-        SvMemoryStream aMem;
+        SvMemoryStream aMemoryStream;
 
-        WriteDIB(mpGraphic->GetBitmapEx().GetMask(), aMem, false, true);
-        return css::uno::Sequence<sal_Int8>( static_cast<sal_Int8 const *>(aMem.GetData()), aMem.Tell() );
+        WriteDIB(maGraphic.GetBitmapEx().GetMask(), aMemoryStream, false, true);
+        return css::uno::Sequence<sal_Int8>( static_cast<sal_Int8 const *>(aMemoryStream.GetData()), aMemoryStream.Tell() );
     }
     else
     {
@@ -231,8 +232,7 @@ sal_Int64 SAL_CALL Graphic::getSomething( const uno::Sequence< sal_Int8 >& rId )
     throw( uno::RuntimeException, std::exception )
 {
     return( ( rId.getLength() == 16 && 0 == memcmp( ::Graphic::getUnoTunnelId().getConstArray(), rId.getConstArray(), 16 ) ) ?
-            reinterpret_cast< sal_Int64 >( mpGraphic ) :
-            0 );
+            reinterpret_cast<sal_Int64>(&maGraphic) : 0 );
 }
 
 }
diff --git a/svtools/source/graphic/graphic.hxx b/svtools/source/graphic/graphic.hxx
index 475db81..ee34096 100644
--- a/svtools/source/graphic/graphic.hxx
+++ b/svtools/source/graphic/graphic.hxx
@@ -28,6 +28,8 @@
 #include "descriptor.hxx"
 #include "transformer.hxx"
 
+#include <vcl/graph.hxx>
+
 namespace unographic {
 
 class Graphic : public css::graphic::XGraphic,
@@ -78,7 +80,7 @@ protected:
 
 private:
 
-    ::Graphic* mpGraphic;
+    ::Graphic maGraphic;
 };
 
 }


More information about the Libreoffice-commits mailing list