summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
Diffstat (limited to 'oox')
-rw-r--r--oox/inc/drawingml/ThemeOverrideFragmentHandler.hxx40
-rw-r--r--oox/inc/drawingml/chart/axismodel.hxx1
-rw-r--r--oox/inc/drawingml/clrschemecontext.hxx62
-rw-r--r--oox/inc/drawingml/colorchoicecontext.hxx77
-rw-r--r--oox/inc/drawingml/customshapegeometry.hxx71
-rw-r--r--oox/inc/drawingml/customshapeproperties.hxx169
-rw-r--r--oox/inc/drawingml/embeddedwavaudiofile.hxx51
-rw-r--r--oox/inc/drawingml/fillpropertiesgroupcontext.hxx253
-rw-r--r--oox/inc/drawingml/graphicproperties.hxx57
-rw-r--r--oox/inc/drawingml/guidcontext.hxx41
-rw-r--r--oox/inc/drawingml/linepropertiescontext.hxx50
-rw-r--r--oox/inc/drawingml/objectdefaultcontext.hxx43
-rw-r--r--oox/inc/drawingml/scene3dcontext.hxx67
-rw-r--r--oox/inc/drawingml/shape3dproperties.hxx98
-rw-r--r--oox/inc/drawingml/shapepropertiescontext.hxx43
-rw-r--r--oox/inc/drawingml/shapestylecontext.hxx44
-rw-r--r--oox/inc/drawingml/spdefcontext.hxx42
-rw-r--r--oox/inc/drawingml/table/tablecell.hxx2
-rw-r--r--oox/inc/drawingml/table/tablestylepart.hxx2
-rw-r--r--oox/inc/drawingml/table/tablestyletextstylecontext.hxx2
-rw-r--r--oox/inc/drawingml/textbody.hxx73
-rw-r--r--oox/inc/drawingml/textbodycontext.hxx62
-rw-r--r--oox/inc/drawingml/textbodyproperties.hxx59
-rw-r--r--oox/inc/drawingml/textbodypropertiescontext.hxx46
-rw-r--r--oox/inc/drawingml/textcharacterproperties.hxx92
-rw-r--r--oox/inc/drawingml/textcharacterpropertiescontext.hxx47
-rw-r--r--oox/inc/drawingml/texteffectscontext.hxx50
-rw-r--r--oox/inc/drawingml/textfield.hxx63
-rw-r--r--oox/inc/drawingml/textfieldcontext.hxx50
-rw-r--r--oox/inc/drawingml/textfont.hxx76
-rw-r--r--oox/inc/drawingml/textliststyle.hxx62
-rw-r--r--oox/inc/drawingml/textliststylecontext.hxx44
-rw-r--r--oox/inc/drawingml/textparagraph.hxx72
-rw-r--r--oox/inc/drawingml/textparagraphproperties.hxx132
-rw-r--r--oox/inc/drawingml/textparagraphpropertiescontext.hxx55
-rw-r--r--oox/inc/drawingml/textrun.hxx63
-rw-r--r--oox/inc/drawingml/textspacing.hxx70
-rw-r--r--oox/inc/drawingml/themeelementscontext.hxx46
-rw-r--r--oox/inc/drawingml/transform2dcontext.hxx48
-rw-r--r--oox/source/drawingml/ThemeOverrideFragmentHandler.cxx4
-rw-r--r--oox/source/drawingml/chart/axiscontext.cxx4
-rw-r--r--oox/source/drawingml/chart/chartcontextbase.cxx2
-rw-r--r--oox/source/drawingml/chart/chartspacefragment.cxx4
-rw-r--r--oox/source/drawingml/chart/chartspacemodel.cxx1
-rw-r--r--oox/source/drawingml/chart/objectformatter.cxx4
-rw-r--r--oox/source/drawingml/chart/plotareacontext.cxx2
-rw-r--r--oox/source/drawingml/chart/seriescontext.cxx4
-rw-r--r--oox/source/drawingml/chart/seriesmodel.cxx1
-rw-r--r--oox/source/drawingml/chart/titlecontext.cxx4
-rw-r--r--oox/source/drawingml/chart/titleconverter.cxx4
-rw-r--r--oox/source/drawingml/chart/titlemodel.cxx1
-rw-r--r--oox/source/drawingml/chart/typegroupmodel.cxx1
-rw-r--r--oox/source/drawingml/clrschemecontext.cxx2
-rw-r--r--oox/source/drawingml/colorchoicecontext.cxx2
-rw-r--r--oox/source/drawingml/connectorshapecontext.cxx4
-rw-r--r--oox/source/drawingml/customshapegeometry.cxx3
-rw-r--r--oox/source/drawingml/customshapepresetdata.cxx2
-rw-r--r--oox/source/drawingml/customshapeproperties.cxx2
-rw-r--r--oox/source/drawingml/diagram/datamodelcontext.cxx6
-rw-r--r--oox/source/drawingml/diagram/diagram.cxx6
-rw-r--r--oox/source/drawingml/diagram/diagram.hxx1
-rw-r--r--oox/source/drawingml/diagram/diagramfragmenthandler.cxx2
-rw-r--r--oox/source/drawingml/diagram/diagramlayoutatoms.cxx8
-rw-r--r--oox/source/drawingml/diagram/layoutnodecontext.cxx2
-rw-r--r--oox/source/drawingml/effectpropertiescontext.cxx2
-rw-r--r--oox/source/drawingml/embeddedwavaudiofile.cxx2
-rw-r--r--oox/source/drawingml/fillproperties.cxx3
-rw-r--r--oox/source/drawingml/fillpropertiesgroupcontext.cxx2
-rw-r--r--oox/source/drawingml/graphicshapecontext.cxx7
-rw-r--r--oox/source/drawingml/guidcontext.cxx2
-rw-r--r--oox/source/drawingml/hyperlinkcontext.cxx2
-rw-r--r--oox/source/drawingml/linepropertiescontext.cxx4
-rw-r--r--oox/source/drawingml/objectdefaultcontext.cxx4
-rw-r--r--oox/source/drawingml/scene3dcontext.cxx4
-rw-r--r--oox/source/drawingml/shape.cxx8
-rw-r--r--oox/source/drawingml/shape3dproperties.cxx2
-rw-r--r--oox/source/drawingml/shapecontext.cxx11
-rw-r--r--oox/source/drawingml/shapegroupcontext.cxx5
-rw-r--r--oox/source/drawingml/shapepropertiescontext.cxx12
-rw-r--r--oox/source/drawingml/shapestylecontext.cxx4
-rw-r--r--oox/source/drawingml/spdefcontext.cxx10
-rw-r--r--oox/source/drawingml/table/tablebackgroundstylecontext.cxx2
-rw-r--r--oox/source/drawingml/table/tablecell.cxx2
-rw-r--r--oox/source/drawingml/table/tablecellcontext.cxx6
-rw-r--r--oox/source/drawingml/table/tablecontext.cxx2
-rw-r--r--oox/source/drawingml/table/tablestylecellstylecontext.cxx4
-rw-r--r--oox/source/drawingml/table/tablestyletextstylecontext.cxx2
-rw-r--r--oox/source/drawingml/textbody.cxx4
-rw-r--r--oox/source/drawingml/textbodycontext.cxx16
-rw-r--r--oox/source/drawingml/textbodyproperties.cxx2
-rw-r--r--oox/source/drawingml/textbodypropertiescontext.cxx4
-rw-r--r--oox/source/drawingml/textcharacterproperties.cxx2
-rw-r--r--oox/source/drawingml/textcharacterpropertiescontext.cxx8
-rw-r--r--oox/source/drawingml/texteffectscontext.cxx2
-rw-r--r--oox/source/drawingml/textfield.cxx6
-rw-r--r--oox/source/drawingml/textfieldcontext.cxx8
-rw-r--r--oox/source/drawingml/textfont.cxx2
-rw-r--r--oox/source/drawingml/textliststyle.cxx2
-rw-r--r--oox/source/drawingml/textliststylecontext.cxx4
-rw-r--r--oox/source/drawingml/textparagraph.cxx4
-rw-r--r--oox/source/drawingml/textparagraphproperties.cxx2
-rw-r--r--oox/source/drawingml/textparagraphpropertiescontext.cxx6
-rw-r--r--oox/source/drawingml/textrun.cxx2
-rw-r--r--oox/source/drawingml/textspacingcontext.cxx2
-rw-r--r--oox/source/drawingml/theme.cxx2
-rw-r--r--oox/source/drawingml/themeelementscontext.cxx9
-rw-r--r--oox/source/drawingml/themefragmenthandler.cxx4
-rw-r--r--oox/source/drawingml/transform2dcontext.cxx5
-rw-r--r--oox/source/ppt/animvariantcontext.cxx2
-rw-r--r--oox/source/ppt/backgroundproperties.cxx2
-rw-r--r--oox/source/ppt/dgmlayout.cxx1
-rw-r--r--oox/source/ppt/pptgraphicshapecontext.cxx8
-rw-r--r--oox/source/ppt/pptshape.cxx2
-rw-r--r--oox/source/ppt/pptshapecontext.cxx10
-rw-r--r--oox/source/ppt/pptshapegroupcontext.cxx5
-rw-r--r--oox/source/ppt/pptshapepropertiescontext.cxx8
-rw-r--r--oox/source/ppt/presentationfragmenthandler.cxx2
-rw-r--r--oox/source/ppt/slidefragmenthandler.cxx3
-rw-r--r--oox/source/ppt/slidemastertextstylescontext.cxx4
-rw-r--r--oox/source/ppt/slidepersist.cxx3
-rw-r--r--oox/source/ppt/soundactioncontext.cxx2
-rw-r--r--oox/source/ppt/timenodelistcontext.cxx2
-rw-r--r--oox/source/ppt/timetargetelementcontext.cxx2
-rw-r--r--oox/source/shape/WpgContext.cxx2
-rw-r--r--oox/source/shape/WpsContext.cxx8
125 files changed, 2605 insertions, 160 deletions
diff --git a/oox/inc/drawingml/ThemeOverrideFragmentHandler.hxx b/oox/inc/drawingml/ThemeOverrideFragmentHandler.hxx
new file mode 100644
index 000000000000..827cf5a52f55
--- /dev/null
+++ b/oox/inc/drawingml/ThemeOverrideFragmentHandler.hxx
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_THEMEOVERRICEFRAGMENTHANDLER_HXX
+#define INCLUDED_OOX_DRAWINGML_THEMEOVERRICEFRAGMENTHANDLER_HXX
+
+#include <oox/core/fragmenthandler2.hxx>
+
+namespace oox {
+namespace drawingml {
+
+class Theme;
+
+class ThemeOverrideFragmentHandler : public ::oox::core::FragmentHandler2
+{
+public:
+ explicit ThemeOverrideFragmentHandler(
+ ::oox::core::XmlFilterBase& rFilter,
+ const OUString& rFragmentPath,
+ Theme& rTheme );
+ virtual ~ThemeOverrideFragmentHandler();
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Theme& mrTheme;
+};
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/chart/axismodel.hxx b/oox/inc/drawingml/chart/axismodel.hxx
index c4ba8d4f295c..57ecbf49de0a 100644
--- a/oox/inc/drawingml/chart/axismodel.hxx
+++ b/oox/inc/drawingml/chart/axismodel.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_OOX_DRAWINGML_CHART_AXISMODEL_HXX
#include <oox/drawingml/shape.hxx>
+#include <oox/token/tokens.hxx>
#include <drawingml/chart/titlemodel.hxx>
namespace oox {
diff --git a/oox/inc/drawingml/clrschemecontext.hxx b/oox/inc/drawingml/clrschemecontext.hxx
new file mode 100644
index 000000000000..38efe30d22fb
--- /dev/null
+++ b/oox/inc/drawingml/clrschemecontext.hxx
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_CLRSCHEMECONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_CLRSCHEMECONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+#include <oox/drawingml/clrscheme.hxx>
+#include <oox/drawingml/color.hxx>
+#include <drawingml/colorchoicecontext.hxx>
+
+namespace oox { namespace drawingml {
+
+class clrMapContext : public oox::core::ContextHandler2
+{
+public:
+ clrMapContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes, ClrMap& rClrMap );
+};
+
+class clrSchemeColorContext : private Color, public ColorContext
+{
+public:
+ clrSchemeColorContext( ::oox::core::ContextHandler2Helper& rParent, ClrScheme& rClrScheme, sal_Int32 nColorToken );
+ virtual ~clrSchemeColorContext();
+
+private:
+ ClrScheme& mrClrScheme;
+ sal_Int32 mnColorToken;
+};
+
+class clrSchemeContext : public oox::core::ContextHandler2
+{
+public:
+ clrSchemeContext( ::oox::core::ContextHandler2Helper& rParent, ClrScheme& rClrScheme );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ ClrScheme& mrClrScheme;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_CLRSCHEMECONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/colorchoicecontext.hxx b/oox/inc/drawingml/colorchoicecontext.hxx
new file mode 100644
index 000000000000..8f283dd85285
--- /dev/null
+++ b/oox/inc/drawingml/colorchoicecontext.hxx
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_COLORCHOICECONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_COLORCHOICECONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox {
+namespace drawingml {
+
+class Color;
+
+
+
+/** Context handler for the different color value elements (a:scrgbClr,
+ a:srgbClr, a:hslClr, a:sysClr, a:schemeClr, a:prstClr). */
+class ColorValueContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit ColorValueContext( ::oox::core::ContextHandler2Helper& rParent, Color& rColor );
+
+
+ virtual void onStartElement(
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Color& mrColor;
+};
+
+
+
+/** Context handler for elements that *contain* a color value element
+ (a:scrgbClr, a:srgbClr, a:hslClr, a:sysClr, a:schemeClr, a:prstClr). */
+class ColorContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit ColorContext( ::oox::core::ContextHandler2Helper& rParent, Color& rColor );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Color& mrColor;
+};
+
+
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/customshapegeometry.hxx b/oox/inc/drawingml/customshapegeometry.hxx
new file mode 100644
index 000000000000..15fc22a440d5
--- /dev/null
+++ b/oox/inc/drawingml/customshapegeometry.hxx
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEGEOMETRY_HXX
+#define INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEGEOMETRY_HXX
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <oox/helper/propertymap.hxx>
+#include <oox/core/contexthandler2.hxx>
+#include <oox/drawingml/shape.hxx>
+
+namespace oox { namespace drawingml {
+
+
+
+// CT_CustomGeometry2D
+class CustomShapeGeometryContext : public ::oox::core::ContextHandler2
+{
+public:
+ CustomShapeGeometryContext( ::oox::core::ContextHandler2Helper& rParent, const ::oox::AttributeList& rAttributes, CustomShapeProperties& rCustomShapeProperties );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 aElementToken, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ CustomShapeProperties& mrCustomShapeProperties;
+};
+
+
+// CT_PresetGeometry2D
+class PresetShapeGeometryContext : public ::oox::core::ContextHandler2
+{
+public:
+ PresetShapeGeometryContext( ::oox::core::ContextHandler2Helper& rParent, const ::oox::AttributeList& rAttributes, CustomShapeProperties& rCustomShapeProperties );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 aElementToken, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ CustomShapeProperties& mrCustomShapeProperties;
+};
+
+
+// CT_PresetTextShape
+class PresetTextShapeContext : public ::oox::core::ContextHandler2
+{
+public:
+ PresetTextShapeContext( ::oox::core::ContextHandler2Helper& rParent, const ::oox::AttributeList& rAttributes, CustomShapeProperties& rCustomShapeProperties );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 aElementToken, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ CustomShapeProperties& mrCustomShapeProperties;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEGEOMETRY_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/customshapeproperties.hxx b/oox/inc/drawingml/customshapeproperties.hxx
new file mode 100644
index 000000000000..d27fc661c0a2
--- /dev/null
+++ b/oox/inc/drawingml/customshapeproperties.hxx
@@ -0,0 +1,169 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEPROPERTIES_HXX
+
+#include <boost/shared_ptr.hpp>
+#include <boost/unordered_map.hpp>
+#include <vector>
+#include <map>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
+#include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.hpp>
+#include <com/sun/star/beans/PropertyValues.hpp>
+#include <com/sun/star/drawing/ProjectionMode.hpp>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/graphic/XGraphic.hpp>
+#include <oox/core/xmlfilterbase.hxx>
+#include <oox/drawingml/color.hxx>
+#include <oox/helper/helper.hxx>
+#include <oox/helper/propertymap.hxx>
+#include <oox/token/tokens.hxx>
+
+namespace oox { namespace drawingml {
+
+class CustomShapeProperties;
+
+typedef boost::shared_ptr< CustomShapeProperties > CustomShapePropertiesPtr;
+
+struct CustomShapeGuide
+{
+ OUString maName;
+ OUString maFormula;
+};
+
+struct AdjustHandle
+{
+ bool polar;
+ com::sun::star::drawing::EnhancedCustomShapeParameterPair
+ pos;
+
+ // depending to the type (polar or not):
+ OptValue< OUString > gdRef1; // gdRefX or gdRefR
+ OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter >
+ min1; // minX or minR
+ OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter >
+ max1; // maxX or maxR
+ OptValue< OUString > gdRef2; // gdRefY or gdRefAng
+ OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter >
+ min2; // minX or minAng
+ OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter >
+ max2; // maxY or maxAng
+
+ AdjustHandle( bool bPolar ) : polar( bPolar ) {};
+};
+
+struct ConnectionSite
+{
+ com::sun::star::drawing::EnhancedCustomShapeParameterPair
+ pos;
+ com::sun::star::drawing::EnhancedCustomShapeParameter
+ ang;
+};
+
+struct GeomRect
+{
+ com::sun::star::drawing::EnhancedCustomShapeParameter l;
+ com::sun::star::drawing::EnhancedCustomShapeParameter t;
+ com::sun::star::drawing::EnhancedCustomShapeParameter r;
+ com::sun::star::drawing::EnhancedCustomShapeParameter b;
+};
+
+struct Path2D
+{
+ sal_Int64 w;
+ sal_Int64 h;
+ sal_Int32 fill;
+ bool stroke;
+ bool extrusionOk;
+ std::vector< com::sun::star::drawing::EnhancedCustomShapeParameterPair > parameter;
+
+ Path2D() : w( 0 ), h( 0 ), fill( XML_norm ), stroke( true ), extrusionOk( true ) {};
+};
+
+
+class CustomShapeProperties
+{
+public:
+
+ CustomShapeProperties();
+ virtual ~CustomShapeProperties();
+
+ void pushToPropSet( const ::oox::core::FilterBase& rFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > & xShape, const ::com::sun::star::awt::Size &aSize );
+
+ sal_Int32 getShapePresetType() const { return mnShapePresetType; }
+ OUString getShapePresetTypeName() const;
+ void setShapePresetType( sal_Int32 nShapePresetType ){ mnShapePresetType = nShapePresetType; };
+ bool getShapeTypeOverride(){ return mbShapeTypeOverride; };
+ void setShapeTypeOverride( bool bShapeTypeOverride ) { mbShapeTypeOverride = bShapeTypeOverride; };
+
+ std::vector< CustomShapeGuide >& getAdjustmentGuideList(){ return maAdjustmentGuideList; };
+ std::vector< CustomShapeGuide >& getGuideList(){ return maGuideList; };
+ std::vector< AdjustHandle >& getAdjustHandleList(){ return maAdjustHandleList; };
+ std::vector< ConnectionSite >& getConnectionSiteList(){ return maConnectionSiteList; };
+ OptValue< GeomRect >& getTextRect(){ return maTextRect; };
+ std::vector< Path2D >& getPath2DList(){ return maPath2DList; };
+ std::vector< com::sun::star::drawing::EnhancedCustomShapeSegment >& getSegments(){ return maSegments; };
+ void setMirroredX( bool bMirroredX ) { mbMirroredX = bMirroredX; };
+ void setMirroredY( bool bMirroredY ) { mbMirroredY = bMirroredY; };
+ void setTextRotateAngle( sal_Int32 nAngle ) { mnTextRotateAngle = nAngle; };
+
+ static sal_Int32 SetCustomShapeGuideValue( std::vector< CustomShapeGuide >& rGuideList, const CustomShapeGuide& rGuide );
+ static sal_Int32 GetCustomShapeGuideValue( const std::vector< CustomShapeGuide >& rGuideList, const OUString& rFormulaName );
+
+ sal_Int32 getArcNum() { return mnArcNum++; }
+
+private:
+
+ sal_Int32 mnShapePresetType;
+ bool mbShapeTypeOverride;
+ std::vector< CustomShapeGuide > maAdjustmentGuideList;
+ std::vector< CustomShapeGuide > maGuideList;
+ std::vector< AdjustHandle > maAdjustHandleList;
+ std::vector< ConnectionSite > maConnectionSiteList;
+ OptValue< GeomRect > maTextRect;
+ std::vector< Path2D > maPath2DList;
+
+ std::vector< com::sun::star::drawing::EnhancedCustomShapeSegment >
+ maSegments;
+ bool mbMirroredX;
+ bool mbMirroredY;
+ sal_Int32 mnTextRotateAngle;
+
+ typedef boost::unordered_map< sal_Int32, PropertyMap > PresetDataMap;
+
+ static PresetDataMap maPresetDataMap;
+ static void initializePresetDataMap();
+
+ sal_Int32 mnArcNum;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_CUSTOMSHAPEPROPERTIES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/embeddedwavaudiofile.hxx b/oox/inc/drawingml/embeddedwavaudiofile.hxx
new file mode 100644
index 000000000000..c1b199243f87
--- /dev/null
+++ b/oox/inc/drawingml/embeddedwavaudiofile.hxx
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_EMBEDDEDWAVAUDIOFILE_HXX
+#define INCLUDED_OOX_DRAWINGML_EMBEDDEDWAVAUDIOFILE_HXX
+
+#include <rtl/ustring.hxx>
+#include <com/sun/star/xml/sax/XFastAttributeList.hpp>
+
+#include <oox/core/fragmenthandler.hxx>
+
+namespace oox { namespace drawingml {
+
+ struct EmbeddedWAVAudioFile
+ {
+ EmbeddedWAVAudioFile()
+ : mbBuiltIn(false)
+ {
+ }
+ bool mbBuiltIn;
+ OUString msName;
+ OUString msEmbed;
+ };
+
+ void getEmbeddedWAVAudioFile(
+ const ::oox::core::Relations& rRelations,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttribs,
+ EmbeddedWAVAudioFile & aAudio );
+
+} }
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/fillpropertiesgroupcontext.hxx b/oox/inc/drawingml/fillpropertiesgroupcontext.hxx
new file mode 100644
index 000000000000..5387b340dcc3
--- /dev/null
+++ b/oox/inc/drawingml/fillpropertiesgroupcontext.hxx
@@ -0,0 +1,253 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_FILLPROPERTIESGROUPCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_FILLPROPERTIESGROUPCONTEXT_HXX
+
+#include <drawingml/colorchoicecontext.hxx>
+#include <oox/drawingml/fillproperties.hxx>
+
+namespace oox {
+namespace drawingml {
+
+
+
+/** Context handler that imports the a:solidFill element. */
+class SolidFillContext : public ColorContext
+{
+public:
+ explicit SolidFillContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ FillProperties& rFillProps );
+};
+
+
+
+/** Context handler that imports the a:gradFill element. */
+class GradientFillContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit GradientFillContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ GradientFillProperties& rGradientProps );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ GradientFillProperties& mrGradientProps;
+};
+
+/** Context handler that imports the a:pattFill element. */
+class PatternFillContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit PatternFillContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ PatternFillProperties& rPatternProps );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ PatternFillProperties& mrPatternProps;
+};
+
+
+
+/** Context handler that imports a14:imgProps, a14:imgLayer, a14:imgEffect containers
+ and the a14:artistic* effect tags defined in the MS-ODRAWXML extension. */
+class ArtisticEffectContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit ArtisticEffectContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ ArtisticEffectProperties& rEffect );
+ virtual ~ArtisticEffectContext();
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ ArtisticEffectProperties& maEffect;
+};
+
+
+
+/** Context handler that imports the a:extLst element inside a:blip and its
+ children a:ext, which can contain transformations to the bitmap. */
+class BlipExtensionContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit BlipExtensionContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ BlipFillProperties& rBlipProps );
+ virtual ~BlipExtensionContext();
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ BlipFillProperties& mrBlipProps;
+};
+
+
+
+/** Context handler that imports the a:duotone element containing the colors
+ of a bitmap duotone transformation. */
+class DuotoneContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit DuotoneContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ BlipFillProperties& rBlipProps );
+ virtual ~DuotoneContext();
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ BlipFillProperties& mrBlipProps;
+ int mnColorIndex;
+};
+
+
+
+/** Context handler that imports the a:clrChange element containing the colors
+ of a bitmap color change transformation. */
+class ColorChangeContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit ColorChangeContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ BlipFillProperties& rBlipProps );
+ virtual ~ColorChangeContext();
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ BlipFillProperties& mrBlipProps;
+ bool mbUseAlpha;
+};
+
+/** Context handler that imports the a:blip element containing the fill bitmap
+ and bitmap color transformation settings. */
+class BlipContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit BlipContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ BlipFillProperties& rBlipProps );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ BlipFillProperties& mrBlipProps;
+};
+
+/** Context handler that imports the a:blipFill element. */
+class BlipFillContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit BlipFillContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ BlipFillProperties& rBlipProps );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ BlipFillProperties& mrBlipProps;
+};
+
+/** Context handler for elements that contain a fill property element
+ (a:noFill, a:solidFill, a:gradFill, a:pattFill, a:blipFill, a:grpFill). */
+class FillPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ explicit FillPropertiesContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ FillProperties& rFillProps );
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext(
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+ static ::oox::core::ContextHandlerRef
+ createFillContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs,
+ FillProperties& rFillProps );
+
+protected:
+ FillProperties& mrFillProps;
+};
+
+/** Context handler for elements that contain a fill property element
+ (a:noFill, a:solidFill, a:gradFill, a:pattFill, a:blipFill, a:grpFill).
+
+ This context handler takes a simple color instead of a fill properties
+ struct. The imported fill properties are converted automatically to the
+ best fitting solid color.
+ */
+class SimpleFillPropertiesContext : private FillProperties, public FillPropertiesContext
+{
+public:
+ explicit SimpleFillPropertiesContext(
+ ::oox::core::ContextHandler2Helper& rParent,
+ Color& rColor );
+ virtual ~SimpleFillPropertiesContext();
+
+protected:
+ Color& mrColor;
+};
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/graphicproperties.hxx b/oox/inc/drawingml/graphicproperties.hxx
new file mode 100644
index 000000000000..626fe5f0f9b8
--- /dev/null
+++ b/oox/inc/drawingml/graphicproperties.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_GRAPHICPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_GRAPHICPROPERTIES_HXX
+
+#include <sal/config.h>
+
+#include <oox/drawingml/fillproperties.hxx>
+#include <oox/helper/helper.hxx>
+#include <drawingml/embeddedwavaudiofile.hxx>
+
+namespace oox {
+ class GraphicHelper;
+ class PropertyMap;
+}
+
+namespace oox {
+namespace drawingml {
+
+struct GraphicProperties
+{
+ BlipFillProperties maBlipProps; /// Properties for the graphic.
+ EmbeddedWAVAudioFile maAudio; /// Audio file details
+
+ /** Overwrites all members that are explicitly set in rSourceProps. */
+ void assignUsed( const GraphicProperties& rSourceProps );
+
+ /** Writes the properties to the passed property map. */
+ void pushToPropMap(
+ PropertyMap& rPropMap,
+ const GraphicHelper& rGraphicHelper,
+ sal_Int32 nPhClr = API_RGB_TRANSPARENT ) const;
+};
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/guidcontext.hxx b/oox/inc/drawingml/guidcontext.hxx
new file mode 100644
index 000000000000..285a5677ef4d
--- /dev/null
+++ b/oox/inc/drawingml/guidcontext.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_GUIDCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_GUIDCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+ class GuidContext : public ::oox::core::ContextHandler2
+ {
+
+ public:
+ GuidContext( ::oox::core::ContextHandler2Helper& rParent, OUString& rGuidId );
+ virtual void onCharacters( const OUString& aChars ) SAL_OVERRIDE;
+
+ private:
+ OUString& mrGuidId;
+ };
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/linepropertiescontext.hxx b/oox/inc/drawingml/linepropertiescontext.hxx
new file mode 100644
index 000000000000..21e7810505d4
--- /dev/null
+++ b/oox/inc/drawingml/linepropertiescontext.hxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_LINEPROPERTIESCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_LINEPROPERTIESCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+
+
+struct LineProperties;
+
+class LinePropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ LinePropertiesContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes,
+ LineProperties& rLineProperties ) throw();
+ virtual ~LinePropertiesContext();
+
+ virtual ::oox::core::ContextHandlerRef
+ onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ LineProperties& mrLineProperties;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_LINEPROPERTIESCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/objectdefaultcontext.hxx b/oox/inc/drawingml/objectdefaultcontext.hxx
new file mode 100644
index 000000000000..f92e245d154c
--- /dev/null
+++ b/oox/inc/drawingml/objectdefaultcontext.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_OBJECTDEFAULTCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_OBJECTDEFAULTCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class Theme;
+
+class objectDefaultContext : public oox::core::ContextHandler2
+{
+public:
+ objectDefaultContext( ::oox::core::ContextHandler2Helper& rParent, Theme& rTheme );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ Theme& mrTheme;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_OBJECTDEFAULTCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/scene3dcontext.hxx b/oox/inc/drawingml/scene3dcontext.hxx
new file mode 100644
index 000000000000..edd92e8df1d0
--- /dev/null
+++ b/oox/inc/drawingml/scene3dcontext.hxx
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_SCENE3DCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_SCENE3DCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+#include "drawingml/shape3dproperties.hxx"
+
+namespace oox { namespace drawingml {
+
+struct Shape3DProperties;
+
+class Scene3DRotationPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ Scene3DRotationPropertiesContext( ::oox::core::ContextHandler2Helper& rParent, RotationProperties& rRotationProperties ) throw();
+
+ ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ RotationProperties& mrRotationProperties;
+};
+
+class Scene3DPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ Scene3DPropertiesContext( ::oox::core::ContextHandler2Helper& rParent, Shape3DProperties& r3DProperties ) throw();
+
+ ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Shape3DProperties& mr3DProperties;
+};
+
+class Shape3DPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ Shape3DPropertiesContext( ::oox::core::ContextHandler2Helper& rParent, const ::oox::AttributeList& rAttribs, Shape3DProperties& r3DProperties ) throw();
+
+ ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Shape3DProperties& mr3DProperties;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_SCENE3DCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/shape3dproperties.hxx b/oox/inc/drawingml/shape3dproperties.hxx
new file mode 100644
index 000000000000..5c3eaa00ead2
--- /dev/null
+++ b/oox/inc/drawingml/shape3dproperties.hxx
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_SHAPE3DPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_SHAPE3DPROPERTIES_HXX
+
+#include <map>
+#include <com/sun/star/graphic/XGraphic.hpp>
+#include <com/sun/star/geometry/IntegerRectangle2D.hpp>
+#include <oox/core/xmlfilterbase.hxx>
+#include <oox/drawingml/color.hxx>
+#include <oox/helper/helper.hxx>
+
+namespace oox { class PropertyMap; }
+namespace oox { class PropertySet; }
+namespace oox { namespace core { class ModelObjectContainer; } }
+
+namespace oox {
+namespace drawingml {
+
+
+
+struct RotationProperties
+{
+ OptValue< sal_Int32 > mnLatitude;
+ OptValue< sal_Int32 > mnLongitude;
+ OptValue< sal_Int32 > mnRevolution;
+};
+
+struct BevelProperties
+{
+ OptValue< sal_Int32 > mnPreset;
+ OptValue< sal_Int32 > mnWidth;
+ OptValue< sal_Int32 > mnHeight;
+};
+
+struct Shape3DProperties
+{
+ OptValue< sal_Int32 > mnPreset;
+ OptValue< float > mfFieldOfVision;
+ OptValue< float > mfZoom;
+ OptValue< sal_Int32 > mnLightRigDirection;
+ OptValue< sal_Int32 > mnLightRigType;
+ RotationProperties maCameraRotation;
+ RotationProperties maLightRigRotation;
+
+ OptValue< sal_Int32 > mnExtrusionH;
+ OptValue< sal_Int32 > mnContourW;
+ OptValue< sal_Int32 > mnShapeZ;
+ OptValue< sal_Int32 > mnMaterial;
+ Color maExtrusionColor;
+ Color maContourColor;
+
+ OptValue< BevelProperties > maTopBevelProperties;
+ OptValue< BevelProperties > maBottomBevelProperties;
+
+ /** Overwrites all members that are explicitly set in rSourceProps. */
+ void assignUsed( const Shape3DProperties& rSourceProps );
+
+ OUString getCameraPrstName( sal_Int32 nElement );
+ OUString getLightRigName( sal_Int32 nElement );
+ OUString getLightRigDirName( sal_Int32 nElement );
+ OUString getBevelPresetTypeString( sal_Int32 nType );
+ OUString getPresetMaterialTypeString( sal_Int32 nType );
+
+ css::uno::Sequence< css::beans::PropertyValue > getCameraAttributes();
+ css::uno::Sequence< css::beans::PropertyValue > getLightRigAttributes();
+ css::uno::Sequence< css::beans::PropertyValue > getShape3DAttributes(
+ const GraphicHelper& rGraphicHelper, sal_Int32 rPhClr = API_RGB_TRANSPARENT );
+ css::uno::Sequence< css::beans::PropertyValue > getBevelAttributes( BevelProperties rProps );
+ css::uno::Sequence< css::beans::PropertyValue > getColorAttributes(
+ const Color& rColor, const GraphicHelper& rGraphicHelper, sal_Int32 rPhClr );
+};
+
+
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/shapepropertiescontext.hxx b/oox/inc/drawingml/shapepropertiescontext.hxx
new file mode 100644
index 000000000000..4718e3b9a05d
--- /dev/null
+++ b/oox/inc/drawingml/shapepropertiescontext.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_SHAPEPROPERTIESCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_SHAPEPROPERTIESCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+#include <oox/drawingml/shape.hxx>
+
+namespace oox { namespace drawingml {
+
+class ShapePropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ ShapePropertiesContext( ::oox::core::ContextHandler2Helper& rParent, Shape& rShape );
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ Shape& mrShape;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_SHAPEPROPERTIESCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/shapestylecontext.hxx b/oox/inc/drawingml/shapestylecontext.hxx
new file mode 100644
index 000000000000..b7a479124560
--- /dev/null
+++ b/oox/inc/drawingml/shapestylecontext.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_SHAPESTYLECONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_SHAPESTYLECONTEXT_HXX
+
+#include <oox/drawingml/shape.hxx>
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class ShapeStyleContext : public ::oox::core::ContextHandler2
+{
+public:
+ ShapeStyleContext( ::oox::core::ContextHandler2Helper& rParent, Shape& rShape );
+ virtual ~ShapeStyleContext();
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ Shape& mrShape;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_SHAPESTYLECONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/spdefcontext.hxx b/oox/inc/drawingml/spdefcontext.hxx
new file mode 100644
index 000000000000..2488197cac51
--- /dev/null
+++ b/oox/inc/drawingml/spdefcontext.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_SPDEFCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_SPDEFCONTEXT_HXX
+
+#include <oox/drawingml/shape.hxx>
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class spDefContext : public oox::core::ContextHandler2
+{
+public:
+ spDefContext( ::oox::core::ContextHandler2Helper& rParent, Shape& rDefaultObject );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ Shape& mrDefaultObject;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_SPDEFCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/table/tablecell.hxx b/oox/inc/drawingml/table/tablecell.hxx
index c484ed20ba02..e6502104ffc8 100644
--- a/oox/inc/drawingml/table/tablecell.hxx
+++ b/oox/inc/drawingml/table/tablecell.hxx
@@ -25,7 +25,7 @@
#include <oox/drawingml/drawingmltypes.hxx>
#include <oox/drawingml/lineproperties.hxx>
#include <oox/drawingml/fillproperties.hxx>
-#include <oox/drawingml/textliststyle.hxx>
+#include <drawingml/textliststyle.hxx>
#include <com/sun/star/table/XCell.hpp>
#include <boost/shared_ptr.hpp>
diff --git a/oox/inc/drawingml/table/tablestylepart.hxx b/oox/inc/drawingml/table/tablestylepart.hxx
index 7177deb5b982..8c29518d46c9 100644
--- a/oox/inc/drawingml/table/tablestylepart.hxx
+++ b/oox/inc/drawingml/table/tablestylepart.hxx
@@ -23,7 +23,7 @@
#include <rtl/ustring.hxx>
#include <boost/optional.hpp>
#include <oox/drawingml/color.hxx>
-#include <oox/drawingml/textfont.hxx>
+#include <drawingml/textfont.hxx>
#include <oox/drawingml/fillproperties.hxx>
#include <oox/drawingml/lineproperties.hxx>
#include <oox/drawingml/shape.hxx>
diff --git a/oox/inc/drawingml/table/tablestyletextstylecontext.hxx b/oox/inc/drawingml/table/tablestyletextstylecontext.hxx
index 56f190c505f5..0768bc0b4924 100644
--- a/oox/inc/drawingml/table/tablestyletextstylecontext.hxx
+++ b/oox/inc/drawingml/table/tablestyletextstylecontext.hxx
@@ -20,7 +20,7 @@
#ifndef INCLUDED_OOX_DRAWINGML_TABLE_TABLESTYLETEXTSTYLECONTEXT_HXX
#define INCLUDED_OOX_DRAWINGML_TABLE_TABLESTYLETEXTSTYLECONTEXT_HXX
-#include <oox/core/contexthandler.hxx>
+#include <oox/core/contexthandler2.hxx>
#include <drawingml/table/tablestylepart.hxx>
namespace oox { namespace drawingml { namespace table {
diff --git a/oox/inc/drawingml/textbody.hxx b/oox/inc/drawingml/textbody.hxx
new file mode 100644
index 000000000000..ea9bca7e586d
--- /dev/null
+++ b/oox/inc/drawingml/textbody.hxx
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTBODY_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTBODY_HXX
+
+#include <oox/drawingml/drawingmltypes.hxx>
+#include <drawingml/textbodyproperties.hxx>
+#include <drawingml/textliststyle.hxx>
+
+namespace com { namespace sun { namespace star {
+ namespace text { class XText; }
+ namespace text { class XTextCursor; }
+} } }
+
+namespace oox { namespace core { class XmlFilterBase; } }
+
+namespace oox { namespace drawingml {
+
+class TextParagraph;
+typedef RefVector< TextParagraph > TextParagraphVector;
+
+class TextBody
+{
+public:
+ TextBody();
+ TextBody( TextBodyPtr pBody );
+ ~TextBody();
+
+ const TextParagraphVector& getParagraphs() const { return maParagraphs; }
+ TextParagraph& addParagraph();
+
+ const TextListStyle& getTextListStyle() const { return maTextListStyle; }
+ TextListStyle& getTextListStyle() { return maTextListStyle; }
+
+ const TextBodyProperties& getTextProperties() const { return maTextProperties; }
+ TextBodyProperties& getTextProperties() { return maTextProperties; }
+
+ /** insert the text body at the text cursor */
+ void insertAt(
+ const ::oox::core::XmlFilterBase& rFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XText > & xText,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XTextCursor > & xAt,
+ const TextCharacterProperties& rTextStyleProperties,
+ const TextListStylePtr& pMasterTextListStyle ) const;
+ bool isEmpty();
+protected:
+ TextParagraphVector maParagraphs;
+ TextBodyProperties maTextProperties;
+ TextListStyle maTextListStyle;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTBODY_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textbodycontext.hxx b/oox/inc/drawingml/textbodycontext.hxx
new file mode 100644
index 000000000000..43e80af578c9
--- /dev/null
+++ b/oox/inc/drawingml/textbodycontext.hxx
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTBODYCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTBODYCONTEXT_HXX
+
+#include <com/sun/star/text/XText.hpp>
+
+#include <drawingml/textbody.hxx>
+#include <drawingml/textrun.hxx>
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class TextBodyContext : public ::oox::core::ContextHandler2
+{
+public:
+ TextBodyContext( ::oox::core::ContextHandler2Helper& rParent, TextBody& rTextBody );
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ TextBody& mrTextBody;
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > mxText;
+};
+
+// CT_RegularTextRun
+class RegularTextRunContext : public ::oox::core::ContextHandler2
+{
+public:
+ RegularTextRunContext( ::oox::core::ContextHandler2Helper& rParent, TextRunPtr pRunPtr );
+
+ virtual void onEndElement() SAL_OVERRIDE;
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+ virtual void onCharacters( const OUString& aChars ) SAL_OVERRIDE;
+
+protected:
+ TextRunPtr mpRunPtr;
+ bool mbIsInText;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTBODYCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textbodyproperties.hxx b/oox/inc/drawingml/textbodyproperties.hxx
new file mode 100644
index 000000000000..e6ed0fc19011
--- /dev/null
+++ b/oox/inc/drawingml/textbodyproperties.hxx
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTBODYPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTBODYPROPERTIES_HXX
+
+#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+#include <oox/helper/helper.hxx>
+#include <oox/helper/propertymap.hxx>
+#include <boost/optional.hpp>
+
+namespace oox {
+namespace drawingml {
+
+
+
+struct TextBodyProperties
+{
+ PropertyMap maPropertyMap;
+ OptValue< sal_Int32 > moRotation;
+ bool mbAnchorCtr;
+ OptValue< sal_Int32 > moVert;
+ boost::optional< sal_Int32 > moInsets[4];
+ boost::optional< sal_Int32 > moTextOffUpper;
+ boost::optional< sal_Int32 > moTextOffLeft;
+ boost::optional< sal_Int32 > moTextOffLower;
+ boost::optional< sal_Int32 > moTextOffRight;
+ ::com::sun::star::drawing::TextVerticalAdjust meVA;
+
+ explicit TextBodyProperties();
+
+ void pushRotationAdjustments( sal_Int32 nRotation );
+ void pushVertSimulation();
+};
+
+
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textbodypropertiescontext.hxx b/oox/inc/drawingml/textbodypropertiescontext.hxx
new file mode 100644
index 000000000000..b3ec0326d0b4
--- /dev/null
+++ b/oox/inc/drawingml/textbodypropertiescontext.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTBODYPROPERTIESCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTBODYPROPERTIESCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+struct TextBodyProperties;
+
+class TextBodyPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ TextBodyPropertiesContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes,
+ TextBodyProperties& rTextBodyProp );
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ TextBodyProperties& mrTextBodyProp;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTBODYPROPERTIESCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textcharacterproperties.hxx b/oox/inc/drawingml/textcharacterproperties.hxx
new file mode 100644
index 000000000000..b873c8838f85
--- /dev/null
+++ b/oox/inc/drawingml/textcharacterproperties.hxx
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTCHARACTERPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTCHARACTERPROPERTIES_HXX
+
+#include <oox/helper/helper.hxx>
+#include <oox/helper/propertymap.hxx>
+#include <oox/drawingml/color.hxx>
+#include <drawingml/textfont.hxx>
+#include <oox/drawingml/fillproperties.hxx>
+
+namespace oox { class PropertySet; }
+
+namespace oox {
+namespace drawingml {
+
+
+
+struct TextCharacterProperties
+{
+ PropertyMap maHyperlinkPropertyMap;
+ TextFont maLatinFont;
+ TextFont maLatinThemeFont;
+ TextFont maAsianFont;
+ TextFont maAsianThemeFont;
+ TextFont maComplexFont;
+ TextFont maComplexThemeFont;
+ TextFont maSymbolFont;
+ Color maCharColor;
+ Color maUnderlineColor;
+ Color maHighlightColor;
+ OptValue< OUString > moLang;
+ OptValue< sal_Int32 > moHeight;
+ OptValue< sal_Int32 > moSpacing;
+ OptValue< sal_Int32 > moUnderline;
+ OptValue< sal_Int32 > moBaseline;
+ OptValue< sal_Int32 > moStrikeout;
+ OptValue< sal_Int32 > moCaseMap;
+ OptValue< bool > moBold;
+ OptValue< bool > moItalic;
+ OptValue< bool > moUnderlineLineFollowText;
+ OptValue< bool > moUnderlineFillFollowText;
+ GradientFillProperties maGradientProps; /// Properties for gradient text colors
+
+ std::vector<css::beans::PropertyValue> maTextEffectsProperties;
+
+ /** Overwrites all members that are explicitly set in rSourceProps. */
+ void assignUsed( const TextCharacterProperties& rSourceProps );
+
+ /** Returns the current character size. If possible the masterstyle should
+ have been applied before, otherwise the character size can be zero and
+ the default value is returned. */
+ float getCharHeightPoints( float fDefault ) const;
+
+ /** Writes the properties to the passed property map. */
+ void pushToPropMap(
+ PropertyMap& rPropMap,
+ const ::oox::core::XmlFilterBase& rFilter,
+ bool bUseOptional = false ) const;
+
+ /** Writes the properties to the passed property set. */
+ void pushToPropSet(
+ PropertySet& rPropSet,
+ const ::oox::core::XmlFilterBase& rFilter,
+ bool bUseOptional = false ) const;
+};
+
+
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textcharacterpropertiescontext.hxx b/oox/inc/drawingml/textcharacterpropertiescontext.hxx
new file mode 100644
index 000000000000..d44227c96320
--- /dev/null
+++ b/oox/inc/drawingml/textcharacterpropertiescontext.hxx
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTCHARACTERPROPERTIESCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTCHARACTERPROPERTIESCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+struct TextCharacterProperties;
+
+class TextCharacterPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ TextCharacterPropertiesContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttribs,
+ TextCharacterProperties& rTextCharacterProperties );
+ virtual ~TextCharacterPropertiesContext();
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ TextCharacterProperties& mrTextCharacterProperties;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTCHARACTERPROPERTIESCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/texteffectscontext.hxx b/oox/inc/drawingml/texteffectscontext.hxx
new file mode 100644
index 000000000000..b8e3aeb4a4a0
--- /dev/null
+++ b/oox/inc/drawingml/texteffectscontext.hxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+
+#include <com/sun/star/beans/PropertyValue.hpp>
+
+#include <oox/helper/grabbagstack.hxx>
+#include <oox/core/contexthandler2.hxx>
+#include <boost/scoped_ptr.hpp>
+#include <vector>
+
+namespace oox { namespace drawingml {
+
+class TextEffectsContext : public oox::core::ContextHandler2
+{
+public:
+ TextEffectsContext(oox::core::ContextHandler2Helper& rParent,
+ sal_Int32 aElementToken,
+ std::vector<css::beans::PropertyValue>& rTextEffectsProperties);
+ virtual ~TextEffectsContext();
+
+ virtual void onStartElement(const oox::AttributeList& rAttribs) SAL_OVERRIDE;
+ virtual void onEndElement() SAL_OVERRIDE;
+
+ virtual oox::core::ContextHandlerRef onCreateContext(sal_Int32 Element, const oox::AttributeList& rAttribs) SAL_OVERRIDE;
+
+protected:
+ std::vector<css::beans::PropertyValue>& mrTextEffectsProperties;
+ boost::scoped_ptr<oox::GrabBagStack> mpGrabBagStack;
+ sal_Int32 mnCurrentElement;
+
+private:
+ void processAttributes(const AttributeList& rAttribs);
+ void pushAttributeToGrabBag (const sal_Int32& aAttributeId, const OUString& rElementName, const AttributeList& rAttribs);
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTEFFECTSCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textfield.hxx b/oox/inc/drawingml/textfield.hxx
new file mode 100644
index 000000000000..80ac53f0e7f2
--- /dev/null
+++ b/oox/inc/drawingml/textfield.hxx
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTFIELD_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTFIELD_HXX
+
+#include <boost/shared_ptr.hpp>
+
+#include <drawingml/textrun.hxx>
+#include <drawingml/textparagraphproperties.hxx>
+
+namespace oox { namespace drawingml {
+
+struct TextCharacterProperties;
+
+class TextField
+ : public TextRun
+{
+public:
+ TextField();
+
+ TextParagraphProperties& getTextParagraphProperties() { return maTextParagraphProperties; }
+ const TextParagraphProperties& getTextParagraphProperties() const { return maTextParagraphProperties; }
+
+ void setType( const OUString& sType ) { msType = sType; }
+ void setUuid( const OUString & sUuid ) { msUuid = sUuid; }
+
+ virtual sal_Int32 insertAt(
+ const ::oox::core::XmlFilterBase& rFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XText > & xText,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XTextCursor > &xAt,
+ const TextCharacterProperties& rTextCharacterStyle,
+ float nDefaultCharHeight) const SAL_OVERRIDE;
+
+private:
+ TextParagraphProperties maTextParagraphProperties;
+ OUString msType;
+ OUString msUuid;
+};
+
+typedef boost::shared_ptr< TextField > TextFieldPtr;
+
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textfieldcontext.hxx b/oox/inc/drawingml/textfieldcontext.hxx
new file mode 100644
index 000000000000..425122497c57
--- /dev/null
+++ b/oox/inc/drawingml/textfieldcontext.hxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTFIELDCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTFIELDCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class TextField;
+
+class TextFieldContext
+ : public ::oox::core::ContextHandler2
+{
+public:
+ TextFieldContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes,
+ TextField& rTextField);
+ virtual void onEndElement( ) SAL_OVERRIDE;
+ virtual void onCharacters( const OUString& aChars ) SAL_OVERRIDE;
+ virtual ::oox::core::ContextHandlerRef onCreateContext(
+ sal_Int32 aElementToken, const ::oox::AttributeList& rAttributes ) SAL_OVERRIDE;
+
+private:
+ TextField& mrTextField;
+ bool mbIsInText;
+};
+
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textfont.hxx b/oox/inc/drawingml/textfont.hxx
new file mode 100644
index 000000000000..bb6ae6d2af82
--- /dev/null
+++ b/oox/inc/drawingml/textfont.hxx
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTFONT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTFONT_HXX
+
+#include <rtl/ustring.hxx>
+
+namespace oox { class AttributeList; }
+namespace oox { namespace core { class XmlFilterBase; } }
+
+namespace oox {
+namespace drawingml {
+
+
+
+/** carries a CT_TextFont*/
+class TextFont
+{
+public:
+ explicit TextFont();
+
+ /** Sets attributes from the passed attribute list. */
+ void setAttributes( const AttributeList& rAttribs );
+
+ /** Sets font name and init other attributes. */
+ void setAttributes( const OUString& rFontName );
+
+ /** Overwrites this text font with the passed text font, if it is used. */
+ void assignIfUsed( const TextFont& rTextFont );
+
+ /** Returns the font name, pitch, and family; tries to resolve theme
+ placeholder names, e.g. '+mj-lt' for the major latin theme font. */
+ bool getFontData(
+ OUString& rFontName,
+ sal_Int16& rnFontPitch,
+ sal_Int16& rnFontFamily,
+ const ::oox::core::XmlFilterBase& rFilter ) const;
+
+private:
+ bool implGetFontData(
+ OUString& rFontName,
+ sal_Int16& rnFontPitch,
+ sal_Int16& rnFontFamily ) const;
+
+private:
+ OUString maTypeface;
+ OUString maPanose;
+ sal_Int32 mnPitch;
+ sal_Int32 mnCharset;
+};
+
+
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textliststyle.hxx b/oox/inc/drawingml/textliststyle.hxx
new file mode 100644
index 000000000000..1f3c6a0254d0
--- /dev/null
+++ b/oox/inc/drawingml/textliststyle.hxx
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLE_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLE_HXX
+
+#include <drawingml/textparagraphproperties.hxx>
+#include <oox/helper/refvector.hxx>
+
+namespace oox { namespace drawingml {
+
+typedef RefVector< TextParagraphProperties > TextParagraphPropertiesVector;
+
+class TextListStyle
+{
+public:
+
+ TextListStyle();
+ ~TextListStyle();
+
+ TextListStyle(const TextListStyle& rStyle);
+ TextListStyle& operator=(const TextListStyle& rStyle);
+
+ void apply( const TextListStyle& rTextListStyle );
+
+ const TextParagraphPropertiesVector& getListStyle() const { return maListStyle; };
+ TextParagraphPropertiesVector& getListStyle() { return maListStyle; };
+
+ const TextParagraphPropertiesVector& getAggregationListStyle() const { return maAggregationListStyle; };
+ TextParagraphPropertiesVector& getAggregationListStyle() { return maAggregationListStyle; };
+
+#if defined(DBG_UTIL) && OSL_DEBUG_LEVEL > 1
+ void dump() const;
+#endif
+
+protected:
+
+ TextParagraphPropertiesVector maListStyle;
+ TextParagraphPropertiesVector maAggregationListStyle;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textliststylecontext.hxx b/oox/inc/drawingml/textliststylecontext.hxx
new file mode 100644
index 000000000000..f71fc899cb0f
--- /dev/null
+++ b/oox/inc/drawingml/textliststylecontext.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLECONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLECONTEXT_HXX
+
+#include <drawingml/textliststyle.hxx>
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class TextListStyleContext : public ::oox::core::ContextHandler2
+{
+public:
+ TextListStyleContext( ::oox::core::ContextHandler2Helper& rParent, TextListStyle& rTextListStyle );
+ virtual ~TextListStyleContext();
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ TextListStyle& mrTextListStyle;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTLISTSTYLECONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textparagraph.hxx b/oox/inc/drawingml/textparagraph.hxx
new file mode 100644
index 000000000000..c419a65d8cff
--- /dev/null
+++ b/oox/inc/drawingml/textparagraph.hxx
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPH_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPH_HXX
+
+#include <com/sun/star/text/XTextCursor.hpp>
+#include <com/sun/star/text/XText.hpp>
+
+#include <oox/core/xmlfilterbase.hxx>
+#include <drawingml/textrun.hxx>
+#include <drawingml/textliststyle.hxx>
+#include <drawingml/textparagraphproperties.hxx>
+
+namespace oox { namespace drawingml {
+
+typedef RefVector< TextRun > TextRunVector;
+
+class TextParagraph
+{
+public:
+ TextParagraph();
+ ~TextParagraph();
+
+ TextRunVector& getRuns() { return maRuns; }
+ const TextRunVector& getRuns() const { return maRuns; }
+ void addRun( const TextRunPtr & pRun ) { maRuns.push_back( pRun ); }
+
+ TextParagraphProperties& getProperties() { return maProperties; }
+ const TextParagraphProperties& getProperties() const { return maProperties; }
+
+ TextCharacterProperties& getEndProperties() { return maEndProperties; }
+ const TextCharacterProperties& getEndProperties() const { return maEndProperties; }
+
+ void insertAt(
+ const ::oox::core::XmlFilterBase& rFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XText > & xText,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XTextCursor > &xAt,
+ const TextCharacterProperties& rTextStyleProperties,
+ const TextListStyle& rTextListStyle,
+ bool bFirst = false,
+ float nDefaultCharHeight = 0) const;
+
+private:
+ TextParagraphProperties maProperties;
+ TextCharacterProperties maEndProperties;
+ TextRunVector maRuns;
+};
+
+typedef boost::shared_ptr< TextParagraph > TextParagraphPtr;
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPH_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textparagraphproperties.hxx b/oox/inc/drawingml/textparagraphproperties.hxx
new file mode 100644
index 000000000000..e6ba58987bd3
--- /dev/null
+++ b/oox/inc/drawingml/textparagraphproperties.hxx
@@ -0,0 +1,132 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIES_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIES_HXX
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <drawingml/fillpropertiesgroupcontext.hxx>
+#include <drawingml/textcharacterproperties.hxx>
+#include <com/sun/star/style/NumberingType.hpp>
+#include <drawingml/textfont.hxx>
+#include <drawingml/textspacing.hxx>
+#include <boost/optional.hpp>
+
+namespace com { namespace sun { namespace star {
+ namespace graphic { class XGraphic; }
+} } }
+
+namespace oox { namespace drawingml {
+
+class TextParagraphProperties;
+
+typedef boost::shared_ptr< TextParagraphProperties > TextParagraphPropertiesPtr;
+
+class BulletList
+{
+public:
+ BulletList( );
+ bool is() const;
+ void apply( const BulletList& );
+ void pushToPropMap( const ::oox::core::XmlFilterBase* pFilterBase, PropertyMap& xPropMap ) const;
+ void setBulletChar( const OUString & sChar );
+ void setStartAt( sal_Int32 nStartAt ){ mnStartAt <<= static_cast< sal_Int16 >( nStartAt ); }
+ void setType( sal_Int32 nType );
+ void setNone( );
+ void setSuffixParenBoth();
+ void setSuffixParenRight();
+ void setSuffixPeriod();
+ void setSuffixNone();
+ void setSuffixMinusRight();
+ void setBulletSize(sal_Int16 nSize);
+ void setFontSize(sal_Int16 nSize);
+ void setStyleName( const OUString& rStyleName ) { maStyleName <<= rStyleName; }
+ void setGraphic( ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >& rXGraphic );
+
+ ::oox::drawingml::ColorPtr maBulletColorPtr;
+ ::com::sun::star::uno::Any mbBulletColorFollowText;
+ ::com::sun::star::uno::Any mbBulletFontFollowText;
+ ::oox::drawingml::TextFont maBulletFont;
+ ::com::sun::star::uno::Any msBulletChar;
+ ::com::sun::star::uno::Any mnStartAt;
+ ::com::sun::star::uno::Any mnNumberingType;
+ ::com::sun::star::uno::Any msNumberingPrefix;
+ ::com::sun::star::uno::Any msNumberingSuffix;
+ ::com::sun::star::uno::Any mnSize;
+ ::com::sun::star::uno::Any mnFontSize;
+ ::com::sun::star::uno::Any maStyleName;
+ ::com::sun::star::uno::Any maGraphic;
+ boost::optional< float > maFollowFontSize;
+};
+
+class TextParagraphProperties
+{
+public:
+
+ TextParagraphProperties();
+ ~TextParagraphProperties();
+
+ void setLevel( sal_Int16 nLevel ) { mnLevel = nLevel; }
+ sal_Int16 getLevel( ) const { return mnLevel; }
+ PropertyMap& getTextParagraphPropertyMap() { return maTextParagraphPropertyMap; }
+ BulletList& getBulletList() { return maBulletList; }
+ TextCharacterProperties& getTextCharacterProperties() { return maTextCharacterProperties; }
+ const TextCharacterProperties& getTextCharacterProperties() const { return maTextCharacterProperties; }
+
+ TextSpacing& getParaTopMargin() { return maParaTopMargin; }
+ TextSpacing& getParaBottomMargin() { return maParaBottomMargin; }
+ boost::optional< sal_Int32 >& getParaLeftMargin(){ return moParaLeftMargin; }
+ boost::optional< sal_Int32 >& getFirstLineIndentation(){ return moFirstLineIndentation; }
+
+ boost::optional< sal_Int16 >& getParaAdjust() { return moParaAdjust; }
+ void setParaAdjust( sal_Int16 nParaAdjust ) { moParaAdjust = nParaAdjust; }
+
+ void apply( const TextParagraphProperties& rSourceProps );
+ void pushToPropSet( const ::oox::core::XmlFilterBase* pFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet,
+ PropertyMap& rioBulletList, const BulletList* pMasterBuList, bool bApplyBulletList, float fFontSize, bool bPushDefaultValues = false ) const;
+ void pushToPropSet( const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet) const;
+
+ /** Returns the largest character size of this paragraph. If possible the
+ masterstyle should have been applied before, otherwise the character
+ size can be zero and the default value is returned. */
+ float getCharHeightPoints( float fDefault ) const;
+
+#ifdef DBG_UTIL
+ void dump() const;
+#endif
+
+protected:
+
+ TextCharacterProperties maTextCharacterProperties;
+ PropertyMap maTextParagraphPropertyMap;
+ BulletList maBulletList;
+ TextSpacing maParaTopMargin;
+ TextSpacing maParaBottomMargin;
+ boost::optional< sal_Int32 > moParaLeftMargin;
+ boost::optional< sal_Int32 > moFirstLineIndentation;
+ boost::optional< sal_Int16 > moParaAdjust;
+ sal_Int16 mnLevel;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIES_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textparagraphpropertiescontext.hxx b/oox/inc/drawingml/textparagraphpropertiescontext.hxx
new file mode 100644
index 000000000000..6f5fbc5983ed
--- /dev/null
+++ b/oox/inc/drawingml/textparagraphpropertiescontext.hxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIESCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIESCONTEXT_HXX
+
+#include <list>
+
+#include <com/sun/star/style/TabStop.hpp>
+#include <oox/drawingml/drawingmltypes.hxx>
+#include <drawingml/textparagraphproperties.hxx>
+#include <drawingml/textspacing.hxx>
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox { namespace drawingml {
+
+class TextParagraphPropertiesContext : public ::oox::core::ContextHandler2
+{
+public:
+ TextParagraphPropertiesContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes,
+ TextParagraphProperties& rTextParagraphProperties );
+ virtual ~TextParagraphPropertiesContext();
+
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ TextParagraphProperties& mrTextParagraphProperties;
+ TextSpacing maLineSpacing;
+ BulletList& mrBulletList;
+ ::std::list< ::com::sun::star::style::TabStop > maTabList;
+ ::boost::shared_ptr< BlipFillProperties > mxBlipProps;
+};
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTPARAGRAPHPROPERTIESCONTEXT_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textrun.hxx b/oox/inc/drawingml/textrun.hxx
new file mode 100644
index 000000000000..1b77465f08ed
--- /dev/null
+++ b/oox/inc/drawingml/textrun.hxx
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTRUN_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTRUN_HXX
+
+#include <com/sun/star/text/XTextCursor.hpp>
+#include <com/sun/star/text/XText.hpp>
+#include <com/sun/star/frame/XModel.hpp>
+#include <drawingml/textcharacterproperties.hxx>
+
+namespace oox { namespace drawingml {
+
+class TextRun
+{
+public:
+ TextRun();
+ virtual ~TextRun();
+
+ OUString& getText() { return msText; }
+ const OUString& getText() const { return msText; }
+
+ TextCharacterProperties& getTextCharacterProperties() { return maTextCharacterProperties; }
+ const TextCharacterProperties& getTextCharacterProperties() const { return maTextCharacterProperties; }
+
+ void setLineBreak() { mbIsLineBreak = true; }
+
+ virtual sal_Int32 insertAt(
+ const ::oox::core::XmlFilterBase& rFilterBase,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XText >& xText,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::text::XTextCursor >& xAt,
+ const TextCharacterProperties& rTextCharacterStyle,
+ float nDefaultCharHeight) const;
+
+private:
+ OUString msText;
+ TextCharacterProperties maTextCharacterProperties;
+ bool mbIsLineBreak;
+};
+
+typedef boost::shared_ptr< TextRun > TextRunPtr;
+
+} }
+
+#endif // INCLUDED_OOX_DRAWINGML_TEXTRUN_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/textspacing.hxx b/oox/inc/drawingml/textspacing.hxx
new file mode 100644
index 000000000000..4c859d706057
--- /dev/null
+++ b/oox/inc/drawingml/textspacing.hxx
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TEXTSPACING_HXX
+#define INCLUDED_OOX_DRAWINGML_TEXTSPACING_HXX
+
+#include <rtl/ustring.hxx>
+
+#include <com/sun/star/style/LineSpacing.hpp>
+#include <com/sun/star/style/LineSpacingMode.hpp>
+#include <oox/drawingml/drawingmltypes.hxx>
+
+namespace oox { namespace drawingml {
+
+
+ /** carries a CT_TextSpacing */
+ class TextSpacing
+ {
+ public:
+ enum {
+ POINTS = 0,
+ PERCENT
+ };
+ TextSpacing()
+ : nUnit( POINTS ), nValue( 0 ), bHasValue( false )
+ {
+ }
+ TextSpacing( sal_Int32 nPoints ) : nUnit( POINTS ), nValue( nPoints ), bHasValue( true ){};
+ ::com::sun::star::style::LineSpacing toLineSpacing() const
+ {
+ ::com::sun::star::style::LineSpacing aSpacing;
+ aSpacing.Mode = ( nUnit == PERCENT
+ ? ::com::sun::star::style::LineSpacingMode::PROP
+ : ::com::sun::star::style::LineSpacingMode::MINIMUM );
+ aSpacing.Height = static_cast< sal_Int16 >( nUnit == PERCENT ? nValue / 1000 : nValue );
+ return aSpacing;
+ }
+ sal_Int32 toMargin( float fFontSize ) const
+ {
+ if ( nUnit == PERCENT )
+ return GetTextSpacingPoint(static_cast<sal_Int32>((fFontSize*nValue)/1000));
+ else
+ return nValue;
+ }
+ sal_Int32 nUnit;
+ sal_Int32 nValue;
+ bool bHasValue;
+ };
+
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/themeelementscontext.hxx b/oox/inc/drawingml/themeelementscontext.hxx
new file mode 100644
index 000000000000..47acdc9a6290
--- /dev/null
+++ b/oox/inc/drawingml/themeelementscontext.hxx
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_THEMEELEMENTSCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_THEMEELEMENTSCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox {
+namespace drawingml {
+
+class Theme;
+
+class ThemeElementsContext : public oox::core::ContextHandler2
+{
+public:
+ ThemeElementsContext( ::oox::core::ContextHandler2Helper& rParent, Theme& rTheme );
+ virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement,
+ const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+private:
+ Theme& mrTheme;
+};
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/transform2dcontext.hxx b/oox/inc/drawingml/transform2dcontext.hxx
new file mode 100644
index 000000000000..dfe49cb0fc08
--- /dev/null
+++ b/oox/inc/drawingml/transform2dcontext.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_OOX_DRAWINGML_TRANSFORM2DCONTEXT_HXX
+#define INCLUDED_OOX_DRAWINGML_TRANSFORM2DCONTEXT_HXX
+
+#include <oox/core/contexthandler2.hxx>
+
+namespace oox {
+namespace drawingml {
+
+class Shape;
+
+/** context to import a CT_Transform2D */
+class Transform2DContext : public ::oox::core::ContextHandler2
+{
+public:
+ Transform2DContext( ::oox::core::ContextHandler2Helper& rParent,
+ const ::oox::AttributeList& rAttributes, Shape& rShape, bool btxXfrm = false ) throw();
+ virtual ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) SAL_OVERRIDE;
+
+protected:
+ Shape& mrShape;
+ bool mbtxXfrm;
+};
+
+} // namespace drawingml
+} // namespace oox
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/source/drawingml/ThemeOverrideFragmentHandler.cxx b/oox/source/drawingml/ThemeOverrideFragmentHandler.cxx
index 5f3e7fc85a76..8d710955db6e 100644
--- a/oox/source/drawingml/ThemeOverrideFragmentHandler.cxx
+++ b/oox/source/drawingml/ThemeOverrideFragmentHandler.cxx
@@ -7,9 +7,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#include "oox/drawingml/ThemeOverrideFragmentHandler.hxx"
+#include <drawingml/ThemeOverrideFragmentHandler.hxx>
#include "oox/drawingml/theme.hxx"
-#include "oox/drawingml/themeelementscontext.hxx"
+#include "drawingml/themeelementscontext.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/chart/axiscontext.cxx b/oox/source/drawingml/chart/axiscontext.cxx
index c4145043f2c2..295b25f76fe1 100644
--- a/oox/source/drawingml/chart/axiscontext.cxx
+++ b/oox/source/drawingml/chart/axiscontext.cxx
@@ -19,8 +19,8 @@
#include "drawingml/chart/axiscontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
#include "drawingml/chart/axismodel.hxx"
#include "drawingml/chart/titlecontext.hxx"
diff --git a/oox/source/drawingml/chart/chartcontextbase.cxx b/oox/source/drawingml/chart/chartcontextbase.cxx
index f489c2f41e7a..74bc6c112dd2 100644
--- a/oox/source/drawingml/chart/chartcontextbase.cxx
+++ b/oox/source/drawingml/chart/chartcontextbase.cxx
@@ -20,7 +20,7 @@
#include "drawingml/chart/chartcontextbase.hxx"
#include "oox/drawingml/chart/modelbase.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/chart/chartspacefragment.cxx b/oox/source/drawingml/chart/chartspacefragment.cxx
index 40ea77a402d7..7117877618b4 100644
--- a/oox/source/drawingml/chart/chartspacefragment.cxx
+++ b/oox/source/drawingml/chart/chartspacefragment.cxx
@@ -19,8 +19,8 @@
#include "drawingml/chart/chartspacefragment.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
#include "drawingml/chart/chartspacemodel.hxx"
#include "drawingml/chart/plotareacontext.hxx"
#include "drawingml/chart/titlecontext.hxx"
diff --git a/oox/source/drawingml/chart/chartspacemodel.cxx b/oox/source/drawingml/chart/chartspacemodel.cxx
index c1a9c6c5c1cc..a1c107e28c48 100644
--- a/oox/source/drawingml/chart/chartspacemodel.cxx
+++ b/oox/source/drawingml/chart/chartspacemodel.cxx
@@ -18,6 +18,7 @@
*/
#include "drawingml/chart/chartspacemodel.hxx"
+#include <oox/token/tokens.hxx>
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/chart/objectformatter.cxx b/oox/source/drawingml/chart/objectformatter.cxx
index abf5bcb78c20..d0ab4c0bf956 100644
--- a/oox/source/drawingml/chart/objectformatter.cxx
+++ b/oox/source/drawingml/chart/objectformatter.cxx
@@ -27,8 +27,8 @@
#include "oox/drawingml/fillproperties.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/shapepropertymap.hxx"
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/textparagraph.hxx"
+#include "drawingml/textbody.hxx"
+#include "drawingml/textparagraph.hxx"
#include "oox/drawingml/theme.hxx"
#include "drawingml/chart/chartspacemodel.hxx"
#include "oox/helper/modelobjecthelper.hxx"
diff --git a/oox/source/drawingml/chart/plotareacontext.cxx b/oox/source/drawingml/chart/plotareacontext.cxx
index 738fa92b79b5..53cb1ae9c9ee 100644
--- a/oox/source/drawingml/chart/plotareacontext.cxx
+++ b/oox/source/drawingml/chart/plotareacontext.cxx
@@ -19,7 +19,7 @@
#include "drawingml/chart/plotareacontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
#include "drawingml/chart/axiscontext.hxx"
#include "drawingml/chart/plotareamodel.hxx"
#include "drawingml/chart/seriescontext.hxx"
diff --git a/oox/source/drawingml/chart/seriescontext.cxx b/oox/source/drawingml/chart/seriescontext.cxx
index 9646851f35cc..e9002f406d8d 100644
--- a/oox/source/drawingml/chart/seriescontext.cxx
+++ b/oox/source/drawingml/chart/seriescontext.cxx
@@ -19,8 +19,8 @@
#include "drawingml/chart/seriescontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
#include "drawingml/chart/datasourcecontext.hxx"
#include "drawingml/chart/seriesmodel.hxx"
#include "drawingml/chart/titlecontext.hxx"
diff --git a/oox/source/drawingml/chart/seriesmodel.cxx b/oox/source/drawingml/chart/seriesmodel.cxx
index 8daa50a16c22..5507384a8563 100644
--- a/oox/source/drawingml/chart/seriesmodel.cxx
+++ b/oox/source/drawingml/chart/seriesmodel.cxx
@@ -18,6 +18,7 @@
*/
#include "drawingml/chart/seriesmodel.hxx"
+#include <oox/token/tokens.hxx>
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/chart/titlecontext.cxx b/oox/source/drawingml/chart/titlecontext.cxx
index 0a627ee6c931..e589335ed649 100644
--- a/oox/source/drawingml/chart/titlecontext.cxx
+++ b/oox/source/drawingml/chart/titlecontext.cxx
@@ -19,8 +19,8 @@
#include "drawingml/chart/titlecontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
#include "drawingml/chart/datasourcecontext.hxx"
#include "drawingml/chart/titlemodel.hxx"
diff --git a/oox/source/drawingml/chart/titleconverter.cxx b/oox/source/drawingml/chart/titleconverter.cxx
index 29dc019bfb02..844aa0a62034 100644
--- a/oox/source/drawingml/chart/titleconverter.cxx
+++ b/oox/source/drawingml/chart/titleconverter.cxx
@@ -26,8 +26,8 @@
#include <com/sun/star/chart2/XLegend.hpp>
#include <com/sun/star/chart2/XTitle.hpp>
#include <com/sun/star/chart2/XTitled.hpp>
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/textparagraph.hxx"
+#include "drawingml/textbody.hxx"
+#include "drawingml/textparagraph.hxx"
#include "drawingml/chart/datasourceconverter.hxx"
#include "drawingml/chart/titlemodel.hxx"
#include "oox/helper/containerhelper.hxx"
diff --git a/oox/source/drawingml/chart/titlemodel.cxx b/oox/source/drawingml/chart/titlemodel.cxx
index 614f212d0a76..3ca7f5d58cd9 100644
--- a/oox/source/drawingml/chart/titlemodel.cxx
+++ b/oox/source/drawingml/chart/titlemodel.cxx
@@ -18,6 +18,7 @@
*/
#include "drawingml/chart/titlemodel.hxx"
+#include <oox/token/tokens.hxx>
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/chart/typegroupmodel.cxx b/oox/source/drawingml/chart/typegroupmodel.cxx
index 30f1cccd9321..f27f6dac9341 100644
--- a/oox/source/drawingml/chart/typegroupmodel.cxx
+++ b/oox/source/drawingml/chart/typegroupmodel.cxx
@@ -18,6 +18,7 @@
*/
#include "drawingml/chart/typegroupmodel.hxx"
+#include <oox/token/tokens.hxx>
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/clrschemecontext.cxx b/oox/source/drawingml/clrschemecontext.cxx
index 83244bed6856..d16a14f5992a 100644
--- a/oox/source/drawingml/clrschemecontext.cxx
+++ b/oox/source/drawingml/clrschemecontext.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/clrschemecontext.hxx"
+#include "drawingml/clrschemecontext.hxx"
#include "oox/core/xmlfilterbase.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/colorchoicecontext.cxx b/oox/source/drawingml/colorchoicecontext.cxx
index e255fcbd6fa7..3236c5adafb1 100644
--- a/oox/source/drawingml/colorchoicecontext.cxx
+++ b/oox/source/drawingml/colorchoicecontext.cxx
@@ -18,7 +18,7 @@
*/
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
#include "oox/helper/attributelist.hxx"
#include "oox/drawingml/color.hxx"
diff --git a/oox/source/drawingml/connectorshapecontext.cxx b/oox/source/drawingml/connectorshapecontext.cxx
index 4fa115aa99fa..03f346c70051 100644
--- a/oox/source/drawingml/connectorshapecontext.cxx
+++ b/oox/source/drawingml/connectorshapecontext.cxx
@@ -25,8 +25,8 @@
#include "oox/drawingml/graphicshapecontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/textbodycontext.hxx"
using namespace oox::core;
using namespace ::com::sun::star;
diff --git a/oox/source/drawingml/customshapegeometry.cxx b/oox/source/drawingml/customshapegeometry.cxx
index 87d330447fa5..6868e2c3d5d3 100644
--- a/oox/source/drawingml/customshapegeometry.cxx
+++ b/oox/source/drawingml/customshapegeometry.cxx
@@ -17,7 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/customshapegeometry.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include <drawingml/customshapeproperties.hxx>
#include <com/sun/star/xml/sax/FastToken.hpp>
#include <boost/unordered_map.hpp>
diff --git a/oox/source/drawingml/customshapepresetdata.cxx b/oox/source/drawingml/customshapepresetdata.cxx
index 85d87cba669b..78d0af10fff8 100644
--- a/oox/source/drawingml/customshapepresetdata.cxx
+++ b/oox/source/drawingml/customshapepresetdata.cxx
@@ -12,7 +12,7 @@
#include <tools/stream.hxx>
#include <comphelper/sequenceasvector.hxx>
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "oox/helper/helper.hxx"
#include "oox/helper/propertymap.hxx"
#include "oox/helper/propertyset.hxx"
diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx
index efaddba265a5..5758d7996592 100644
--- a/oox/source/drawingml/customshapeproperties.cxx
+++ b/oox/source/drawingml/customshapeproperties.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "oox/helper/helper.hxx"
#include "oox/helper/propertymap.hxx"
#include "oox/helper/propertyset.hxx"
diff --git a/oox/source/drawingml/diagram/datamodelcontext.cxx b/oox/source/drawingml/diagram/datamodelcontext.cxx
index ef8f9e4ab9cd..b5b6dffa1f7a 100644
--- a/oox/source/drawingml/diagram/datamodelcontext.cxx
+++ b/oox/source/drawingml/diagram/datamodelcontext.cxx
@@ -19,9 +19,9 @@
#include "datamodelcontext.hxx"
#include "oox/helper/attributelist.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::xml::sax;
diff --git a/oox/source/drawingml/diagram/diagram.cxx b/oox/source/drawingml/diagram/diagram.cxx
index 4d6a421868d4..1c53d7497129 100644
--- a/oox/source/drawingml/diagram/diagram.cxx
+++ b/oox/source/drawingml/diagram/diagram.cxx
@@ -26,9 +26,9 @@
#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
#include <rtl/ustrbuf.hxx>
#include <editeng/unoprnms.hxx>
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/textparagraph.hxx"
-#include "oox/drawingml/textrun.hxx"
+#include "drawingml/textbody.hxx"
+#include "drawingml/textparagraph.hxx"
+#include "drawingml/textrun.hxx"
#include "drawingml/diagram/diagram.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/ppt/pptshapegroupcontext.hxx"
diff --git a/oox/source/drawingml/diagram/diagram.hxx b/oox/source/drawingml/diagram/diagram.hxx
index 2b811f91f408..9ef921516c73 100644
--- a/oox/source/drawingml/diagram/diagram.hxx
+++ b/oox/source/drawingml/diagram/diagram.hxx
@@ -30,6 +30,7 @@
#include "oox/drawingml/shape.hxx"
#include "oox/drawingml/fillproperties.hxx"
+#include <oox/token/tokens.hxx>
namespace com { namespace sun { namespace star {
namespace xml { namespace dom { class XDocument; } }
diff --git a/oox/source/drawingml/diagram/diagramfragmenthandler.cxx b/oox/source/drawingml/diagram/diagramfragmenthandler.cxx
index 59b183634e97..f1c3cb7cddf5 100644
--- a/oox/source/drawingml/diagram/diagramfragmenthandler.cxx
+++ b/oox/source/drawingml/diagram/diagramfragmenthandler.cxx
@@ -22,7 +22,7 @@
#include "diagramdefinitioncontext.hxx"
#include "diagramfragmenthandler.hxx"
#include "datamodelcontext.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::xml::sax;
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
index f1692ec30fb0..049f409d4120 100644
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
@@ -27,10 +27,10 @@
#include "oox/helper/attributelist.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/drawingml/lineproperties.hxx"
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/textparagraph.hxx"
-#include "oox/drawingml/textrun.hxx"
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/textbody.hxx"
+#include "drawingml/textparagraph.hxx"
+#include "drawingml/textrun.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "layoutnodecontext.hxx"
using namespace ::com::sun::star;
diff --git a/oox/source/drawingml/diagram/layoutnodecontext.cxx b/oox/source/drawingml/diagram/layoutnodecontext.cxx
index 4612fcbf9cb5..facfda417762 100644
--- a/oox/source/drawingml/diagram/layoutnodecontext.cxx
+++ b/oox/source/drawingml/diagram/layoutnodecontext.cxx
@@ -22,7 +22,7 @@
#include "oox/helper/attributelist.hxx"
#include "drawingml/diagram/diagram.hxx"
#include "oox/drawingml/shapecontext.hxx"
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "diagramdefinitioncontext.hxx"
#include "constraintlistcontext.hxx"
diff --git a/oox/source/drawingml/effectpropertiescontext.cxx b/oox/source/drawingml/effectpropertiescontext.cxx
index 7d6549cc0785..d1d0cd9e935a 100644
--- a/oox/source/drawingml/effectpropertiescontext.cxx
+++ b/oox/source/drawingml/effectpropertiescontext.cxx
@@ -10,7 +10,7 @@
#include "effectpropertiescontext.hxx"
#include "effectproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/embeddedwavaudiofile.cxx b/oox/source/drawingml/embeddedwavaudiofile.cxx
index 6b2f29ef8fd4..c15bc7c56b5c 100644
--- a/oox/source/drawingml/embeddedwavaudiofile.cxx
+++ b/oox/source/drawingml/embeddedwavaudiofile.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/embeddedwavaudiofile.hxx"
+#include "drawingml/embeddedwavaudiofile.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx
index 8401d7a294fb..109fc23a2216 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -20,7 +20,8 @@
#include <iterator>
#include <boost/utility.hpp>
-#include "oox/drawingml/fillproperties.hxx"
+#include <oox/drawingml/fillproperties.hxx>
+#include <drawingml/graphicproperties.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/oox/source/drawingml/fillpropertiesgroupcontext.cxx b/oox/source/drawingml/fillpropertiesgroupcontext.cxx
index e60f68947738..a45dd787670d 100644
--- a/oox/source/drawingml/fillpropertiesgroupcontext.cxx
+++ b/oox/source/drawingml/fillpropertiesgroupcontext.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/helper/attributelist.hxx"
#include "oox/helper/graphichelper.hxx"
#include "oox/core/xmlfilterbase.hxx"
diff --git a/oox/source/drawingml/graphicshapecontext.cxx b/oox/source/drawingml/graphicshapecontext.cxx
index f753783a3737..e78a3e26d710 100644
--- a/oox/source/drawingml/graphicshapecontext.cxx
+++ b/oox/source/drawingml/graphicshapecontext.cxx
@@ -21,8 +21,9 @@
#include "oox/drawingml/graphicshapecontext.hxx"
#include <osl/diagnose.h>
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/graphicproperties.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "drawingml/diagram/diagram.hxx"
#include "drawingml/table/tablecontext.hxx"
#include "oox/core/xmlfilterbase.hxx"
@@ -33,7 +34,7 @@
#include "oox/vml/vmlshape.hxx"
#include "oox/vml/vmlshapecontainer.hxx"
#include "oox/drawingml/fillproperties.hxx"
-#include "oox/drawingml/transform2dcontext.hxx"
+#include "drawingml/transform2dcontext.hxx"
#include "oox/helper/binaryinputstream.hxx"
#include "oox/helper/binaryoutputstream.hxx"
#include "oox/ppt/pptshapegroupcontext.hxx"
diff --git a/oox/source/drawingml/guidcontext.cxx b/oox/source/drawingml/guidcontext.cxx
index 0e000d799e6a..89eff0594f8a 100644
--- a/oox/source/drawingml/guidcontext.cxx
+++ b/oox/source/drawingml/guidcontext.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/guidcontext.hxx"
+#include "drawingml/guidcontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/hyperlinkcontext.cxx b/oox/source/drawingml/hyperlinkcontext.cxx
index 6e648dc5ba5b..b2774d1784b1 100644
--- a/oox/source/drawingml/hyperlinkcontext.cxx
+++ b/oox/source/drawingml/hyperlinkcontext.cxx
@@ -24,7 +24,7 @@
#include "oox/helper/propertymap.hxx"
#include "oox/core/relations.hxx"
#include "oox/core/xmlfilterbase.hxx"
-#include "oox/drawingml/embeddedwavaudiofile.hxx"
+#include "drawingml/embeddedwavaudiofile.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/linepropertiescontext.cxx b/oox/source/drawingml/linepropertiescontext.cxx
index 45a4a0eb8abb..bc5395dab4d7 100644
--- a/oox/source/drawingml/linepropertiescontext.cxx
+++ b/oox/source/drawingml/linepropertiescontext.cxx
@@ -17,9 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/linepropertiescontext.hxx"
+#include "drawingml/linepropertiescontext.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/helper/attributelist.hxx"
diff --git a/oox/source/drawingml/objectdefaultcontext.cxx b/oox/source/drawingml/objectdefaultcontext.cxx
index 7b1e40c19e5f..0b1024152990 100644
--- a/oox/source/drawingml/objectdefaultcontext.cxx
+++ b/oox/source/drawingml/objectdefaultcontext.cxx
@@ -17,8 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/objectdefaultcontext.hxx"
-#include "oox/drawingml/spdefcontext.hxx"
+#include "drawingml/objectdefaultcontext.hxx"
+#include "drawingml/spdefcontext.hxx"
#include "oox/drawingml/theme.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/scene3dcontext.cxx b/oox/source/drawingml/scene3dcontext.cxx
index c8d9dd5a8386..2514d8f348b6 100644
--- a/oox/source/drawingml/scene3dcontext.cxx
+++ b/oox/source/drawingml/scene3dcontext.cxx
@@ -17,12 +17,12 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/scene3dcontext.hxx"
+#include "drawingml/scene3dcontext.hxx"
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/graphic/XGraphicProvider.hpp>
#include <cppuhelper/exc_hlp.hxx>
#include <comphelper/anytostring.hxx>
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/core/xmlfilterbase.hxx"
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 8545307558f5..099feb0e6bc2 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -18,14 +18,16 @@
*/
#include "oox/drawingml/shape.hxx"
-#include "oox/drawingml/customshapeproperties.hxx"
+#include "drawingml/customshapeproperties.hxx"
#include "oox/drawingml/theme.hxx"
#include "oox/drawingml/fillproperties.hxx"
+#include "drawingml/graphicproperties.hxx"
+#include <drawingml/scene3dcontext.hxx>
#include "oox/drawingml/lineproperties.hxx"
#include "effectproperties.hxx"
#include "oox/drawingml/shapepropertymap.hxx"
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/ThemeOverrideFragmentHandler.hxx"
+#include "drawingml/textbody.hxx"
+#include <drawingml/ThemeOverrideFragmentHandler.hxx>
#include "drawingml/table/tableproperties.hxx"
#include "oox/drawingml/chart/chartconverter.hxx"
#include "drawingml/chart/chartspacefragment.hxx"
diff --git a/oox/source/drawingml/shape3dproperties.cxx b/oox/source/drawingml/shape3dproperties.cxx
index 2060f18c52ff..38b26c761e3e 100644
--- a/oox/source/drawingml/shape3dproperties.cxx
+++ b/oox/source/drawingml/shape3dproperties.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/shape3dproperties.hxx"
+#include "drawingml/shape3dproperties.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/oox/source/drawingml/shapecontext.cxx b/oox/source/drawingml/shapecontext.cxx
index 536bbc7d4d4a..5bb38a4f9581 100644
--- a/oox/source/drawingml/shapecontext.cxx
+++ b/oox/source/drawingml/shapecontext.cxx
@@ -25,13 +25,14 @@
#include "oox/helper/attributelist.hxx"
#include "oox/drawingml/shapecontext.hxx"
-#include "oox/drawingml/shapestylecontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include <drawingml/shapepropertiescontext.hxx>
+#include "drawingml/shapestylecontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
-#include "oox/drawingml/textbodypropertiescontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/textbodycontext.hxx"
+#include "drawingml/textbodypropertiescontext.hxx"
#include "hyperlinkcontext.hxx"
using namespace oox::core;
diff --git a/oox/source/drawingml/shapegroupcontext.cxx b/oox/source/drawingml/shapegroupcontext.cxx
index f4e045437206..a1ae52d367c1 100644
--- a/oox/source/drawingml/shapegroupcontext.cxx
+++ b/oox/source/drawingml/shapegroupcontext.cxx
@@ -27,8 +27,9 @@
#include "oox/drawingml/graphicshapecontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include <drawingml/shapepropertiescontext.hxx>
+#include "drawingml/textbodycontext.hxx"
using namespace oox::core;
using namespace ::com::sun::star;
diff --git a/oox/source/drawingml/shapepropertiescontext.cxx b/oox/source/drawingml/shapepropertiescontext.cxx
index 9eb71b2ba08a..e0ac8b005152 100644
--- a/oox/source/drawingml/shapepropertiescontext.cxx
+++ b/oox/source/drawingml/shapepropertiescontext.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/shapepropertiescontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
#include <com/sun/star/xml/sax/FastToken.hpp>
#include <com/sun/star/drawing/LineStyle.hpp>
@@ -25,11 +25,11 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/container/XNamed.hpp>
-#include "oox/drawingml/scene3dcontext.hxx"
-#include "oox/drawingml/linepropertiescontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-#include "oox/drawingml/transform2dcontext.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
+#include "drawingml/scene3dcontext.hxx"
+#include "drawingml/linepropertiescontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/transform2dcontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
#include "effectpropertiescontext.hxx"
using namespace oox::core;
diff --git a/oox/source/drawingml/shapestylecontext.cxx b/oox/source/drawingml/shapestylecontext.cxx
index aeb6278b3ec7..1f805f8bd46a 100644
--- a/oox/source/drawingml/shapestylecontext.cxx
+++ b/oox/source/drawingml/shapestylecontext.cxx
@@ -17,10 +17,10 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/shapestylecontext.hxx"
+#include "drawingml/shapestylecontext.hxx"
#include "oox/helper/attributelist.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/spdefcontext.cxx b/oox/source/drawingml/spdefcontext.cxx
index 2b718334454d..3f84106dd42e 100644
--- a/oox/source/drawingml/spdefcontext.cxx
+++ b/oox/source/drawingml/spdefcontext.cxx
@@ -17,11 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/spdefcontext.hxx"
-#include "oox/drawingml/shapepropertiescontext.hxx"
-#include "oox/drawingml/textbody.hxx"
-#include "oox/drawingml/textbodypropertiescontext.hxx"
-#include "oox/drawingml/textliststylecontext.hxx"
+#include "drawingml/spdefcontext.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbody.hxx"
+#include "drawingml/textbodypropertiescontext.hxx"
+#include "drawingml/textliststylecontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/table/tablebackgroundstylecontext.cxx b/oox/source/drawingml/table/tablebackgroundstylecontext.cxx
index a91da191476a..2281d0423041 100644
--- a/oox/source/drawingml/table/tablebackgroundstylecontext.cxx
+++ b/oox/source/drawingml/table/tablebackgroundstylecontext.cxx
@@ -20,7 +20,7 @@
#include <osl/diagnose.h>
#include "drawingml/table/tablebackgroundstylecontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/table/tablecell.cxx b/oox/source/drawingml/table/tablecell.cxx
index 817caba51882..96cb28c47e93 100644
--- a/oox/source/drawingml/table/tablecell.cxx
+++ b/oox/source/drawingml/table/tablecell.cxx
@@ -21,7 +21,7 @@
#include "drawingml/table/tableproperties.hxx"
#include <basegfx/color/bcolor.hxx>
#include "oox/drawingml/shapepropertymap.hxx"
-#include "oox/drawingml/textbody.hxx"
+#include "drawingml/textbody.hxx"
#include "oox/drawingml/theme.hxx"
#include "oox/core/xmlfilterbase.hxx"
#include "oox/helper/propertyset.hxx"
diff --git a/oox/source/drawingml/table/tablecellcontext.cxx b/oox/source/drawingml/table/tablecellcontext.cxx
index c0de51f552e5..b0df1663c10e 100644
--- a/oox/source/drawingml/table/tablecellcontext.cxx
+++ b/oox/source/drawingml/table/tablecellcontext.cxx
@@ -20,9 +20,9 @@
#include <osl/diagnose.h>
#include "drawingml/table/tablecellcontext.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
-#include "oox/drawingml/linepropertiescontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/textbodycontext.hxx"
+#include "drawingml/linepropertiescontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/table/tablecontext.cxx b/oox/source/drawingml/table/tablecontext.cxx
index 52edb76fb6e9..ac6a8624a40a 100644
--- a/oox/source/drawingml/table/tablecontext.cxx
+++ b/oox/source/drawingml/table/tablecontext.cxx
@@ -19,7 +19,7 @@
#include <osl/diagnose.h>
#include "oox/helper/attributelist.hxx"
-#include "oox/drawingml/guidcontext.hxx"
+#include "drawingml/guidcontext.hxx"
#include "drawingml/table/tablecontext.hxx"
#include "drawingml/table/tableproperties.hxx"
#include "drawingml/table/tablestylecontext.hxx"
diff --git a/oox/source/drawingml/table/tablestylecellstylecontext.cxx b/oox/source/drawingml/table/tablestylecellstylecontext.cxx
index a318a0ae91a3..ef9be244dfe0 100644
--- a/oox/source/drawingml/table/tablestylecellstylecontext.cxx
+++ b/oox/source/drawingml/table/tablestylecellstylecontext.cxx
@@ -20,8 +20,8 @@
#include <osl/diagnose.h>
#include "drawingml/table/tablestylecellstylecontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-#include "oox/drawingml/linepropertiescontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/linepropertiescontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/table/tablestyletextstylecontext.cxx b/oox/source/drawingml/table/tablestyletextstylecontext.cxx
index 93277fc15b32..f1e64ff76e13 100644
--- a/oox/source/drawingml/table/tablestyletextstylecontext.cxx
+++ b/oox/source/drawingml/table/tablestyletextstylecontext.cxx
@@ -20,7 +20,7 @@
#include <osl/diagnose.h>
#include "drawingml/table/tablestyletextstylecontext.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/textbody.cxx b/oox/source/drawingml/textbody.cxx
index 9e9d0ddd2c99..165b9dbdba0a 100644
--- a/oox/source/drawingml/textbody.cxx
+++ b/oox/source/drawingml/textbody.cxx
@@ -17,11 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textbody.hxx"
+#include "drawingml/textbody.hxx"
#include <com/sun/star/text/XText.hpp>
#include <com/sun/star/text/XTextCursor.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
-#include "oox/drawingml/textparagraph.hxx"
+#include "drawingml/textparagraph.hxx"
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::text;
diff --git a/oox/source/drawingml/textbodycontext.cxx b/oox/source/drawingml/textbodycontext.cxx
index 9cfffdc186f9..4154e1bb727a 100644
--- a/oox/source/drawingml/textbodycontext.cxx
+++ b/oox/source/drawingml/textbodycontext.cxx
@@ -17,14 +17,14 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textbodycontext.hxx"
-#include "oox/drawingml/textbodypropertiescontext.hxx"
-#include "oox/drawingml/textparagraph.hxx"
-#include "oox/drawingml/textparagraphpropertiescontext.hxx"
-#include "oox/drawingml/textcharacterpropertiescontext.hxx"
-#include "oox/drawingml/textliststylecontext.hxx"
-#include "oox/drawingml/textfield.hxx"
-#include "oox/drawingml/textfieldcontext.hxx"
+#include "drawingml/textbodycontext.hxx"
+#include "drawingml/textbodypropertiescontext.hxx"
+#include "drawingml/textparagraph.hxx"
+#include "drawingml/textparagraphpropertiescontext.hxx"
+#include "drawingml/textcharacterpropertiescontext.hxx"
+#include "drawingml/textliststylecontext.hxx"
+#include "drawingml/textfield.hxx"
+#include "drawingml/textfieldcontext.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/textbodyproperties.cxx b/oox/source/drawingml/textbodyproperties.cxx
index 1c1b4f2f861c..9f146c67a32d 100644
--- a/oox/source/drawingml/textbodyproperties.cxx
+++ b/oox/source/drawingml/textbodyproperties.cxx
@@ -20,7 +20,7 @@
#include <com/sun/star/text/WritingMode.hpp>
#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/textbodyproperties.hxx"
+#include "drawingml/textbodyproperties.hxx"
#include "oox/token/tokens.hxx"
using namespace ::com::sun::star::drawing;
diff --git a/oox/source/drawingml/textbodypropertiescontext.cxx b/oox/source/drawingml/textbodypropertiescontext.cxx
index 80d82a0d6174..89167b666eb4 100644
--- a/oox/source/drawingml/textbodypropertiescontext.cxx
+++ b/oox/source/drawingml/textbodypropertiescontext.cxx
@@ -17,12 +17,12 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textbodypropertiescontext.hxx"
+#include "drawingml/textbodypropertiescontext.hxx"
#include <com/sun/star/text/WritingMode.hpp>
#include <com/sun/star/drawing/TextFitToSizeType.hpp>
#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
-#include "oox/drawingml/textbodyproperties.hxx"
+#include "drawingml/textbodyproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
#include "oox/helper/attributelist.hxx"
#include "oox/helper/propertymap.hxx"
diff --git a/oox/source/drawingml/textcharacterproperties.cxx b/oox/source/drawingml/textcharacterproperties.cxx
index d91988246695..d7a848d99ef1 100644
--- a/oox/source/drawingml/textcharacterproperties.cxx
+++ b/oox/source/drawingml/textcharacterproperties.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textcharacterproperties.hxx"
+#include "drawingml/textcharacterproperties.hxx"
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/awt/FontSlant.hpp>
#include <com/sun/star/awt/FontWeight.hpp>
diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx
index 600f4727c582..87d884e98948 100644
--- a/oox/source/drawingml/textcharacterpropertiescontext.cxx
+++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx
@@ -17,14 +17,14 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textcharacterpropertiescontext.hxx"
+#include "drawingml/textcharacterpropertiescontext.hxx"
#include "oox/helper/attributelist.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
-#include "oox/drawingml/texteffectscontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
+#include "drawingml/texteffectscontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
-#include "oox/drawingml/textparagraphproperties.hxx"
+#include "drawingml/textparagraphproperties.hxx"
#include "oox/core/relations.hxx"
#include "hyperlinkcontext.hxx"
diff --git a/oox/source/drawingml/texteffectscontext.cxx b/oox/source/drawingml/texteffectscontext.cxx
index a4cfd7ace713..e996e1a1afe8 100644
--- a/oox/source/drawingml/texteffectscontext.cxx
+++ b/oox/source/drawingml/texteffectscontext.cxx
@@ -8,7 +8,7 @@
*
*/
-#include "oox/drawingml/texteffectscontext.hxx"
+#include "drawingml/texteffectscontext.hxx"
#include <map>
diff --git a/oox/source/drawingml/textfield.cxx b/oox/source/drawingml/textfield.cxx
index 55b538b0ee96..2523156ade0d 100644
--- a/oox/source/drawingml/textfield.cxx
+++ b/oox/source/drawingml/textfield.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textfield.hxx"
+#include "drawingml/textfield.hxx"
#include <list>
@@ -30,8 +30,8 @@
#include "oox/helper/helper.hxx"
#include "oox/helper/propertyset.hxx"
#include "oox/core/xmlfilterbase.hxx"
-#include "oox/drawingml/textparagraphproperties.hxx"
-#include "oox/drawingml/textcharacterproperties.hxx"
+#include "drawingml/textparagraphproperties.hxx"
+#include "drawingml/textcharacterproperties.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/textfieldcontext.cxx b/oox/source/drawingml/textfieldcontext.cxx
index 8dcb14d3baeb..d0ea8aa95506 100644
--- a/oox/source/drawingml/textfieldcontext.cxx
+++ b/oox/source/drawingml/textfieldcontext.cxx
@@ -17,10 +17,10 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textfieldcontext.hxx"
-#include "oox/drawingml/textparagraphpropertiescontext.hxx"
-#include "oox/drawingml/textcharacterpropertiescontext.hxx"
-#include "oox/drawingml/textfield.hxx"
+#include "drawingml/textfieldcontext.hxx"
+#include "drawingml/textparagraphpropertiescontext.hxx"
+#include "drawingml/textcharacterpropertiescontext.hxx"
+#include "drawingml/textfield.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::uno;
diff --git a/oox/source/drawingml/textfont.cxx b/oox/source/drawingml/textfont.cxx
index 2bda567cc115..742f020c2ace 100644
--- a/oox/source/drawingml/textfont.cxx
+++ b/oox/source/drawingml/textfont.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textfont.hxx"
+#include "drawingml/textfont.hxx"
#include <com/sun/star/awt/FontFamily.hpp>
#include <com/sun/star/awt/FontPitch.hpp>
#include "oox/drawingml/theme.hxx"
diff --git a/oox/source/drawingml/textliststyle.cxx b/oox/source/drawingml/textliststyle.cxx
index 3a92b120ab64..29b359fdf97e 100644
--- a/oox/source/drawingml/textliststyle.cxx
+++ b/oox/source/drawingml/textliststyle.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textliststyle.hxx"
+#include "drawingml/textliststyle.hxx"
namespace oox { namespace drawingml {
diff --git a/oox/source/drawingml/textliststylecontext.cxx b/oox/source/drawingml/textliststylecontext.cxx
index 117351bea284..b8ada9e836fb 100644
--- a/oox/source/drawingml/textliststylecontext.cxx
+++ b/oox/source/drawingml/textliststylecontext.cxx
@@ -17,8 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textliststylecontext.hxx"
-#include "oox/drawingml/textparagraphpropertiescontext.hxx"
+#include "drawingml/textliststylecontext.hxx"
+#include "drawingml/textparagraphpropertiescontext.hxx"
#include "oox/helper/attributelist.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/textparagraph.cxx b/oox/source/drawingml/textparagraph.cxx
index 098a9415222f..ce6109983895 100644
--- a/oox/source/drawingml/textparagraph.cxx
+++ b/oox/source/drawingml/textparagraph.cxx
@@ -17,9 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textparagraph.hxx"
+#include "drawingml/textparagraph.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/textcharacterproperties.hxx"
+#include "drawingml/textcharacterproperties.hxx"
#include <rtl/ustring.hxx>
#include "oox/helper/propertyset.hxx"
diff --git a/oox/source/drawingml/textparagraphproperties.cxx b/oox/source/drawingml/textparagraphproperties.cxx
index 924a5e4d14e8..a7b5f6bfba84 100644
--- a/oox/source/drawingml/textparagraphproperties.cxx
+++ b/oox/source/drawingml/textparagraphproperties.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textparagraphproperties.hxx"
+#include "drawingml/textparagraphproperties.hxx"
#include <com/sun/star/text/XNumberingRulesSupplier.hpp>
#include <com/sun/star/container/XIndexReplace.hpp>
diff --git a/oox/source/drawingml/textparagraphpropertiescontext.cxx b/oox/source/drawingml/textparagraphpropertiescontext.cxx
index 035f99ac2a0f..6c01a0a0e06e 100644
--- a/oox/source/drawingml/textparagraphpropertiescontext.cxx
+++ b/oox/source/drawingml/textparagraphpropertiescontext.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textparagraphpropertiescontext.hxx"
+#include "drawingml/textparagraphpropertiescontext.hxx"
#include <com/sun/star/text/WritingMode2.hpp>
#include <com/sun/star/awt/FontDescriptor.hpp>
@@ -25,8 +25,8 @@
#include <svx/unopage.hxx>
-#include "oox/drawingml/colorchoicecontext.hxx"
-#include "oox/drawingml/textcharacterpropertiescontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
+#include "drawingml/textcharacterpropertiescontext.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/helper/attributelist.hxx"
#include "textspacingcontext.hxx"
diff --git a/oox/source/drawingml/textrun.cxx b/oox/source/drawingml/textrun.cxx
index 99e40fc131af..b988522882dd 100644
--- a/oox/source/drawingml/textrun.cxx
+++ b/oox/source/drawingml/textrun.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textrun.hxx"
+#include "drawingml/textrun.hxx"
#include <com/sun/star/text/ControlCharacter.hpp>
#include <com/sun/star/beans/XMultiPropertySet.hpp>
diff --git a/oox/source/drawingml/textspacingcontext.cxx b/oox/source/drawingml/textspacingcontext.cxx
index 8ef0caec6a83..ef0556d3036d 100644
--- a/oox/source/drawingml/textspacingcontext.cxx
+++ b/oox/source/drawingml/textspacingcontext.cxx
@@ -18,7 +18,7 @@
*/
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/textspacing.hxx"
+#include "drawingml/textspacing.hxx"
#include "textspacingcontext.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/theme.cxx b/oox/source/drawingml/theme.cxx
index 31c3c1bd12cf..8f4b7bcd410e 100644
--- a/oox/source/drawingml/theme.cxx
+++ b/oox/source/drawingml/theme.cxx
@@ -18,6 +18,8 @@
*/
#include "oox/drawingml/theme.hxx"
+#include <oox/token/tokens.hxx>
+#include <drawingml/textcharacterproperties.hxx>
namespace oox {
namespace drawingml {
diff --git a/oox/source/drawingml/themeelementscontext.cxx b/oox/source/drawingml/themeelementscontext.cxx
index 0b6ab7a6b127..d28150b22362 100644
--- a/oox/source/drawingml/themeelementscontext.cxx
+++ b/oox/source/drawingml/themeelementscontext.cxx
@@ -17,12 +17,13 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/themeelementscontext.hxx"
-#include "oox/drawingml/clrschemecontext.hxx"
+#include "drawingml/themeelementscontext.hxx"
+#include "drawingml/clrschemecontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
-#include "oox/drawingml/linepropertiescontext.hxx"
+#include "drawingml/linepropertiescontext.hxx"
#include "oox/drawingml/fillproperties.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/textcharacterproperties.hxx"
#include "oox/drawingml/theme.hxx"
#include "oox/helper/attributelist.hxx"
#include "effectproperties.hxx"
diff --git a/oox/source/drawingml/themefragmenthandler.cxx b/oox/source/drawingml/themefragmenthandler.cxx
index b0f4f85a3a8d..edb044bbd823 100644
--- a/oox/source/drawingml/themefragmenthandler.cxx
+++ b/oox/source/drawingml/themefragmenthandler.cxx
@@ -18,9 +18,9 @@
*/
#include "oox/drawingml/themefragmenthandler.hxx"
-#include "oox/drawingml/objectdefaultcontext.hxx"
+#include "drawingml/objectdefaultcontext.hxx"
#include "oox/drawingml/theme.hxx"
-#include "oox/drawingml/themeelementscontext.hxx"
+#include "drawingml/themeelementscontext.hxx"
using namespace ::oox::core;
diff --git a/oox/source/drawingml/transform2dcontext.cxx b/oox/source/drawingml/transform2dcontext.cxx
index d3f7f5ee4df3..a6a39eb60b0a 100644
--- a/oox/source/drawingml/transform2dcontext.cxx
+++ b/oox/source/drawingml/transform2dcontext.cxx
@@ -17,10 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/transform2dcontext.hxx"
+#include "drawingml/transform2dcontext.hxx"
#include "oox/helper/attributelist.hxx"
#include "oox/drawingml/shape.hxx"
-#include "oox/drawingml/textbody.hxx"
+#include "drawingml/customshapeproperties.hxx"
+#include "drawingml/textbody.hxx"
using namespace ::com::sun::star;
using ::com::sun::star::uno::Reference;
diff --git a/oox/source/ppt/animvariantcontext.cxx b/oox/source/ppt/animvariantcontext.cxx
index bc5aca0e262c..92cb578e83a6 100644
--- a/oox/source/ppt/animvariantcontext.cxx
+++ b/oox/source/ppt/animvariantcontext.cxx
@@ -29,7 +29,7 @@
#include "oox/helper/attributelist.hxx"
#include "oox/core/fragmenthandler.hxx"
#include "oox/core/xmlfilterbase.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
#include "pptfilterhelpers.hxx"
using namespace ::oox::core;
diff --git a/oox/source/ppt/backgroundproperties.cxx b/oox/source/ppt/backgroundproperties.cxx
index e081a7552965..c2c8ef219553 100644
--- a/oox/source/ppt/backgroundproperties.cxx
+++ b/oox/source/ppt/backgroundproperties.cxx
@@ -18,7 +18,7 @@
*/
#include "oox/ppt/backgroundproperties.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
#include "oox/core/contexthandler2.hxx"
diff --git a/oox/source/ppt/dgmlayout.cxx b/oox/source/ppt/dgmlayout.cxx
index 9af11a27d0c9..678fb71daecf 100644
--- a/oox/source/ppt/dgmlayout.cxx
+++ b/oox/source/ppt/dgmlayout.cxx
@@ -23,6 +23,7 @@
#include "drawingml/diagram/diagram.hxx"
#include "oox/dump/pptxdumper.hxx"
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/drawing/XShape.hpp>
#include <com/sun/star/drawing/XMasterPageTarget.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
diff --git a/oox/source/ppt/pptgraphicshapecontext.cxx b/oox/source/ppt/pptgraphicshapecontext.cxx
index 229867d1b7f7..c31cc55b1455 100644
--- a/oox/source/ppt/pptgraphicshapecontext.cxx
+++ b/oox/source/ppt/pptgraphicshapecontext.cxx
@@ -27,13 +27,13 @@
#include "oox/ppt/pptgraphicshapecontext.hxx"
#include "oox/ppt/pptshapepropertiescontext.hxx"
#include "oox/ppt/slidepersist.hxx"
-#include "oox/drawingml/shapestylecontext.hxx"
+#include "drawingml/shapestylecontext.hxx"
#include "oox/token/namespaces.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/textbodycontext.hxx"
#include <oox/token/tokens.hxx>
using namespace oox::core;
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx
index d02612860ce3..f454f4487fe9 100644
--- a/oox/source/ppt/pptshape.cxx
+++ b/oox/source/ppt/pptshape.cxx
@@ -19,7 +19,7 @@
#include "oox/ppt/pptshape.hxx"
#include "oox/core/xmlfilterbase.hxx"
-#include "oox/drawingml/textbody.hxx"
+#include "drawingml/textbody.hxx"
#include <com/sun/star/container/XNamed.hpp>
#include <com/sun/star/beans/XMultiPropertySet.hpp>
diff --git a/oox/source/ppt/pptshapecontext.cxx b/oox/source/ppt/pptshapecontext.cxx
index c0117aa85b5d..e5e0fce1c634 100644
--- a/oox/source/ppt/pptshapecontext.cxx
+++ b/oox/source/ppt/pptshapecontext.cxx
@@ -28,13 +28,13 @@
#include "oox/ppt/pptshapecontext.hxx"
#include "oox/ppt/pptshapepropertiescontext.hxx"
#include "oox/ppt/slidepersist.hxx"
-#include "oox/drawingml/shapestylecontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/shapestylecontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
-#include "oox/drawingml/transform2dcontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/textbodycontext.hxx"
+#include "drawingml/transform2dcontext.hxx"
using namespace oox::core;
using namespace ::com::sun::star;
diff --git a/oox/source/ppt/pptshapegroupcontext.cxx b/oox/source/ppt/pptshapegroupcontext.cxx
index 9bf3d2bd5383..fb6f7803307c 100644
--- a/oox/source/ppt/pptshapegroupcontext.cxx
+++ b/oox/source/ppt/pptshapegroupcontext.cxx
@@ -29,8 +29,9 @@
#include "oox/drawingml/graphicshapecontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/shapepropertiescontext.hxx"
+#include "drawingml/textbodycontext.hxx"
#include "oox/drawingml/connectorshapecontext.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "extdrawingfragmenthandler.hxx"
diff --git a/oox/source/ppt/pptshapepropertiescontext.cxx b/oox/source/ppt/pptshapepropertiescontext.cxx
index 77ba83c32f7c..cf1278320ccb 100644
--- a/oox/source/ppt/pptshapepropertiescontext.cxx
+++ b/oox/source/ppt/pptshapepropertiescontext.cxx
@@ -26,12 +26,12 @@
#include "oox/ppt/pptshape.hxx"
#include "oox/ppt/pptshapepropertiescontext.hxx"
#include "oox/ppt/slidepersist.hxx"
-#include "oox/drawingml/shapestylecontext.hxx"
-#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
+#include "drawingml/shapestylecontext.hxx"
+#include "drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/customshapegeometry.hxx"
-#include "oox/drawingml/textbodycontext.hxx"
+#include "drawingml/customshapegeometry.hxx"
+#include "drawingml/textbodycontext.hxx"
using namespace oox::core;
using namespace ::com::sun::star;
diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx
index a0eb00152436..bef84de51bd6 100644
--- a/oox/source/ppt/presentationfragmenthandler.cxx
+++ b/oox/source/ppt/presentationfragmenthandler.cxx
@@ -35,7 +35,7 @@
#include "oox/drawingml/theme.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
#include "oox/drawingml/themefragmenthandler.hxx"
-#include "oox/drawingml/textliststylecontext.hxx"
+#include "drawingml/textliststylecontext.hxx"
#include "oox/ppt/pptshape.hxx"
#include "oox/ppt/presentationfragmenthandler.hxx"
#include "oox/ppt/slidefragmenthandler.hxx"
diff --git a/oox/source/ppt/slidefragmenthandler.cxx b/oox/source/ppt/slidefragmenthandler.cxx
index 70c9472395d8..0edece08f800 100644
--- a/oox/source/ppt/slidefragmenthandler.cxx
+++ b/oox/source/ppt/slidefragmenthandler.cxx
@@ -35,7 +35,8 @@
#include "oox/ppt/pptshape.hxx"
#include "oox/vml/vmldrawing.hxx"
#include "oox/vml/vmldrawingfragment.hxx"
-#include "oox/drawingml/clrschemecontext.hxx"
+#include "drawingml/clrschemecontext.hxx"
+#include "drawingml/textliststyle.hxx"
#include "oox/ppt/pptimport.hxx"
using namespace ::com::sun::star;
diff --git a/oox/source/ppt/slidemastertextstylescontext.cxx b/oox/source/ppt/slidemastertextstylescontext.cxx
index 71f67677ce0a..876f495c041e 100644
--- a/oox/source/ppt/slidemastertextstylescontext.cxx
+++ b/oox/source/ppt/slidemastertextstylescontext.cxx
@@ -17,8 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "oox/drawingml/textliststyle.hxx"
-#include "oox/drawingml/textliststylecontext.hxx"
+#include "drawingml/textliststyle.hxx"
+#include "drawingml/textliststylecontext.hxx"
#include "oox/ppt/slidemastertextstylescontext.hxx"
using namespace ::oox::core;
diff --git a/oox/source/ppt/slidepersist.cxx b/oox/source/ppt/slidepersist.cxx
index b13c5f7eb889..54b28e6ad96a 100644
--- a/oox/source/ppt/slidepersist.cxx
+++ b/oox/source/ppt/slidepersist.cxx
@@ -22,9 +22,12 @@
#include "oox/ppt/slidepersist.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/drawingml/shapepropertymap.hxx"
+#include "oox/helper/propertymap.hxx"
#include "oox/helper/propertyset.hxx"
#include "oox/vml/vmldrawing.hxx"
#include "oox/core/xmlfilterbase.hxx"
+#include "drawingml/textliststyle.hxx"
+#include "drawingml/textparagraphproperties.hxx"
#include <com/sun/star/style/XStyle.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
diff --git a/oox/source/ppt/soundactioncontext.cxx b/oox/source/ppt/soundactioncontext.cxx
index 9d72e3ebeff1..0996fdb3f947 100644
--- a/oox/source/ppt/soundactioncontext.cxx
+++ b/oox/source/ppt/soundactioncontext.cxx
@@ -24,7 +24,7 @@
#include "oox/helper/attributelist.hxx"
#include "oox/helper/propertymap.hxx"
-#include "oox/drawingml/embeddedwavaudiofile.hxx"
+#include "drawingml/embeddedwavaudiofile.hxx"
using namespace ::oox::core;
using namespace ::com::sun::star::xml::sax;
diff --git a/oox/source/ppt/timenodelistcontext.cxx b/oox/source/ppt/timenodelistcontext.cxx
index a2ab7dce42e3..5f3db9acde88 100644
--- a/oox/source/ppt/timenodelistcontext.cxx
+++ b/oox/source/ppt/timenodelistcontext.cxx
@@ -41,7 +41,7 @@
#include "oox/helper/attributelist.hxx"
#include "oox/core/xmlfilterbase.hxx"
#include "oox/drawingml/drawingmltypes.hxx"
-#include "oox/drawingml/colorchoicecontext.hxx"
+#include "drawingml/colorchoicecontext.hxx"
#include "oox/ppt/slidetransition.hxx"
#include "animvariantcontext.hxx"
diff --git a/oox/source/ppt/timetargetelementcontext.cxx b/oox/source/ppt/timetargetelementcontext.cxx
index 93e3dd0d5578..230dd89558ed 100644
--- a/oox/source/ppt/timetargetelementcontext.cxx
+++ b/oox/source/ppt/timetargetelementcontext.cxx
@@ -26,7 +26,7 @@
#include <com/sun/star/uno/Any.hxx>
#include "oox/helper/attributelist.hxx"
-#include "oox/drawingml/embeddedwavaudiofile.hxx"
+#include "drawingml/embeddedwavaudiofile.hxx"
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::xml::sax;
diff --git a/oox/source/shape/WpgContext.cxx b/oox/source/shape/WpgContext.cxx
index 9b62fef85897..4cbf200f8ce2 100644
--- a/oox/source/shape/WpgContext.cxx
+++ b/oox/source/shape/WpgContext.cxx
@@ -8,7 +8,7 @@
*/
#include "WpgContext.hxx"
-#include <oox/drawingml/shapepropertiescontext.hxx>
+#include <drawingml/shapepropertiescontext.hxx>
#include <oox/drawingml/shapegroupcontext.hxx>
#include <oox/drawingml/graphicshapecontext.hxx>
diff --git a/oox/source/shape/WpsContext.cxx b/oox/source/shape/WpsContext.cxx
index fb42e6268394..4d5863873fd5 100644
--- a/oox/source/shape/WpsContext.cxx
+++ b/oox/source/shape/WpsContext.cxx
@@ -8,11 +8,15 @@
*/
#include "WpsContext.hxx"
-#include <oox/drawingml/shapepropertiescontext.hxx>
-#include <oox/drawingml/shapestylecontext.hxx>
+#include <drawingml/customshapeproperties.hxx>
+#include <drawingml/shapepropertiescontext.hxx>
+#include <drawingml/shapestylecontext.hxx>
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <oox/drawingml/drawingmltypes.hxx>
+#include <boost/optional.hpp>
+
using namespace com::sun::star;
namespace oox