diff options
Diffstat (limited to 'drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx')
-rw-r--r-- | drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx index 826583b1404c..d69bb87b865c 100644 --- a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx +++ b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx @@ -36,6 +36,7 @@ #include <drawinglayer/attribute/sdrfillattribute.hxx> #include <drawinglayer/attribute/sdrshadowattribute.hxx> #include <primitive3d/hiddengeometryprimitive3d.hxx> +#include <rtl/ref.hxx> namespace drawinglayer::primitive3d @@ -136,15 +137,14 @@ namespace drawinglayer::primitive3d // create line and stroke attribute const attribute::LineAttribute aLineAttribute(rLine.getColor(), rLine.getWidth(), rLine.getJoin(), rLine.getCap()); - const attribute::StrokeAttribute aStrokeAttribute(rLine.getDotDashArray(), rLine.getFullDotDashLen()); + const attribute::StrokeAttribute aStrokeAttribute(std::vector(rLine.getDotDashArray()), rLine.getFullDotDashLen()); // create primitives Primitive3DContainer aRetval(aScaledPolyPolygon.count()); for(sal_uInt32 a(0); a < aScaledPolyPolygon.count(); a++) { - const Primitive3DReference xRef(new PolygonStrokePrimitive3D(aScaledPolyPolygon.getB3DPolygon(a), aLineAttribute, aStrokeAttribute)); - aRetval[a] = xRef; + aRetval[a] = new PolygonStrokePrimitive3D(aScaledPolyPolygon.getB3DPolygon(a), aLineAttribute, aStrokeAttribute); } if(0.0 != rLine.getTransparence()) @@ -184,7 +184,7 @@ namespace drawinglayer::primitive3d } const Primitive3DReference xRef(new PolyPolygonMaterialPrimitive3D( - aScaledPolyPolygon, + std::move(aScaledPolyPolygon), aSdr3DObjectAttribute.getMaterial(), aSdr3DObjectAttribute.getDoubleSided())); aRetval[a] = xRef; @@ -197,7 +197,7 @@ namespace drawinglayer::primitive3d { bool bModulate(css::drawing::TextureMode_MODULATE == aSdr3DObjectAttribute.getTextureMode()); bool bFilter(aSdr3DObjectAttribute.getTextureFilter()); - BasePrimitive3D* pNewTexturePrimitive3D = nullptr; + rtl::Reference<BasePrimitive3D> pNewTexturePrimitive3D; if(!rFill.getGradient().isDefault()) { @@ -233,18 +233,17 @@ namespace drawinglayer::primitive3d } // exchange aRetval content with texture group - const Primitive3DReference xRef(pNewTexturePrimitive3D); - aRetval = { xRef }; + aRetval = { Primitive3DReference(pNewTexturePrimitive3D) }; if(css::drawing::TextureKind2_LUMINANCE == aSdr3DObjectAttribute.getTextureKind()) { // use modified color primitive to force textures to gray - const basegfx::BColorModifierSharedPtr aBColorModifier = + basegfx::BColorModifierSharedPtr aBColorModifier = std::make_shared<basegfx::BColorModifier_gray>(); - const Primitive3DReference xRef2( + Primitive3DReference xRef2( new ModifiedColorPrimitive3D( aRetval, - aBColorModifier)); + std::move(aBColorModifier))); aRetval = { xRef2 }; } |