diff options
author | Noel Grandin <noel@peralex.com> | 2015-01-04 19:34:19 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2015-01-09 09:08:35 +0200 |
commit | 278b400511a76a9be5e0afc0377a9c69823cc230 (patch) | |
tree | faf2573bf0f0e57817dcd8cac9f9b36989402710 | |
parent | 5c5edaef89e953d260501678c3d62c47ad9763ac (diff) |
fdo#84938: convert POLY_OPTIMIZE_ #defines to 'enum class'
Change-Id: I163bd3f521473c5357c23c3ce4978f984be7b6fe
-rw-r--r-- | include/tools/poly.hxx | 22 | ||||
-rw-r--r-- | svtools/source/uno/unoimap.cxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/frmsel.cxx | 4 | ||||
-rw-r--r-- | sw/source/core/layout/fly.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/unocore/unoframe.cxx | 2 | ||||
-rw-r--r-- | tools/source/generic/poly.cxx | 16 | ||||
-rw-r--r-- | tools/source/generic/poly2.cxx | 12 | ||||
-rw-r--r-- | vcl/source/gdi/impvect.cxx | 4 | ||||
-rw-r--r-- | vcl/source/gdi/pdfwriter_impl.cxx | 2 | ||||
-rw-r--r-- | vcl/source/outdev/hatch.cxx | 4 |
10 files changed, 39 insertions, 31 deletions
diff --git a/include/tools/poly.hxx b/include/tools/poly.hxx index bfc14ea1ea92..af157b2137f7 100644 --- a/include/tools/poly.hxx +++ b/include/tools/poly.hxx @@ -22,17 +22,25 @@ #include <tools/toolsdllapi.h> #include <tools/gen.hxx> #include <tools/debug.hxx> +#include <o3tl/typed_flags_set.hxx> #include <vector> #define POLY_APPEND (0xFFFF) #define POLYPOLY_APPEND (0xFFFF) -#define POLY_OPTIMIZE_OPEN 0x00000001UL -#define POLY_OPTIMIZE_CLOSE 0x00000002UL -#define POLY_OPTIMIZE_NO_SAME 0x00000004UL -#define POLY_OPTIMIZE_REDUCE 0x00000008UL -#define POLY_OPTIMIZE_EDGES 0x00000010UL +enum class PolyOptimizeFlags { + NONE = 0x0000, + OPEN = 0x0001, + CLOSE = 0x0002, + NO_SAME = 0x0004, + REDUCE = 0x0008, + EDGES = 0x0010, +}; +namespace o3tl +{ + template<> struct typed_flags<PolyOptimizeFlags> : is_typed_flags<PolyOptimizeFlags, 0x001f> {}; +} enum PolyStyle { @@ -134,7 +142,7 @@ public: bool IsRightOrientated() const; double CalcDistance( sal_uInt16 nPt1, sal_uInt16 nPt2 ); void Clip( const Rectangle& rRect, bool bPolygon = true ); - void Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* pData = NULL ); + void Optimize( PolyOptimizeFlags nOptimizeFlags, const PolyOptimizeData* pData = NULL ); /** Adaptive subdivision of polygons with curves @@ -223,7 +231,7 @@ public: sal_uInt16 Count() const; Rectangle GetBoundRect() const; void Clip( const Rectangle& rRect ); - void Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* pData = NULL ); + void Optimize( PolyOptimizeFlags nOptimizeFlags, const PolyOptimizeData* pData = NULL ); /** Adaptive subdivision of polygons with curves diff --git a/svtools/source/uno/unoimap.cxx b/svtools/source/uno/unoimap.cxx index b4ece344101e..ab16d84bc941 100644 --- a/svtools/source/uno/unoimap.cxx +++ b/svtools/source/uno/unoimap.cxx @@ -290,7 +290,7 @@ IMapObject* SvUnoImageMapObject::createIMapObject() const aPoly.SetPoint( aPoint, nPoint ); } - aPoly.Optimize( POLY_OPTIMIZE_CLOSE ); + aPoly.Optimize( PolyOptimizeFlags::CLOSE ); pNewIMapObject = new IMapPolygonObject( aPoly, aURL, aAltText, aDesc, aTarget, aName, mbIsActive, false ); } break; diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx index 86772cefb6db..7de05065cdec 100644 --- a/svx/source/dialog/frmsel.cxx +++ b/svx/source/dialog/frmsel.cxx @@ -531,7 +531,7 @@ void FrameSelectorImpl::DrawBackground() tools::PolyPolygon aPPoly; for( FrameBorderCIter aIt( maEnabBorders ); aIt.Is(); ++aIt ) (*aIt)->MergeFocusToPolyPolygon( aPPoly ); - aPPoly.Optimize( POLY_OPTIMIZE_CLOSE ); + aPPoly.Optimize( PolyOptimizeFlags::CLOSE ); maVirDev.SetLineColor( maBackCol ); maVirDev.SetFillColor( maBackCol ); maVirDev.DrawPolyPolygon( aPPoly ); @@ -687,7 +687,7 @@ void FrameSelectorImpl::DrawAllTrackingRects() // no frame border selected -> draw tracking rectangle around entire control aPPoly.Insert( Polygon( Rectangle( maVirDevPos, maVirDev.GetOutputSizePixel() ) ) ); - aPPoly.Optimize( POLY_OPTIMIZE_CLOSE ); + aPPoly.Optimize( PolyOptimizeFlags::CLOSE ); for( sal_uInt16 nIdx = 0, nCount = aPPoly.Count(); nIdx < nCount; ++nIdx ) mrFrameSel.InvertTracking( aPPoly.GetObject( nIdx ), SHOWTRACK_SMALL | SHOWTRACK_WINDOW ); } diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx index 80773d3f9b0e..ddec469ad49a 100644 --- a/sw/source/core/layout/fly.cxx +++ b/sw/source/core/layout/fly.cxx @@ -2529,7 +2529,7 @@ bool SwFlyFrm::GetContour( tools::PolyPolygon& rContour, if( !aClip.Height() ) aClip.Height( 1 ); rContour.Clip( aClip.SVRect() ); - rContour.Optimize(POLY_OPTIMIZE_CLOSE); + rContour.Optimize(PolyOptimizeFlags::CLOSE); bRet = true; } } diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx index 1db4715b4f9a..123af06e5d17 100644 --- a/sw/source/core/unocore/unoframe.cxx +++ b/sw/source/core/unocore/unoframe.cxx @@ -1450,7 +1450,7 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno:: aSet.SetPoint(aPoint, (sal_uInt16)j); } // Close polygon if it isn't closed already. - aSet.Optimize( POLY_OPTIMIZE_CLOSE ); + aSet.Optimize( PolyOptimizeFlags::CLOSE ); aPoly.Insert( aSet ); } pNoTxt->SetContourAPI( &aPoly ); diff --git a/tools/source/generic/poly.cxx b/tools/source/generic/poly.cxx index eb3859a1bddd..e949835f8b56 100644 --- a/tools/source/generic/poly.cxx +++ b/tools/source/generic/poly.cxx @@ -697,30 +697,30 @@ double Polygon::CalcDistance( sal_uInt16 nP1, sal_uInt16 nP2 ) return sqrt( fDx * fDx + fDy * fDy ); } -void Polygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* pData ) +void Polygon::Optimize( PolyOptimizeFlags nOptimizeFlags, const PolyOptimizeData* pData ) { DBG_ASSERT( !mpImplPolygon->mpFlagAry, "Optimizing could fail with beziers!" ); sal_uInt16 nSize = mpImplPolygon->mnPoints; - if( nOptimizeFlags && nSize ) + if( bool(nOptimizeFlags) && nSize ) { - if( nOptimizeFlags & POLY_OPTIMIZE_EDGES ) + if( nOptimizeFlags & PolyOptimizeFlags::EDGES ) { const Rectangle aBound( GetBoundRect() ); const double fArea = ( aBound.GetWidth() + aBound.GetHeight() ) * 0.5; const sal_uInt16 nPercent = pData ? pData->GetPercentValue() : 50; - Optimize( POLY_OPTIMIZE_NO_SAME ); + Optimize( PolyOptimizeFlags::NO_SAME ); ImplReduceEdges( *this, fArea, nPercent ); } - else if( nOptimizeFlags & ( POLY_OPTIMIZE_REDUCE | POLY_OPTIMIZE_NO_SAME ) ) + else if( nOptimizeFlags & ( PolyOptimizeFlags::REDUCE | PolyOptimizeFlags::NO_SAME ) ) { Polygon aNewPoly; const Point& rFirst = mpImplPolygon->mpPointAry[ 0 ]; sal_uIntPtr nReduce; - if( nOptimizeFlags & ( POLY_OPTIMIZE_REDUCE ) ) + if( nOptimizeFlags & ( PolyOptimizeFlags::REDUCE ) ) nReduce = pData ? pData->GetAbsValue() : 4UL; else nReduce = 0UL; @@ -757,13 +757,13 @@ void Polygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* pDat if( nSize > 1 ) { - if( ( nOptimizeFlags & POLY_OPTIMIZE_CLOSE ) && + if( ( nOptimizeFlags & PolyOptimizeFlags::CLOSE ) && ( mpImplPolygon->mpPointAry[ 0 ] != mpImplPolygon->mpPointAry[ nSize - 1 ] ) ) { SetSize( mpImplPolygon->mnPoints + 1 ); mpImplPolygon->mpPointAry[ mpImplPolygon->mnPoints - 1 ] = mpImplPolygon->mpPointAry[ 0 ]; } - else if( ( nOptimizeFlags & POLY_OPTIMIZE_OPEN ) && + else if( ( nOptimizeFlags & PolyOptimizeFlags::OPEN ) && ( mpImplPolygon->mpPointAry[ 0 ] == mpImplPolygon->mpPointAry[ nSize - 1 ] ) ) { const Point& rFirst = mpImplPolygon->mpPointAry[ 0 ]; diff --git a/tools/source/generic/poly2.cxx b/tools/source/generic/poly2.cxx index eec33a2624b0..9ed24b1b7484 100644 --- a/tools/source/generic/poly2.cxx +++ b/tools/source/generic/poly2.cxx @@ -223,9 +223,9 @@ void PolyPolygon::Clear() } } -void PolyPolygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* pData ) +void PolyPolygon::Optimize( PolyOptimizeFlags nOptimizeFlags, const PolyOptimizeData* pData ) { - if(nOptimizeFlags && Count()) + if(bool(nOptimizeFlags) && Count()) { // #115630# ImplDrawHatch does not work with beziers included in the polypolygon, take care of that bool bIsCurve(false); @@ -250,7 +250,7 @@ void PolyPolygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* else { double fArea; - const bool bEdges = ( nOptimizeFlags & POLY_OPTIMIZE_EDGES ) == POLY_OPTIMIZE_EDGES; + const bool bEdges = ( nOptimizeFlags & PolyOptimizeFlags::EDGES ) == PolyOptimizeFlags::EDGES; sal_uInt16 nPercent = 0; if( bEdges ) @@ -259,7 +259,7 @@ void PolyPolygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* fArea = ( aBound.GetWidth() + aBound.GetHeight() ) * 0.5; nPercent = pData ? pData->GetPercentValue() : 50; - nOptimizeFlags &= ~POLY_OPTIMIZE_EDGES; + nOptimizeFlags &= ~PolyOptimizeFlags::EDGES; } // watch for ref counter @@ -274,11 +274,11 @@ void PolyPolygon::Optimize( sal_uIntPtr nOptimizeFlags, const PolyOptimizeData* { if( bEdges ) { - mpImplPolyPolygon->mpPolyAry[ i ]->Optimize( POLY_OPTIMIZE_NO_SAME ); + mpImplPolyPolygon->mpPolyAry[ i ]->Optimize( PolyOptimizeFlags::NO_SAME ); Polygon::ImplReduceEdges( *( mpImplPolyPolygon->mpPolyAry[ i ] ), fArea, nPercent ); } - if( nOptimizeFlags ) + if( bool(nOptimizeFlags) ) mpImplPolyPolygon->mpPolyAry[ i ]->Optimize( nOptimizeFlags, pData ); } } diff --git a/vcl/source/gdi/impvect.cxx b/vcl/source/gdi/impvect.cxx index 6b8c06fbbb05..e61364d1a032 100644 --- a/vcl/source/gdi/impvect.cxx +++ b/vcl/source/gdi/impvect.cxx @@ -693,7 +693,7 @@ bool ImplVectorizer::ImplVectorize( const Bitmap& rColorBmp, GDIMetaFile& rMtf, ImplLimitPolyPoly( aPolyPoly ); if( nFlags & BMP_VECTORIZE_REDUCE_EDGES ) - aPolyPoly.Optimize( POLY_OPTIMIZE_EDGES ); + aPolyPoly.Optimize( PolyOptimizeFlags::EDGES ); if( aPolyPoly.Count() ) { @@ -760,7 +760,7 @@ bool ImplVectorizer::ImplVectorize( const Bitmap& rMonoBmp, ImplLimitPolyPoly( rPolyPoly ); if( nFlags & BMP_VECTORIZE_REDUCE_EDGES ) - rPolyPoly.Optimize( POLY_OPTIMIZE_EDGES ); + rPolyPoly.Optimize( PolyOptimizeFlags::EDGES ); // #i14895#:setting the correct direction for polygons // that represent holes and non-holes; non-hole polygons diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 5e1f8c2c9aaf..a8c127d98927 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -10523,7 +10523,7 @@ void PDFWriterImpl::drawHatch( const tools::PolyPolygon& rPolyPoly, const Hatch& { tools::PolyPolygon aPolyPoly( rPolyPoly ); - aPolyPoly.Optimize( POLY_OPTIMIZE_NO_SAME ); + aPolyPoly.Optimize( PolyOptimizeFlags::NO_SAME ); push( PushFlags::LINECOLOR ); setLineColor( rHatch.GetColor() ); getReferenceDevice()->DrawHatch( aPolyPoly, rHatch, false ); diff --git a/vcl/source/outdev/hatch.cxx b/vcl/source/outdev/hatch.cxx index d4777e2ed24d..9d337ca2e622 100644 --- a/vcl/source/outdev/hatch.cxx +++ b/vcl/source/outdev/hatch.cxx @@ -97,7 +97,7 @@ void OutputDevice::DrawHatch( const tools::PolyPolygon& rPolyPoly, const Hatch& GDIMetaFile* pOldMetaFile = mpMetaFile; bool bOldMap = mbMap; - aPolyPoly.Optimize( POLY_OPTIMIZE_NO_SAME ); + aPolyPoly.Optimize( PolyOptimizeFlags::NO_SAME ); aHatch.SetDistance( ImplLogicWidthToDevicePixel( aHatch.GetDistance() ) ); mpMetaFile = NULL; @@ -120,7 +120,7 @@ void OutputDevice::AddHatchActions( const tools::PolyPolygon& rPolyPoly, const H { tools::PolyPolygon aPolyPoly( rPolyPoly ); - aPolyPoly.Optimize( POLY_OPTIMIZE_NO_SAME | POLY_OPTIMIZE_CLOSE ); + aPolyPoly.Optimize( PolyOptimizeFlags::NO_SAME | PolyOptimizeFlags::CLOSE ); if( aPolyPoly.Count() ) { |