summaryrefslogtreecommitdiff
path: root/oox/inc
diff options
context:
space:
mode:
authorGülşah Köse <gulsah.kose@collabora.com>2020-11-17 12:43:12 +0300
committerGülşah Köse <gulsah.kose@collabora.com>2020-11-18 10:36:07 +0100
commit72998fc859a83f063698c287d035f3fdc8b4481c (patch)
tree98563e4ba8e354aab4fd6cd0f6b0cb0aef1741ea /oox/inc
parent6fa1161d3113d43f38acdf9207627659fbc137c8 (diff)
tdf#128213 Fix text camera z rotation import and export.
Text3DProperties is added to distinguish shape and text 3D effects. Before there was implementation error about text camera z rotation support. We were using shape effects for text. We already have not support shape 3D rotation but we have text camera z rotation. This patch includes import and export filter changes about text camera z rotation. Change-Id: I623392b82edf4585888d2f15ad91ffb2109d8f96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106033 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
Diffstat (limited to 'oox/inc')
-rw-r--r--oox/inc/drawingml/scene3dcontext.hxx13
-rw-r--r--oox/inc/drawingml/shape3dproperties.hxx7
-rw-r--r--oox/inc/drawingml/textbody.hxx5
3 files changed, 22 insertions, 3 deletions
diff --git a/oox/inc/drawingml/scene3dcontext.hxx b/oox/inc/drawingml/scene3dcontext.hxx
index efc9e694f659..400cfff98063 100644
--- a/oox/inc/drawingml/scene3dcontext.hxx
+++ b/oox/inc/drawingml/scene3dcontext.hxx
@@ -41,14 +41,23 @@ private:
class Scene3DPropertiesContext final : public ::oox::core::ContextHandler2
{
public:
- Scene3DPropertiesContext( ::oox::core::ContextHandler2Helper const & rParent, Shape3DProperties& r3DProperties ) throw();
-
+ Scene3DPropertiesContext( ::oox::core::ContextHandler2Helper const & rParent, Shape3DProperties& rShape3DProperties ) throw();
::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) override;
private:
Shape3DProperties& mr3DProperties;
};
+class SceneText3DPropertiesContext final : public ::oox::core::ContextHandler2
+{
+public:
+ SceneText3DPropertiesContext( ::oox::core::ContextHandler2Helper const & rParent, Text3DProperties& rText3DProperties ) throw();
+ ::oox::core::ContextHandlerRef onCreateContext( ::sal_Int32 Element, const ::oox::AttributeList& rAttribs ) override;
+
+private:
+ Text3DProperties& mr3DProperties;
+};
+
class Shape3DPropertiesContext final : public ::oox::core::ContextHandler2
{
public:
diff --git a/oox/inc/drawingml/shape3dproperties.hxx b/oox/inc/drawingml/shape3dproperties.hxx
index 683a771b8bdc..c43e643aae5c 100644
--- a/oox/inc/drawingml/shape3dproperties.hxx
+++ b/oox/inc/drawingml/shape3dproperties.hxx
@@ -44,7 +44,7 @@ struct BevelProperties
OptValue< sal_Int32 > mnHeight;
};
-struct Shape3DProperties
+struct Generic3DProperties
{
OptValue< sal_Int32 > mnPreset;
OptValue< float > mfFieldOfVision;
@@ -79,6 +79,11 @@ struct Shape3DProperties
const Color& rColor, const GraphicHelper& rGraphicHelper, ::Color rPhClr );
};
+struct Shape3DProperties : Generic3DProperties
+{};
+
+struct Text3DProperties : Generic3DProperties
+{};
} // namespace oox::drawingml
diff --git a/oox/inc/drawingml/textbody.hxx b/oox/inc/drawingml/textbody.hxx
index db4c03c6f702..5e6d156e7ce4 100644
--- a/oox/inc/drawingml/textbody.hxx
+++ b/oox/inc/drawingml/textbody.hxx
@@ -23,6 +23,7 @@
#include <oox/drawingml/drawingmltypes.hxx>
#include <drawingml/textbodyproperties.hxx>
#include <drawingml/textliststyle.hxx>
+#include <drawingml/shape3dproperties.hxx>
namespace com::sun::star::text {
class XText;
@@ -53,6 +54,9 @@ public:
const TextBodyProperties& getTextProperties() const { return maTextProperties; }
TextBodyProperties& getTextProperties() { return maTextProperties; }
+ Text3DProperties& get3DProperties() { return ma3DProperties; }
+ const Text3DProperties& get3DProperties() const { return ma3DProperties; }
+
/** insert the text body at the text cursor */
void insertAt(
const ::oox::core::XmlFilterBase& rFilterBase,
@@ -72,6 +76,7 @@ protected:
TextParagraphVector maParagraphs;
TextBodyProperties maTextProperties;
TextListStyle maTextListStyle;
+ Text3DProperties ma3DProperties;
};
}