summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-11-14 09:11:35 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2016-12-22 06:44:08 +0000
commitcc15806b527cc02c57bd92211fda259e33963106 (patch)
tree85aa90d0f1013ccef85cbfa2c0f064f905b0c464 /drawinglayer
parent41f7878ccbc457ef0431c999d38d9d77265d5dc7 (diff)
convert BasePrimitive2D::get2DDecomposition to use a visitor
which lets us avoid constructing the decomposition when we are only interesting in the bounding box, e.g. for hit testing Change-Id: Icd8d430b75d207063f1db70e5a0822d5d82a7d00 Reviewed-on: https://gerrit.libreoffice.org/30835 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/primitive2d/animatedprimitive2d.cxx14
-rw-r--r--drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/baseprimitive2d.cxx38
-rw-r--r--drawinglayer/source/primitive2d/controlprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/cropprimitive2d.cxx6
-rw-r--r--drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx6
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx10
-rw-r--r--drawinglayer/source/primitive2d/gridprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/groupprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/helplineprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx2
-rw-r--r--drawinglayer/source/primitive2d/patternfillprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/polygonprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/primitivetools2d.cxx16
-rw-r--r--drawinglayer/source/primitive2d/sceneprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/shadowprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/texteffectprimitive2d.cxx4
-rw-r--r--drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx6
-rw-r--r--drawinglayer/source/processor2d/hittestprocessor2d.cxx2
19 files changed, 83 insertions, 57 deletions
diff --git a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
index 13564af2bce5..63c25273e7aa 100644
--- a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
@@ -64,7 +64,7 @@ namespace drawinglayer
return false;
}
- void AnimatedSwitchPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedSwitchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
if(!getChildren().empty())
{
@@ -78,7 +78,7 @@ namespace drawinglayer
}
const Primitive2DReference xRef(getChildren()[nIndex], uno::UNO_QUERY_THROW);
- rContainer.push_back(xRef);
+ rVisitor.append(xRef);
}
}
@@ -100,7 +100,7 @@ namespace drawinglayer
{
}
- void AnimatedBlinkPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedBlinkPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
if(!getChildren().empty())
{
@@ -108,7 +108,7 @@ namespace drawinglayer
if(fState < 0.5)
{
- getChildren(rContainer);
+ getChildren(rVisitor);
}
}
}
@@ -141,7 +141,7 @@ namespace drawinglayer
}
}
- void AnimatedInterpolatePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedInterpolatePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
const sal_uInt32 nSize(maMatrixStack.size());
@@ -188,11 +188,11 @@ namespace drawinglayer
// create new transform primitive reference, return new sequence
const Primitive2DReference xRef(new TransformPrimitive2D(aTargetTransform, getChildren()));
- rContainer.push_back(xRef);
+ rVisitor.append(xRef);
}
else
{
- getChildren(rContainer);
+ getChildren(rVisitor);
}
}
diff --git a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
index 20afb0df0de8..00ef47ffd94d 100644
--- a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
@@ -70,7 +70,7 @@ namespace drawinglayer
return rViewInformation.getViewport();
}
- void BackgroundColorPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void BackgroundColorPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -87,7 +87,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/baseprimitive2d.cxx b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
index bcc96c731b8e..31f495c22a3b 100644
--- a/drawinglayer/source/primitive2d/baseprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
@@ -36,6 +36,8 @@ namespace drawinglayer
{
namespace primitive2d
{
+ Primitive2DDecompositionVisitor::~Primitive2DDecompositionVisitor() {}
+
BasePrimitive2D::BasePrimitive2D()
: BasePrimitive2DImplBase(m_aMutex)
{
@@ -50,14 +52,31 @@ namespace drawinglayer
return (getPrimitive2DID() == rPrimitive.getPrimitive2DID());
}
+ // Visitor class to get the B2D range from a tree of Primitive2DReference's
+ //
+ class B2DRangeVisitor : public Primitive2DDecompositionVisitor {
+ public:
+ const geometry::ViewInformation2D& mrViewInformation;
+ basegfx::B2DRange maRetval;
+ B2DRangeVisitor(const geometry::ViewInformation2D& rViewInformation) : mrViewInformation(rViewInformation) {}
+ virtual void append(const Primitive2DReference& r) override {
+ maRetval.expand(getB2DRangeFromPrimitive2DReference(r, mrViewInformation));
+ }
+ virtual void append(const Primitive2DContainer& r) override {
+ maRetval.expand(r.getB2DRange(mrViewInformation));
+ }
+ virtual void append(Primitive2DContainer&& r) override {
+ maRetval.expand(r.getB2DRange(mrViewInformation));
+ }
+ };
basegfx::B2DRange BasePrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
{
- Primitive2DContainer aContainer;
- get2DDecomposition(aContainer, rViewInformation);
- return aContainer.getB2DRange(rViewInformation);
+ B2DRangeVisitor aVisitor(rViewInformation);
+ get2DDecomposition(aVisitor, rViewInformation);
+ return aVisitor.maRetval;
}
- void BasePrimitive2D::get2DDecomposition(Primitive2DContainer& /*rContainer*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void BasePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& /*rVisitor*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
}
@@ -98,7 +117,7 @@ namespace drawinglayer
{
}
- void BufferedDecompositionPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void BufferedDecompositionPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -109,7 +128,7 @@ namespace drawinglayer
const_cast< BufferedDecompositionPrimitive2D* >(this)->setBuffered2DDecomposition(aNewSequence);
}
- rContainer.insert(rContainer.end(), getBuffered2DDecomposition().begin(), getBuffered2DDecomposition().end());
+ rVisitor.append(getBuffered2DDecomposition());
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -248,6 +267,13 @@ namespace drawinglayer
return true;
}
+ Primitive2DContainer::~Primitive2DContainer() {}
+
+ void Primitive2DContainer::append(const Primitive2DReference& rSource)
+ {
+ push_back(rSource);
+ }
+
void Primitive2DContainer::append(const Primitive2DContainer& rSource)
{
insert(end(), rSource.begin(), rSource.end());
diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
index 846305510397..578637677055 100644
--- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
@@ -326,7 +326,7 @@ namespace drawinglayer
return aRetval;
}
- void ControlPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ControlPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
// this primitive is view-dependent related to the scaling. If scaling has changed,
// destroy existing decomposition. To detect change, use size of unit size in view coordinates
@@ -349,7 +349,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/cropprimitive2d.cxx b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
index c3644e269fd2..0088e2f349b2 100644
--- a/drawinglayer/source/primitive2d/cropprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
@@ -66,7 +66,7 @@ namespace drawinglayer
return false;
}
- void CropPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void CropPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getChildren().empty())
{
@@ -126,7 +126,7 @@ namespace drawinglayer
{
// the new range is completely inside the old range (unit range),
// so no masking is needed
- rContainer.push_back(xTransformPrimitive);
+ rVisitor.append(xTransformPrimitive);
}
else
{
@@ -140,7 +140,7 @@ namespace drawinglayer
aMaskPolyPolygon,
Primitive2DContainer { xTransformPrimitive }));
- rContainer.push_back(xMask);
+ rVisitor.append(xMask);
}
}
}
diff --git a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
index c5eb9139993a..464a4e12b722 100644
--- a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
@@ -176,7 +176,7 @@ namespace drawinglayer
return getOutputRange();
}
- void FillHatchPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void FillHatchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
bool bAdaptDistance(0 != getFillHatch().getMinimalDiscreteDistance());
@@ -184,12 +184,12 @@ namespace drawinglayer
if(bAdaptDistance)
{
// behave view-dependent
- DiscreteMetricDependentPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ DiscreteMetricDependentPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
else
{
// behave view-independent
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
}
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 4c48cf70b815..0164e4b9df97 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -323,7 +323,7 @@ namespace drawinglayer
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
/// override to deliver the correct expected frame dependent of timing
- virtual void get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
};
AnimatedGraphicPrimitive2D::AnimatedGraphicPrimitive2D(
@@ -392,7 +392,7 @@ namespace drawinglayer
&& getGraphic() == pCompare->getGraphic());
}
- void AnimatedGraphicPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void AnimatedGraphicPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
if (isValidData())
{
@@ -413,7 +413,7 @@ namespace drawinglayer
if (aRetval.is())
{
- rContainer.push_back(aRetval);
+ rVisitor.append(aRetval);
return;
}
@@ -432,14 +432,14 @@ namespace drawinglayer
if (aRetval.is())
{
- rContainer.push_back(aRetval);
+ rVisitor.append(aRetval);
return;
}
// did not work (not buffered and not 1st frame), create from buffer
aRetval = createFromBuffer();
- rContainer.push_back(aRetval);
+ rVisitor.append(aRetval);
}
}
diff --git a/drawinglayer/source/primitive2d/gridprimitive2d.cxx b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
index 49594f455426..cbc49ddd5669 100644
--- a/drawinglayer/source/primitive2d/gridprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
@@ -309,7 +309,7 @@ namespace drawinglayer
return aUnitRange;
}
- void GridPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void GridPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -330,7 +330,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/groupprimitive2d.cxx b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
index fb3f6b9b794c..1b86f15caae0 100644
--- a/drawinglayer/source/primitive2d/groupprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
@@ -51,9 +51,9 @@ namespace drawinglayer
}
/// default: just return children, so all renderers not supporting group will use its content
- void GroupPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void GroupPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
- getChildren(rContainer);
+ getChildren(rVisitor);
}
sal_Int64 SAL_CALL GroupPrimitive2D::estimateUsage()
diff --git a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
index b8cc0df1eafe..85bd17146f59 100644
--- a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
@@ -162,7 +162,7 @@ namespace drawinglayer
return false;
}
- void HelplinePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void HelplinePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -183,7 +183,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
index f437a3fa8a0c..12d7343ca9f8 100644
--- a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
@@ -39,7 +39,7 @@ namespace drawinglayer
return getChildren().getB2DRange(rViewInformation);
}
- void HiddenGeometryPrimitive2D::get2DDecomposition(Primitive2DContainer& /*rContainer*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void HiddenGeometryPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& /*rVisitor*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
}
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
index f4ea85373e70..7484a1e00d32 100644
--- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
@@ -251,7 +251,7 @@ namespace drawinglayer
return getMask().getB2DRange();
}
- void PatternFillPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void PatternFillPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
// The existing bufferd decomposition uses a buffer in the remembered
// size or none if sizes are zero. Get new needed sizes which depend on
@@ -307,7 +307,7 @@ namespace drawinglayer
}
// call parent
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
sal_Int64 SAL_CALL PatternFillPrimitive2D::estimateUsage()
diff --git a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
index 2ebd32a4f5e0..8040594c87a6 100644
--- a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
@@ -168,7 +168,7 @@ namespace drawinglayer
return aRetval;
}
- void PolygonMarkerPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void PolygonMarkerPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
bool bNeedNewDecomposition(false);
@@ -195,7 +195,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/primitivetools2d.cxx b/drawinglayer/source/primitive2d/primitivetools2d.cxx
index 494a8cd38f6f..e98daad763bf 100644
--- a/drawinglayer/source/primitive2d/primitivetools2d.cxx
+++ b/drawinglayer/source/primitive2d/primitivetools2d.cxx
@@ -26,7 +26,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- void DiscreteMetricDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void DiscreteMetricDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -47,7 +47,7 @@ namespace drawinglayer
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -57,7 +57,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- void ViewportDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ViewportDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -77,7 +77,7 @@ namespace drawinglayer
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -87,7 +87,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- void ViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -107,7 +107,7 @@ namespace drawinglayer
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
@@ -117,7 +117,7 @@ namespace drawinglayer
{
namespace primitive2d
{
- void ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -147,7 +147,7 @@ namespace drawinglayer
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
} // end of namespace primitive2d
} // end of namespace drawinglayer
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index 73fd8cbc4fae..bbf6774cf663 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -632,7 +632,7 @@ namespace drawinglayer
return aRetval;
}
- void ScenePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ScenePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -689,7 +689,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index f1e4b9f03118..4375319e5453 100644
--- a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
@@ -64,7 +64,7 @@ namespace drawinglayer
return aRetval;
}
- void ShadowPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void ShadowPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& /*rViewInformation*/) const
{
if(!getChildren().empty())
{
@@ -79,7 +79,7 @@ namespace drawinglayer
const Primitive2DContainer aSequenceB { xRefA };
// build transformed primitiveVector with shadow offset and add to target
- rContainer.push_back(new TransformPrimitive2D(getShadowTransform(), aSequenceB));
+ rVisitor.append(new TransformPrimitive2D(getShadowTransform(), aSequenceB));
}
}
diff --git a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
index c0965a531444..858be59a4f89 100644
--- a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
@@ -217,7 +217,7 @@ namespace drawinglayer
return aRetval;
}
- void TextEffectPrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void TextEffectPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -237,7 +237,7 @@ namespace drawinglayer
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rContainer, rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
index cce531f5dac0..24f07733e81c 100644
--- a/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d.cxx
@@ -61,12 +61,12 @@ namespace drawinglayer
return getChildren().getB2DRange( rViewInformation);
}
- void UnifiedTransparencePrimitive2D::get2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void UnifiedTransparencePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const
{
if(0.0 == getTransparence())
{
// no transparence used, so just use the content
- getChildren(rContainer);
+ getChildren(rVisitor);
}
else if(getTransparence() > 0.0 && getTransparence() < 1.0)
{
@@ -95,7 +95,7 @@ namespace drawinglayer
aTransparenceContent[1] = Primitive2DReference(new PolygonHairlinePrimitive2D(aPolygon, aGray));
// create sub-transparence group with a gray-colored rectangular fill polygon
- rContainer.push_back(new TransparencePrimitive2D(getChildren(), aTransparenceContent));
+ rVisitor.append(new TransparencePrimitive2D(getChildren(), aTransparenceContent));
}
else
{
diff --git a/drawinglayer/source/processor2d/hittestprocessor2d.cxx b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
index 214259cb04b0..6376156b8a37 100644
--- a/drawinglayer/source/processor2d/hittestprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
@@ -429,7 +429,7 @@ namespace drawinglayer
if(!getHitTextOnly())
{
// The recently added BitmapEx::GetTransparency() makes it easy to extend
- // the BitmapPrimitive2D HitTest to take the contained BotmapEx and it's
+ // the BitmapPrimitive2D HitTest to take the contained BitmapEx and it's
// transparency into account
const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));