diff options
Diffstat (limited to 'drawinglayer/source/primitive2d/patternfillprimitive2d.cxx')
-rw-r--r-- | drawinglayer/source/primitive2d/patternfillprimitive2d.cxx | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx index cd4c58d11127..516b0042d960 100644 --- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx @@ -29,6 +29,7 @@ #include <toolkit/helper/vclunohelper.hxx> #include <drawinglayer/converters.hxx> +#include <utility> using namespace com::sun::star; @@ -125,11 +126,11 @@ namespace drawinglayer::primitive2d if(0 != mnDiscreteWidth && 0 != mnDiscreteHeight) { const geometry::ViewInformation2D aViewInformation2D; - primitive2d::Primitive2DReference xEmbedRef( - new primitive2d::TransformPrimitive2D( - basegfx::utils::createScaleB2DHomMatrix(mnDiscreteWidth, mnDiscreteHeight), - Primitive2DContainer(getChildren()))); - primitive2d::Primitive2DContainer xEmbedSeq { xEmbedRef }; + primitive2d::Primitive2DContainer xEmbedSeq { + new primitive2d::TransformPrimitive2D( + basegfx::utils::createScaleB2DHomMatrix(mnDiscreteWidth, mnDiscreteHeight), + Primitive2DContainer(getChildren())) + }; const BitmapEx aBitmapEx( convertToBitmapEx( @@ -147,7 +148,7 @@ namespace drawinglayer::primitive2d { const primitive2d::Primitive2DReference xEmbedRefBitmap( new primitive2d::BitmapPrimitive2D( - VCLUnoHelper::CreateVCLXBitmap(aBitmapEx), + aBitmapEx, basegfx::B2DHomMatrix())); aContent = primitive2d::Primitive2DContainer { xEmbedRefBitmap }; } @@ -201,20 +202,20 @@ namespace drawinglayer::primitive2d nWidth * nHeight); } - void PatternFillPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const + Primitive2DReference PatternFillPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const { Primitive2DContainer aRetval; if(getChildren().empty()) - return; + return nullptr; if(!(!getReferenceRange().isEmpty() && getReferenceRange().getWidth() > 0.0 && getReferenceRange().getHeight() > 0.0)) - return; + return nullptr; const basegfx::B2DRange aMaskRange(getMask().getB2DRange()); if(!(!aMaskRange.isEmpty() && aMaskRange.getWidth() > 0.0 && aMaskRange.getHeight() > 0.0)) - return; + return nullptr; // create tiling matrices std::vector< basegfx::B2DHomMatrix > aMatrices; @@ -243,28 +244,25 @@ namespace drawinglayer::primitive2d aMaskRange.getRange(), aMaskRange.getMinimum())); - Primitive2DReference xRef( - new TransformPrimitive2D( - aMaskTransform, - std::move(aRetval))); - - aRetval = Primitive2DContainer { xRef }; + aRetval = Primitive2DContainer { + new TransformPrimitive2D( + aMaskTransform, + std::move(aRetval)) + }; } // embed result in mask - { - rContainer.push_back( - new MaskPrimitive2D( - getMask(), - std::move(aRetval))); - } + return + new MaskPrimitive2D( + getMask(), + std::move(aRetval)); } PatternFillPrimitive2D::PatternFillPrimitive2D( - const basegfx::B2DPolyPolygon& rMask, + basegfx::B2DPolyPolygon aMask, Primitive2DContainer&& rChildren, const basegfx::B2DRange& rReferenceRange) - : maMask(rMask), + : maMask(std::move(aMask)), maChildren(std::move(rChildren)), maReferenceRange(rReferenceRange), mnDiscreteWidth(0), @@ -343,24 +341,19 @@ namespace drawinglayer::primitive2d PatternFillPrimitive2D* pThat = const_cast< PatternFillPrimitive2D* >(this); pThat->mnDiscreteWidth = nW; pThat->mnDiscreteHeight = nH; - pThat->setBuffered2DDecomposition(Primitive2DContainer()); + pThat->setBuffered2DDecomposition(nullptr); } // call parent BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation); } - sal_Int64 SAL_CALL PatternFillPrimitive2D::estimateUsage() + sal_Int64 PatternFillPrimitive2D::estimateUsage() { size_t nRet(0); for (auto& it : getChildren()) - { - uno::Reference<util::XAccounting> const xAcc(it, uno::UNO_QUERY); - if (xAcc.is()) - { - nRet += xAcc->estimateUsage(); - } - } + if (it) + nRet += it->estimateUsage(); return nRet; } |