summaryrefslogtreecommitdiff
path: root/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'drawinglayer/source/primitive2d/patternfillprimitive2d.cxx')
-rw-r--r--drawinglayer/source/primitive2d/patternfillprimitive2d.cxx59
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;
}