| 112 | } |
| 113 | |
| 114 | bool resolveShapeGeometry(Shape &shape) { |
| 115 | SkPath skPath; |
| 116 | shape.normalize(); |
| 117 | shapeToSkiaPath(skPath, shape); |
| 118 | if (!Simplify(skPath, &skPath)) |
| 119 | return false; |
| 120 | // Skia's AsWinding doesn't seem to work for unknown reasons |
| 121 | shapeFromSkiaPath(shape, skPath); |
| 122 | // In some rare cases, Skia produces tiny residual crossed quadrilateral contours, which are not valid geometry, so they must be removed. |
| 123 | pruneCrossedQuadrilaterals(shape); |
| 124 | shape.orientContours(); |
| 125 | return true; |
| 126 | } |
| 127 | |
| 128 | } |
| 129 |
no test coverage detected