From 7fce0de0b9674ca6cc65ebbb40b924b615d9fc9e Mon Sep 17 00:00:00 2001 From: "caryclark@google.com" Date: Thu, 29 Nov 2012 14:31:50 +0000 Subject: shape ops work in progress Complete rewrite of binary logic makes the result work and much easier to understand. git-svn-id: http://skia.googlecode.com/svn/trunk@6597 2bbb7eff-a529-9590-31e7-b0007b416f81 --- experimental/Intersection/op.htm | 406 ++++++++++++++++++++------------------- 1 file changed, 207 insertions(+), 199 deletions(-) (limited to 'experimental/Intersection/op.htm') diff --git a/experimental/Intersection/op.htm b/experimental/Intersection/op.htm index 3621af036e..f2de8d2910 100644 --- a/experimental/Intersection/op.htm +++ b/experimental/Intersection/op.htm @@ -373,380 +373,386 @@ path.close();
SkPath path, simple; - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 0); + path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); + path.addRect(4, 12, 13, 13, SkPath::kCW_Direction); testSimplifyx(path);
SkPath path, simple; - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(12, 16, 21, 21, (SkPath::Direction) 0); + path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); + path.addRect(12, 16, 21, 21, SkPath::kCW_Direction); testSimplifyx(path);
- path.addRect(0, 12, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 0); + path.addRect(0, 12, 12, 12, SkPath::kCW_Direction); + path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
- path.addRect(0, 18, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 0); + path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); + path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
SkPath path, simple; - path.addRect(0, 6, 12, 12, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 0); + path.addRect(0, 6, 12, 12, SkPath::kCW_Direction); + path.addRect(0, 0, 9, 9, SkPath::kCW_Direction); testSimplifyx(path);
SkPath path, simple; - path.addRect(0, 18, 12, 12, (SkPath::Direction) 0); - path.addRect(12, 12, 21, 21, (SkPath::Direction) 0); + path.addRect(0, 18, 12, 12, SkPath::kCW_Direction); + path.addRect(12, 12, 21, 21, SkPath::kCW_Direction); testSimplifyx(path);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 4, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(0, 4, 9, 9, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 16, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 6, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 0, 18, 18, (SkPath::Direction) 0); - path.addRect(4, 16, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 10, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 12, 18, 18, (SkPath::Direction) 0); - path.addRect(4, 16, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 20, 20, 20, (SkPath::Direction) 0); - path.addRect(18, 24, 30, 30, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 0); + 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);
- path.addRect(10, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(6, 12, 18, 18, (SkPath::Direction) 0); - path.addRect(12, 12, 21, 21, (SkPath::Direction) 0); + 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);
- path.addRect(10, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(12, 6, 24, 24, (SkPath::Direction) 0); - path.addRect(12, 4, 21, 21, (SkPath::Direction) 0); + path.addRect(10, 0, 30, 30, SkPath::kCW_Direction); + path.addRect(12, 6, 24, 24, SkPath::kCW_Direction); + path.addRect(12, 4, 21, 21, SkPath::kCW_Direction);
- path.addRect(10, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(12, 18, 24, 24, (SkPath::Direction) 0); - path.addRect(4, 16, 13, 13, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(18, 24, 30, 30, (SkPath::Direction) 0); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(8, 16, 17, 17, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 24, 18, 18, (SkPath::Direction) 0); - path.addRect(0, 32, 9, 36, (SkPath::Direction) 1); + 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);
- path.addRect(10, 40, 30, 30, (SkPath::Direction) 0); - path.addRect(18, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(18, 32, 27, 36, (SkPath::Direction) 1); + 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);
- path.addRect(10, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(18, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 32, 33, 36, (SkPath::Direction) 0); + 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);
- path.addRect(10, 40, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 0, 36, 36, (SkPath::Direction) 0); - path.addRect(24, 32, 33, 36, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 6, 12, 12, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 0); + 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);
- path.addRect(10, 30, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 20, 36, 30, (SkPath::Direction) 0); + path.addRect(10, 30, 30, 30, SkPath::kCW_Direction); + path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 12, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 1); + 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);
- path.addRect(0, 30, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 20, 18, 30, (SkPath::Direction) 0); - path.addRect(32, 0, 36, 41, (SkPath::Direction) 0); + 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);
- path.addRect(10, 30, 30, 30, (SkPath::Direction) 0); - path.addRect(12, 20, 24, 30, (SkPath::Direction) 0); - path.addRect(12, 32, 21, 36, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 0, 18, 18, (SkPath::Direction) 0); - path.addRect(8, 4, 17, 17, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 6, 18, 18, (SkPath::Direction) 0); - path.addRect(4, 4, 13, 13, (SkPath::Direction) 1); + 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);
- path.addRect(0, 20, 20, 20, (SkPath::Direction) 0); - path.addRect(18, 20, 30, 30, (SkPath::Direction) 0); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 1); + 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);
- path.addRect(20, 0, 40, 40, (SkPath::Direction) 0); - path.addRect(20, 0, 30, 40, (SkPath::Direction) 0); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 1); - path.addRect(0, 12, 9, 9, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 6, 18, 18, (SkPath::Direction) 1); - path.addRect(4, 4, 13, 13, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(6, 12, 18, 18, (SkPath::Direction) 1); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(12, 0, 24, 24, (SkPath::Direction) 1); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 12, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 12, 13, 13, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(0, 10, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 6, 12, 12, (SkPath::Direction) 1); - path.addRect(0, 32, 9, 36, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(10, 40, 30, 30, (SkPath::Direction) 0); - path.addRect(18, 6, 30, 30, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(10, 0, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 0, 36, 36, (SkPath::Direction) 0); - path.addRect(32, 6, 36, 41, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(0, 30, 20, 20, (SkPath::Direction) 0); - path.addRect(12, 20, 24, 30, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(10, 40, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 20, 36, 30, (SkPath::Direction) 0); - path.addRect(32, 0, 36, 41, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 0); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 0); - path.addRect(1, 2, 4, 2, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 0); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 1); - path.addRect(1, 2, 4, 2, (SkPath::Direction) 0); + path.addRect(0, 0, 8, 8, SkPath::kCW_Direction); + path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction); + path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 1); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 0); - path.addRect(1, 2, 4, 2, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 1); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 1); - path.addRect(1, 2, 4, 2, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 0); - path.addRect(0, 0, 8, 8, (SkPath::Direction) 0); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 1); - path.addRect(1, 2, 2, 2, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 8, 8, (SkPath::Direction) 0); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 1); - path.addRect(2, 2, 6, 6, (SkPath::Direction) 1); - path.addRect(1, 2, 2, 2, (SkPath::Direction) 0); + 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);
- path.addRect(0, 20, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 20, 12, 30, (SkPath::Direction) 0); - path.addRect(12, 32, 21, 36, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 24, 12, 12, (SkPath::Direction) 0); - path.addRect(12, 32, 21, 36, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 20, 20, (SkPath::Direction) 0); - path.addRect(12, 0, 24, 24, (SkPath::Direction) 0); - path.addRect(12, 32, 21, 36, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(10, 40, 30, 30, (SkPath::Direction) 0); - path.addRect(6, 20, 18, 30, (SkPath::Direction) 0); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(0, 40, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 20, 12, 30, (SkPath::Direction) 0); - path.addRect(0, 0, 9, 9, (SkPath::Direction) 1); + 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);
- path.addRect(20, 30, 40, 40, (SkPath::Direction) 0); - path.addRect(24, 20, 36, 30, (SkPath::Direction) 1); - path.addRect(32, 24, 36, 41, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 60, 60, (SkPath::Direction) 0); - path.addRect(10, 0, 30, 30, (SkPath::Direction) 1); - path.addRect(18, 0, 30, 30, (SkPath::Direction) 1); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 1); + 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);
- path.addRect(36, 0, 66, 60, (SkPath::Direction) 0); - path.addRect(10, 20, 40, 30, (SkPath::Direction) 0); - path.addRect(24, 20, 36, 30, (SkPath::Direction) 1); - path.addRect(32, 6, 36, 41, (SkPath::Direction) 1); + 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);
- path.addRect(20, 0, 40, 40, (SkPath::Direction) 0); - path.addRect(24, 6, 36, 36, (SkPath::Direction) 1); - path.addRect(24, 32, 33, 36, (SkPath::Direction) 1); + 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);
- path.addRect(0, 0, 30, 60, (SkPath::Direction) 0); - path.addRect(10, 20, 30, 30, (SkPath::Direction) 1); - path.addRect(18, 20, 30, 30, (SkPath::Direction) 1); - path.addRect(32, 0, 36, 41, (SkPath::Direction) 1); + 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);
- path.addRect(0, 36, 60, 30, (SkPath::Direction) 0); - path.addRect(10, 30, 40, 30, (SkPath::Direction) 0); - path.addRect(0, 20, 12, 30, (SkPath::Direction) 1); - path.addRect(0, 32, 9, 36, (SkPath::Direction) 1); + 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); +
+ +
+ path.addRect(-1, -1, 3, 3, SkPath::kCW_Direction); + path.addRect(0, 0, 1, 1, SkPath::kCW_Direction); + path.addRect(1, 1, 2, 2, SkPath::kCCW_Direction);
@@ -990,29 +996,29 @@ path.close();
path.setFillType(SkPath::kEvenOdd_FillType); - path.addRect(0, 0, 12, 12, (SkPath::Direction) 0); - path.addRect(4, 0, 13, 13, (SkPath::Direction) 0); + path.addRect(0, 0, 12, 12, SkPath::kCW_Direction); + path.addRect(4, 0, 13, 13, SkPath::kCW_Direction);
path.setFillType(SkPath::kEvenOdd_FillType); - path.addRect(0, 20, 20, 20, (SkPath::Direction) 0); - path.addRect(0, 20, 12, 30, (SkPath::Direction) 0); - path.addRect(12, 0, 21, 21, (SkPath::Direction) 1); + 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);
path.setFillType(SkPath::kEvenOdd_FillType); - path.addRect(10, 30, 30, 30, (SkPath::Direction) 0); - path.addRect(18, 20, 30, 30, (SkPath::Direction) 1); - path.addRect(0, 32, 9, 36, (SkPath::Direction) 1); + 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);
path.setFillType(SkPath::kEvenOdd_FillType); - path.addRect(10, 30, 30, 30, (SkPath::Direction) 0); - path.addRect(24, 20, 36, 30, (SkPath::Direction) 1); - path.addRect(0, 32, 9, 36, (SkPath::Direction) 1); + 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);
@@ -2839,6 +2845,7 @@ path.close();