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 : #ifndef INCLUDED_OOX_DRAWINGML_EFFECTPROPERTIES_HXX
11 : #define INCLUDED_OOX_DRAWINGML_EFFECTPROPERTIES_HXX
12 :
13 : #include <map>
14 : #include <oox/drawingml/color.hxx>
15 : #include <oox/helper/propertymap.hxx>
16 :
17 : #include <boost/ptr_container/ptr_vector.hpp>
18 :
19 : namespace oox {
20 : namespace drawingml {
21 :
22 67374 : struct EffectShadowProperties
23 : {
24 : OptValue< sal_Int64 > moShadowDist;
25 : OptValue< sal_Int64 > moShadowDir;
26 : OptValue< sal_Int64 > moShadowAlpha;
27 : Color moShadowColor;
28 :
29 : /** Overwrites all members that are explicitly set in rSourceProps. */
30 : void assignUsed( const EffectShadowProperties& rSourceProps );
31 : };
32 :
33 8984 : struct Effect
34 : {
35 : OUString msName;
36 : std::map< OUString, css::uno::Any > maAttribs;
37 : Color moColor;
38 :
39 : css::beans::PropertyValue getEffect();
40 : };
41 :
42 67374 : struct EffectProperties
43 : {
44 : EffectShadowProperties maShadow;
45 :
46 : /** Stores all effect properties, including those not supported by core yet */
47 : boost::ptr_vector< Effect > maEffects;
48 :
49 : /** Overwrites all members that are explicitly set in rSourceProps. */
50 : void assignUsed( const EffectProperties& rSourceProps );
51 :
52 : /** Writes the properties to the passed property map. */
53 : void pushToPropMap(
54 : PropertyMap& rPropMap,
55 : const GraphicHelper& rGraphicHelper ) const;
56 : };
57 :
58 : } // namespace drawingml
59 : } // namespace oox
60 :
61 : #endif
62 :
63 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|