summaryrefslogtreecommitdiff
path: root/svx/inc/sdr
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2021-12-03 14:11:06 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-12-04 12:32:06 +0100
commitb739bdaba8064ae8b428cfa1c7c6010d662539a3 (patch)
tree3f01788dbeccd2a3490fa8493b393ff20ef8b243 /svx/inc/sdr
parent2219d37896ee4a8662d9dccc06a73302f8ac6c7c (diff)
use visitor in getViewIndependentPrimitive2DContainer
to reduce intermediate temporary data creation Change-Id: I3f13b0e02c1fa374e8d70768ae47c7f6da254462 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126322 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/inc/sdr')
-rw-r--r--svx/inc/sdr/contact/viewcontactofe3d.hxx4
-rw-r--r--svx/inc/sdr/contact/viewcontactofgraphic.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofgroup.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofpageobj.hxx4
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx7
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrpage.hxx20
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx2
-rw-r--r--svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx4
-rw-r--r--svx/inc/sdr/contact/viewcontactofunocontrol.hxx2
15 files changed, 30 insertions, 29 deletions
diff --git a/svx/inc/sdr/contact/viewcontactofe3d.hxx b/svx/inc/sdr/contact/viewcontactofe3d.hxx
index 2f24460cd106..553407deb4fb 100644
--- a/svx/inc/sdr/contact/viewcontactofe3d.hxx
+++ b/svx/inc/sdr/contact/viewcontactofe3d.hxx
@@ -74,8 +74,8 @@ protected:
// This method is responsible for creating the graphical visualisation data derived ONLY from
// the model data. The default implementation will try to create a 3D to 2D embedding (will work
// when scene is known) which can then be used for 2D processing concerning ranges
- virtual drawinglayer::primitive2d::Primitive2DContainer
- createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(
+ drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
// access to the local primitive without the object's local 3D transform. This is e.g. needed
diff --git a/svx/inc/sdr/contact/viewcontactofgraphic.hxx b/svx/inc/sdr/contact/viewcontactofgraphic.hxx
index 0c554ec9100a..bf3ecabcd3e6 100644
--- a/svx/inc/sdr/contact/viewcontactofgraphic.hxx
+++ b/svx/inc/sdr/contact/viewcontactofgraphic.hxx
@@ -65,7 +65,7 @@ namespace sdr::contact
private:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofgroup.hxx b/svx/inc/sdr/contact/viewcontactofgroup.hxx
index 21900c906f71..de1b4aa7fc88 100644
--- a/svx/inc/sdr/contact/viewcontactofgroup.hxx
+++ b/svx/inc/sdr/contact/viewcontactofgroup.hxx
@@ -47,7 +47,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx b/svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx
index a807829007f7..9d6f86f09e46 100644
--- a/svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx
+++ b/svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx
@@ -40,7 +40,7 @@ namespace sdr::contact
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
// This method is responsible for creating the graphical visualisation data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
// basic constructor
diff --git a/svx/inc/sdr/contact/viewcontactofpageobj.hxx b/svx/inc/sdr/contact/viewcontactofpageobj.hxx
index b32fd7cae7f9..672d42042697 100644
--- a/svx/inc/sdr/contact/viewcontactofpageobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofpageobj.hxx
@@ -34,8 +34,8 @@ class ViewContactOfPageObj final : public ViewContactOfSdrObj
CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
// create graphical visualisation data
- virtual drawinglayer::primitive2d::Primitive2DContainer
- createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(
+ drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
// basic constructor, used from SdrObject.
diff --git a/svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx b/svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx
index 230c6d4c4b9b..d39758be36fb 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx
@@ -36,7 +36,7 @@ namespace sdr::contact
private:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx b/svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx
index 1a88e55de13d..281cad956461 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx
@@ -42,7 +42,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx b/svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx
index 1d27161b1be2..24ed402852c6 100644
--- a/svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx
@@ -42,7 +42,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx b/svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx
index e74f48dfa92e..6b4d89323493 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx
@@ -42,7 +42,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx b/svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx
index 196eabf8f4dd..6bdcbb5dfbef 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx
@@ -45,7 +45,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx b/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
index f034f02a6da5..d5ca82fbcd3f 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
@@ -51,7 +51,8 @@ public:
// scaling (e.g. for EmptyPresObj's), the correct graphic and other stuff. It is used from
// createViewIndependentPrimitive2DSequence with false, and with evtl. HighContrast true
// from the VOC which knows that
- drawinglayer::primitive2d::Primitive2DContainer createPrimitive2DSequenceWithParameters() const;
+ void createPrimitive2DSequenceWithParameters(
+ drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const;
virtual basegfx::B2DRange
getRange(const drawinglayer::geometry::ViewInformation2D& rViewInfo2D) const override;
@@ -59,8 +60,8 @@ public:
private:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data, just wraps to call createPrimitive2DSequenceWithParameters(false)
- virtual drawinglayer::primitive2d::Primitive2DContainer
- createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(
+ drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
}
diff --git a/svx/inc/sdr/contact/viewcontactofsdrpage.hxx b/svx/inc/sdr/contact/viewcontactofsdrpage.hxx
index 59e49b5f2a62..98d6f577e86e 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrpage.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrpage.hxx
@@ -44,7 +44,7 @@ public:
class ViewContactOfPageBackground final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfPageBackground(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -54,7 +54,7 @@ public:
class ViewContactOfPageShadow final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfPageShadow(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -64,7 +64,7 @@ public:
class ViewContactOfPageFill final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfPageFill(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -74,7 +74,7 @@ public:
class ViewContactOfMasterPage final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfMasterPage(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -84,7 +84,7 @@ public:
class ViewContactOfOuterPageBorder final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfOuterPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -94,7 +94,7 @@ public:
class ViewContactOfInnerPageBorder final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfInnerPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -111,7 +111,7 @@ public:
class ViewContactOfPageHierarchy final : public ViewContactOfPageSubObject
{
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
explicit ViewContactOfPageHierarchy(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
@@ -126,7 +126,7 @@ class ViewContactOfGrid final : public ViewContactOfPageSubObject
bool mbFront : 1;
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
@@ -140,7 +140,7 @@ class ViewContactOfHelplines final : public ViewContactOfPageSubObject
bool mbFront : 1;
virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
public:
ViewContactOfHelplines(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
@@ -194,7 +194,7 @@ public:
private:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
}
diff --git a/svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx b/svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx
index c3f71af08e15..bc4063a42e0a 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx
@@ -42,7 +42,7 @@ namespace sdr::contact
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
} // end of namespace sdr::contact
diff --git a/svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx b/svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx
index 3477ce4f8f87..6971f8f0cadc 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx
@@ -38,8 +38,8 @@ public:
protected:
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer
- createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(
+ drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};
}
diff --git a/svx/inc/sdr/contact/viewcontactofunocontrol.hxx b/svx/inc/sdr/contact/viewcontactofunocontrol.hxx
index 8d16362aa092..04cdf7c07ba8 100644
--- a/svx/inc/sdr/contact/viewcontactofunocontrol.hxx
+++ b/svx/inc/sdr/contact/viewcontactofunocontrol.hxx
@@ -65,7 +65,7 @@ namespace sdr::contact {
// This method is responsible for creating the graphical visualisation data
// ONLY based on model data
- virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override;
+ virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor& rVisitor) const override;
};