summaryrefslogtreecommitdiff
path: root/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sdr/primitive2d/sdrdecompositiontools.cxx')
-rw-r--r--svx/source/sdr/primitive2d/sdrdecompositiontools.cxx18
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(