summaryrefslogtreecommitdiff
path: root/include/filter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2013-12-03 10:50:44 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-12-03 11:58:23 +0100
commita44e42b9cd08d1ac8438ed2944cf174ffd68b80e (patch)
treeb1e272d4bb5b9c90aaa4ce91da08756408006e81 /include/filter
parentf5e2d31331839fd8c6039bec057a9c28ed3c7396 (diff)
filter: handle ooxml shapes in EscherPropertyContainer::GetCustomShapeType()
The problem was that the shapes produced by the drawingML import had types like ooxml-triangle, and EnhancedCustomShapeTypeNames::Get() only handles VML/binary MSO shapes (e.g. isosceles-triangle). Add an OOXML mode, and in that case use msfilter::util::GETVMLShapeType() instead, and only fall back to EnhancedCustomShapeTypeNames::Get() if necessary. Change-Id: Ic93ba4719133dd3e96c17d2562642a03e559fefa
Diffstat (limited to 'include/filter')
-rw-r--r--include/filter/msfilter/escherex.hxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/filter/msfilter/escherex.hxx b/include/filter/msfilter/escherex.hxx
index 59001c6aa072..5cc33c6111d7 100644
--- a/include/filter/msfilter/escherex.hxx
+++ b/include/filter/msfilter/escherex.hxx
@@ -1337,7 +1337,8 @@ public:
static MSO_SPT GetCustomShapeType(
const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape,
sal_uInt32& nMirrorFlags,
- OUString& rShapeType
+ OUString& rShapeType,
+ bool bOOXML = false
);
// helper functions which are also used in ooxml export
@@ -1584,12 +1585,13 @@ class MSFILTER_DLLPUBLIC EscherEx : public EscherPersistTable
sal_Bool mbEscherSpgr;
sal_Bool mbEscherDg;
sal_Bool mbOleEmf; // OLE is EMF instead of WMF
+ bool mbOOXML;
virtual sal_Bool DoSeek( sal_uInt32 nKey );
public:
- explicit EscherEx( const EscherExGlobalRef& rxGlobal, SvStream* pOutStrm );
+ explicit EscherEx( const EscherExGlobalRef& rxGlobal, SvStream* pOutStrm, bool bOOXML = false );
virtual ~EscherEx();
/** Creates and returns a new shape identifier, updates the internal shape