diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/oox/core/xmlfilterbase.hxx | 8 | ||||
-rw-r--r-- | include/oox/drawingml/shape.hxx | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/oox/core/xmlfilterbase.hxx b/include/oox/core/xmlfilterbase.hxx index 4264e54fb3e4..4907a4c9ddf4 100644 --- a/include/oox/core/xmlfilterbase.hxx +++ b/include/oox/core/xmlfilterbase.hxx @@ -65,6 +65,7 @@ namespace sax_fastparser { namespace utl { class MediaDescriptor; } namespace oox { +namespace drawingml { class Shape; } namespace core { class FragmentHandler; @@ -79,6 +80,10 @@ typedef std::vector< TextField > TextFieldStack; struct XmlFilterBaseImpl; +using ShapePairs + = std::map<std::shared_ptr<drawingml::Shape>, css::uno::Reference<css::drawing::XShape>>; +using NamedShapePairs = std::map<OUString, ShapePairs>; + class OOX_DLLPUBLIC XmlFilterBase : public FilterBase { public: @@ -242,6 +247,9 @@ public: /// user about it. void setMissingExtDrawing(); + void setDiagramFontHeights(NamedShapePairs* pDiagramFontHeights); + NamedShapePairs* getDiagramFontHeights(); + void checkDocumentProperties( const css::uno::Reference<css::document::XDocumentProperties>& xDocProps); diff --git a/include/oox/drawingml/shape.hxx b/include/oox/drawingml/shape.hxx index b1f15e5b6ece..fea94105b65d 100644 --- a/include/oox/drawingml/shape.hxx +++ b/include/oox/drawingml/shape.hxx @@ -29,6 +29,8 @@ #include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/uno/Reference.hxx> #include <com/sun/star/uno/Sequence.hxx> + +#include <oox/core/xmlfilterbase.hxx> #include <oox/dllapi.h> #include <oox/drawingml/color.hxx> #include <oox/drawingml/drawingmltypes.hxx> @@ -239,6 +241,8 @@ public: void keepDiagramDrawing(::oox::core::XmlFilterBase& rFilterBase, const OUString& rFragmentPath); + oox::core::NamedShapePairs& getDiagramFontHeights() { return maDiagramFontHeights; } + protected: enum FrameType @@ -272,6 +276,7 @@ protected: const basegfx::B2DHomMatrix& aTransformation ); void keepDiagramCompatibilityInfo(); + void syncDiagramFontHeights(); void convertSmartArtToMetafile( ::oox::core::XmlFilterBase const& rFilterBase ); css::uno::Reference< css::drawing::XShape > @@ -377,6 +382,9 @@ private: /// The shape fill should be set to that of the slide background surface. bool mbUseBgFill = false; + + /// For SmartArt, this contains groups of shapes: automatic font size is the same in each group. + oox::core::NamedShapePairs maDiagramFontHeights; }; } |