summaryrefslogtreecommitdiff
path: root/include/oox
diff options
context:
space:
mode:
Diffstat (limited to 'include/oox')
-rw-r--r--include/oox/core/xmlfilterbase.hxx8
-rw-r--r--include/oox/drawingml/shape.hxx8
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;
};
}