private bool SetFillType(PathBase path, string rule) { var separatePathForStroke = false; FillType? fillType = null; switch (rule) { case "nonzero": fillType = FillType.winding; break; case "evenodd": fillType = FillType.even_odd; break; } if (fillType.HasValue) { if (fillType.Value == FillType.even_odd && _fixFillType) { try { path.PathData = PathDataConverter.ConvertFillTypeFromEvenOddToWinding(path.PathData, out separatePathForStroke); fillType = FillType.winding; } catch (Exception e) { throw new FixFillTypeException(e); } } path.FillType = fillType.Value; if (path.FillType != fillType.Value) { _isFillTypeSupported = false; } } return separatePathForStroke; }
private void SetFillType(PathBase path, string rule) { FillType? fillType = null; switch (rule) { case "nonzero": fillType = FillType.winding; break; case "evenodd": fillType = FillType.even_odd; break; } if (fillType.HasValue) { path.FillType = fillType.Value; if (path.FillType != fillType.Value) { _isFillTypeSupported = false; } } }