summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-06-02 15:57:32 +0200
committerNoel Grandin <noel@peralex.com>2015-06-04 08:30:24 +0200
commit94d92d00fa756ecb1865e56110ceca920fbaa8ac (patch)
treed040d2d0616547fa12d0d3332ee6eff6b6ea2e7f /include
parentd4917e99709e16c3ad8178ba47c6e1c656071082 (diff)
convert basegfx::FillRule to scoped enum
and drop unused NONZERO_WINDING_NUMBER value Change-Id: If2a8f01934796eaf9a343113387b775fd169ccb9
Diffstat (limited to 'include')
-rw-r--r--include/basebmp/polypolygonrenderer.hxx9
-rw-r--r--include/basegfx/polygon/b2dpolypolygonfillrule.hxx12
2 files changed, 4 insertions, 17 deletions
diff --git a/include/basebmp/polypolygonrenderer.hxx b/include/basebmp/polypolygonrenderer.hxx
index 88963ae0be9f..05860da2d63e 100644
--- a/include/basebmp/polypolygonrenderer.hxx
+++ b/include/basebmp/polypolygonrenderer.hxx
@@ -227,7 +227,6 @@ namespace basebmp
detail::VectorOfVertexPtr::iterator currVertex( pAET->begin() );
detail::VectorOfVertexPtr::iterator const lastVertex( pAET->end()-1 );
sal_uInt32 nCrossedEdges(0);
- sal_Int32 nWindingNumber(0);
while( currVertex != lastVertex )
{
// TODO(P1): might be worth a try to extend the
@@ -236,17 +235,13 @@ namespace basebmp
detail::Vertex& rV1( **currVertex );
detail::Vertex const& rV2( **++currVertex );
- nWindingNumber += -1 + 2*int(rV1.mbDownwards);
-
// calc fill status for both rules. might save a
// few percent runtime to specialize here...
const bool bEvenOddFill(
- eFillRule == basegfx::FillRule_EVEN_ODD && !(nCrossedEdges & 0x01) );
- const bool bNonZeroWindingFill(
- eFillRule == basegfx::FillRule_NONZERO_WINDING_NUMBER && nWindingNumber != 0 );
+ eFillRule == basegfx::FillRule::EvenOdd && !(nCrossedEdges & 0x01) );
// is span visible?
- if( (bEvenOddFill || bNonZeroWindingFill) &&
+ if( bEvenOddFill &&
y >= nClipY1 &&
rV1.mnX < nClipX2_frac &&
rV2.mnX > nClipX1_frac )
diff --git a/include/basegfx/polygon/b2dpolypolygonfillrule.hxx b/include/basegfx/polygon/b2dpolypolygonfillrule.hxx
index fb7d1ab4f676..1c9a23b56252 100644
--- a/include/basegfx/polygon/b2dpolypolygonfillrule.hxx
+++ b/include/basegfx/polygon/b2dpolypolygonfillrule.hxx
@@ -31,21 +31,13 @@ namespace basegfx
The fill rule determines which areas are inside, and which are
outside the poly-polygon.
*/
- enum FillRule
+ enum class FillRule
{
/** Areas, for which a scanline has crossed an odd number of
vertices, are regarded 'inside', the remainder 'outside'
of the poly-polygon.
*/
- FillRule_EVEN_ODD,
-
- /** For each edge a scanline crosses, a current winding number
- is updated. Downward edges count +1, upward edges count
- -1. If the total accumulated winding number for one area
- is not zero, this area is regarded 'inside', otherwise,
- 'outside'.
- */
- FillRule_NONZERO_WINDING_NUMBER
+ EvenOdd
};
}