diff options
Diffstat (limited to 'svx/source/sdr/primitive2d/sdrdecompositiontools.cxx')
-rw-r--r-- | svx/source/sdr/primitive2d/sdrdecompositiontools.cxx | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx index 6787e0d5a322..d6822bfd1519 100644 --- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx +++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx @@ -481,16 +481,26 @@ namespace drawinglayer Primitive2DContainer createEmbeddedShadowPrimitive( const Primitive2DContainer& rContent, - const attribute::SdrShadowAttribute& rShadow) + const attribute::SdrShadowAttribute& rShadow, + sal_Int32 nGraphicTranslateX, + sal_Int32 nGraphicTranslateY) { if(!rContent.empty()) { Primitive2DContainer aRetval(2); basegfx::B2DHomMatrix aShadowOffset; - // prepare shadow offset - aShadowOffset.set(0, 2, rShadow.getOffset().getX()); - aShadowOffset.set(1, 2, rShadow.getOffset().getY()); + { + if(rShadow.getSize().getX() != 100000) + { + // Scale the shadow + aShadowOffset.translate(-nGraphicTranslateX, -nGraphicTranslateY); + aShadowOffset.scale(rShadow.getSize().getX() * 0.00001, rShadow.getSize().getY() * 0.00001); + aShadowOffset.translate(nGraphicTranslateX, nGraphicTranslateY); + } + + aShadowOffset.translate(rShadow.getOffset().getX(), rShadow.getOffset().getY()); + } // create shadow primitive and add content aRetval[0] = Primitive2DReference( |