summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2018-02-13 18:31:16 +0900
committerTomaž Vajngerl <quikee@gmail.com>2018-02-13 20:29:02 +0100
commit7de3ea6a00a45f4860229571bf1df4866cffcdf5 (patch)
tree02f627e45e9046dc8e8d04fb94dde6de4de01d5c /filter
parent1fa153966332f57d23ee31fe97a24fd73317af9c (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.cxx29
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;