diff options
author | Tamas Bunth <tamas.bunth@collabora.co.uk> | 2020-01-21 19:04:13 +0100 |
---|---|---|
committer | Tamás Bunth <btomi96@gmail.com> | 2020-03-03 15:52:47 +0100 |
commit | f9fc420dceb1ece2c98767da16a21aaff771f140 (patch) | |
tree | 299b9c856a3567ee85af11b7b314d2d02a03420b /svx | |
parent | 224ab38f747dcafe711c10b54ad53c52bda9e41d (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')
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 |