OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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:html'); | 7 #import('dart:html'); |
| 8 #import('dart:math', prefix: 'Math'); |
8 | 9 |
9 #source("ColorPicker.dart"); | 10 #source("ColorPicker.dart"); |
10 | 11 |
11 void main() { | 12 void main() { |
12 new Spirodraw().go(); | 13 new Spirodraw().go(); |
13 } | 14 } |
14 | 15 |
15 class Spirodraw { | 16 class Spirodraw { |
16 static double PI2 = Math.PI * 2; | 17 static double PI2 = Math.PI * 2; |
17 Document doc; | 18 Document doc; |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 back.clearRect(0, 0, width, height); | 200 back.clearRect(0, 0, width, height); |
200 refresh(); | 201 refresh(); |
201 } | 202 } |
202 | 203 |
203 /** | 204 /** |
204 * Choose random settings for wheel and pen, but | 205 * Choose random settings for wheel and pen, but |
205 * leave fixed radius alone as it often changes | 206 * leave fixed radius alone as it often changes |
206 * things too much. | 207 * things too much. |
207 */ | 208 */ |
208 void lucky() { | 209 void lucky() { |
209 wheelRadiusSlider.valueAsNumber = Math.random() * 9; | 210 var rand = new Math.Random(); |
210 penRadiusSlider.valueAsNumber = Math.random() * 9; | 211 wheelRadiusSlider.valueAsNumber = rand.nextDouble() * 9; |
211 penWidthSlider.valueAsNumber = 1 + Math.random() * 9; | 212 penRadiusSlider.valueAsNumber = rand.nextDouble() * 9; |
212 colorPicker.selectedColor = colorPicker.getHexString(Math.random() * 215); | 213 penWidthSlider.valueAsNumber = 1 + rand.nextDouble() * 9; |
| 214 colorPicker.selectedColor = colorPicker.getHexString(rand.nextDouble() * 215
); |
213 start(); | 215 start(); |
214 } | 216 } |
215 | 217 |
216 void drawFixed() { | 218 void drawFixed() { |
217 if (animationEnabled) { | 219 if (animationEnabled) { |
218 front.beginPath(); | 220 front.beginPath(); |
219 front.setLineWidth(2); | 221 front.setLineWidth(2); |
220 front.strokeStyle = "gray"; | 222 front.strokeStyle = "gray"; |
221 front.arc(xc, yc, R, 0, PI2, true); | 223 front.arc(xc, yc, R, 0, PI2, true); |
222 front.closePath(); | 224 front.closePath(); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 301 |
300 int gcf(int n, int d) { | 302 int gcf(int n, int d) { |
301 if (n==d) | 303 if (n==d) |
302 return n; | 304 return n; |
303 int max = Math.max(n, d); | 305 int max = Math.max(n, d); |
304 for (int i = max ~/ 2; i > 1; i--) | 306 for (int i = max ~/ 2; i > 1; i--) |
305 if ((n % i == 0) && (d % i == 0)) | 307 if ((n % i == 0) && (d % i == 0)) |
306 return i; | 308 return i; |
307 return 1; | 309 return 1; |
308 } | 310 } |
OLD | NEW |