From 225115af05cba9a603130914b49c5b28ed451108 Mon Sep 17 00:00:00 2001 From: Andreas Brandner Date: Fri, 15 Sep 2017 09:17:17 +0200 Subject: tdf#62525 tools: use cow_wrapper class for Polygon Change-Id: I78f141762f593b36d32eb3eb2cda8fdae54b7277 Reviewed-on: https://gerrit.libreoffice.org/42309 Tested-by: Jenkins Reviewed-by: Thorsten Behrens --- tools/inc/poly.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tools/inc') diff --git a/tools/inc/poly.h b/tools/inc/poly.h index 835beb8bcffe..4adb7184708e 100644 --- a/tools/inc/poly.h +++ b/tools/inc/poly.h @@ -30,17 +30,29 @@ public: Point* mpPointAry; PolyFlags* mpFlagAry; sal_uInt16 mnPoints; - sal_uInt32 mnRefCount; }; class SAL_WARN_UNUSED ImplPolygon : public ImplPolygonData { public: + ImplPolygon() { mpPointAry = nullptr; mpFlagAry = nullptr; mnPoints = 0;}; ImplPolygon( sal_uInt16 nInitSize, bool bFlags = false ); ImplPolygon( sal_uInt16 nPoints, const Point* pPtAry, const PolyFlags* pInitFlags ); ImplPolygon( const ImplPolygon& rImplPoly ); + ImplPolygon( const tools::Rectangle& rRect ); + ImplPolygon( const tools::Rectangle& rRect, sal_uInt32 nHorzRound, sal_uInt32 nVertRound); + ImplPolygon( const Point& rCenter, long nRadX, long nRadY ); + ImplPolygon( const tools::Rectangle& rBound, const Point& rStart, const Point& rEnd, + PolyStyle eStyle, bool bFullCircle ); + ImplPolygon( const Point& rBezPt1, const Point& rCtrlPt1, const Point& rBezPt2, + const Point& rCtrlPt2, sal_uInt16 nPoints ); + ImplPolygon(const basegfx::B2DPolygon& rPolygon); ~ImplPolygon(); + bool operator==( const ImplPolygon& rCandidate ) const; + + void ImplInitDefault(); + void ImplInitSize(sal_uInt16 nInitSize, bool bFlags = false); void ImplSetSize( sal_uInt16 nSize, bool bResize = true ); void ImplCreateFlagArray(); bool ImplSplit( sal_uInt16 nPos, sal_uInt16 nSpace, ImplPolygon const * pInitPoly = nullptr ); -- cgit