#define SW_CURVE_TYPE_POINT 0
#define SW_CURVE_TYPE_CUBIC 1
-#define SW_OUTLINE_FILL_WINDING 0
-#define SW_OUTLINE_FILL_EVEN_ODD 1
#define SW_ANGLE_PI (180L << 16)
#define SW_ANGLE_2PI (SW_ANGLE_PI << 1)
#define SW_ANGLE_PI2 (SW_ANGLE_PI >> 1)
uint32_t ptsCnt; //number of points in the glyph
uint32_t reservedPtsCnt;
uint8_t* types; //curve type
- uint8_t fillMode; //outline fill mode
+ FillRule fillRule;
bool opened; //opened path?
};
if (coverage < 0) coverage = -coverage;
- if (rw.outline->fillMode == SW_OUTLINE_FILL_EVEN_ODD) {
+ if (rw.outline->fillRule == FillRule::EvenOdd) {
coverage &= 511;
if (coverage > 256) coverage = 512 - coverage;
else if (coverage == 256) coverage = 255;
if (closed) outline->opened = false;
- //FIXME:
- //outline->flags = SwOutline::FillRule::Winding;
-
+ outline->fillRule = sdata->fillRule();
shape->outline = outline;
return true;