Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : *
9 : */
10 :
11 : #ifndef INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
12 : #define INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
13 :
14 : #include "LoggedResources.hxx"
15 :
16 : #include <com/sun/star/beans/PropertyValue.hpp>
17 : #include <com/sun/star/lang/XComponent.hpp>
18 : #include <i18nlangtag/languagetag.hxx>
19 :
20 : #include <PropertyIds.hxx>
21 :
22 : #include <oox/helper/grabbagstack.hxx>
23 :
24 : #include <boost/scoped_ptr.hpp>
25 : #include <boost/optional.hpp>
26 :
27 : namespace writerfilter {
28 : namespace dmapper
29 : {
30 :
31 : /// Class to process all text effects like glow, textOutline, ...
32 : class TextEffectsHandler : public LoggedProperties
33 : {
34 : private:
35 : boost::optional<PropertyIds> maPropertyId;
36 : OUString maElementName;
37 : boost::scoped_ptr<oox::GrabBagStack> mpGrabBagStack;
38 :
39 : void convertElementIdToPropertyId(sal_Int32 aElementId);
40 :
41 : // LoggedProperties
42 : virtual void lcl_attribute(Id aName, Value& aValue) SAL_OVERRIDE;
43 : virtual void lcl_sprm(Sprm& sprm) SAL_OVERRIDE;
44 :
45 : public:
46 : TextEffectsHandler(sal_uInt32 aElementId);
47 : virtual ~TextEffectsHandler();
48 :
49 435 : boost::optional<PropertyIds> getGrabBagPropertyId() { return maPropertyId;}
50 :
51 : css::beans::PropertyValue getInteropGrabBag();
52 :
53 : static OUString getSchemeColorValTypeString(sal_Int32 nType);
54 : static OUString getRectAlignmentString(sal_Int32 nType);
55 : static OUString getLineCapString(sal_Int32 nType);
56 : static OUString getCompoundLineString(sal_Int32 nType);
57 : static OUString getPenAlignmentString(sal_Int32 nType);
58 : static OUString getOnOffString(sal_Int32 nType);
59 : static OUString getPathShadeTypeString(sal_Int32 nType);
60 : static OUString getPresetLineDashValString(sal_Int32 nType);
61 : static OUString getPresetCameraTypeString(sal_Int32 nType);
62 : static OUString getLightRigTypeString(sal_Int32 nType);
63 : static OUString getLightRigDirectionString(sal_Int32 nType);
64 : static OUString getBevelPresetTypeString(sal_Int32 nType);
65 : static OUString getPresetMaterialTypeString(sal_Int32 nType);
66 : static OUString getLigaturesString(sal_Int32 nType);
67 : static OUString getNumFormString(sal_Int32 nType);
68 : static OUString getNumSpacingString(sal_Int32 nType);
69 :
70 : };
71 :
72 : typedef std::shared_ptr<TextEffectsHandler> TextEffectsHandlerPtr;
73 :
74 : }}
75 :
76 : #endif // INCLUDED_WRITERFILTER_SOURCE_DMAPPER_TEXTEFFECTSHANDLER_HXX
77 :
78 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|