diff options
author | 2012-11-29 14:31:50 +0000 | |
---|---|---|
committer | 2012-11-29 14:31:50 +0000 | |
commit | 7fce0de0b9674ca6cc65ebbb40b924b615d9fc9e (patch) | |
tree | b18972f283a1f60c085808e2e7617d2158bcbb09 /experimental/Intersection/op.htm | |
parent | 852030103e47fabc3c766122140920fa19e17775 (diff) |
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
Diffstat (limited to 'experimental/Intersection/op.htm')
-rw-r--r-- | experimental/Intersection/op.htm | 406 |
1 files changed, 207 insertions, 199 deletions
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(); <div id="testLine17"> 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); </div> <div id="testLine19"> 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); </div> <div id="testLine22"> - 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); </div> <div id="testLine24"> - 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); </div> <div id="testLine28"> 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); </div> <div id="testLine29"> 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); </div> <div id="testLine30"> - 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); </div> <div id="testLine31"> - 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); </div> <div id="testLine32"> - 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); </div> <div id="testLine33"> - 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); </div> <div id="testLine34"> - 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); </div> <div id="testLine35"> - 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); </div> <div id="testLine36"> - 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); </div> <div id="testLine37"> - 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); </div> <div id="testLine38"> - 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); </div> <div id="testLine39"> - 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); </div> <div id="testLine40"> - 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); </div> <div id="testLine41"> - 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); </div> <div id="testLine42"> - 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); </div> <div id="testLine43"> - 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); </div> <div id="testLine44"> - 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); </div> <div id="testLine45"> - 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); </div> <div id="testLine46"> - 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); </div> <div id="testLine47"> - 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); </div> <div id="testLine48"> - 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); </div> <div id="testLine49"> - 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); </div> <div id="testLine50"> - 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); </div> <div id="testLine51"> - 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); </div> <div id="testLine52"> - 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); </div> <div id="testLine53"> - 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); </div> <div id="testLine54"> - 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); </div> <div id="testLine55"> - 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); </div> <div id="testLine56"> - 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); </div> <div id="testLine57"> - 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); </div> <div id="testLine58"> - 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); </div> <div id="testLine59"> - 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); </div> <div id="testLine60"> - 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); </div> <div id="testLine61"> - 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); </div> <div id="testLine62"> - 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); </div> <div id="testLine63"> - 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); </div> <div id="testLine64"> - 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); </div> <div id="testLine65"> - 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); </div> <div id="testLine66"> - 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); </div> <div id="testLine67"> - 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); </div> <div id="testLine68a"> - 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); </div> <div id="testLine68b"> - 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); </div> <div id="testLine68c"> - 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); </div> <div id="testLine68d"> - 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); </div> <div id="testLine68e"> - 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); </div> <div id="testLine68f"> - 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); </div> <div id="testLine69"> - 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); </div> <div id="testLine70"> - 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); </div> <div id="testLine71"> - 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); </div> <div id="testLine72"> - 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); </div> <div id="testLine73"> - 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); </div> <div id="testLine74"> - 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); </div> <div id="testLine75"> - 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); </div> <div id="testLine76"> - 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); </div> <div id="testLine77"> - 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); </div> <div id="testLine78"> - 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); </div> <div id="testLine79"> - 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); +</div> + +<div id="testLine81"> + 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); </div> <div id="testDegenerate1"> @@ -990,29 +996,29 @@ path.close(); <div id="testLine1x"> 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); </div> <div id="testLine2x"> 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); </div> <div id="testLine3x"> 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); </div> <div id="testLine4x"> 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); </div> <div id="testQuadratic1"> @@ -2839,6 +2845,7 @@ path.close(); <script type="text/javascript"> var testDivs = [ + testLine81, testQuadratic61, testQuadratic60, testQuadratic59o, @@ -3103,6 +3110,7 @@ function parseRect(test, title) { for (var r in rectStrs) { var rect = rectStrs[r]; var sideStrs = rect.match(pattern); + var ccw = rect.split("kCCW_Direction").length > 1; var sides = []; for (var wd in sideStrs) { var num = parseFloat(sideStrs[wd]); @@ -3121,7 +3129,7 @@ function parseRect(test, title) { var botRight = []; botRight.push(sides[2]); botRight.push(sides[3]); verbs.push(topLeft); - if (sides[4] == 0) { + if (!ccw) { verbs.push(topRight); verbs.push(botRight); verbs.push(botLeft); |