diff options
Diffstat (limited to 'drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx')
-rw-r--r-- | drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx index 70cfe675046e..4a8383a5a354 100644 --- a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx @@ -21,10 +21,10 @@ #include <basegfx/polygon/b2dpolygon.hxx> #include <basegfx/polygon/b2dpolygontools.hxx> #include <basegfx/color/bcolor.hxx> +#include <drawinglayer/primitive2d/PolygonHairlinePrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonColorPrimitive2D.hxx> #include <drawinglayer/primitive2d/transparenceprimitive2d.hxx> #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> -#include <drawinglayer/primitive2d/polygonprimitive2d.hxx> using namespace com::sun::star; @@ -33,9 +33,9 @@ using namespace com::sun::star; namespace drawinglayer::primitive2d { UnifiedTransparencePrimitive2D::UnifiedTransparencePrimitive2D( - const Primitive2DContainer& rChildren, + Primitive2DContainer&& aChildren, double fTransparence) - : GroupPrimitive2D(rChildren), + : GroupPrimitive2D(std::move(aChildren)), mfTransparence(fTransparence) { } @@ -85,15 +85,15 @@ namespace drawinglayer::primitive2d // I will take the last one here. The small overhead of two primitives will only be // used when UnifiedTransparencePrimitive2D is not handled directly. const basegfx::B2DRange aPolygonRange(getChildren().getB2DRange(rViewInformation)); - const basegfx::B2DPolygon aPolygon(basegfx::utils::createPolygonFromRect(aPolygonRange)); + basegfx::B2DPolygon aPolygon(basegfx::utils::createPolygonFromRect(aPolygonRange)); const basegfx::BColor aGray(getTransparence(), getTransparence(), getTransparence()); Primitive2DContainer aTransparenceContent(2); - aTransparenceContent[0] = Primitive2DReference(new PolyPolygonColorPrimitive2D(basegfx::B2DPolyPolygon(aPolygon), aGray)); - aTransparenceContent[1] = Primitive2DReference(new PolygonHairlinePrimitive2D(aPolygon, aGray)); + aTransparenceContent[0] = new PolyPolygonColorPrimitive2D(basegfx::B2DPolyPolygon(aPolygon), aGray); + aTransparenceContent[1] = new PolygonHairlinePrimitive2D(std::move(aPolygon), aGray); // create sub-transparence group with a gray-colored rectangular fill polygon - rVisitor.append(new TransparencePrimitive2D(getChildren(), aTransparenceContent)); + rVisitor.visit(new TransparencePrimitive2D(Primitive2DContainer(getChildren()), std::move(aTransparenceContent))); } else { @@ -102,7 +102,10 @@ namespace drawinglayer::primitive2d } // provide unique ID - ImplPrimitive2DIDBlock(UnifiedTransparencePrimitive2D, PRIMITIVE2D_ID_UNIFIEDTRANSPARENCEPRIMITIVE2D) + sal_uInt32 UnifiedTransparencePrimitive2D::getPrimitive2DID() const + { + return PRIMITIVE2D_ID_UNIFIEDTRANSPARENCEPRIMITIVE2D; + } } // end of namespace |