diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2018-02-13 18:31:16 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2018-02-13 20:29:02 +0100 |
commit | 7de3ea6a00a45f4860229571bf1df4866cffcdf5 (patch) | |
tree | 02f627e45e9046dc8e8d04fb94dde6de4de01d5c /filter | |
parent | 1fa153966332f57d23ee31fe97a24fd73317af9c (diff) |
Pass GraphicObject instead of UniqueId for GetBlibID
Change-Id: I49d0c84a5beb4f8bf33c3ebac6ddc8ae302c6a4c
Reviewed-on: https://gerrit.libreoffice.org/49645
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/msfilter/escherex.cxx | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx index a4888620a0bb..8807d84173c2 100644 --- a/filter/source/msfilter/escherex.cxx +++ b/filter/source/msfilter/escherex.cxx @@ -1278,7 +1278,7 @@ bool EscherPropertyContainer::CreateGraphicProperties(const uno::Reference<drawi pVisArea.reset(new awt::Rectangle); aAny >>= (*pVisArea); } - sal_uInt32 nBlibId = pGraphicProvider->GetBlibID( *pPicOutStrm, aUniqueId, pVisArea.get() ); + sal_uInt32 nBlibId = pGraphicProvider->GetBlibID( *pPicOutStrm, rGraphicObj, pVisArea.get() ); if ( nBlibId ) { AddOpt( ESCHER_Prop_pib, nBlibId, true ); @@ -1311,7 +1311,10 @@ bool EscherPropertyContainer::ImplCreateEmbeddedBmp( const OString& rUniqueId ) { EscherGraphicProvider aProvider; SvMemoryStream aMemStrm; - if ( aProvider.GetBlibID( aMemStrm, rUniqueId ) ) + // TODO: Get rid of UniqueID + + GraphicObject aGraphicObject(rUniqueId); + if ( aProvider.GetBlibID( aMemStrm, aGraphicObject ) ) { // grab BLIP from stream and insert directly as complex property // ownership of stream memory goes to complex property @@ -1347,7 +1350,6 @@ void EscherPropertyContainer::CreateEmbeddedBitmapProperties( } } - namespace { GraphicObject* lclDrawHatch( const drawing::Hatch& rHatch, const Color& rBackColor, bool bFillBackground, const tools::Rectangle& rRect ) @@ -1678,7 +1680,8 @@ bool EscherPropertyContainer::CreateGraphicProperties( // write out embedded graphic if ( pGraphicProvider && pPicOutStrm && pShapeBoundRect ) { - const sal_uInt32 nBlibId(pGraphicProvider->GetBlibID(*pPicOutStrm, aUniqueId, nullptr, pGraphicAttr.get())); + GraphicObject aGraphicObject(aUniqueId); + const sal_uInt32 nBlibId(pGraphicProvider->GetBlibID(*pPicOutStrm, aGraphicObject, nullptr, pGraphicAttr.get())); if(nBlibId) { @@ -1700,7 +1703,9 @@ bool EscherPropertyContainer::CreateGraphicProperties( EscherGraphicProvider aProvider; SvMemoryStream aMemStrm; - if ( aProvider.GetBlibID( aMemStrm, aUniqueId, nullptr, pGraphicAttr.get(), bOOxmlExport ) ) + GraphicObject aGraphicObject(aUniqueId); + + if ( aProvider.GetBlibID( aMemStrm, aGraphicObject, nullptr, pGraphicAttr.get(), bOOxmlExport ) ) { // grab BLIP from stream and insert directly as complex property // ownership of stream memory goes to complex property @@ -3789,13 +3794,12 @@ bool EscherPropertyContainer::CreateBlipPropertiesforOLEControl(const uno::Refer SdrModel* pMod = pShape->GetModel(); Graphic aGraphic(SdrExchangeView::GetObjGraphic( pMod, pShape)); - std::unique_ptr<GraphicObject> xGraphicObject(new GraphicObject(aGraphic)); - OString aUniqueId = xGraphicObject->GetUniqueID(); - if ( aUniqueId.getLength() ) + GraphicObject aGraphicObject(aGraphic); + if (!aGraphicObject.GetUniqueID().isEmpty()) { if ( pGraphicProvider && pPicOutStrm && pShapeBoundRect ) { - sal_uInt32 nBlibId = pGraphicProvider->GetBlibID( *pPicOutStrm, aUniqueId ); + sal_uInt32 nBlibId = pGraphicProvider->GetBlibID(*pPicOutStrm, aGraphicObject); if ( nBlibId ) { AddOpt( ESCHER_Prop_pib, nBlibId, true ); @@ -4149,14 +4153,13 @@ bool EscherGraphicProvider::GetPrefSize( const sal_uInt32 nBlibId, Size& rPrefSi return bInRange; } -sal_uInt32 EscherGraphicProvider::GetBlibID( SvStream& rPicOutStrm, const OString& rId, +sal_uInt32 EscherGraphicProvider::GetBlibID( SvStream& rPicOutStrm, GraphicObject const & rGraphicObject, const awt::Rectangle* pVisArea, const GraphicAttr* pGraphicAttr, const bool bOOxmlExport ) { sal_uInt32 nBlibId = 0; - std::unique_ptr<GraphicObject> xGraphicObject(new GraphicObject(rId)); - std::unique_ptr<EscherBlibEntry> p_EscherBlibEntry( new EscherBlibEntry( rPicOutStrm.Tell(), *xGraphicObject, rId, pGraphicAttr ) ); + std::unique_ptr<EscherBlibEntry> p_EscherBlibEntry( new EscherBlibEntry( rPicOutStrm.Tell(), rGraphicObject, rGraphicObject.GetUniqueID(), pGraphicAttr ) ); if ( !p_EscherBlibEntry->IsEmpty() ) { for ( size_t i = 0; i < mvBlibEntrys.size(); i++ ) @@ -4170,7 +4173,7 @@ sal_uInt32 EscherGraphicProvider::GetBlibID( SvStream& rPicOutStrm, const OStrin bool bUseNativeGraphic( false ); - Graphic aGraphic(xGraphicObject->GetTransformedGraphic(pGraphicAttr)); + Graphic aGraphic(rGraphicObject.GetTransformedGraphic(pGraphicAttr)); GfxLink aGraphicLink; SvMemoryStream aStream; |