diff options
author | Gülşah Köse <gulsah.kose@collabora.com> | 2020-11-17 12:43:12 +0300 |
---|---|---|
committer | Gülşah Köse <gulsah.kose@collabora.com> | 2020-11-18 10:36:07 +0100 |
commit | 72998fc859a83f063698c287d035f3fdc8b4481c (patch) | |
tree | 98563e4ba8e354aab4fd6cd0f6b0cb0aef1741ea /oox/inc | |
parent | 6fa1161d3113d43f38acdf9207627659fbc137c8 (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.hxx | 13 | ||||
-rw-r--r-- | oox/inc/drawingml/shape3dproperties.hxx | 7 | ||||
-rw-r--r-- | oox/inc/drawingml/textbody.hxx | 5 |
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; }; } |