| /* |
| * Copyright 2012 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "EdgeWalker_Test.h" |
| #include "Intersection_Tests.h" |
| #include "ShapeOps.h" |
| |
| #define TEST(name) { name, #name } |
| |
| static void testLine1() { |
| SkPath path; |
| path.moveTo(2,0); |
| path.lineTo(1,1); |
| path.lineTo(0,0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine1x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(2,0); |
| path.lineTo(1,1); |
| path.lineTo(0,0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void addInnerCWTriangle(SkPath& path) { |
| path.moveTo(3,0); |
| path.lineTo(4,1); |
| path.lineTo(2,1); |
| path.close(); |
| } |
| |
| static void addInnerCCWTriangle(SkPath& path) { |
| path.moveTo(3,0); |
| path.lineTo(2,1); |
| path.lineTo(4,1); |
| path.close(); |
| } |
| |
| static void addOuterCWTriangle(SkPath& path) { |
| path.moveTo(3,0); |
| path.lineTo(6,2); |
| path.lineTo(0,2); |
| path.close(); |
| } |
| |
| static void addOuterCCWTriangle(SkPath& path) { |
| path.moveTo(3,0); |
| path.lineTo(0,2); |
| path.lineTo(6,2); |
| path.close(); |
| } |
| |
| static void testLine2() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine2x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3a() { |
| SkPath path; |
| addInnerCWTriangle(path); |
| addOuterCCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCWTriangle(path); |
| addOuterCCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3b() { |
| SkPath path; |
| addInnerCCWTriangle(path); |
| addOuterCCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3bx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addInnerCCWTriangle(path); |
| addOuterCCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine4() { |
| SkPath path; |
| addOuterCCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine4x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addOuterCCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine5() { |
| SkPath path; |
| addOuterCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine5x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addOuterCWTriangle(path); |
| addOuterCWTriangle(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine6() { |
| SkPath path; |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,0); |
| path.lineTo(6,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine6x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,0); |
| path.lineTo(6,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7() { |
| SkPath path; |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(6,0); |
| path.lineTo(2,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(6,0); |
| path.lineTo(2,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7a() { |
| SkPath path; |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.lineTo(2,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7b() { |
| SkPath path; |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.close(); |
| path.moveTo(6,0); |
| path.lineTo(2,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine7bx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,0); |
| path.lineTo(4,0); |
| path.close(); |
| path.moveTo(6,0); |
| path.lineTo(2,0); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine8() { |
| SkPath path; |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,4); |
| path.lineTo(6,4); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine8x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,4); |
| path.lineTo(6,4); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine9() { |
| SkPath path; |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(6,4); |
| path.lineTo(2,4); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine9x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(6,4); |
| path.lineTo(2,4); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine10() { |
| SkPath path; |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,1); |
| path.lineTo(3,4); |
| path.lineTo(6,1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine10x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,4); |
| path.lineTo(4,4); |
| path.lineTo(2,2); |
| path.close(); |
| path.moveTo(2,1); |
| path.lineTo(3,4); |
| path.lineTo(6,1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine10a() { |
| SkPath path; |
| path.moveTo(0,4); |
| path.lineTo(8,4); |
| path.lineTo(4,0); |
| path.close(); |
| path.moveTo(2,2); |
| path.lineTo(3,3); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine10ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0,4); |
| path.lineTo(8,4); |
| path.lineTo(4,0); |
| path.close(); |
| path.moveTo(2,2); |
| path.lineTo(3,3); |
| path.lineTo(4,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void addCWContainer(SkPath& path) { |
| path.moveTo(6,4); |
| path.lineTo(0,4); |
| path.lineTo(3,1); |
| path.close(); |
| } |
| |
| static void addCCWContainer(SkPath& path) { |
| path.moveTo(0,4); |
| path.lineTo(6,4); |
| path.lineTo(3,1); |
| path.close(); |
| } |
| |
| static void addCWContents(SkPath& path) { |
| path.moveTo(2,3); |
| path.lineTo(3,2); |
| path.lineTo(4,3); |
| path.close(); |
| } |
| |
| static void addCCWContents(SkPath& path) { |
| path.moveTo(3,2); |
| path.lineTo(2,3); |
| path.lineTo(4,3); |
| path.close(); |
| } |
| |
| static void testLine11() { |
| SkPath path; |
| addCWContainer(path); |
| addCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine11x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addCWContainer(path); |
| addCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine12() { |
| SkPath path; |
| addCCWContainer(path); |
| addCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine12x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addCCWContainer(path); |
| addCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine13() { |
| SkPath path; |
| addCWContainer(path); |
| addCCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine13x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addCWContainer(path); |
| addCCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine14() { |
| SkPath path; |
| addCCWContainer(path); |
| addCCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine14x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| addCCWContainer(path); |
| addCCWContents(path); |
| testSimplifyx(path); |
| } |
| |
| static void testLine15() { |
| SkPath path; |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine15x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine16() { |
| SkPath path; |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine16x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine17() { |
| SkPath path; |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine17x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine18() { |
| SkPath path; |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 4, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine18x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 4, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine19() { |
| SkPath path; |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 16, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine19x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 16, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine20() { |
| SkPath path; |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine20x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine21() { |
| SkPath path; |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 16, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine21x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 16, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine22() { |
| SkPath path; |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine22x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine23() { |
| SkPath path; |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine23x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine24a() { |
| SkPath path; |
| path.moveTo(2,0); |
| path.lineTo(4,4); |
| path.lineTo(0,4); |
| path.close(); |
| path.moveTo(2,0); |
| path.lineTo(1,2); |
| path.lineTo(2,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine24ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(2,0); |
| path.lineTo(4,4); |
| path.lineTo(0,4); |
| path.close(); |
| path.moveTo(2,0); |
| path.lineTo(1,2); |
| path.lineTo(2,2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine24() { |
| SkPath path; |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine24x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine25() { |
| SkPath path; |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine25x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine26() { |
| SkPath path; |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine26x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine27() { |
| SkPath path; |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 8, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine27x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 8, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine28() { |
| SkPath path; |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine28x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine29() { |
| SkPath path; |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine29x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine30() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine30x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine31() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine31x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 4, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine32() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine32x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine33() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine33x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine34() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine34x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine35() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine35x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine36() { |
| SkPath path; |
| path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine36x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine37() { |
| SkPath path; |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine37x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine38() { |
| SkPath path; |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); |
| path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine38x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCW_Direction); |
| path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine40() { |
| SkPath path; |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 18, 24, 24, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine40x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 18, 24, 24, SkPath::kCW_Direction); |
| path.addRect(4, 16, 13, 13, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine41() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine41x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 24, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine42() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(8, 16, 17, 17, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine42x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(8, 16, 17, 17, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine43() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 24, 18, 18, SkPath::kCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine43x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 24, 18, 18, SkPath::kCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine44() { |
| SkPath path; |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine44x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine45() { |
| SkPath path; |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine45x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine46() { |
| SkPath path; |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine46x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine47() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine47x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine48() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine48x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine49() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine49x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine50() { |
| SkPath path; |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine50x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine51() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine51x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine52() { |
| SkPath path; |
| path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine52x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine53() { |
| SkPath path; |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine53x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine54() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); |
| path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine54x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 0, 18, 18, SkPath::kCW_Direction); |
| path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine55() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 6, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine55x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 6, 18, 18, SkPath::kCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine56() { |
| SkPath path; |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 20, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine56x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(18, 20, 30, 30, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine57() { |
| SkPath path; |
| path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); |
| path.addRect(20, 0, 30, 40, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine57x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); |
| path.addRect(20, 0, 30, 40, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine58() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine58x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction); |
| path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine59() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine59x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction); |
| path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine60() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine60x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine61() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine61x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine62() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine62x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine63() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine63x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 10, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine64() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 6, 30, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine64x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 6, 30, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine65() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); |
| path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine65x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 0, 36, 36, SkPath::kCW_Direction); |
| path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine66() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine66x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 30, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 20, 24, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine67() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine67x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68a() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68b() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68bx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68c() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68cx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68d() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68dx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 4, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68e() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68ex() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68f() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68fx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68g() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68gx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68h() { |
| SkPath path; |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine68hx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); |
| path.addRect(1, 2, 2, 2, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine69() { |
| SkPath path; |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine69x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine70() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 24, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine70x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 24, 12, 12, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine71() { |
| SkPath path; |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 0, 24, 24, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine71x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 20, 20, SkPath::kCW_Direction); |
| path.addRect(12, 0, 24, 24, SkPath::kCW_Direction); |
| path.addRect(12, 32, 21, 36, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine72() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine72x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 40, 30, 30, SkPath::kCW_Direction); |
| path.addRect(6, 20, 18, 30, SkPath::kCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine73() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 40, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine73x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(0, 40, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); |
| path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine74() { |
| SkPath path; |
| path.addRect(20, 30, 40, 40, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine74x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(20, 30, 40, 40, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine75() { |
| SkPath path; |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine75x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 60, 60, SkPath::kCW_Direction); |
| path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine76() { |
| SkPath path; |
| path.addRect(36, 0, 66, 60, SkPath::kCW_Direction); |
| path.addRect(10, 20, 40, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine76x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(36, 0, 66, 60, SkPath::kCW_Direction); |
| path.addRect(10, 20, 40, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine77() { |
| SkPath path; |
| path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); |
| path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine77x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(20, 0, 40, 40, SkPath::kCW_Direction); |
| path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction); |
| path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine78() { |
| SkPath path; |
| path.addRect(0, 0, 30, 60, SkPath::kCW_Direction); |
| path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine78x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 30, 60, SkPath::kCW_Direction); |
| path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine79() { |
| SkPath path; |
| path.addRect(0, 36, 60, 30, SkPath::kCW_Direction); |
| path.addRect(10, 30, 40, 30, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine79x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 36, 60, 30, SkPath::kCW_Direction); |
| path.addRect(10, 30, 40, 30, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine81() { |
| SkPath path; |
| path.addRect(-1, -1, 3, 3, SkPath::kCW_Direction); |
| path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); |
| path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); |
| path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); |
| path.addRect(1, 1, 2, 2, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate1() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(2, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate1x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(2, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate2() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(0, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate2x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(0, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate3() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(2, 0); |
| path.lineTo(1, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(3, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate3x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(2, 0); |
| path.lineTo(1, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(3, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate4() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 3); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(1, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testDegenerate4x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 3); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(1, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate1() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(1, 3); |
| path.close(); |
| path.moveTo(1, 1); |
| path.lineTo(2, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate1x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(1, 3); |
| path.close(); |
| path.moveTo(1, 1); |
| path.lineTo(2, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate2() { |
| SkPath path; |
| path.moveTo(1, 0); |
| path.lineTo(0, 1); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(0, 2); |
| path.lineTo(0, 3); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate2x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(1, 0); |
| path.lineTo(0, 1); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(0, 2); |
| path.lineTo(0, 3); |
| path.lineTo(1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate3() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 1); |
| path.close(); |
| path.moveTo(0, 1); |
| path.lineTo(1, 1); |
| path.lineTo(0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate3x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 1); |
| path.close(); |
| path.moveTo(0, 1); |
| path.lineTo(1, 1); |
| path.lineTo(0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate4() { |
| SkPath path; |
| path.moveTo(1, 0); |
| path.lineTo(0, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| path.moveTo(0, 2); |
| path.lineTo(0, 3); |
| path.lineTo(1, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testNondegenerate4x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(1, 0); |
| path.lineTo(0, 1); |
| path.lineTo(1, 2); |
| path.close(); |
| path.moveTo(0, 2); |
| path.lineTo(0, 3); |
| path.lineTo(1, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral5() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(2, 2); |
| path.lineTo(3, 2); |
| path.lineTo(3, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral5x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(2, 2); |
| path.lineTo(3, 2); |
| path.lineTo(3, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral6() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(2, 0); |
| path.lineTo(0, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral6x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(2, 0); |
| path.lineTo(0, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(2, 0); |
| path.lineTo(1 + 1.0f/3, 2.0f/3); |
| path.close(); |
| path.moveTo(1 + 1.0f/3, 2.0f/3); |
| path.lineTo(0, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(2, 0); |
| path.lineTo(1 + 1.0f/3, 2.0f/3); |
| path.close(); |
| path.moveTo(1 + 1.0f/3, 2.0f/3); |
| path.lineTo(0, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6a() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6b() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(6, 6); |
| path.lineTo(0, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6bx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(6, 6); |
| path.lineTo(0, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6c() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 3); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6cx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 3); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6d() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 3); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(6, 6); |
| path.lineTo(0, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testFauxQuadralateral6dx() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 3); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(4, 2); |
| path.close(); |
| path.moveTo(4, 2); |
| path.lineTo(6, 6); |
| path.lineTo(0, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral6a() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral6ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(3, 0); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(3, 0); |
| path.lineTo(6, 0); |
| path.lineTo(0, 6); |
| path.lineTo(6, 6); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral7() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(1, 1); |
| path.lineTo(2, 2); |
| path.lineTo(1, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral7x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(2, 1); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(1, 1); |
| path.lineTo(2, 2); |
| path.lineTo(1, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral8() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(3, 1); |
| path.lineTo(1, 3); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(2, 1); |
| path.lineTo(0, 2); |
| path.lineTo(3, 2); |
| path.lineTo(2, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral8x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(3, 1); |
| path.lineTo(1, 3); |
| path.lineTo(3, 3); |
| path.close(); |
| path.moveTo(2, 1); |
| path.lineTo(0, 2); |
| path.lineTo(3, 2); |
| path.lineTo(2, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral9() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| path.moveTo(1, 1); |
| path.lineTo(2, 1); |
| path.lineTo(1, 3); |
| path.lineTo(2, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadralateral9x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.lineTo(1, 2); |
| path.lineTo(2, 2); |
| path.close(); |
| path.moveTo(1, 1); |
| path.lineTo(2, 1); |
| path.lineTo(1, 3); |
| path.lineTo(2, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testLine1a() { |
| SkPath path; |
| path.setFillType(SkPath::kWinding_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine1ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); |
| path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine2ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(0, 20, 20, 20, SkPath::kCW_Direction); |
| path.addRect(0, 20, 12, 30, SkPath::kCW_Direction); |
| path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine3aax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testLine4ax() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); |
| path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction); |
| path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic1() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.lineTo(1, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic1x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.lineTo(1, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic2() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic2x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.lineTo(3, 0); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic3() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic3x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic4() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic4x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic5() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 0, 0); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.quadTo(0, 1, 0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic6() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(2, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(2, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic7() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(3, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(3, 0, 1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic8() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.quadTo(0, 1, 1, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic9() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(3, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.quadTo(1, 2, 3, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic14() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(3, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.quadTo(3, 2, 3, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic15() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 1, 0); |
| path.lineTo(1, 3); |
| path.close(); |
| path.moveTo(1, 0); |
| path.lineTo(0, 1); |
| path.quadTo(1, 1, 0, 3); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic17x() { |
| SkPath path; |
| path.setFillType(SkPath::kEvenOdd_FillType); |
| path.moveTo(0, 0); |
| path.quadTo(0, 0, 3, 1); |
| path.lineTo(0, 2); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(1, 0); |
| path.quadTo(3, 1, 0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic18() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 1, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic19() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(2, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic20() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic21() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(1, 0, 0, 2); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic22() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(0, 1, 2, 1); |
| path.close(); |
| testSimplifyx(path); |
| } |
| |
| static void testQuadratic23() { |
| SkPath path; |
| path.moveTo(0, 0); |
| path.quadTo(1, 0, 0, 1); |
| path.lineTo(0, 1); |
| path.close(); |
| path.moveTo(0, 0); |
| path.lineTo(0, 0); |
| path.quadTo(0, 2, 1, 2); |
| path.close(); |