lok: vcl: fix multiple floatwin removal case more robustly.
[LibreOffice.git] / writerfilter / source / dmapper / TextEffectsHandler.hxx
blobd09504cbceb7f1017a419149bb824c0e89eda231
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 */
11 #ifndef INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
12 #define INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
14 #include "LoggedResources.hxx"
16 #include <com/sun/star/beans/PropertyValue.hpp>
17 #include <com/sun/star/lang/XComponent.hpp>
19 #include "PropertyIds.hxx"
21 #include <oox/helper/grabbagstack.hxx>
23 #include <memory>
24 #include <boost/optional.hpp>
26 namespace writerfilter {
27 namespace dmapper
30 /// Class to process all text effects like glow, textOutline, ...
31 class TextEffectsHandler : public LoggedProperties
33 private:
34 boost::optional<PropertyIds> maPropertyId;
35 OUString maElementName;
36 std::unique_ptr<oox::GrabBagStack> mpGrabBagStack;
38 void convertElementIdToPropertyId(sal_Int32 aElementId);
40 // LoggedProperties
41 virtual void lcl_attribute(Id aName, Value& aValue) override;
42 virtual void lcl_sprm(Sprm& sprm) override;
44 public:
45 explicit TextEffectsHandler(sal_uInt32 aElementId);
46 virtual ~TextEffectsHandler() override;
48 const boost::optional<PropertyIds>& getGrabBagPropertyId() { return maPropertyId;}
50 css::beans::PropertyValue getInteropGrabBag();
52 static OUString getSchemeColorValTypeString(sal_Int32 nType);
53 static OUString getRectAlignmentString(sal_Int32 nType);
54 static OUString getLineCapString(sal_Int32 nType);
55 static OUString getCompoundLineString(sal_Int32 nType);
56 static OUString getPenAlignmentString(sal_Int32 nType);
57 static OUString getOnOffString(sal_Int32 nType);
58 static OUString getPathShadeTypeString(sal_Int32 nType);
59 static OUString getPresetLineDashValString(sal_Int32 nType);
60 static OUString getPresetCameraTypeString(sal_Int32 nType);
61 static OUString getLightRigTypeString(sal_Int32 nType);
62 static OUString getLightRigDirectionString(sal_Int32 nType);
63 static OUString getBevelPresetTypeString(sal_Int32 nType);
64 static OUString getPresetMaterialTypeString(sal_Int32 nType);
65 static OUString getLigaturesString(sal_Int32 nType);
66 static OUString getNumFormString(sal_Int32 nType);
67 static OUString getNumSpacingString(sal_Int32 nType);
73 #endif // INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
75 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */