diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-08-21 20:14:04 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-08-22 16:24:05 +0200 |
commit | 008f28c9e01114e731f785e9e238236a1ed069d2 (patch) | |
tree | ee8ee5df51471cb87a663048835800b24fb8b341 /svgio/inc | |
parent | 0944ef734571ae34cbecc53812e576a39b3722f0 (diff) |
no need to use unique_ptr for B2DHomMatrix
it is already a COW type
Change-Id: Ide1dedfb8be7593bf45b0e78899450f04291f09e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120828
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svgio/inc')
-rw-r--r-- | svgio/inc/svganode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgcirclenode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgclippathnode.hxx | 8 | ||||
-rw-r--r-- | svgio/inc/svgellipsenode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svggnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svggradientnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgimagenode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svglinenode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgmasknode.hxx | 8 | ||||
-rw-r--r-- | svgio/inc/svgpathnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgpatternnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgpolynode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgrectnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgstyleattributes.hxx | 2 | ||||
-rw-r--r-- | svgio/inc/svgtextnode.hxx | 6 | ||||
-rw-r--r-- | svgio/inc/svgusenode.hxx | 7 |
16 files changed, 49 insertions, 48 deletions
diff --git a/svgio/inc/svganode.hxx b/svgio/inc/svganode.hxx index ac47da7d5cc7..3fa49442b35e 100644 --- a/svgio/inc/svganode.hxx +++ b/svgio/inc/svganode.hxx @@ -33,7 +33,7 @@ namespace svgio::svgreader SvgStyleAttributes maSvgStyleAttributes; /// variable scan values, dependent of given XAttributeList - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgANode( @@ -46,8 +46,8 @@ namespace svgio::svgreader virtual void decomposeSvgNode(drawinglayer::primitive2d::Primitive2DContainer& rTarget, bool bReferenced) const override; /// transform content - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgcirclenode.hxx b/svgio/inc/svgcirclenode.hxx index 2ffcaa2ecd67..6e06ca141437 100644 --- a/svgio/inc/svgcirclenode.hxx +++ b/svgio/inc/svgcirclenode.hxx @@ -36,7 +36,7 @@ namespace svgio::svgreader SvgNumber maCx; SvgNumber maCy; SvgNumber maR; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgCircleNode( @@ -58,8 +58,8 @@ namespace svgio::svgreader const SvgNumber& getR() const { return maR; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgclippathnode.hxx b/svgio/inc/svgclippathnode.hxx index aa2bb68931e1..6f4ab5b4b97d 100644 --- a/svgio/inc/svgclippathnode.hxx +++ b/svgio/inc/svgclippathnode.hxx @@ -33,7 +33,7 @@ namespace svgio::svgreader SvgStyleAttributes maSvgStyleAttributes; /// variable scan values, dependent of given XAttributeList - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgUnits maClipPathUnits; public: @@ -49,15 +49,15 @@ namespace svgio::svgreader /// apply contained clipPath to given geometry #i124852# transform may be needed void apply( drawinglayer::primitive2d::Primitive2DContainer& rTarget, - const basegfx::B2DHomMatrix* pTransform) const; + const std::optional<basegfx::B2DHomMatrix>& pTransform) const; /// clipPathUnits content SvgUnits getClipPathUnits() const { return maClipPathUnits; } void setClipPathUnits(const SvgUnits aClipPathUnits) { maClipPathUnits = aClipPathUnits; } /// transform content - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgellipsenode.hxx b/svgio/inc/svgellipsenode.hxx index 93f33d794130..8bbad341cf6a 100644 --- a/svgio/inc/svgellipsenode.hxx +++ b/svgio/inc/svgellipsenode.hxx @@ -37,7 +37,7 @@ namespace svgio::svgreader SvgNumber maCy; SvgNumber maRx; SvgNumber maRy; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgEllipseNode( @@ -62,8 +62,8 @@ namespace svgio::svgreader const SvgNumber& getRy() const { return maRy; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svggnode.hxx b/svgio/inc/svggnode.hxx index e59df3e74890..ee814a2f84f1 100644 --- a/svgio/inc/svggnode.hxx +++ b/svgio/inc/svggnode.hxx @@ -33,7 +33,7 @@ namespace svgio::svgreader SvgStyleAttributes maSvgStyleAttributes; /// variable scan values, dependent of given XAttributeList - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgGNode( @@ -47,8 +47,8 @@ namespace svgio::svgreader virtual void decomposeSvgNode(drawinglayer::primitive2d::Primitive2DContainer& rTarget, bool bReferenced) const override; /// transform content - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svggradientnode.hxx b/svgio/inc/svggradientnode.hxx index e383995c89fe..3267256d0524 100644 --- a/svgio/inc/svggradientnode.hxx +++ b/svgio/inc/svggradientnode.hxx @@ -48,7 +48,7 @@ namespace svgio::svgreader /// variable scan values, dependent of given XAttributeList SvgUnits maGradientUnits; drawinglayer::primitive2d::SpreadMethod maSpreadMethod; - std::unique_ptr<basegfx::B2DHomMatrix> mpaGradientTransform; + std::optional<basegfx::B2DHomMatrix> mpaGradientTransform; /// link to another gradient used as style. If maXLink /// is set, the node can be fetched on demand by using @@ -109,8 +109,8 @@ namespace svgio::svgreader void setSpreadMethod(const drawinglayer::primitive2d::SpreadMethod aSpreadMethod) { maSpreadMethod = aSpreadMethod; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getGradientTransform() const; - void setGradientTransform(const basegfx::B2DHomMatrix* pMatrix); + std::optional<basegfx::B2DHomMatrix> getGradientTransform() const; + void setGradientTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaGradientTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgimagenode.hxx b/svgio/inc/svgimagenode.hxx index e778e992fdf5..a639fba27e67 100644 --- a/svgio/inc/svgimagenode.hxx +++ b/svgio/inc/svgimagenode.hxx @@ -34,7 +34,7 @@ namespace svgio::svgreader /// variable scan values, dependent of given XAttributeList SvgAspectRatio maSvgAspectRatio; - std::unique_ptr<basegfx::B2DHomMatrix> + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgNumber maX; SvgNumber maY; @@ -58,8 +58,8 @@ namespace svgio::svgreader virtual void decomposeSvgNode(drawinglayer::primitive2d::Primitive2DContainer& rTarget, bool bReferenced) const override; /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } /// x content, set if found in current context const SvgNumber& getX() const { return maX; } diff --git a/svgio/inc/svglinenode.hxx b/svgio/inc/svglinenode.hxx index 82889add15c5..0002dc181d86 100644 --- a/svgio/inc/svglinenode.hxx +++ b/svgio/inc/svglinenode.hxx @@ -37,7 +37,7 @@ namespace svgio::svgreader SvgNumber maY1; SvgNumber maX2; SvgNumber maY2; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgLineNode( @@ -62,8 +62,8 @@ namespace svgio::svgreader const SvgNumber& getY2() const { return maY2; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgmasknode.hxx b/svgio/inc/svgmasknode.hxx index 2a359c53e995..199a258f9643 100644 --- a/svgio/inc/svgmasknode.hxx +++ b/svgio/inc/svgmasknode.hxx @@ -37,7 +37,7 @@ namespace svgio::svgreader SvgNumber maY; SvgNumber maWidth; SvgNumber maHeight; - std::unique_ptr<basegfx::B2DHomMatrix> + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgUnits maMaskUnits; SvgUnits maMaskContentUnits; @@ -55,7 +55,7 @@ namespace svgio::svgreader /// apply contained clipPath to given geometry #i124852# transform may be needed void apply( drawinglayer::primitive2d::Primitive2DContainer& rTarget, - const basegfx::B2DHomMatrix* pTransform) const; + const std::optional<basegfx::B2DHomMatrix>& pTransform) const; /// x content, set if found in current context const SvgNumber& getX() const { return maX; } @@ -70,8 +70,8 @@ namespace svgio::svgreader const SvgNumber& getHeight() const { return maHeight; } /// transform content - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } /// MaskUnits content void setMaskUnits(const SvgUnits aMaskUnits) { maMaskUnits = aMaskUnits; } diff --git a/svgio/inc/svgpathnode.hxx b/svgio/inc/svgpathnode.hxx index 59daac852891..bc962691fe25 100644 --- a/svgio/inc/svgpathnode.hxx +++ b/svgio/inc/svgpathnode.hxx @@ -36,7 +36,7 @@ namespace svgio::svgreader /// variable scan values, dependent of given XAttributeList std::optional<basegfx::B2DPolyPolygon> mpPolyPolygon; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgNumber maPathLength; basegfx::utils::PointIndexSet maHelpPointIndices; @@ -55,8 +55,8 @@ namespace svgio::svgreader void setPath(const std::optional<basegfx::B2DPolyPolygon>& pPath) { mpPolyPolygon = pPath; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset(new basegfx::B2DHomMatrix(*pMatrix)); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } /// PathLength content const SvgNumber& getPathLength() const { return maPathLength; } diff --git a/svgio/inc/svgpatternnode.hxx b/svgio/inc/svgpatternnode.hxx index a8b4497a335d..1da003c085d1 100644 --- a/svgio/inc/svgpatternnode.hxx +++ b/svgio/inc/svgpatternnode.hxx @@ -47,7 +47,7 @@ namespace svgio::svgreader mpPatternUnits; std::unique_ptr<SvgUnits> mpPatternContentUnits; - std::unique_ptr<basegfx::B2DHomMatrix> + std::optional<basegfx::B2DHomMatrix> mpaPatternTransform; /// link to another pattern used as style. If maXLink @@ -106,8 +106,8 @@ namespace svgio::svgreader void setPatternContentUnits(const SvgUnits aPatternContentUnits) { mpPatternContentUnits.reset( new SvgUnits(aPatternContentUnits) ); } /// PatternTransform content - const basegfx::B2DHomMatrix* getPatternTransform() const; - void setPatternTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaPatternTransform.reset(); if(pMatrix) mpaPatternTransform.reset(new basegfx::B2DHomMatrix(*pMatrix)); } + std::optional<basegfx::B2DHomMatrix> getPatternTransform() const; + void setPatternTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaPatternTransform = pMatrix; } }; diff --git a/svgio/inc/svgpolynode.hxx b/svgio/inc/svgpolynode.hxx index f5974cd28c08..fd356cd55588 100644 --- a/svgio/inc/svgpolynode.hxx +++ b/svgio/inc/svgpolynode.hxx @@ -35,7 +35,7 @@ namespace svgio::svgreader /// variable scan values, dependent of given XAttributeList std::optional<basegfx::B2DPolygon> mpPolygon; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; bool mbIsPolyline : 1; // true = polyline, false = polygon @@ -54,8 +54,8 @@ namespace svgio::svgreader void setPolygon(const std::optional<basegfx::B2DPolygon>& pPolygon) { mpPolygon = pPolygon; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset(new basegfx::B2DHomMatrix(*pMatrix)); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgrectnode.hxx b/svgio/inc/svgrectnode.hxx index 61088e8fdff8..467fa41d8de3 100644 --- a/svgio/inc/svgrectnode.hxx +++ b/svgio/inc/svgrectnode.hxx @@ -39,7 +39,7 @@ namespace svgio::svgreader SvgNumber maHeight; SvgNumber maRx; SvgNumber maRy; - std::unique_ptr<basegfx::B2DHomMatrix> mpaTransform; + std::optional<basegfx::B2DHomMatrix> mpaTransform; public: SvgRectNode( @@ -70,8 +70,8 @@ namespace svgio::svgreader const SvgNumber& getRy() const { return maRy; } /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgstyleattributes.hxx b/svgio/inc/svgstyleattributes.hxx index b1c9da120573..05f3ef085fd3 100644 --- a/svgio/inc/svgstyleattributes.hxx +++ b/svgio/inc/svgstyleattributes.hxx @@ -290,7 +290,7 @@ namespace svgio::svgreader void add_postProcess( drawinglayer::primitive2d::Primitive2DContainer& rTarget, const drawinglayer::primitive2d::Primitive2DContainer& rSource, - const basegfx::B2DHomMatrix* pTransform) const; + const std::optional<basegfx::B2DHomMatrix>& pTransform) const; /// helper to set mpCssStyleParent temporarily for CSS style hierarchies void setCssStyleParent(const SvgStyleAttributes* pNew) { mpCssStyleParent = pNew; } diff --git a/svgio/inc/svgtextnode.hxx b/svgio/inc/svgtextnode.hxx index d7a912b56994..9ff73d66d104 100644 --- a/svgio/inc/svgtextnode.hxx +++ b/svgio/inc/svgtextnode.hxx @@ -34,7 +34,7 @@ namespace svgio::svgreader SvgStyleAttributes maSvgStyleAttributes; /// variable scan values, dependent of given XAttributeList - std::unique_ptr<basegfx::B2DHomMatrix> + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgTextPositions maSvgTextPositions; @@ -61,8 +61,8 @@ namespace svgio::svgreader virtual double getCurrentFontSize() const override; /// transform content, set if found in current context - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } }; } // end of namespace svgio::svgreader diff --git a/svgio/inc/svgusenode.hxx b/svgio/inc/svgusenode.hxx index 110ce0c1e3fa..87b25908b7e0 100644 --- a/svgio/inc/svgusenode.hxx +++ b/svgio/inc/svgusenode.hxx @@ -23,6 +23,7 @@ #include "svgstyleattributes.hxx" #include <basegfx/matrix/b2dhommatrix.hxx> #include <memory> +#include <optional> namespace svgio::svgreader { @@ -33,7 +34,7 @@ namespace svgio::svgreader SvgStyleAttributes maSvgStyleAttributes; /// variable scan values, dependent of given XAttributeList - std::unique_ptr<basegfx::B2DHomMatrix> + std::optional<basegfx::B2DHomMatrix> mpaTransform; SvgNumber maX; SvgNumber maY; @@ -57,8 +58,8 @@ namespace svgio::svgreader virtual void decomposeSvgNode(drawinglayer::primitive2d::Primitive2DContainer& rTarget, bool bReferenced) const override; /// transform content - const basegfx::B2DHomMatrix* getTransform() const { return mpaTransform.get(); } - void setTransform(const basegfx::B2DHomMatrix* pMatrix) { mpaTransform.reset(); if(pMatrix) mpaTransform.reset( new basegfx::B2DHomMatrix(*pMatrix) ); } + const std::optional<basegfx::B2DHomMatrix>& getTransform() const { return mpaTransform; } + void setTransform(const std::optional<basegfx::B2DHomMatrix>& pMatrix) { mpaTransform = pMatrix; } /// x content const SvgNumber& getX() const { return maX; } |