summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2020-01-21 19:04:13 +0100
committerTamás Bunth <btomi96@gmail.com>2020-03-03 15:52:47 +0100
commitf9fc420dceb1ece2c98767da16a21aaff771f140 (patch)
tree299b9c856a3567ee85af11b7b314d2d02a03420b /svx
parent224ab38f747dcafe711c10b54ad53c52bda9e41d (diff)
tdf#101181 Implement glow effect on shapes
Glow effect is a color-blurred outline outside of the shape. In ooxml document it is specified with the <a:glow> element. The commit contains the following: - Add support for importing and exporting <a:glow> from ooxml documents. - Assign new properties to XShape which stores glow-related attributes. - A new 2D primitive is introduced in module 'drawinglayer' which is responsible for representing the glow primitive which is to be rendered. + A glow primitive is a clone of the original shape which has been scaled up slightly and a new color has been assigned to it. The radius of the glow effect and the color is defined in the <a:glow> element being imported. - A blur algorithm is introduced in module 'vcl', which is called during rendering the primitive. + The blur algorithm works on a bitmap. + Since the algorithm is CPU-intensive, the result is cached in the processor and it is recalculated only if needed. - Add support for importing and exporting glow effect to ODF format. For that, new attributes of element <style:graphic-properties> has been added: + loext:glow, which can have the values "visible" or "hidden" + loext:glow-radius: which holds the radius of the glow effect in cm. + loext:glow-color: holds the color of the glow effect - Tests have been added to assert properties after pptx import and export. Change-Id: I836aeb5e0f24e2c8d5725834c8c0f98083bc82e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89125 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/inc/sdr/attribute/sdrlinefillshadowtextattribute.hxx3
-rw-r--r--svx/inc/sdr/attribute/sdrlineshadowtextattribute.hxx4
-rw-r--r--svx/inc/sdr/attribute/sdrshadowtextattribute.hxx8
-rw-r--r--svx/inc/sdr/primitive2d/sdrattributecreator.hxx4
-rw-r--r--svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx6
-rw-r--r--svx/source/sdr/attribute/sdrlinefillshadowtextattribute.cxx5
-rw-r--r--svx/source/sdr/attribute/sdrlineshadowtextattribute.cxx5
-rw-r--r--svx/source/sdr/attribute/sdrshadowtextattribute.cxx15
-rw-r--r--svx/source/sdr/primitive2d/sdrattributecreator.cxx28
-rw-r--r--svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx8
-rw-r--r--svx/source/sdr/primitive2d/sdrdecompositiontools.cxx21
-rw-r--r--svx/source/sdr/properties/customshapeproperties.cxx3
-rw-r--r--svx/source/svdraw/svdattr.cxx8
-rw-r--r--svx/source/unodraw/unoprov.cxx11
14 files changed, 114 insertions, 15 deletions
diff --git a/svx/inc/sdr/attribute/sdrlinefillshadowtextattribute.hxx b/svx/inc/sdr/attribute/sdrlinefillshadowtextattribute.hxx
index 519800e7dd02..f9d7969e519a 100644
--- a/svx/inc/sdr/attribute/sdrlinefillshadowtextattribute.hxx
+++ b/svx/inc/sdr/attribute/sdrlinefillshadowtextattribute.hxx
@@ -41,7 +41,8 @@ namespace drawinglayer
const SdrLineStartEndAttribute& rLineStartEnd,
const SdrShadowAttribute& rShadow,
const FillGradientAttribute& rFillFloatTransGradient,
- const SdrTextAttribute& rTextAttribute);
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow);
SdrLineFillShadowTextAttribute();
SdrLineFillShadowTextAttribute(const SdrLineFillShadowTextAttribute& rCandidate);
SdrLineFillShadowTextAttribute& operator=(const SdrLineFillShadowTextAttribute& rCandidate);
diff --git a/svx/inc/sdr/attribute/sdrlineshadowtextattribute.hxx b/svx/inc/sdr/attribute/sdrlineshadowtextattribute.hxx
index af7df7982422..840b20e44cc9 100644
--- a/svx/inc/sdr/attribute/sdrlineshadowtextattribute.hxx
+++ b/svx/inc/sdr/attribute/sdrlineshadowtextattribute.hxx
@@ -20,6 +20,7 @@
#pragma once
#include <sdr/attribute/sdrshadowtextattribute.hxx>
+#include <drawinglayer/attribute/sdrglowattribute.hxx>
#include <drawinglayer/attribute/sdrlineattribute.hxx>
#include <drawinglayer/attribute/sdrlinestartendattribute.hxx>
@@ -39,7 +40,8 @@ namespace drawinglayer
const SdrLineAttribute& rLine,
const SdrLineStartEndAttribute& rLineStartEnd,
const SdrShadowAttribute& rShadow,
- const SdrTextAttribute& rTextAttribute);
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow);
SdrLineShadowTextAttribute();
SdrLineShadowTextAttribute(const SdrLineShadowTextAttribute& rCandidate);
SdrLineShadowTextAttribute& operator=(const SdrLineShadowTextAttribute& rCandidate);
diff --git a/svx/inc/sdr/attribute/sdrshadowtextattribute.hxx b/svx/inc/sdr/attribute/sdrshadowtextattribute.hxx
index c58437b70928..bbcd7e95a501 100644
--- a/svx/inc/sdr/attribute/sdrshadowtextattribute.hxx
+++ b/svx/inc/sdr/attribute/sdrshadowtextattribute.hxx
@@ -21,6 +21,7 @@
#include <drawinglayer/attribute/sdrshadowattribute.hxx>
#include <sdr/attribute/sdrtextattribute.hxx>
+#include <drawinglayer/attribute/sdrglowattribute.hxx>
namespace drawinglayer
@@ -33,10 +34,14 @@ namespace drawinglayer
SdrShadowAttribute maShadow; // shadow attributes (if used)
SdrTextAttribute maTextAttribute; // text and text attributes (if used)
+ // glow effect
+ SdrGlowAttribute maGlow;
+
public:
SdrShadowTextAttribute(
const SdrShadowAttribute& rShadow,
- const SdrTextAttribute& rTextAttribute);
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow);
SdrShadowTextAttribute();
SdrShadowTextAttribute(const SdrShadowTextAttribute& rCandidate);
SdrShadowTextAttribute& operator=(const SdrShadowTextAttribute& rCandidate);
@@ -50,6 +55,7 @@ namespace drawinglayer
// data access
const SdrShadowAttribute& getShadow() const { return maShadow; }
const SdrTextAttribute& getText() const { return maTextAttribute; }
+ const SdrGlowAttribute& getGlow() const { return maGlow; }
};
} // end of namespace attribute
} // end of namespace drawinglayer
diff --git a/svx/inc/sdr/primitive2d/sdrattributecreator.hxx b/svx/inc/sdr/primitive2d/sdrattributecreator.hxx
index 1d9e17d60d2a..da0242eed3a5 100644
--- a/svx/inc/sdr/primitive2d/sdrattributecreator.hxx
+++ b/svx/inc/sdr/primitive2d/sdrattributecreator.hxx
@@ -31,6 +31,7 @@ namespace drawinglayer { namespace attribute {
class SdrLineAttribute;
class SdrLineStartEndAttribute;
class SdrShadowAttribute;
+ class SdrGlowAttribute;
class SdrFillAttribute;
class SdrTextAttribute;
class FillGradientAttribute;
@@ -67,6 +68,9 @@ namespace drawinglayer
attribute::SdrFillAttribute SVXCORE_DLLPUBLIC createNewSdrFillAttribute(
const SfxItemSet& rSet);
+ attribute::SdrGlowAttribute createNewSdrGlowAttribute(
+ const SfxItemSet& rSet);
+
// #i101508# Support handing over given text-to-border distances
attribute::SdrTextAttribute createNewSdrTextAttribute(
const SfxItemSet& rSet,
diff --git a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
index f55edda1b7c1..6a2cf1993305 100644
--- a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
+++ b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
@@ -20,6 +20,8 @@
#pragma once
#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <drawinglayer/attribute/sdrglowattribute.hxx>
+
#include <svx/svxdllapi.h>
// predefines
@@ -71,6 +73,10 @@ namespace drawinglayer
const Primitive2DContainer& rContent,
const attribute::SdrShadowAttribute& rShadow);
+ Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedGlowPrimitive(
+ const Primitive2DContainer& rContent,
+ const attribute::SdrGlowAttribute& rGlow);
+
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/svx/source/sdr/attribute/sdrlinefillshadowtextattribute.cxx b/svx/source/sdr/attribute/sdrlinefillshadowtextattribute.cxx
index 6ab08fcba99f..9ecbf331961e 100644
--- a/svx/source/sdr/attribute/sdrlinefillshadowtextattribute.cxx
+++ b/svx/source/sdr/attribute/sdrlinefillshadowtextattribute.cxx
@@ -29,8 +29,9 @@ namespace drawinglayer::attribute
const SdrLineStartEndAttribute& rLineStartEnd,
const SdrShadowAttribute& rShadow,
const FillGradientAttribute& rFillFloatTransGradient,
- const SdrTextAttribute& rTextAttribute)
- : SdrLineShadowTextAttribute(rLine, rLineStartEnd, rShadow, rTextAttribute),
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow)
+ : SdrLineShadowTextAttribute(rLine, rLineStartEnd, rShadow, rTextAttribute, rGlow),
maFill(rFill),
maFillFloatTransGradient(rFillFloatTransGradient)
{
diff --git a/svx/source/sdr/attribute/sdrlineshadowtextattribute.cxx b/svx/source/sdr/attribute/sdrlineshadowtextattribute.cxx
index bc15ad8473e4..667a996d1379 100644
--- a/svx/source/sdr/attribute/sdrlineshadowtextattribute.cxx
+++ b/svx/source/sdr/attribute/sdrlineshadowtextattribute.cxx
@@ -27,8 +27,9 @@ namespace drawinglayer::attribute
const SdrLineAttribute& rLine,
const SdrLineStartEndAttribute& rLineStartEnd,
const SdrShadowAttribute& rShadow,
- const SdrTextAttribute& rTextAttribute)
- : SdrShadowTextAttribute(rShadow, rTextAttribute),
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow)
+ : SdrShadowTextAttribute(rShadow, rTextAttribute, rGlow),
maLine(rLine),
maLineStartEnd(rLineStartEnd)
{
diff --git a/svx/source/sdr/attribute/sdrshadowtextattribute.cxx b/svx/source/sdr/attribute/sdrshadowtextattribute.cxx
index 8d08b770a7a0..705981a62c16 100644
--- a/svx/source/sdr/attribute/sdrshadowtextattribute.cxx
+++ b/svx/source/sdr/attribute/sdrshadowtextattribute.cxx
@@ -25,9 +25,11 @@ namespace drawinglayer::attribute
{
SdrShadowTextAttribute::SdrShadowTextAttribute(
const SdrShadowAttribute& rShadow,
- const SdrTextAttribute& rTextAttribute)
+ const SdrTextAttribute& rTextAttribute,
+ const SdrGlowAttribute& rGlow)
: maShadow(rShadow),
- maTextAttribute(rTextAttribute)
+ maTextAttribute(rTextAttribute),
+ maGlow(rGlow)
{
}
@@ -39,7 +41,8 @@ namespace drawinglayer::attribute
SdrShadowTextAttribute::SdrShadowTextAttribute(const SdrShadowTextAttribute& rCandidate)
: maShadow(rCandidate.getShadow()),
- maTextAttribute(rCandidate.getText())
+ maTextAttribute(rCandidate.getText()),
+ maGlow(rCandidate.maGlow)
{
}
@@ -47,6 +50,7 @@ namespace drawinglayer::attribute
{
maShadow = rCandidate.getShadow();
maTextAttribute = rCandidate.getText();
+ maGlow = rCandidate.maGlow;
return *this;
}
@@ -54,13 +58,14 @@ namespace drawinglayer::attribute
bool SdrShadowTextAttribute::isDefault() const
{
return (getShadow().isDefault()
- && getText().isDefault());
+ && getText().isDefault() && maGlow.isDefault());
}
bool SdrShadowTextAttribute::operator==(const SdrShadowTextAttribute& rCandidate) const
{
return (getShadow() == rCandidate.getShadow()
- && getText() == rCandidate.getText());
+ && getText() == rCandidate.getText()
+ && maGlow.isDefault());
}
} // end of namespace
diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
index 7afbada0c1be..18f5aae3e884 100644
--- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx
+++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
@@ -75,12 +75,15 @@
#include <sdr/attribute/sdrlineshadowtextattribute.hxx>
#include <sdr/attribute/sdrformtextattribute.hxx>
#include <sdr/attribute/sdrlinefillshadowtextattribute.hxx>
+#include <drawinglayer/attribute/sdrglowattribute.hxx>
#include <drawinglayer/attribute/sdrsceneattribute3d.hxx>
#include <drawinglayer/attribute/sdrlightingattribute3d.hxx>
#include <drawinglayer/attribute/sdrlightattribute3d.hxx>
#include <sdr/attribute/sdrfilltextattribute.hxx>
#include <com/sun/star/drawing/LineCap.hpp>
+#include <sal/log.hxx>
+
using namespace com::sun::star;
namespace drawinglayer
@@ -332,6 +335,18 @@ namespace drawinglayer::primitive2d
return attribute::SdrLineStartEndAttribute();
}
+ attribute::SdrGlowAttribute createNewSdrGlowAttribute( const SfxItemSet& rSet)
+ {
+ const bool bGlow(rSet.Get(SDRATTR_GLOW).GetValue());
+ if(!bGlow)
+ return attribute::SdrGlowAttribute();
+ sal_Int32 nRadius = rSet.Get(SDRATTR_GLOW_RAD).GetValue();
+ const Color aColor(rSet.Get(SDRATTR_GLOW_COLOR).GetColorValue());
+
+ attribute::SdrGlowAttribute glowAttr{ nRadius, aColor.getBColor() };
+ return glowAttr;
+ }
+
attribute::SdrShadowAttribute createNewSdrShadowAttribute(const SfxItemSet& rSet)
{
const bool bShadow(rSet.Get(SDRATTR_SHADOW).GetValue());
@@ -724,8 +739,9 @@ namespace drawinglayer::primitive2d
// try shadow
const attribute::SdrShadowAttribute aShadow(createNewSdrShadowAttribute(rSet));
+ const attribute::SdrGlowAttribute aGlow(createNewSdrGlowAttribute(rSet));
- return attribute::SdrShadowTextAttribute(aShadow, aText);
+ return attribute::SdrShadowTextAttribute(aShadow, aText, aGlow);
}
attribute::SdrLineShadowTextAttribute createNewSdrLineShadowTextAttribute(
@@ -735,6 +751,7 @@ namespace drawinglayer::primitive2d
attribute::SdrLineAttribute aLine;
attribute::SdrLineStartEndAttribute aLineStartEnd;
attribute::SdrTextAttribute aText;
+ attribute::SdrGlowAttribute aGlow;
bool bFontworkHideContour(false);
// look for text first
@@ -768,8 +785,9 @@ namespace drawinglayer::primitive2d
{
// try shadow
const attribute::SdrShadowAttribute aShadow(createNewSdrShadowAttribute(rSet));
+ aGlow = createNewSdrGlowAttribute(rSet);
- return attribute::SdrLineShadowTextAttribute(aLine, aLineStartEnd, aShadow, aText);
+ return attribute::SdrLineShadowTextAttribute(aLine, aLineStartEnd, aShadow, aText, aGlow);
}
return attribute::SdrLineShadowTextAttribute();
@@ -786,6 +804,7 @@ namespace drawinglayer::primitive2d
attribute::SdrShadowAttribute aShadow;
attribute::FillGradientAttribute aFillFloatTransGradient;
attribute::SdrTextAttribute aText;
+ attribute::SdrGlowAttribute aGlow;
bool bFontworkHideContour(false);
// look for text first
@@ -831,8 +850,11 @@ namespace drawinglayer::primitive2d
// try shadow
aShadow = createNewSdrShadowAttribute(rSet);
+ // glow
+ aGlow = createNewSdrGlowAttribute(rSet);
+
return attribute::SdrLineFillShadowTextAttribute(
- aLine, aFill, aLineStartEnd, aShadow, aFillFloatTransGradient, aText);
+ aLine, aFill, aLineStartEnd, aShadow, aFillFloatTransGradient, aText, aGlow);
}
return attribute::SdrLineFillShadowTextAttribute();
diff --git a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
index 7d32c753151f..804a653c86b2 100644
--- a/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d.cxx
@@ -25,6 +25,8 @@
#include <svx/sdr/primitive2d/svx_primitivetypes2d.hxx>
#include <drawinglayer/attribute/sdrlineattribute.hxx>
+#include <sal/log.hxx>
+
using namespace com::sun::star;
@@ -69,6 +71,12 @@ namespace drawinglayer::primitive2d
}
}
+ if(!aRetval.empty() && !getSdrSTAttribute().getGlow().isDefault())
+ {
+ // glow
+ aRetval = createEmbeddedGlowPrimitive(aRetval, getSdrSTAttribute().getGlow());
+ }
+
rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
}
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
index 9aaf398030f5..e89b2a537b21 100644
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
@@ -31,6 +31,7 @@
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/primitive2d/shadowprimitive2d.hxx>
#include <sdr/attribute/sdrtextattribute.hxx>
+#include <drawinglayer/primitive2d/glowprimitive2d.hxx>
#include <sdr/primitive2d/sdrtextprimitive2d.hxx>
#include <svx/svdotext.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
@@ -43,6 +44,7 @@
#include <drawinglayer/attribute/sdrlineattribute.hxx>
#include <drawinglayer/attribute/sdrlinestartendattribute.hxx>
#include <drawinglayer/attribute/sdrshadowattribute.hxx>
+#include <drawinglayer/attribute/sdrglowattribute.hxx>
using namespace com::sun::star;
@@ -514,6 +516,25 @@ namespace drawinglayer::primitive2d
return rContent;
}
}
+
+ Primitive2DContainer createEmbeddedGlowPrimitive(
+ const Primitive2DContainer& rContent,
+ const attribute::SdrGlowAttribute& rGlow)
+ {
+ if(rContent.empty())
+ return rContent;
+ Primitive2DContainer aRetval(2);
+ const uno::Sequence< beans::PropertyValue > xViewParameters;
+ geometry::ViewInformation2D aViewInformation2D(xViewParameters);
+ aRetval[0] = Primitive2DReference(
+ new GlowPrimitive2D(
+ rGlow.GetTransfMatrix(rContent.getB2DRange(aViewInformation2D)),
+ rGlow.getColor(),
+ rContent));
+ aRetval[1] = Primitive2DReference(new GroupPrimitive2D(rContent));
+ return aRetval;
+ }
+
} // end of namespace
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/sdr/properties/customshapeproperties.cxx b/svx/source/sdr/properties/customshapeproperties.cxx
index cb9425754e39..f9da077101ee 100644
--- a/svx/source/sdr/properties/customshapeproperties.cxx
+++ b/svx/source/sdr/properties/customshapeproperties.cxx
@@ -28,6 +28,8 @@
#include <svl/whiter.hxx>
#include <svl/hint.hxx>
+#include <sal/log.hxx>
+
namespace sdr::properties
{
@@ -71,6 +73,7 @@ namespace sdr::properties
// Graphic attributes, 3D properties, CustomShape
// properties:
SDRATTR_GRAF_FIRST, SDRATTR_CUSTOMSHAPE_LAST,
+ SDRATTR_GLOW_FIRST, SDRATTR_GLOW_LAST,
// Range from SdrTextObj:
EE_ITEMS_START, EE_ITEMS_END>{});
}
diff --git a/svx/source/svdraw/svdattr.cxx b/svx/source/svdraw/svdattr.cxx
index e1d56b706b25..af8d7f7d45b9 100644
--- a/svx/source/svdraw/svdattr.cxx
+++ b/svx/source/svdraw/svdattr.cxx
@@ -326,6 +326,10 @@ SdrItemPool::SdrItemPool(
rPoolDefaults[ SDRATTR_TABLE_BORDER_BLTR - SDRATTR_START ] = new SvxLineItem( SDRATTR_TABLE_BORDER_BLTR );
rPoolDefaults[ SDRATTR_TABLE_TEXT_ROTATION - SDRATTR_START ] = new SvxTextRotateItem(0, SDRATTR_TABLE_TEXT_ROTATION);
+ rPoolDefaults[ SDRATTR_GLOW - SDRATTR_START ] = new SdrOnOffItem(SDRATTR_GLOW, false);
+ rPoolDefaults[ SDRATTR_GLOW_RAD - SDRATTR_START ] = new SdrMetricItem(SDRATTR_GLOW_RAD, 0);
+ rPoolDefaults[ SDRATTR_GLOW_COLOR - SDRATTR_START ] = new XColorItem(SDRATTR_GLOW_COLOR, aNullCol);
+
// set own ItemInfos
mpLocalItemInfos[SDRATTR_SHADOW-SDRATTR_START]._nSID=SID_ATTR_FILL_SHADOW;
mpLocalItemInfos[SDRATTR_SHADOWCOLOR-SDRATTR_START]._nSID=SID_ATTR_SHADOW_COLOR;
@@ -446,6 +450,10 @@ OUString SdrItemPool::GetItemName(sal_uInt16 nWhich)
case SDRATTR_SHADOW3D : pResId = SIP_SA_SHADOW3D;break;
case SDRATTR_SHADOWPERSP : pResId = SIP_SA_SHADOWPERSP;break;
+ case SDRATTR_GLOW : pResId = SIP_SA_GLOW;break;
+ case SDRATTR_GLOW_RAD : pResId = SIP_SA_GLOW_RAD;break;
+ case SDRATTR_GLOW_COLOR : pResId = SIP_SA_GLOW_COLOR;break;
+
case SDRATTR_CAPTIONTYPE : pResId = SIP_SA_CAPTIONTYPE;break;
case SDRATTR_CAPTIONFIXEDANGLE: pResId = SIP_SA_CAPTIONFIXEDANGLE;break;
case SDRATTR_CAPTIONANGLE : pResId = SIP_SA_CAPTIONANGLE;break;
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
index 639b8c798d39..67406c63ba40 100644
--- a/svx/source/unodraw/unoprov.cxx
+++ b/svx/source/unodraw/unoprov.cxx
@@ -68,6 +68,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxShapePropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -91,6 +92,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxTextShapePropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES_NO_SHEAR
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -115,6 +117,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxConnectorPropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -139,6 +142,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxDimensioningPropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -163,6 +167,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxCirclePropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -189,6 +194,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxPolyPolygonPropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -218,6 +224,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxGraphicObjectPropertyMap()
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
// #FontWork#
@@ -368,6 +375,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxAllPropertyMap()
{
static SfxItemPropertyMapEntry const aAllPropertyMap_Impl[] =
{
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
LINE_PROPERTIES
LINE_PROPERTIES_START_END
@@ -430,6 +438,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxOle2PropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
FONTWORK_PROPERTIES
@@ -681,6 +690,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxCustomShapePropertyMap()
SHAPE_DESCRIPTOR_PROPERTIES
MISC_OBJ_PROPERTIES
LINKTARGET_PROPERTIES
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
TEXT_PROPERTIES
{OUString("UserDefinedAttributes"), SDRATTR_XMLATTRIBUTES, cppu::UnoType<css::container::XNameContainer>::get(), 0, 0},
@@ -759,6 +769,7 @@ static comphelper::PropertyMapEntry const * ImplGetSvxDrawingDefaultsPropertyMap
{
static comphelper::PropertyMapEntry const aSvxDrawingDefaultsPropertyMap_Impl[] =
{
+ GLOW_PROPERTIES
SHADOW_PROPERTIES
LINE_PROPERTIES_DEFAULTS
FILL_PROPERTIES_BMP