aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/Intersection/op.htm
diff options
context:
space:
mode:
authorGravatar caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-29 14:31:50 +0000
committerGravatar caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-29 14:31:50 +0000
commit7fce0de0b9674ca6cc65ebbb40b924b615d9fc9e (patch)
treeb18972f283a1f60c085808e2e7617d2158bcbb09 /experimental/Intersection/op.htm
parent852030103e47fabc3c766122140920fa19e17775 (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.htm406
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);