1 // Copyright 2019 Google LLC.
2 // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3 #include "tools/fiddle/examples.h"
4 REG_FIDDLE(Path_ConvertToNonInverseFillType, 256, 256, true, 0) {
5 #define nameValue(fill) { SkPathFillType::fill, #fill }
6
draw(SkCanvas * canvas)7 void draw(SkCanvas* canvas) {
8 struct {
9 SkPathFillType fill;
10 const char* name;
11 } fills[] = {
12 nameValue(kWinding),
13 nameValue(kEvenOdd),
14 nameValue(kInverseWinding),
15 nameValue(kInverseEvenOdd),
16 };
17 for (unsigned i = 0; i < std::size(fills); ++i) {
18 if (fills[i].fill != (SkPathFillType) i) {
19 SkDebugf("fills array order does not match FillType enum order");
20 break;
21 }
22 SkDebugf("ConvertToNonInverseFillType(%s) == %s\n", fills[i].name,
23 fills[(int) SkPathFillType_ConvertToNonInverse(fills[i].fill)].name);
24 }
25 }
26 } // END FIDDLE
27