Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(985)

Side by Side Diff: experimental/SkV8Example/gears.js

Issue 177963005: Rename Path to Path2D (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « experimental/SkV8Example/SkV8Example.cpp ('k') | experimental/SkV8Example/path.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var IS_SKV8 = typeof document == "undefined"; 1 var IS_SKV8 = typeof document == "undefined";
2 var HAS_PATH = typeof Path != "undefined"; 2 var HAS_PATH = typeof Path2D != "undefined";
3 3
4 var NumTeeth = 24; 4 var NumTeeth = 24;
5 var NumGears = 60; 5 var NumGears = 60;
6 var DeltaTheta = Math.PI/90; 6 var DeltaTheta = Math.PI/90;
7 var FaceColors = ["#000099", "#006600", "#990000", "#EEEE00"]; 7 var FaceColors = ["#000099", "#006600", "#990000", "#EEEE00"];
8 var SideColors = ["#0000FF", "#009900", "#FF0000", "#CCCC00"]; 8 var SideColors = ["#0000FF", "#009900", "#FF0000", "#CCCC00"];
9 9
10 function makeGear(pathLike, r) { 10 function makeGear(pathLike, r) {
11 var dT = Math.PI*2/NumTeeth; 11 var dT = Math.PI*2/NumTeeth;
12 var dTq = dT/4; 12 var dTq = dT/4;
13 var outer = r; 13 var outer = r;
14 var inner = 0.7 * r; 14 var inner = 0.7 * r;
15 pathLike.moveTo(Math.sin(-2*dTq)*outer, Math.cos(-2*dTq)*outer); 15 pathLike.moveTo(Math.sin(-2*dTq)*outer, Math.cos(-2*dTq)*outer);
16 for (var i=0; i<NumTeeth; i+=2) { 16 for (var i=0; i<NumTeeth; i+=2) {
17 pathLike.lineTo(Math.sin(dT*i-dTq)*outer, Math.cos(dT*i-dTq)*outer); 17 pathLike.lineTo(Math.sin(dT*i-dTq)*outer, Math.cos(dT*i-dTq)*outer);
18 pathLike.lineTo(Math.sin(dT*i+dTq)*inner, Math.cos(dT*i+dTq)*inner); 18 pathLike.lineTo(Math.sin(dT*i+dTq)*inner, Math.cos(dT*i+dTq)*inner);
19 pathLike.lineTo(Math.sin(dT*(i+1)-dTq)*inner, Math.cos(dT*(i+1)-dTq)*inner); 19 pathLike.lineTo(Math.sin(dT*(i+1)-dTq)*inner, Math.cos(dT*(i+1)-dTq)*inner);
20 pathLike.lineTo(Math.sin(dT*(i+1)+dTq)*outer, Math.cos(dT*(i+1)+dTq)*outer); 20 pathLike.lineTo(Math.sin(dT*(i+1)+dTq)*outer, Math.cos(dT*(i+1)+dTq)*outer);
21 } 21 }
22 } 22 }
23 23
24 function gearPath(r) { 24 function gearPath(r) {
25 if (HAS_PATH) { 25 if (HAS_PATH) {
26 p = new Path(); 26 p = new Path2D();
27 makeGear(p, r) 27 makeGear(p, r)
28 p.closePath(); 28 p.closePath();
29 return p; 29 return p;
30 } else { 30 } else {
31 return null; 31 return null;
32 } 32 }
33 } 33 }
34 34
35 function strokeGear(ctx, gear) { 35 function strokeGear(ctx, gear) {
36 if (HAS_PATH) { 36 if (HAS_PATH) {
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 var ctx = canvas.getContext("2d"); 133 var ctx = canvas.getContext("2d");
134 function drawCallback() { 134 function drawCallback() {
135 onDraw(ctx); 135 onDraw(ctx);
136 setTimeout(drawCallback, 1); 136 setTimeout(drawCallback, 1);
137 } 137 }
138 setTimeout(drawCallback, 1); 138 setTimeout(drawCallback, 1);
139 } 139 }
140 } 140 }
141 141
142 console.log("HAS_PATH: " + HAS_PATH); 142 console.log("HAS_PATH: " + HAS_PATH);
OLDNEW
« no previous file with comments | « experimental/SkV8Example/SkV8Example.cpp ('k') | experimental/SkV8Example/path.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698