diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-12-03 14:11:06 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-12-04 12:32:06 +0100 |
commit | b739bdaba8064ae8b428cfa1c7c6010d662539a3 (patch) | |
tree | 3f01788dbeccd2a3490fa8493b393ff20ef8b243 /svx/inc/sdr | |
parent | 2219d37896ee4a8662d9dccc06a73302f8ac6c7c (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.hxx | 4 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofgraphic.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofgroup.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofmasterpagedescriptor.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofpageobj.hxx | 4 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrcaptionobj.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrcircobj.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdredgeobj.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrmeasureobj.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrobjcustomshape.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx | 7 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrpage.hxx | 20 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrpathobj.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofsdrrectobj.hxx | 4 | ||||
-rw-r--r-- | svx/inc/sdr/contact/viewcontactofunocontrol.hxx | 2 |
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; }; |