Rebased ref, commits from common ancestor:
commit aeb55c405a14ea1fd01fae71a566049eacb0224a
Author: Tomaž Vajngerl <[email protected]>
AuthorDate: Sat Jan 2 20:52:36 2021 +0900
Commit: Tomaž Vajngerl <[email protected]>
CommitDate: Fri Jan 22 18:44:02 2021 +0900
make BasePrimitive2D easier extensible with VisitingParameters
BasePrimitive2D virtual methods get2DDecomposition and getB2DRange
are used in many subclasses of BasePrimitive2D. If we want to
extend the parameters that we want to pass to those classes (and
we will need to in the future changes) we need to change all the
subclasses too. So this commit intoduces VisitingParameters class,
which holds the parameters that we want to pass, which avoids the
need to extend the BasePrimitive2D API.
The only member of VisitingParameters is ViewInformation2D, which
was previously a parameter for both methods.
Change-Id: I39afc28707f1511aafce4e8a84dbc45b84fc8cd5
diff --git a/drawinglayer/inc/primitive2d/cropprimitive2d.hxx
b/drawinglayer/inc/primitive2d/cropprimitive2d.hxx
index 86297687ad5f..b0135ffb25e7 100644
--- a/drawinglayer/inc/primitive2d/cropprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/cropprimitive2d.hxx
@@ -82,7 +82,7 @@ namespace drawinglayer::primitive2d
virtual bool operator==(const BasePrimitive2D& rPrimitive) const
override;
/// local decomposition
- virtual void get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const override;
/// provide unique ID
virtual sal_uInt32 getPrimitive2DID() const override;
diff --git a/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
b/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
index 45a21f67dab8..1c4234719c05 100644
--- a/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/texteffectprimitive2d.hxx
@@ -57,9 +57,8 @@ private:
basegfx::B2DHomMatrix maLastObjectToViewTransformation;
/// create local decomposition
- virtual void
- create2DDecomposition(Primitive2DContainer& rContainer,
- const geometry::ViewInformation2D& rViewInformation)
const override;
+ virtual void create2DDecomposition(Primitive2DContainer& rContainer,
+ VisitingParameters const& rParameters)
const override;
public:
/// constructor
@@ -80,16 +79,14 @@ public:
by a fixed discrete unit, thus the contained geometry needs only once
be asked for its
own basegfx::B2DRange
*/
- virtual basegfx::B2DRange
- getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
override;
+ virtual basegfx::B2DRange getB2DRange(VisitingParameters const&
rParameters) const override;
/// provide unique ID
virtual sal_uInt32 getPrimitive2DID() const override;
/// Override standard getDecomposition to be view-dependent here
- virtual void
- get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
- const geometry::ViewInformation2D& rViewInformation)
const override;
+ virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
+ VisitingParameters const& rParameters)
const override;
};
} // end of namespace primitive2d::drawinglayer
diff --git a/drawinglayer/inc/primitive2d/textlineprimitive2d.hxx
b/drawinglayer/inc/primitive2d/textlineprimitive2d.hxx
index c84deefd8547..d8feee52e9ba 100644
--- a/drawinglayer/inc/primitive2d/textlineprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/textlineprimitive2d.hxx
@@ -41,7 +41,7 @@ namespace drawinglayer::primitive2d
basegfx::BColor maLineColor;
/// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const override;
public:
/// constructor
diff --git a/drawinglayer/inc/primitive2d/textstrikeoutprimitive2d.hxx
b/drawinglayer/inc/primitive2d/textstrikeoutprimitive2d.hxx
index 1843d5ef9f11..d1652f1ea1bf 100644
--- a/drawinglayer/inc/primitive2d/textstrikeoutprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/textstrikeoutprimitive2d.hxx
@@ -68,7 +68,7 @@ namespace drawinglayer::primitive2d
css::lang::Locale maLocale;
/// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const override;
public:
/// constructor
@@ -105,7 +105,7 @@ namespace drawinglayer::primitive2d
TextStrikeout meTextStrikeout;
/// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const override;
public:
/// constructor
diff --git a/drawinglayer/inc/primitive2d/wallpaperprimitive2d.hxx
b/drawinglayer/inc/primitive2d/wallpaperprimitive2d.hxx
index c92006b36db3..85754a28c255 100644
--- a/drawinglayer/inc/primitive2d/wallpaperprimitive2d.hxx
+++ b/drawinglayer/inc/primitive2d/wallpaperprimitive2d.hxx
@@ -47,7 +47,7 @@ namespace drawinglayer::primitive2d
WallpaperStyle meWallpaperStyle;
/// create local decomposition
- virtual void create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const override;
public:
/// constructor
@@ -65,7 +65,7 @@ namespace drawinglayer::primitive2d
virtual bool operator==(const BasePrimitive2D& rPrimitive) const
override;
/// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const override;
+ virtual basegfx::B2DRange getB2DRange(VisitingParameters const &
rParameters) const override;
/// provide unique ID
virtual sal_uInt32 getPrimitive2DID() const override;
diff --git a/drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D.cxx
index aa48a965e692..7b588f2de0dc 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D.cxx
@@ -48,8 +48,8 @@ bool PolyPolygonColorPrimitive2D::operator==(const
BasePrimitive2D& rPrimitive)
return false;
}
-basegfx::B2DRange PolyPolygonColorPrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+basegfx::B2DRange
+PolyPolygonColorPrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
// return range
return basegfx::utils::getRange(getB2DPolyPolygon());
diff --git a/drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D.cxx
index 076436b40655..f49d813a79a9 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D.cxx
@@ -28,7 +28,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonGradientPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (!getFillGradient().isDefault())
{
diff --git a/drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D.cxx
index c857ba5c8e3d..1582393f54b5 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D.cxx
@@ -31,7 +31,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonGraphicPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (getFillGraphic().isDefault())
return;
diff --git a/drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D.cxx
index e4c73f9191a5..db602d7f3606 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D.cxx
@@ -28,7 +28,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonHairlinePrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
@@ -65,8 +65,8 @@ bool PolyPolygonHairlinePrimitive2D::operator==(const
BasePrimitive2D& rPrimitiv
return false;
}
-basegfx::B2DRange PolyPolygonHairlinePrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+basegfx::B2DRange
+PolyPolygonHairlinePrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
// return range
return basegfx::utils::getRange(getB2DPolyPolygon());
diff --git a/drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D.cxx
index ad85c02f22c1..268abc1113ba 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D.cxx
@@ -28,7 +28,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonHatchPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (!getFillHatch().isDefault())
{
diff --git a/drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D.cxx
index b545ec9465fa..dfd4a8abafc7 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D.cxx
@@ -28,7 +28,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonMarkerPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
@@ -71,8 +71,8 @@ bool PolyPolygonMarkerPrimitive2D::operator==(const
BasePrimitive2D& rPrimitive)
return false;
}
-basegfx::B2DRange PolyPolygonMarkerPrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+basegfx::B2DRange
+PolyPolygonMarkerPrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
// return range
return basegfx::utils::getRange(getB2DPolyPolygon());
diff --git
a/drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D.cxx
index 7be684c2f71e..6e098d6c2a9c 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D.cxx
@@ -31,7 +31,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonSelectionPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (getTransparence() >= 1.0 || !getB2DPolyPolygon().count())
return;
@@ -97,8 +97,8 @@ bool PolyPolygonSelectionPrimitive2D::operator==(const
BasePrimitive2D& rPrimiti
return false;
}
-basegfx::B2DRange PolyPolygonSelectionPrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& rViewInformation) const
+basegfx::B2DRange
+PolyPolygonSelectionPrimitive2D::getB2DRange(VisitingParameters const&
rParameters) const
{
basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
@@ -106,7 +106,8 @@ basegfx::B2DRange
PolyPolygonSelectionPrimitive2D::getB2DRange(
{
// get the current DiscreteUnit (not sure if getDiscreteUnit() is
updated here, better go safe way)
const double fDiscreteUnit(
- (rViewInformation.getInverseObjectToViewTransformation() *
basegfx::B2DVector(1.0, 0.0))
+
(rParameters.getViewInformation().getInverseObjectToViewTransformation()
+ * basegfx::B2DVector(1.0, 0.0))
.getLength());
aRetval.grow(fDiscreteUnit * getDiscreteGrow());
diff --git a/drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D.cxx
b/drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D.cxx
index 53abec1138c3..2e1f93b7e208 100644
--- a/drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D.cxx
+++ b/drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D.cxx
@@ -28,7 +28,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
void PolyPolygonStrokePrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
const sal_uInt32 nCount(aPolyPolygon.count());
@@ -77,8 +77,8 @@ bool PolyPolygonStrokePrimitive2D::operator==(const
BasePrimitive2D& rPrimitive)
return false;
}
-basegfx::B2DRange PolyPolygonStrokePrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+basegfx::B2DRange
+PolyPolygonStrokePrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
// get range of it (subdivided)
basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
diff --git a/drawinglayer/source/primitive2d/Primitive2DContainer.cxx
b/drawinglayer/source/primitive2d/Primitive2DContainer.cxx
index 3ae4a9b3e3c4..d4998c442ce8 100644
--- a/drawinglayer/source/primitive2d/Primitive2DContainer.cxx
+++ b/drawinglayer/source/primitive2d/Primitive2DContainer.cxx
@@ -48,8 +48,7 @@ Primitive2DContainer Primitive2DContainer::maybeInvert(bool
bInvert) const
}
// get B2DRange from a given Primitive2DSequence
-basegfx::B2DRange
-Primitive2DContainer::getB2DRange(const geometry::ViewInformation2D&
aViewInformation) const
+basegfx::B2DRange Primitive2DContainer::getB2DRange(VisitingParameters const&
rParameters) const
{
basegfx::B2DRange aRetval;
@@ -59,7 +58,7 @@ Primitive2DContainer::getB2DRange(const
geometry::ViewInformation2D& aViewInform
for (sal_Int32 a(0); a < nCount; a++)
{
- aRetval.expand(getB2DRangeFromPrimitive2DReference((*this)[a],
aViewInformation));
+ aRetval.expand(getB2DRangeFromPrimitive2DReference((*this)[a],
rParameters));
}
}
diff --git a/drawinglayer/source/primitive2d/Tools.cxx
b/drawinglayer/source/primitive2d/Tools.cxx
index 7db3a94c8d04..2da6d80e82e9 100644
--- a/drawinglayer/source/primitive2d/Tools.cxx
+++ b/drawinglayer/source/primitive2d/Tools.cxx
@@ -28,9 +28,8 @@ using namespace css;
namespace drawinglayer::primitive2d
{
// get B2DRange from a given Primitive2DReference
-basegfx::B2DRange
-getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate,
- const geometry::ViewInformation2D&
aViewInformation)
+basegfx::B2DRange getB2DRangeFromPrimitive2DReference(const
Primitive2DReference& rCandidate,
+ VisitingParameters
const& rParameters)
{
basegfx::B2DRange aRetval;
@@ -42,13 +41,13 @@ getB2DRangeFromPrimitive2DReference(const
Primitive2DReference& rCandidate,
if (pCandidate)
{
// use it if possible
- aRetval.expand(pCandidate->getB2DRange(aViewInformation));
+ aRetval.expand(pCandidate->getB2DRange(rParameters));
}
else
{
// use UNO API call instead
const uno::Sequence<beans::PropertyValue>& rViewParameters(
- aViewInformation.getViewInformationSequence());
+ rParameters.getViewInformation().getViewInformationSequence());
aRetval.expand(basegfx::unotools::b2DRectangleFromRealRectangle2D(
rCandidate->getRange(rViewParameters)));
}
diff --git a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
index d2c8d4a6571a..aa2bf7506161 100644
--- a/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/animatedprimitive2d.cxx
@@ -62,12 +62,12 @@ namespace drawinglayer::primitive2d
return false;
}
- void
AnimatedSwitchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
AnimatedSwitchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
if(getChildren().empty())
return;
- const double
fState(getAnimationEntry().getStateAtTime(rViewInformation.getViewTime()));
+ const double
fState(getAnimationEntry().getStateAtTime(rParameters.getViewInformation().getViewTime()));
const sal_uInt32 nLen(getChildren().size());
sal_uInt32 nIndex(basegfx::fround(fState *
static_cast<double>(nLen)));
@@ -95,11 +95,11 @@ namespace drawinglayer::primitive2d
{
}
- void
AnimatedBlinkPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
AnimatedBlinkPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
if(!getChildren().empty())
{
- const double
fState(getAnimationEntry().getStateAtTime(rViewInformation.getViewTime()));
+ const double
fState(getAnimationEntry().getStateAtTime(rParameters.getViewInformation().getViewTime()));
if(fState < 0.5)
{
@@ -133,13 +133,13 @@ namespace drawinglayer::primitive2d
}
}
- void
AnimatedInterpolatePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
AnimatedInterpolatePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
const sal_uInt32 nSize(maMatrixStack.size());
if(nSize)
{
- double
fState(getAnimationEntry().getStateAtTime(rViewInformation.getViewTime()));
+ double
fState(getAnimationEntry().getStateAtTime(rParameters.getViewInformation().getViewTime()));
if(fState < 0.0)
{
diff --git a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
index ba0f47193b49..d8f7be330310 100644
--- a/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx
@@ -30,8 +30,10 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void
BackgroundColorPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void
BackgroundColorPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
+ auto const & rViewInformation = rParameters.getViewInformation();
+
if(!rViewInformation.getViewport().isEmpty())
{
const basegfx::B2DPolygon
aOutline(basegfx::utils::createPolygonFromRect(rViewInformation.getViewport()));
@@ -61,17 +63,17 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange BackgroundColorPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
BackgroundColorPrimitive2D::getB2DRange(VisitingParameters const & rParameters)
const
{
// always as big as the view
- return rViewInformation.getViewport();
+ return rParameters.getViewInformation().getViewport();
}
- void
BackgroundColorPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
BackgroundColorPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
- if(!getBuffered2DDecomposition().empty() && (maLastViewport !=
rViewInformation.getViewport()))
+ if(!getBuffered2DDecomposition().empty() && (maLastViewport !=
rParameters.getViewInformation().getViewport()))
{
// conditions of last local decomposition have changed, delete
const_cast< BackgroundColorPrimitive2D*
>(this)->setBuffered2DDecomposition(Primitive2DContainer());
@@ -80,11 +82,11 @@ namespace drawinglayer::primitive2d
if(getBuffered2DDecomposition().empty())
{
// remember ViewRange
- const_cast< BackgroundColorPrimitive2D*
>(this)->maLastViewport = rViewInformation.getViewport();
+ const_cast< BackgroundColorPrimitive2D*
>(this)->maLastViewport = rParameters.getViewInformation().getViewport();
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/baseprimitive2d.cxx
b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
index a3650a57807d..897972f65861 100644
--- a/drawinglayer/source/primitive2d/baseprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/baseprimitive2d.cxx
@@ -48,55 +48,59 @@ namespace
class B2DRangeVisitor : public Primitive2DDecompositionVisitor
{
public:
- const geometry::ViewInformation2D& mrViewInformation;
+ VisitingParameters const& mrParameters;
basegfx::B2DRange maRetval;
- B2DRangeVisitor(const geometry::ViewInformation2D& rViewInformation)
- : mrViewInformation(rViewInformation)
+
+ B2DRangeVisitor(VisitingParameters const& rParameters)
+ : mrParameters(rParameters)
{
}
- virtual void append(const Primitive2DReference& r) override
+
+ virtual void append(const Primitive2DReference& rReference) override
{
- maRetval.expand(getB2DRangeFromPrimitive2DReference(r,
mrViewInformation));
+ maRetval.expand(getB2DRangeFromPrimitive2DReference(rReference,
mrParameters));
}
- virtual void append(const Primitive2DContainer& r) override
+
+ virtual void append(const Primitive2DContainer& rReference) override
{
- maRetval.expand(r.getB2DRange(mrViewInformation));
+ maRetval.expand(rReference.getB2DRange(mrParameters));
}
- virtual void append(Primitive2DContainer&& r) override
+
+ virtual void append(Primitive2DContainer&& rReference) override
{
- maRetval.expand(r.getB2DRange(mrViewInformation));
+ maRetval.expand(rReference.getB2DRange(mrParameters));
}
};
}
-basegfx::B2DRange
-BasePrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange BasePrimitive2D::getB2DRange(VisitingParameters const&
rParameters) const
{
- B2DRangeVisitor aVisitor(rViewInformation);
- get2DDecomposition(aVisitor, rViewInformation);
+ B2DRangeVisitor aVisitor(rParameters);
+ get2DDecomposition(aVisitor, rParameters);
return aVisitor.maRetval;
}
-void BasePrimitive2D::get2DDecomposition(
- Primitive2DDecompositionVisitor& /*rVisitor*/,
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+void BasePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
/*rVisitor*/,
+ VisitingParameters const&
/*rParameters*/) const
{
}
css::uno::Sequence<::css::uno::Reference<::css::graphic::XPrimitive2D>>
SAL_CALL
BasePrimitive2D::getDecomposition(const uno::Sequence<beans::PropertyValue>&
rViewParameters)
{
- const geometry::ViewInformation2D aViewInformation(rViewParameters);
Primitive2DContainer aContainer;
- get2DDecomposition(aContainer, aViewInformation);
+ geometry::ViewInformation2D aViewInformation2D(rViewParameters);
+ VisitingParameters aParameters(aViewInformation2D);
+ get2DDecomposition(aContainer, aParameters);
return comphelper::containerToSequence(aContainer);
}
css::geometry::RealRectangle2D SAL_CALL
BasePrimitive2D::getRange(const uno::Sequence<beans::PropertyValue>&
rViewParameters)
{
- const geometry::ViewInformation2D aViewInformation(rViewParameters);
- return
basegfx::unotools::rectangle2DFromB2DRectangle(getB2DRange(aViewInformation));
+ geometry::ViewInformation2D aViewInformation2D(rViewParameters);
+ VisitingParameters aParameters(aViewInformation2D);
+ return
basegfx::unotools::rectangle2DFromB2DRectangle(getB2DRange(aParameters));
}
sal_Int64 SAL_CALL BasePrimitive2D::estimateUsage()
@@ -105,8 +109,7 @@ sal_Int64 SAL_CALL BasePrimitive2D::estimateUsage()
}
void BufferedDecompositionPrimitive2D::create2DDecomposition(
- Primitive2DContainer& /*rContainer*/,
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DContainer& /*rContainer*/, VisitingParameters const&
/*rParameters*/) const
{
}
@@ -117,17 +120,16 @@
BufferedDecompositionPrimitive2D::BufferedDecompositionPrimitive2D()
}
void BufferedDecompositionPrimitive2D::get2DDecomposition(
- Primitive2DDecompositionVisitor& rVisitor,
- const geometry::ViewInformation2D& rViewInformation) const
+ Primitive2DDecompositionVisitor& rVisitor, VisitingParameters const&
rParameters) const
{
::osl::MutexGuard aGuard(m_aMutex);
if (getBuffered2DDecomposition().empty())
{
Primitive2DContainer aNewSequence;
- create2DDecomposition(aNewSequence, rViewInformation);
-
const_cast<BufferedDecompositionPrimitive2D*>(this)->setBuffered2DDecomposition(
- aNewSequence);
+ create2DDecomposition(aNewSequence, rParameters);
+ auto* pMutableThis =
const_cast<BufferedDecompositionPrimitive2D*>(this);
+ pMutableThis->setBuffered2DDecomposition(aNewSequence);
}
rVisitor.append(getBuffered2DDecomposition());
diff --git a/drawinglayer/source/primitive2d/bitmapprimitive2d.cxx
b/drawinglayer/source/primitive2d/bitmapprimitive2d.cxx
index f495d531d8ff..74e7fb0c68a9 100644
--- a/drawinglayer/source/primitive2d/bitmapprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/bitmapprimitive2d.cxx
@@ -45,8 +45,7 @@ bool BitmapPrimitive2D::operator==(const BasePrimitive2D&
rPrimitive) const
return false;
}
-basegfx::B2DRange
-BitmapPrimitive2D::getB2DRange(const geometry::ViewInformation2D&
/*rViewInformation*/) const
+basegfx::B2DRange BitmapPrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
aRetval.transform(maTransform);
diff --git a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
index b264e2c028af..ce6572831234 100644
--- a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
@@ -112,7 +112,7 @@ namespace drawinglayer::primitive2d
return fRetval;
}
- void
BorderLinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
BorderLinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & /*rParameters*/) const
{
if (getStart().equal(getEnd()) || getBorderLines().empty())
return;
diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
index 3f20baa1351f..1d947661054b 100644
--- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
@@ -75,11 +75,13 @@ namespace drawinglayer::primitive2d
}
}
- Primitive2DReference
ControlPrimitive2D::createBitmapDecomposition(const
geometry::ViewInformation2D& rViewInformation) const
+ Primitive2DReference
ControlPrimitive2D::createBitmapDecomposition(VisitingParameters const &
rParameters) const
{
Primitive2DReference xRetval;
const uno::Reference< awt::XControl >& rXControl(getXControl());
+ auto const & rViewInformation = rParameters.getViewInformation();
+
if(rXControl.is())
{
uno::Reference< awt::XWindow > xControlWindow(rXControl,
uno::UNO_QUERY);
@@ -236,11 +238,11 @@ namespace drawinglayer::primitive2d
return xRetval;
}
- void ControlPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ControlPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
// try to create a bitmap decomposition. If that fails for some
reason,
// at least create a replacement decomposition.
- Primitive2DReference
xReference(createBitmapDecomposition(rViewInformation));
+ Primitive2DReference
xReference(createBitmapDecomposition(rParameters));
if(!xReference.is())
{
@@ -320,7 +322,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange ControlPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange ControlPrimitive2D::getB2DRange(VisitingParameters
const & /*rParameters*/) const
{
// simply derivate from unit range
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
@@ -328,12 +330,12 @@ namespace drawinglayer::primitive2d
return aRetval;
}
- void
ControlPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
ControlPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) 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
::osl::MutexGuard aGuard( m_aMutex );
- const basegfx::B2DVector
aNewScaling(rViewInformation.getObjectToViewTransformation() *
basegfx::B2DVector(1.0, 1.0));
+ const basegfx::B2DVector
aNewScaling(rParameters.getViewInformation().getObjectToViewTransformation() *
basegfx::B2DVector(1.0, 1.0));
if(!getBuffered2DDecomposition().empty())
{
@@ -351,7 +353,7 @@ namespace drawinglayer::primitive2d
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/cropprimitive2d.cxx
b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
index 2d780ac2645c..6ddfe46b7980 100644
--- a/drawinglayer/source/primitive2d/cropprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/cropprimitive2d.cxx
@@ -63,7 +63,7 @@ namespace drawinglayer::primitive2d
return false;
}
- void
CropPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
CropPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
VisitingParameters const & /*rParameters*/) const
{
if(getChildren().empty())
return;
diff --git a/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
b/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
index 17d6f2301a43..f33a638077c0 100644
--- a/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/discretebitmapprimitive2d.cxx
@@ -25,7 +25,7 @@
namespace drawinglayer::primitive2d
{
- void
DiscreteBitmapPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
DiscreteBitmapPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
// use getViewTransformation() and getObjectTransformation() from
// ObjectAndViewTransformationDependentPrimitive2D to create a
BitmapPrimitive2D
diff --git a/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
b/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
index 3100db147345..d80f895f1b6b 100644
--- a/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/discreteshadowprimitive2d.cxx
@@ -157,7 +157,7 @@ namespace drawinglayer::primitive2d
namespace drawinglayer::primitive2d
{
- void
DiscreteShadowPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
DiscreteShadowPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
Primitive2DContainer xRetval;
@@ -284,7 +284,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange DiscreteShadowPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
DiscreteShadowPrimitive2D::getB2DRange(VisitingParameters const & rParameters)
const
{
if(getDiscreteShadow().getBitmapEx().IsEmpty())
{
@@ -298,7 +298,7 @@ namespace drawinglayer::primitive2d
aRetval.transform(getTransform());
// extract discrete shadow size and grow
- const basegfx::B2DVector
aScale(rViewInformation.getViewTransformation() * basegfx::B2DVector(1.0, 1.0));
+ const basegfx::B2DVector
aScale(rParameters.getViewInformation().getViewTransformation() *
basegfx::B2DVector(1.0, 1.0));
const sal_Int32
nQuarter((getDiscreteShadow().getBitmapEx().GetSizePixel().Width() - 3) >> 2);
const double fGrowX((1.0 / aScale.getX()) * nQuarter);
const double fGrowY((1.0 / aScale.getY()) * nQuarter);
diff --git a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
index e38afeb4d612..c7fbaace2d16 100644
--- a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
@@ -60,10 +60,10 @@ namespace drawinglayer::primitive2d
return !maShadowPrimitives.empty();
}
- void
Embedded3DPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& rViewInformation) const
+ void
Embedded3DPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & rParameters) const
{
// use info to create a yellow 2d rectangle, similar to empty 3d
scenes and/or groups
- const basegfx::B2DRange
aLocal2DRange(getB2DRange(rViewInformation));
+ const basegfx::B2DRange aLocal2DRange(getB2DRange(rParameters));
const basegfx::B2DPolygon
aOutline(basegfx::utils::createPolygonFromRect(aLocal2DRange));
const basegfx::BColor aYellow(1.0, 1.0, 0.0);
rContainer.push_back(new PolygonHairlinePrimitive2D(aOutline,
aYellow));
@@ -107,7 +107,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange Embedded3DPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
Embedded3DPrimitive2D::getB2DRange(VisitingParameters const & rParameters) const
{
if(maB2DRange.isEmpty())
{
@@ -125,7 +125,7 @@ namespace drawinglayer::primitive2d
// taken into account
if(impGetShadow3D())
{
- const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rParameters));
if(!aShadow2DRange.isEmpty())
{
diff --git a/drawinglayer/source/primitive2d/epsprimitive2d.cxx
b/drawinglayer/source/primitive2d/epsprimitive2d.cxx
index b519547c00d7..f5bb98e4171d 100644
--- a/drawinglayer/source/primitive2d/epsprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/epsprimitive2d.cxx
@@ -23,7 +23,7 @@
namespace drawinglayer::primitive2d
{
- void EpsPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void EpsPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
const GDIMetaFile& rSubstituteContent = getMetaFile();
@@ -65,7 +65,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange EpsPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange EpsPrimitive2D::getB2DRange(VisitingParameters const
& /*rParameters*/) const
{
// use own implementation to quickly answer the getB2DRange
question.
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
diff --git a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
index fba740e833c5..0851223505ab 100644
--- a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
@@ -269,7 +269,7 @@ namespace drawinglayer::primitive2d
}
}
- void
FillGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
FillGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
// default creates overlapping fill which works with AntiAliasing
and without.
// The non-overlapping version does not create single filled
polygons, but
@@ -319,7 +319,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange FillGradientPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange
FillGradientPrimitive2D::getB2DRange(VisitingParameters const &
/*rParameters*/) const
{
// return the geometrically visible area
return getOutputRange();
diff --git a/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
b/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
index ee67bd305810..bf346c83a43d 100644
--- a/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillgraphicprimitive2d.cxx
@@ -33,7 +33,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void
FillGraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
FillGraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & /*rParameters*/) const
{
const attribute::FillGraphicAttribute& rAttribute =
getFillGraphic();
@@ -112,7 +112,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange FillGraphicPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange
FillGraphicPrimitive2D::getB2DRange(VisitingParameters const & /*rParameters*/)
const
{
// return range of it
basegfx::B2DPolygon aPolygon(basegfx::utils::createUnitPolygon());
diff --git a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
index 9c4ef03bfba3..3802354e0c95 100644
--- a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
@@ -32,7 +32,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void FillHatchPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void FillHatchPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
if(getFillHatch().isDefault())
return;
@@ -167,13 +167,13 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange FillHatchPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange FillHatchPrimitive2D::getB2DRange(VisitingParameters
const & /*rParameters*/) const
{
// return the geometrically visible area
return getOutputRange();
}
- void
FillHatchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
FillHatchPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
bool bAdaptDistance(0 !=
getFillHatch().getMinimalDiscreteDistance());
@@ -181,12 +181,12 @@ namespace drawinglayer::primitive2d
if(bAdaptDistance)
{
// behave view-dependent
-
DiscreteMetricDependentPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+
DiscreteMetricDependentPrimitive2D::get2DDecomposition(rVisitor, rParameters);
}
else
{
// behave view-independent
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
}
diff --git a/drawinglayer/source/primitive2d/glowprimitive2d.cxx
b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
index f6dfab2b3c45..83c9aa223044 100644
--- a/drawinglayer/source/primitive2d/glowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
@@ -45,10 +45,9 @@ bool GlowPrimitive2D::operator==(const BasePrimitive2D&
rPrimitive) const
return false;
}
-basegfx::B2DRange
-GlowPrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange GlowPrimitive2D::getB2DRange(VisitingParameters const&
rParameters) const
{
- basegfx::B2DRange aRetval(GroupPrimitive2D::getB2DRange(rViewInformation));
+ basegfx::B2DRange aRetval(GroupPrimitive2D::getB2DRange(rParameters));
// We need additional space for the glow from all sides
aRetval.grow(getGlowRadius());
return aRetval;
diff --git a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
index 8805d99e49db..f25d70372163 100644
--- a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
@@ -31,7 +31,7 @@
namespace drawinglayer::primitive2d
{
void GraphicPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer,
- const
geometry::ViewInformation2D&) const
+ VisitingParameters const&
/*rParameters*/) const
{
if (0 == getGraphicAttr().GetAlpha())
{
@@ -204,8 +204,7 @@ bool GraphicPrimitive2D::operator==(const BasePrimitive2D&
rPrimitive) const
return false;
}
-basegfx::B2DRange
-GraphicPrimitive2D::getB2DRange(const geometry::ViewInformation2D&
/*rViewInformation*/) const
+basegfx::B2DRange GraphicPrimitive2D::getB2DRange(VisitingParameters const&
/*rParameters*/) const
{
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
aRetval.transform(getTransform());
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 9c441dc0d876..858668d9e1b9 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -351,7 +351,7 @@ namespace drawinglayer::primitive2d
virtual bool operator==(const BasePrimitive2D& rPrimitive) const
override;
/// override to deliver the correct expected frame dependent of
timing
- virtual void get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
+ virtual void get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & /*rParameters*/) const override;
};
}
@@ -422,13 +422,13 @@ namespace drawinglayer::primitive2d
&& maGraphic == pCompare->maGraphic);
}
- void
AnimatedGraphicPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
AnimatedGraphicPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
if (!isValidData())
return;
Primitive2DReference aRetval;
- const double
fState(getAnimationEntry().getStateAtTime(rViewInformation.getViewTime()));
+ const double
fState(getAnimationEntry().getStateAtTime(rParameters.getViewInformation().getViewTime()));
const sal_uInt32 nLen(maAnimation.Count());
sal_uInt32 nIndex(basegfx::fround(fState *
static_cast<double>(nLen)));
diff --git a/drawinglayer/source/primitive2d/gridprimitive2d.cxx
b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
index e1d0841678e2..1d553d542a75 100644
--- a/drawinglayer/source/primitive2d/gridprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/gridprimitive2d.cxx
@@ -30,8 +30,10 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void GridPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void GridPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
+ auto const & rViewInformation = rParameters.getViewInformation();
+
if(!(!rViewInformation.getViewport().isEmpty() && getWidth() > 0.0
&& getHeight() > 0.0))
return;
@@ -294,25 +296,27 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange GridPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange GridPrimitive2D::getB2DRange(VisitingParameters
const & rParameters) const
{
// get object's range
basegfx::B2DRange aUnitRange(0.0, 0.0, 1.0, 1.0);
aUnitRange.transform(getTransform());
// intersect with visible part
- aUnitRange.intersect(rViewInformation.getViewport());
+
aUnitRange.intersect(rParameters.getViewInformation().getViewport());
return aUnitRange;
}
- void
GridPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
const geometry::ViewInformation2D& rViewInformation) const
+ void
GridPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
+ auto const & rViewInformation = rParameters.getViewInformation();
if(!getBuffered2DDecomposition().empty())
{
- if(maLastViewport != rViewInformation.getViewport() ||
maLastObjectToViewTransformation !=
rViewInformation.getObjectToViewTransformation())
+ if( maLastViewport != rViewInformation.getViewport() ||
+ maLastObjectToViewTransformation !=
rViewInformation.getObjectToViewTransformation())
{
// conditions of last local decomposition have changed,
delete
const_cast< GridPrimitive2D*
>(this)->setBuffered2DDecomposition(Primitive2DContainer());
@@ -327,7 +331,7 @@ namespace drawinglayer::primitive2d
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/groupprimitive2d.cxx
b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
index 63f21f842b2b..73392f1449aa 100644
--- a/drawinglayer/source/primitive2d/groupprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/groupprimitive2d.cxx
@@ -49,7 +49,7 @@ namespace drawinglayer::primitive2d
}
/// default: just return children, so all renderers not supporting
group will use its content
- void
GroupPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
GroupPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
VisitingParameters const & /*rParameters*/) const
{
getChildren(rVisitor);
}
diff --git a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
index 86c3b88ca6d5..405bd5afa112 100644
--- a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
@@ -30,8 +30,10 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void HelplinePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void HelplinePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
+ auto const & rViewInformation = rParameters.getViewInformation();
+
if(rViewInformation.getViewport().isEmpty() ||
getDirection().equalZero())
return;
@@ -159,9 +161,10 @@ namespace drawinglayer::primitive2d
return false;
}
- void
HelplinePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
HelplinePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
+ auto const & rViewInformation = rParameters.getViewInformation();
if(!getBuffered2DDecomposition().empty())
{
@@ -180,7 +183,7 @@ namespace drawinglayer::primitive2d
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
index cdce8a750274..f06e006ce455 100644
--- a/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/hiddengeometryprimitive2d.cxx
@@ -32,12 +32,13 @@ namespace drawinglayer::primitive2d
{
}
- basegfx::B2DRange HiddenGeometryPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
HiddenGeometryPrimitive2D::getB2DRange(VisitingParameters const & rParameters)
const
{
- return getChildren().getB2DRange(rViewInformation);
+ return getChildren().getB2DRange(rParameters);
}
- void
HiddenGeometryPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
/*rVisitor*/, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
HiddenGeometryPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
/*rVisitor*/,
+ VisitingParameters
const & /*rParameters*/) const
{
}
diff --git a/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
b/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
index a95e42cfecad..d36983e16ec9 100644
--- a/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/markerarrayprimitive2d.cxx
@@ -30,7 +30,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void
MarkerArrayPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& rViewInformation) const
+ void
MarkerArrayPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & rParameters) const
{
const std::vector< basegfx::B2DPoint >& rPositions =
getPositions();
const sal_uInt32 nMarkerCount(rPositions.size());
@@ -45,7 +45,7 @@ namespace drawinglayer::primitive2d
return;
// get logic half pixel size
- basegfx::B2DVector
aLogicHalfSize(rViewInformation.getInverseObjectToViewTransformation() *
+ basegfx::B2DVector
aLogicHalfSize(rParameters.getViewInformation().getInverseObjectToViewTransformation()
*
basegfx::B2DVector(aBitmapSize.getWidth() - 1.0,
aBitmapSize.getHeight() - 1.0));
// use half size for expand
@@ -91,7 +91,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange MarkerArrayPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
MarkerArrayPrimitive2D::getB2DRange(VisitingParameters const & rParameters)
const
{
basegfx::B2DRange aRetval;
@@ -111,7 +111,7 @@ namespace drawinglayer::primitive2d
if(aBitmapSize.Width() && aBitmapSize.Height())
{
// get logic half size
- basegfx::B2DVector
aLogicHalfSize(rViewInformation.getInverseObjectToViewTransformation() *
+ basegfx::B2DVector
aLogicHalfSize(rParameters.getViewInformation().getInverseObjectToViewTransformation()
*
basegfx::B2DVector(aBitmapSize.getWidth(),
aBitmapSize.getHeight()));
// use half size for expand
diff --git a/drawinglayer/source/primitive2d/maskprimitive2d.cxx
b/drawinglayer/source/primitive2d/maskprimitive2d.cxx
index 1e8af509c157..4c3a60338f92 100644
--- a/drawinglayer/source/primitive2d/maskprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/maskprimitive2d.cxx
@@ -46,7 +46,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange MaskPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange MaskPrimitive2D::getB2DRange(VisitingParameters
const & /*rParameters*/) const
{
return getMask().getB2DRange();
}
diff --git a/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
b/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
index 5158c6822492..c754b11a8f3c 100644
--- a/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/mediaprimitive2d.cxx
@@ -31,7 +31,7 @@
namespace drawinglayer::primitive2d
{
- void MediaPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void MediaPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
Primitive2DContainer xRetval;
xRetval.resize(1);
@@ -55,7 +55,7 @@ namespace drawinglayer::primitive2d
if(getDiscreteBorder())
{
- const basegfx::B2DVector
aDiscreteInLogic(rViewInformation.getInverseObjectToViewTransformation() *
+ const basegfx::B2DVector
aDiscreteInLogic(rParameters.getViewInformation().getInverseObjectToViewTransformation()
*
basegfx::B2DVector(static_cast<double>(getDiscreteBorder()),
static_cast<double>(getDiscreteBorder())));
const double fDiscreteSize(aDiscreteInLogic.getX() +
aDiscreteInLogic.getY());
@@ -120,14 +120,14 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange MediaPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange MediaPrimitive2D::getB2DRange(VisitingParameters
const & rParameters) const
{
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
aRetval.transform(getTransform());
if(getDiscreteBorder())
{
- const basegfx::B2DVector
aDiscreteInLogic(rViewInformation.getInverseObjectToViewTransformation() *
+ const basegfx::B2DVector
aDiscreteInLogic(rParameters.getViewInformation().getInverseObjectToViewTransformation()
*
basegfx::B2DVector(static_cast<double>(getDiscreteBorder()),
static_cast<double>(getDiscreteBorder())));
const double fDiscreteSize(aDiscreteInLogic.getX() +
aDiscreteInLogic.getY());
diff --git a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
index 362ae446fd99..3fa9ac2e096a 100644
--- a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
@@ -30,11 +30,11 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void MetafilePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void MetafilePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
// Interpret the Metafile and get the content. There should be
only one target, as in the start condition,
// but iterating will be the right thing to do when some push/pop
is not closed
- Primitive2DContainer
xRetval(wmfemfhelper::interpretMetafile(getMetaFile(), rViewInformation));
+ Primitive2DContainer
xRetval(wmfemfhelper::interpretMetafile(getMetaFile(),
rParameters.getViewInformation()));
if(!xRetval.empty())
{
@@ -46,7 +46,7 @@ namespace drawinglayer::primitive2d
// defined target range (aMtfRange)
if (!aMtfRange.isEmpty())
{
- const basegfx::B2DRange
aContentRange(xRetval.getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aContentRange(xRetval.getB2DRange(rParameters));
// also test equal since isInside gives also true for equal
if (!aMtfRange.equal(aContentRange) &&
!aMtfRange.isInside(aContentRange))
@@ -107,7 +107,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange MetafilePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange MetafilePrimitive2D::getB2DRange(VisitingParameters
const & /*rParameters*/) const
{
// use own implementation to quickly answer the getB2DRange
question. The
// MetafilePrimitive2D assumes that all geometry is inside of the
shape. If
diff --git a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
index b7c67bf8fd0c..d44e253d7546 100644
--- a/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
@@ -31,7 +31,7 @@ using namespace com::sun::star;
namespace drawinglayer::primitive2d
{
- void
PagePreviewPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& rViewInformation) const
+ void
PagePreviewPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & rParameters) const
{
Primitive2DContainer aContent(getPageContent());
@@ -50,7 +50,7 @@ namespace drawinglayer::primitive2d
// check if content overlaps with target size and needs to be
embedded with a
// clipping primitive
- const basegfx::B2DRange
aRealContentRange(aContent.getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aRealContentRange(aContent.getB2DRange(rParameters));
const basegfx::B2DRange aAllowedContentRange(0.0, 0.0,
getContentWidth(), getContentHeight());
if(!aAllowedContentRange.isInside(aRealContentRange))
@@ -131,7 +131,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange PagePreviewPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation`*/) const
+ basegfx::B2DRange
PagePreviewPrimitive2D::getB2DRange(VisitingParameters const & /*rParameters*/)
const
{
// nothing is allowed to stick out of a PagePreviewPrimitive, thus
we
// can quickly deliver our range here
diff --git a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
index ec1f9621452a..91cfdaf1861d 100644
--- a/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
@@ -93,7 +93,7 @@ namespace drawinglayer::primitive2d
}
}
- Primitive2DContainer PatternFillPrimitive2D::createContent(const
geometry::ViewInformation2D& rViewInformation) const
+ Primitive2DContainer
PatternFillPrimitive2D::createContent(VisitingParameters const & rParameters)
const
{
Primitive2DContainer aContent;
@@ -142,7 +142,7 @@ namespace drawinglayer::primitive2d
// check if content needs to be clipped
const basegfx::B2DRange aUnitRange(0.0, 0.0, 1.0, 1.0);
- const basegfx::B2DRange
aContentRange(getChildren().getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aContentRange(getChildren().getB2DRange(rParameters));
if(!aUnitRange.isInside(aContentRange))
{
@@ -158,7 +158,7 @@ namespace drawinglayer::primitive2d
return aContent;
}
- void
PatternFillPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
const geometry::ViewInformation2D& rViewInformation) const
+ void
PatternFillPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer,
VisitingParameters const & rParameters) const
{
Primitive2DContainer aRetval;
@@ -180,7 +180,7 @@ namespace drawinglayer::primitive2d
aTiling.appendTransformations(aMatrices);
// create content
- const Primitive2DContainer
aContent(createContent(rViewInformation));
+ const Primitive2DContainer aContent(createContent(rParameters));
// resize result
aRetval.resize(aMatrices.size());
@@ -244,12 +244,12 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange PatternFillPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /* rViewInformation */ ) const
+ basegfx::B2DRange
PatternFillPrimitive2D::getB2DRange(VisitingParameters const & /*rParameters*/)
const
{
return getMask().getB2DRange();
}
- void
PatternFillPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
PatternFillPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
// The existing buffered decomposition uses a buffer in the
remembered
// size or none if sizes are zero. Get new needed sizes which
depend on
@@ -257,7 +257,7 @@ namespace drawinglayer::primitive2d
bool bResetBuffering = false;
sal_uInt32 nW(0);
sal_uInt32 nH(0);
- calculateNeededDiscreteBufferSize(nW, nH, rViewInformation);
+ calculateNeededDiscreteBufferSize(nW, nH,
rParameters.getViewInformation());
const bool bBufferingCurrentlyUsed(0 != mnDiscreteWidth && 0 !=
mnDiscreteHeight);
const bool bBufferingNextUsed(0 != nW && 0 != nH);
@@ -305,7 +305,7 @@ namespace drawinglayer::primitive2d
}
// call parent
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
sal_Int64 SAL_CALL PatternFillPrimitive2D::estimateUsage()
diff --git a/drawinglayer/source/primitive2d/pointarrayprimitive2d.cxx
b/drawinglayer/source/primitive2d/pointarrayprimitive2d.cxx
index 7e527487eb85..0825ca46c00b 100644
--- a/drawinglayer/source/primitive2d/pointarrayprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/pointarrayprimitive2d.cxx
@@ -49,7 +49,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange PointArrayPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange
PointArrayPrimitive2D::getB2DRange(VisitingParameters const & /*rParameters*/)
const
{
if(maB2DRange.isEmpty())
{
diff --git a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
index de0b5fad2d13..b1780f70c2af 100644
--- a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx
@@ -53,7 +53,7 @@ bool PolygonHairlinePrimitive2D::operator==(const
BasePrimitive2D& rPrimitive) c
}
basegfx::B2DRange
-PolygonHairlinePrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+PolygonHairlinePrimitive2D::getB2DRange(VisitingParameters const& rParameters)
const
{
// this is a hairline, thus the line width is view-dependent. Get range of
polygon
// as base size
@@ -63,7 +63,8 @@ PolygonHairlinePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rView
{
// Calculate view-dependent hairline width
const basegfx::B2DVector aDiscreteSize(
- rViewInformation.getInverseObjectToViewTransformation() *
basegfx::B2DVector(1.0, 0.0));
+
rParameters.getViewInformation().getInverseObjectToViewTransformation()
+ * basegfx::B2DVector(1.0, 0.0));
const double fDiscreteHalfLineWidth(aDiscreteSize.getLength() * 0.5);
if (basegfx::fTools::more(fDiscreteHalfLineWidth, 0.0))
@@ -80,11 +81,12 @@ PolygonHairlinePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rView
ImplPrimitive2DIDBlock(PolygonHairlinePrimitive2D,
PRIMITIVE2D_ID_POLYGONHAIRLINEPRIMITIVE2D)
void PolygonMarkerPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
rViewInformation) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
rParameters) const
{
// calculate logic DashLength
- const basegfx::B2DVector
aDashVector(rViewInformation.getInverseObjectToViewTransformation()
- *
basegfx::B2DVector(getDiscreteDashLength(), 0.0));
+ const basegfx::B2DVector aDashVector(
+ rParameters.getViewInformation().getInverseObjectToViewTransformation()
+ * basegfx::B2DVector(getDiscreteDashLength(), 0.0));
const double fLogicDashLength(aDashVector.getX());
if (fLogicDashLength > 0.0 && !getRGBColorA().equal(getRGBColorB()))
@@ -137,8 +139,7 @@ bool PolygonMarkerPrimitive2D::operator==(const
BasePrimitive2D& rPrimitive) con
return false;
}
-basegfx::B2DRange
-PolygonMarkerPrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange PolygonMarkerPrimitive2D::getB2DRange(VisitingParameters
const& rParameters) const
{
// this is a hairline, thus the line width is view-dependent. Get range of
polygon
// as base size
@@ -148,7 +149,8 @@ PolygonMarkerPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewIn
{
// Calculate view-dependent hairline width
const basegfx::B2DVector aDiscreteSize(
- rViewInformation.getInverseObjectToViewTransformation() *
basegfx::B2DVector(1.0, 0.0));
+
rParameters.getViewInformation().getInverseObjectToViewTransformation()
+ * basegfx::B2DVector(1.0, 0.0));
const double fDiscreteHalfLineWidth(aDiscreteSize.getLength() * 0.5);
if (basegfx::fTools::more(fDiscreteHalfLineWidth, 0.0))
@@ -161,12 +163,12 @@ PolygonMarkerPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewIn
return aRetval;
}
-void PolygonMarkerPrimitive2D::get2DDecomposition(
- Primitive2DDecompositionVisitor& rVisitor,
- const geometry::ViewInformation2D& rViewInformation) const
+void
PolygonMarkerPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor,
+ VisitingParameters const&
rParameters) const
{
::osl::MutexGuard aGuard(m_aMutex);
bool bNeedNewDecomposition(false);
+ auto const& rViewInformation = rParameters.getViewInformation();
if (!getBuffered2DDecomposition().empty())
{
@@ -193,7 +195,7 @@ void PolygonMarkerPrimitive2D::get2DDecomposition(
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
@@ -204,7 +206,7 @@ ImplPrimitive2DIDBlock(PolygonMarkerPrimitive2D,
PRIMITIVE2D_ID_POLYGONMARKERPRI
namespace drawinglayer::primitive2d
{
void PolygonStrokePrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
/*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (!getB2DPolygon().count())
return;
@@ -306,9 +308,10 @@ bool PolygonStrokePrimitive2D::operator==(const
BasePrimitive2D& rPrimitive) con
return false;
}
-basegfx::B2DRange
-PolygonStrokePrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange PolygonStrokePrimitive2D::getB2DRange(VisitingParameters
const& rParameters) const
{
+ auto const& rViewInformation = rParameters.getViewInformation();
+
basegfx::B2DRange aRetval;
if (getLineAttribute().getWidth())
@@ -341,7 +344,7 @@ PolygonStrokePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewIn
attribute::StrokeAttribute aOrigStrokeAttribute =
maStrokeAttribute;
const_cast<PolygonStrokePrimitive2D*>(this)->maStrokeAttribute
= attribute::StrokeAttribute();
- aRetval =
BufferedDecompositionPrimitive2D::getB2DRange(rViewInformation);
+ aRetval =
BufferedDecompositionPrimitive2D::getB2DRange(rParameters);
const_cast<PolygonStrokePrimitive2D*>(this)->maStrokeAttribute =
aOrigStrokeAttribute;
}
else
@@ -380,8 +383,7 @@ PolygonStrokePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewIn
ImplPrimitive2DIDBlock(PolygonStrokePrimitive2D,
PRIMITIVE2D_ID_POLYGONSTROKEPRIMITIVE2D)
void PolygonWavePrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer,
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
if (!getB2DPolygon().count())
return;
@@ -456,11 +458,10 @@ bool PolygonWavePrimitive2D::operator==(const
BasePrimitive2D& rPrimitive) const
return false;
}
-basegfx::B2DRange
-PolygonWavePrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange PolygonWavePrimitive2D::getB2DRange(VisitingParameters
const& rParameters) const
{
// get range of parent
- basegfx::B2DRange
aRetval(PolygonStrokePrimitive2D::getB2DRange(rViewInformation));
+ basegfx::B2DRange
aRetval(PolygonStrokePrimitive2D::getB2DRange(rParameters));
// if WaveHeight, grow by it
if (basegfx::fTools::more(getWaveHeight(), 0.0))
@@ -481,8 +482,7 @@ PolygonWavePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInfo
ImplPrimitive2DIDBlock(PolygonWavePrimitive2D,
PRIMITIVE2D_ID_POLYGONWAVEPRIMITIVE2D)
void PolygonStrokeArrowPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer,
- const geometry::ViewInformation2D& /*rViewInformation*/) const
+ Primitive2DContainer& rContainer, VisitingParameters const&
/*rParameters*/) const
{
// copy local polygon, it may be changed
basegfx::B2DPolygon aLocalPolygon(getB2DPolygon());
@@ -580,18 +580,18 @@ bool PolygonStrokeArrowPrimitive2D::operator==(const
BasePrimitive2D& rPrimitive
return false;
}
-basegfx::B2DRange PolygonStrokeArrowPrimitive2D::getB2DRange(
- const geometry::ViewInformation2D& rViewInformation) const
+basegfx::B2DRange
+PolygonStrokeArrowPrimitive2D::getB2DRange(VisitingParameters const&
rParameters) const
{
if (getStart().isActive() || getEnd().isActive())
{
// use decomposition when line start/end is used
- return BufferedDecompositionPrimitive2D::getB2DRange(rViewInformation);
+ return BufferedDecompositionPrimitive2D::getB2DRange(rParameters);
}
else
{
// get range from parent
- return PolygonStrokePrimitive2D::getB2DRange(rViewInformation);
+ return PolygonStrokePrimitive2D::getB2DRange(rParameters);
}
}
diff --git a/drawinglayer/source/primitive2d/primitivetools2d.cxx
b/drawinglayer/source/primitive2d/primitivetools2d.cxx
index da0a378a0089..2acaeaf9592f 100644
--- a/drawinglayer/source/primitive2d/primitivetools2d.cxx
+++ b/drawinglayer/source/primitive2d/primitivetools2d.cxx
@@ -24,12 +24,12 @@
namespace drawinglayer::primitive2d
{
- void
DiscreteMetricDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
DiscreteMetricDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
// get the current DiscreteUnit, look at X and Y and use the
maximum
- const basegfx::B2DVector
aDiscreteVector(rViewInformation.getInverseObjectToViewTransformation() *
basegfx::B2DVector(1.0, 1.0));
+ const basegfx::B2DVector
aDiscreteVector(rParameters.getViewInformation().getInverseObjectToViewTransformation()
* basegfx::B2DVector(1.0, 1.0));
const double fDiscreteUnit(std::min(fabs(aDiscreteVector.getX()),
fabs(aDiscreteVector.getY())));
if(!getBuffered2DDecomposition().empty() &&
!basegfx::fTools::equal(fDiscreteUnit, getDiscreteUnit()))
@@ -45,18 +45,18 @@ namespace drawinglayer::primitive2d
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
- void
ViewportDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
ViewportDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
// get the current Viewport
- const basegfx::B2DRange& rViewport =
rViewInformation.getViewport();
+ const basegfx::B2DRange& rViewport =
rParameters.getViewInformation().getViewport();
if(!getBuffered2DDecomposition().empty() &&
!rViewport.equal(getViewport()))
{
@@ -71,15 +71,15 @@ namespace drawinglayer::primitive2d
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
- void
ViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
ViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
// get the current ViewTransformation
- const basegfx::B2DHomMatrix& rViewTransformation =
rViewInformation.getViewTransformation();
+ const basegfx::B2DHomMatrix& rViewTransformation =
rParameters.getViewInformation().getViewTransformation();
if(!getBuffered2DDecomposition().empty() && rViewTransformation !=
getViewTransformation())
{
@@ -94,15 +94,15 @@ namespace drawinglayer::primitive2d
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
- void
ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& rViewInformation) const
+ void
ObjectAndViewTransformationDependentPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
// get the current ViewTransformation
- const basegfx::B2DHomMatrix& rViewTransformation =
rViewInformation.getViewTransformation();
+ const basegfx::B2DHomMatrix& rViewTransformation =
rParameters.getViewInformation().getViewTransformation();
if(!getBuffered2DDecomposition().empty() && rViewTransformation !=
getViewTransformation())
{
@@ -111,7 +111,7 @@ namespace drawinglayer::primitive2d
}
// get the current ObjectTransformation
- const basegfx::B2DHomMatrix& rObjectTransformation =
rViewInformation.getObjectTransformation();
+ const basegfx::B2DHomMatrix& rObjectTransformation =
rParameters.getViewInformation().getObjectTransformation();
if(!getBuffered2DDecomposition().empty() && rObjectTransformation
!= getObjectTransformation())
{
@@ -127,7 +127,7 @@ namespace drawinglayer::primitive2d
}
// call base implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
} // end of namespace
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index 21bf591aecc0..b0b0a59197bb 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -211,14 +211,15 @@ namespace drawinglayer::primitive2d
}
}
- void ScenePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& rViewInformation) const
+ void ScenePrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & rParameters) const
{
+ auto const & rViewInformation = rParameters.getViewInformation();
// create 2D shadows from contained 3D primitives. This creates
the shadow primitives on demand and tells if
// there are some or not. Do this at start, the shadow might still
be visible even when the scene is not
if(impGetShadow3D())
{
// test visibility
- const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rParameters));
const basegfx::B2DRange aViewRange(
rViewInformation.getViewport());
@@ -234,7 +235,7 @@ namespace drawinglayer::primitive2d
basegfx::B2DRange aVisibleDiscreteRange;
basegfx::B2DRange aUnitVisibleRange;
- calculateDiscreteSizes(rViewInformation, aDiscreteRange,
aVisibleDiscreteRange, aUnitVisibleRange);
+ calculateDiscreteSizes(rParameters.getViewInformation(),
aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
if(aVisibleDiscreteRange.isEmpty())
return;
@@ -602,23 +603,23 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange ScenePrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange ScenePrimitive2D::getB2DRange(VisitingParameters
const & rParameters) const
{
// transform unit range to discrete coordinate range
basegfx::B2DRange aRetval(0.0, 0.0, 1.0, 1.0);
- aRetval.transform(rViewInformation.getObjectToViewTransformation()
* getObjectTransformation());
+
aRetval.transform(rParameters.getViewInformation().getObjectToViewTransformation()
* getObjectTransformation());
// force to discrete expanded bounds (it grows, so expanding works
perfectly well)
aRetval.expand(basegfx::B2DTuple(floor(aRetval.getMinX()),
floor(aRetval.getMinY())));
aRetval.expand(basegfx::B2DTuple(ceil(aRetval.getMaxX()),
ceil(aRetval.getMaxY())));
// transform back from discrete (view) to world coordinates
-
aRetval.transform(rViewInformation.getInverseObjectToViewTransformation());
+
aRetval.transform(rParameters.getViewInformation().getInverseObjectToViewTransformation());
// expand by evtl. existing shadow primitives
if(impGetShadow3D())
{
- const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rViewInformation));
+ const basegfx::B2DRange
aShadow2DRange(maShadowPrimitives.getB2DRange(rParameters));
if(!aShadow2DRange.isEmpty())
{
@@ -629,7 +630,7 @@ namespace drawinglayer::primitive2d
return aRetval;
}
- void
ScenePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
const geometry::ViewInformation2D& rViewInformation) const
+ void
ScenePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor,
VisitingParameters const & rParameters) const
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -642,7 +643,7 @@ namespace drawinglayer::primitive2d
if(!getBuffered2DDecomposition().empty())
{
basegfx::B2DRange aVisibleDiscreteRange;
- calculateDiscreteSizes(rViewInformation, aDiscreteRange,
aVisibleDiscreteRange, aUnitVisibleRange);
+ calculateDiscreteSizes(rParameters.getViewInformation(),
aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
bDiscreteSizesAreCalculated = true;
// needs to be painted when the new part is not part of the
last
@@ -675,7 +676,7 @@ namespace drawinglayer::primitive2d
if(!bDiscreteSizesAreCalculated)
{
basegfx::B2DRange aVisibleDiscreteRange;
- calculateDiscreteSizes(rViewInformation, aDiscreteRange,
aVisibleDiscreteRange, aUnitVisibleRange);
+ calculateDiscreteSizes(rParameters.getViewInformation(),
aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
}
// remember last used NewDiscreteSize and NewUnitVisiblePart
@@ -686,7 +687,7 @@ namespace drawinglayer::primitive2d
}
// use parent implementation
- BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rViewInformation);
+ BufferedDecompositionPrimitive2D::get2DDecomposition(rVisitor,
rParameters);
}
// provide unique ID
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index f0efd64c7bdc..aaa68412db4d 100644
--- a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
@@ -56,15 +56,15 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange ShadowPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange ShadowPrimitive2D::getB2DRange(VisitingParameters
const & rParameters) const
{
- basegfx::B2DRange
aRetval(getChildren().getB2DRange(rViewInformation));
+ basegfx::B2DRange aRetval(getChildren().getB2DRange(rParameters));
aRetval.grow(getShadowBlur());
aRetval.transform(getShadowTransform());
return aRetval;
}
- void
ShadowPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
ShadowPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor, VisitingParameters const & /*rParameters*/) const
{
if(getChildren().empty())
return;
diff --git a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
index 4c5b1b2c6102..c4d2fb5d2716 100644
--- a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
@@ -40,16 +40,15 @@ bool SoftEdgePrimitive2D::operator==(const BasePrimitive2D&
rPrimitive) const
return false;
}
-void SoftEdgePrimitive2D::get2DDecomposition(
- Primitive2DDecompositionVisitor& rVisitor,
- const geometry::ViewInformation2D& rViewInformation) const
+void SoftEdgePrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor,
+ VisitingParameters const&
rParameters) const
{
if (getChildren().empty())
return;
if (!mbInMaskGeneration)
{
- GroupPrimitive2D::get2DDecomposition(rVisitor, rViewInformation);
+ GroupPrimitive2D::get2DDecomposition(rVisitor, rParameters);
return;
}
diff --git a/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
b/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
index ec2e477cfb1e..b77c3c5985e1 100644
--- a/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
@@ -465,7 +465,7 @@ namespace drawinglayer::primitive2d
}
}
- void
SvgLinearGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
SvgLinearGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
if(!getPreconditionsChecked())
{
@@ -591,7 +591,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange SvgLinearGradientPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange
SvgLinearGradientPrimitive2D::getB2DRange(VisitingParameters const &
/*rParameters*/) const
{
// return ObjectRange
return getPolyPolygon().getB2DRange();
@@ -685,7 +685,7 @@ namespace drawinglayer::primitive2d
}
}
- void
SvgRadialGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
SvgRadialGradientPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
if(!getPreconditionsChecked())
{
@@ -839,7 +839,7 @@ namespace drawinglayer::primitive2d
return false;
}
- basegfx::B2DRange SvgRadialGradientPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& /*rViewInformation*/) const
+ basegfx::B2DRange
SvgRadialGradientPrimitive2D::getB2DRange(VisitingParameters const &
/*rParameters*/) const
{
// return ObjectRange
return getPolyPolygon().getB2DRange();
@@ -855,7 +855,7 @@ namespace drawinglayer::primitive2d
namespace drawinglayer::primitive2d
{
- void
SvgLinearAtomPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
SvgLinearAtomPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
const double fDelta(getOffsetB() - getOffsetA());
@@ -940,7 +940,7 @@ namespace drawinglayer::primitive2d
namespace drawinglayer::primitive2d
{
- void
SvgRadialAtomPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
SvgRadialAtomPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
const double fDeltaScale(getScaleB() - getScaleA());
diff --git a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
index afc841fcf3bd..8befcff3a7e3 100644
--- a/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/textdecoratedprimitive2d.cxx
@@ -149,7 +149,7 @@ namespace drawinglayer::primitive2d
// TODO: Handle Font Emphasis Above/Below
}
- void
TextDecoratedPortionPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+ void
TextDecoratedPortionPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer, VisitingParameters const & /*rParameters*/) const
{
if(getWordLineMode())
{
@@ -368,7 +368,7 @@ namespace drawinglayer::primitive2d
// #i96475#
// Added missing implementation. Decorations may (will) stick out of
the text's
// inking area, so add them if needed
- basegfx::B2DRange TextDecoratedPortionPrimitive2D::getB2DRange(const
geometry::ViewInformation2D& rViewInformation) const
+ basegfx::B2DRange
TextDecoratedPortionPrimitive2D::getB2DRange(VisitingParameters const &
rParameters) const
{
// check if this needs to be a TextDecoratedPortionPrimitive2D or
// if a TextSimplePortionPrimitive2D would be sufficient
@@ -382,12 +382,12 @@ namespace drawinglayer::primitive2d
// decoration is used, fallback to
BufferedDecompositionPrimitive2D::getB2DRange which uses
// the own local decomposition for computation and thus
creates all necessary
// geometric objects
- return
BufferedDecompositionPrimitive2D::getB2DRange(rViewInformation);
+ return
BufferedDecompositionPrimitive2D::getB2DRange(rParameters);
}
else
{
// no relevant decoration used, fallback to
TextSimplePortionPrimitive2D::getB2DRange
- return
TextSimplePortionPrimitive2D::getB2DRange(rViewInformation);
+ return TextSimplePortionPrimitive2D::getB2DRange(rParameters);
}
}
diff --git a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
index fbd3dfd14332..441360eb394e 100644
--- a/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/texteffectprimitive2d.cxx
@@ -28,13 +28,14 @@ namespace drawinglayer::primitive2d
{
const double fDiscreteSize(1.1);
-void TextEffectPrimitive2D::create2DDecomposition(
- Primitive2DContainer& rContainer, const geometry::ViewInformation2D&
rViewInformation) const
+void TextEffectPrimitive2D::create2DDecomposition(Primitive2DContainer&
rContainer,
+ VisitingParameters const&
rParameters) const
{
// get the distance of one discrete units from target display. Use between
1.0 and sqrt(2) to
// have good results on rotated objects, too
- const basegfx::B2DVector
aDistance(rViewInformation.getInverseObjectToViewTransformation()
- * basegfx::B2DVector(fDiscreteSize,
fDiscreteSize));
+ const basegfx::B2DVector aDistance(
+ rParameters.getViewInformation().getInverseObjectToViewTransformation()
+ * basegfx::B2DVector(fDiscreteSize, fDiscreteSize));
const basegfx::B2DVector aDiagonalDistance(aDistance * (1.0 / 1.44));
switch (getTextEffectStyle2D())
@@ -188,29 +189,28 @@ bool TextEffectPrimitive2D::operator==(const
BasePrimitive2D& rPrimitive) const
return false;
}
-basegfx::B2DRange
-TextEffectPrimitive2D::getB2DRange(const geometry::ViewInformation2D&
rViewInformation) const
+basegfx::B2DRange TextEffectPrimitive2D::getB2DRange(VisitingParameters const&
rParameters) const
{
// get range of content and grow by used fDiscreteSize. That way it is not
necessary to ask
// the whole decomposition for its ranges (which may be expensive with
outline mode which
// then will ask 9 times at nearly the same content. This may even be
refined here using the
// TextEffectStyle information, e.g. for TEXTEFFECTSTYLE2D_RELIEF the grow
needs only to
// be in two directions
- basegfx::B2DRange aRetval(getTextContent().getB2DRange(rViewInformation));
+ basegfx::B2DRange aRetval(getTextContent().getB2DRange(rParameters));
aRetval.grow(fDiscreteSize);
return aRetval;
}
-void TextEffectPrimitive2D::get2DDecomposition(
- Primitive2DDecompositionVisitor& rVisitor,
- const geometry::ViewInformation2D& rViewInformation) const
+void
TextEffectPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor&
rVisitor,
+ VisitingParameters const&
rParameters) const
{
::osl::MutexGuard aGuard(m_aMutex);
if (!getBuffered2DDecomposition().empty())
{
- if (maLastObjectToViewTransformation !=
rViewInformation.getObjectToViewTransformation())
+ if (maLastObjectToViewTransformation
+ !=
rParameters.getViewInformation().getObjectToViewTransformation())
{
// conditions of last local decomposition have changed, delete
const_cast<TextEffectPrimitive2D*>(this)->setBuffered2DDecomposition(
@@ -222,11 +222,11 @@ void TextEffectPrimitive2D::get2DDecomposition(
{
// remember ViewRange and ViewTransformation
const_cast<TextEffectPrimitive2D*>(this)->maLastObjectToViewTransformation
- = rViewInformation.getObjectToViewTransformation();
+ = rParameters.getViewInformation().getObjectToViewTransformation();
... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits