diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-03-10 14:19:26 +0100 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-03-10 17:12:26 +0100 |
commit | 1959431528686bd1b73b73c2664c8c161c2194f5 (patch) | |
tree | 473d2d2ffd434041245b15e4776d212250fafafb /include/oox | |
parent | d665e63be3e4dfad44b178ee90ad83f9408fd43c (diff) |
oox: handle all w14 text effects at groupshape import
When dealing with groupshapes, the responsibility to process the
w14 text effects elements is in oox. This commit adds the code
to handle all elements and its children elements and attributes and
puts the values into a CharInteropGrabBag.
Change-Id: Iafb8759bd60e0ee831296dc2d9159f4311ad5403
Diffstat (limited to 'include/oox')
-rw-r--r-- | include/oox/drawingml/textcharacterproperties.hxx | 2 | ||||
-rw-r--r-- | include/oox/drawingml/texteffectscontext.hxx | 50 |
2 files changed, 52 insertions, 0 deletions
diff --git a/include/oox/drawingml/textcharacterproperties.hxx b/include/oox/drawingml/textcharacterproperties.hxx index cdcdd268acfc..e51937ffbe80 100644 --- a/include/oox/drawingml/textcharacterproperties.hxx +++ b/include/oox/drawingml/textcharacterproperties.hxx @@ -57,6 +57,8 @@ struct TextCharacterProperties OptValue< bool > moUnderlineLineFollowText; OptValue< bool > moUnderlineFillFollowText; + std::vector<css::beans::PropertyValue> maTextEffectsProperties; + /** Overwrites all members that are explicitly set in rSourceProps. */ void assignUsed( const TextCharacterProperties& rSourceProps ); diff --git a/include/oox/drawingml/texteffectscontext.hxx b/include/oox/drawingml/texteffectscontext.hxx new file mode 100644 index 000000000000..b8e3aeb4a4a0 --- /dev/null +++ b/include/oox/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: */ |