OLD | NEW |
1 dart_library.library('sunflower', null, /* Imports */[ | 1 dart_library.library('sunflower', null, /* Imports */[ |
2 'dart_sdk' | 2 'dart_sdk' |
3 ], function(exports, dart_sdk) { | 3 ], function(exports, dart_sdk) { |
4 'use strict'; | 4 'use strict'; |
5 const core = dart_sdk.core; | 5 const core = dart_sdk.core; |
6 const html = dart_sdk.html; | 6 const html = dart_sdk.html; |
7 const math = dart_sdk.math; | 7 const math = dart_sdk.math; |
8 const dart = dart_sdk.dart; | 8 const dart = dart_sdk.dart; |
9 const dartx = dart_sdk.dartx; | 9 const dartx = dart_sdk.dartx; |
10 const sunflower = Object.create(null); | 10 const sunflower = Object.create(null); |
11 const circle = Object.create(null); | 11 const circle = Object.create(null); |
12 const painter = Object.create(null); | 12 const painter = Object.create(null); |
13 sunflower.SEED_RADIUS = 2; | 13 sunflower.SEED_RADIUS = 2; |
14 sunflower.SCALE_FACTOR = 4; | 14 sunflower.SCALE_FACTOR = 4; |
15 sunflower.MAX_D = 300; | 15 sunflower.MAX_D = 300; |
16 sunflower.centerX = dart.notNull(sunflower.MAX_D) / 2; | 16 sunflower.centerX = sunflower.MAX_D / 2; |
17 sunflower.centerY = sunflower.centerX; | 17 sunflower.centerY = sunflower.centerX; |
18 sunflower.querySelector = function(selector) { | 18 sunflower.querySelector = function(selector) { |
19 return html.document[dartx.querySelector](selector); | 19 return html.document[dartx.querySelector](selector); |
20 }; | 20 }; |
21 dart.fn(sunflower.querySelector, html.Element, [core.String]); | 21 dart.fn(sunflower.querySelector, html.Element, [core.String]); |
22 dart.defineLazy(sunflower, { | 22 dart.defineLazy(sunflower, { |
23 get canvas() { | 23 get canvas() { |
24 return dart.as(sunflower.querySelector("#canvas"), html.CanvasElement); | 24 return dart.as(sunflower.querySelector("#canvas"), html.CanvasElement); |
25 } | 25 } |
26 }); | 26 }); |
(...skipping 20 matching lines...) Expand all Loading... |
47 sunflower.seeds = 0; | 47 sunflower.seeds = 0; |
48 sunflower.main = function() { | 48 sunflower.main = function() { |
49 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), dart.void, [html.Event])); | 49 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), dart.void, [html.Event])); |
50 sunflower.draw(); | 50 sunflower.draw(); |
51 }; | 51 }; |
52 dart.fn(sunflower.main, dart.void, []); | 52 dart.fn(sunflower.main, dart.void, []); |
53 sunflower.draw = function() { | 53 sunflower.draw = function() { |
54 sunflower.seeds = core.int.parse(sunflower.slider[dartx.value]); | 54 sunflower.seeds = core.int.parse(sunflower.slider[dartx.value]); |
55 sunflower.context[dartx.clearRect](0, 0, sunflower.MAX_D, sunflower.MAX_D); | 55 sunflower.context[dartx.clearRect](0, 0, sunflower.MAX_D, sunflower.MAX_D); |
56 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { | 56 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { |
57 let theta = i * dart.notNull(painter.TAU) / dart.notNull(sunflower.PHI); | 57 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); |
58 let r = dart.notNull(math.sqrt(i)) * dart.notNull(sunflower.SCALE_FACTOR); | 58 let r = dart.notNull(math.sqrt(i)) * sunflower.SCALE_FACTOR; |
59 let x = dart.notNull(sunflower.centerX) + r * dart.notNull(math.cos(theta)
); | 59 let x = sunflower.centerX + r * dart.notNull(math.cos(theta)); |
60 let y = dart.notNull(sunflower.centerY) - r * dart.notNull(math.sin(theta)
); | 60 let y = sunflower.centerY - r * dart.notNull(math.sin(theta)); |
61 new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.co
ntext); | 61 new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.co
ntext); |
62 } | 62 } |
63 sunflower.notes[dartx.text] = `${sunflower.seeds} seeds`; | 63 sunflower.notes[dartx.text] = `${sunflower.seeds} seeds`; |
64 }; | 64 }; |
65 dart.fn(sunflower.draw, dart.void, []); | 65 dart.fn(sunflower.draw, dart.void, []); |
66 circle.Circle = class Circle extends core.Object { | 66 circle.Circle = class Circle extends core.Object { |
67 Circle(x, y, radius) { | 67 Circle(x, y, radius) { |
68 this.x = x; | 68 this.x = x; |
69 this.y = y; | 69 this.y = y; |
70 this.radius = radius; | 70 this.radius = radius; |
(...skipping 27 matching lines...) Expand all Loading... |
98 super.Circle(x, y, radius); | 98 super.Circle(x, y, radius); |
99 if (color != null) this.color = color; | 99 if (color != null) this.color = color; |
100 } | 100 } |
101 }; | 101 }; |
102 dart.setSignature(sunflower.SunflowerSeed, { | 102 dart.setSignature(sunflower.SunflowerSeed, { |
103 constructors: () => ({SunflowerSeed: [sunflower.SunflowerSeed, [core.num, co
re.num, core.num], [core.String]]}) | 103 constructors: () => ({SunflowerSeed: [sunflower.SunflowerSeed, [core.num, co
re.num, core.num], [core.String]]}) |
104 }); | 104 }); |
105 painter.ORANGE = "orange"; | 105 painter.ORANGE = "orange"; |
106 painter.RED = "red"; | 106 painter.RED = "red"; |
107 painter.BLUE = "blue"; | 107 painter.BLUE = "blue"; |
108 painter.TAU = dart.notNull(math.PI) * 2; | 108 painter.TAU = math.PI * 2; |
109 painter.querySelector = function(selector) { | 109 painter.querySelector = function(selector) { |
110 return html.document[dartx.querySelector](selector); | 110 return html.document[dartx.querySelector](selector); |
111 }; | 111 }; |
112 dart.fn(painter.querySelector, html.Element, [core.String]); | 112 dart.fn(painter.querySelector, html.Element, [core.String]); |
113 dart.defineLazy(painter, { | 113 dart.defineLazy(painter, { |
114 get canvas() { | 114 get canvas() { |
115 return dart.as(painter.querySelector("#canvas"), html.CanvasElement); | 115 return dart.as(painter.querySelector("#canvas"), html.CanvasElement); |
116 } | 116 } |
117 }); | 117 }); |
118 dart.defineLazy(painter, { | 118 dart.defineLazy(painter, { |
119 get context() { | 119 get context() { |
120 return dart.as(painter.canvas[dartx.getContext]('2d'), html.CanvasRenderin
gContext2D); | 120 return dart.as(painter.canvas[dartx.getContext]('2d'), html.CanvasRenderin
gContext2D); |
121 } | 121 } |
122 }); | 122 }); |
123 // Exports: | 123 // Exports: |
124 exports.sunflower = sunflower; | 124 exports.sunflower = sunflower; |
125 exports.circle = circle; | 125 exports.circle = circle; |
126 exports.painter = painter; | 126 exports.painter = painter; |
127 }); | 127 }); |
128 | 128 |
129 //# sourceMappingURL=sunflower.js.map | 129 //# sourceMappingURL=sunflower.js.map |
OLD | NEW |