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

Side by Side Diff: client/samples/spirodraw/Spirodraw.dart

Issue 8966029: Report errors and warnings for hiding elements, issue 572. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixes for comments Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « client/samples/isolate/IsolateSample.dart ('k') | client/samples/swarm/DataSource.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #library('spirodraw'); 5 #library('spirodraw');
6 6
7 #import('dart:dom'); 7 #import('dart:dom');
8 #source("ColorPicker.dart"); 8 #source("ColorPicker.dart");
9 // TODO(732): Reenable when this works in the VM. 9 // TODO(732): Reenable when this works in the VM.
10 // #resource("spirodraw.css"); 10 // #resource("spirodraw.css");
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 penRadiusSlider = doc.getElementById("pen_radius"); 50 penRadiusSlider = doc.getElementById("pen_radius");
51 penWidthSlider = doc.getElementById("pen_width"); 51 penWidthSlider = doc.getElementById("pen_width");
52 speedSlider = doc.getElementById("speed"); 52 speedSlider = doc.getElementById("speed");
53 numTurns = doc.getElementById("num_turns"); 53 numTurns = doc.getElementById("num_turns");
54 mainDiv = doc.getElementById("main"); 54 mainDiv = doc.getElementById("main");
55 frontCanvas = doc.getElementById("canvas"); 55 frontCanvas = doc.getElementById("canvas");
56 front = frontCanvas.getContext("2d"); 56 front = frontCanvas.getContext("2d");
57 backCanvas = doc.createElement("canvas"); 57 backCanvas = doc.createElement("canvas");
58 back = backCanvas.getContext("2d"); 58 back = backCanvas.getContext("2d");
59 paletteElement = doc.getElementById("palette"); 59 paletteElement = doc.getElementById("palette");
60 window.addEventListener('resize', (Event) => onResize(), true); 60 window.addEventListener('resize', (event) => onResize(), true);
61 initControlPanel(); 61 initControlPanel();
62 } 62 }
63 63
64 void go() { 64 void go() {
65 onResize(); 65 onResize();
66 } 66 }
67 67
68 void onResize() { 68 void onResize() {
69 height = window.innerHeight; 69 height = window.innerHeight;
70 width = window.innerWidth - 270; 70 width = window.innerWidth - 270;
71 yc = height~/2; 71 yc = height~/2;
72 xc = width~/2; 72 xc = width~/2;
73 frontCanvas.height = height; 73 frontCanvas.height = height;
74 frontCanvas.width = width; 74 frontCanvas.width = width;
75 backCanvas.height = height; 75 backCanvas.height = height;
76 backCanvas.width = width; 76 backCanvas.width = width;
77 clear(); 77 clear();
78 } 78 }
79 79
80 void initControlPanel() { 80 void initControlPanel() {
81 inOrOut.addEventListener('change', (Event) => refresh(), true); 81 inOrOut.addEventListener('change', (event) => refresh(), true);
82 fixedRadiusSlider.addEventListener('change', (Event) => refresh(), true); 82 fixedRadiusSlider.addEventListener('change', (event) => refresh(), true);
83 wheelRadiusSlider.addEventListener('change', (Event) => refresh(), true); 83 wheelRadiusSlider.addEventListener('change', (event) => refresh(), true);
84 speedSlider.addEventListener('change', (Event) => onSpeedChange(), true); 84 speedSlider.addEventListener('change', (event) => onSpeedChange(), true);
85 penRadiusSlider.addEventListener('change', (Event) => refresh(), true); 85 penRadiusSlider.addEventListener('change', (event) => refresh(), true);
86 penWidthSlider.addEventListener('change', (Event) => onPenWidthChange(), tru e); 86 penWidthSlider.addEventListener('change', (event) => onPenWidthChange(), tru e);
87 colorPicker = new ColorPicker(paletteElement); 87 colorPicker = new ColorPicker(paletteElement);
88 colorPicker.addListener((String color) => onColorChange(color)); 88 colorPicker.addListener((String color) => onColorChange(color));
89 doc.getElementById("start").addEventListener('click', (EventListener) => sta rt(), true); 89 doc.getElementById("start").addEventListener('click', (event) => start(), tr ue);
90 doc.getElementById("stop").addEventListener('click', (EventListener) => stop (), true); 90 doc.getElementById("stop").addEventListener('click', (event) => stop(), true );
91 doc.getElementById("clear").addEventListener('click', (EventListener) => cle ar(), true); 91 doc.getElementById("clear").addEventListener('click', (event) => clear(), tr ue);
92 doc.getElementById("lucky").addEventListener('click', (EventListener) => luc ky(), true); 92 doc.getElementById("lucky").addEventListener('click', (event) => lucky(), tr ue);
93 } 93 }
94 94
95 void onColorChange(String color) { 95 void onColorChange(String color) {
96 penColor = color; 96 penColor = color;
97 drawFrame(rad); 97 drawFrame(rad);
98 } 98 }
99 99
100 void onSpeedChange() { 100 void onSpeedChange() {
101 speed = speedSlider.valueAsNumber; 101 speed = speedSlider.valueAsNumber;
102 stepSize = calcStepSize(); 102 stepSize = calcStepSize();
(...skipping 24 matching lines...) Expand all
127 onSpeedChange(); 127 onSpeedChange();
128 numTurns.innerText = "0" + "/" + maxTurns; 128 numTurns.innerText = "0" + "/" + maxTurns;
129 penWidth = penWidthSlider.valueAsNumber; 129 penWidth = penWidthSlider.valueAsNumber;
130 drawFrame(0.0); 130 drawFrame(0.0);
131 } 131 }
132 132
133 int calcNumPoints() { 133 int calcNumPoints() {
134 if ((dUnits==0) || (rUnits==0)) 134 if ((dUnits==0) || (rUnits==0))
135 // Empirically, treat it like an oval 135 // Empirically, treat it like an oval
136 return 2; 136 return 2;
137 int gcf = gcf(RUnits, rUnits); 137 int gcf_ = gcf(RUnits, rUnits);
138 int n = RUnits ~/ gcf; 138 int n = RUnits ~/ gcf_;
139 int d = rUnits ~/ gcf; 139 int d_ = rUnits ~/ gcf_;
140 if (n % 2 == 1) 140 if (n % 2 == 1)
141 // odd 141 // odd
142 return n; 142 return n;
143 else if (d %2 == 1) 143 else if (d_ %2 == 1)
144 return n; 144 return n;
145 else 145 else
146 return n~/2; 146 return n~/2;
147 } 147 }
148 148
149 // TODO return optimum step size in radians 149 // TODO return optimum step size in radians
150 double calcStepSize() => speed / 100 * maxTurns / numPoints; 150 double calcStepSize() => speed / 100 * maxTurns / numPoints;
151 151
152 void drawFrame(double theta) { 152 void drawFrame(double theta) {
153 if (animationEnabled) { 153 if (animationEnabled) {
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 301
302 int gcf(int n, int d) { 302 int gcf(int n, int d) {
303 if (n==d) 303 if (n==d)
304 return n; 304 return n;
305 int max = Math.max(n, d); 305 int max = Math.max(n, d);
306 for (int i = max ~/ 2; i > 1; i--) 306 for (int i = max ~/ 2; i > 1; i--)
307 if ((n % i == 0) && (d % i == 0)) 307 if ((n % i == 0) && (d % i == 0))
308 return i; 308 return i;
309 return 1; 309 return 1;
310 } 310 }
OLDNEW
« no previous file with comments | « client/samples/isolate/IsolateSample.dart ('k') | client/samples/swarm/DataSource.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698