LibreOffice Module oox (master) 1
effectproperties.hxx
Go to the documentation of this file.
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
15
16#include <memory>
17#include <vector>
18#include <map>
19
20namespace oox::drawingml {
21
23{
24 std::optional< sal_Int64 > moGlowRad; // size of glow effect
26 // TODO saturation and luminance missing
27
28 void assignUsed( const EffectGlowProperties& rSourceProps );
29};
30
32{
33 std::optional<sal_Int64> moRad; // size of effect
34
35 void assignUsed(const EffectSoftEdgeProperties& rSourceProps);
36};
37
39{
40 std::optional< sal_Int64 > moShadowDist;
41 std::optional< sal_Int64 > moShadowDir;
42 std::optional< sal_Int64 > moShadowSx;
43 std::optional< sal_Int64 > moShadowSy;
45 std::optional< sal_Int64 > moShadowBlur; // size of blur effect
46
48 void assignUsed( const EffectShadowProperties& rSourceProps );
49};
50
51struct Effect
52{
53 OUString msName;
54 std::map< OUString, css::uno::Any > maAttribs;
56
57 css::beans::PropertyValue getEffect();
58};
59
61{
65
67 std::vector<std::unique_ptr<Effect>> m_Effects;
68
71 {
72 assignUsed(rOther);
73 }
74
76 void assignUsed( const EffectProperties& rSourceProps );
77
79 void pushToPropMap(
80 PropertyMap& rPropMap,
81 const GraphicHelper& rGraphicHelper ) const;
82};
83
84} // namespace oox::drawingml
85
86#endif
87
88/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Provides helper functions for colors, device measurement conversion, graphics, and graphic objects ha...
A helper that maps property identifiers to property values.
Definition: propertymap.hxx:52
std::optional< sal_Int64 > moGlowRad
void assignUsed(const EffectGlowProperties &rSourceProps)
EffectProperties(EffectProperties const &rOther)
EffectSoftEdgeProperties maSoftEdge
std::vector< std::unique_ptr< Effect > > m_Effects
Stores all effect properties, including those not supported by core yet.
void assignUsed(const EffectProperties &rSourceProps)
Overwrites all members that are explicitly set in rSourceProps.
void pushToPropMap(PropertyMap &rPropMap, const GraphicHelper &rGraphicHelper) const
Writes the properties to the passed property map.
std::optional< sal_Int64 > moShadowDist
std::optional< sal_Int64 > moShadowSx
std::optional< sal_Int64 > moShadowBlur
std::optional< sal_Int64 > moShadowSy
std::optional< sal_Int64 > moShadowDir
void assignUsed(const EffectShadowProperties &rSourceProps)
Overwrites all members that are explicitly set in rSourceProps.
void assignUsed(const EffectSoftEdgeProperties &rSourceProps)
std::map< OUString, css::uno::Any > maAttribs
css::beans::PropertyValue getEffect()