OLD | NEW |
1 define(['dart_sdk'], function(dart_sdk) { | 1 define(['dart_sdk'], function(dart_sdk) { |
2 'use strict'; | 2 'use strict'; |
3 const core = dart_sdk.core; | 3 const core = dart_sdk.core; |
4 const html = dart_sdk.html; | 4 const html = dart_sdk.html; |
5 const math = dart_sdk.math; | 5 const math = dart_sdk.math; |
6 const dart = dart_sdk.dart; | 6 const dart = dart_sdk.dart; |
7 const dartx = dart_sdk.dartx; | 7 const dartx = dart_sdk.dartx; |
8 const sunflower = Object.create(null); | 8 const sunflower = Object.create(null); |
9 const circle = Object.create(null); | 9 const circle = Object.create(null); |
10 const painter = Object.create(null); | 10 const painter = Object.create(null); |
11 let StringToElement = () => (StringToElement = dart.constFn(dart.definiteFunct
ionType(html.Element, [core.String])))(); | 11 let StringToElement = () => (StringToElement = dart.constFn(dart.definiteFunct
ionType(html.Element, [core.String])))(); |
12 let EventTovoid = () => (EventTovoid = dart.constFn(dart.definiteFunctionType(
dart.void, [html.Event])))(); | 12 let EventTovoid = () => (EventTovoid = dart.constFn(dart.definiteFunctionType(
dart.void, [html.Event])))(); |
13 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da
rt.void, [])))(); | 13 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da
rt.void, [])))(); |
14 sunflower.SEED_RADIUS = 2; | 14 dart.defineLazy(sunflower, { |
15 sunflower.SCALE_FACTOR = 4; | 15 get SEED_RADIUS() { |
16 sunflower.MAX_D = 300; | 16 return 2; |
17 sunflower.centerX = sunflower.MAX_D / 2; | 17 }, |
18 sunflower.centerY = sunflower.centerX; | 18 get SCALE_FACTOR() { |
| 19 return 4; |
| 20 }, |
| 21 get MAX_D() { |
| 22 return 300; |
| 23 }, |
| 24 get centerX() { |
| 25 return sunflower.MAX_D / 2; |
| 26 }, |
| 27 get centerY() { |
| 28 return sunflower.centerX; |
| 29 } |
| 30 }); |
19 sunflower.querySelector = function(selector) { | 31 sunflower.querySelector = function(selector) { |
20 return html.document.querySelector(selector); | 32 return html.document.querySelector(selector); |
21 }; | 33 }; |
22 dart.fn(sunflower.querySelector, StringToElement()); | 34 dart.fn(sunflower.querySelector, StringToElement()); |
23 dart.defineLazy(sunflower, { | 35 dart.defineLazy(sunflower, { |
24 get canvas() { | 36 get canvas() { |
25 return html.CanvasElement.as(sunflower.querySelector("#canvas")); | 37 return html.CanvasElement.as(sunflower.querySelector("#canvas")); |
26 } | 38 }, |
27 }); | |
28 dart.defineLazy(sunflower, { | |
29 get context() { | 39 get context() { |
30 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext]
('2d')); | 40 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext]
('2d')); |
31 } | 41 }, |
32 }); | |
33 dart.defineLazy(sunflower, { | |
34 get slider() { | 42 get slider() { |
35 return html.InputElement.as(sunflower.querySelector("#slider")); | 43 return html.InputElement.as(sunflower.querySelector("#slider")); |
36 } | 44 }, |
37 }); | |
38 dart.defineLazy(sunflower, { | |
39 get notes() { | 45 get notes() { |
40 return sunflower.querySelector("#notes"); | 46 return sunflower.querySelector("#notes"); |
41 } | 47 }, |
42 }); | |
43 dart.defineLazy(sunflower, { | |
44 get PHI() { | 48 get PHI() { |
45 return (dart.notNull(math.sqrt(5)) + 1) / 2; | 49 return (dart.notNull(math.sqrt(5)) + 1) / 2; |
46 } | 50 }, |
| 51 get seeds() { |
| 52 return 0; |
| 53 }, |
| 54 set seeds(_) {} |
47 }); | 55 }); |
48 sunflower.seeds = 0; | |
49 sunflower.main = function() { | 56 sunflower.main = function() { |
50 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), EventTovoid())); | 57 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), EventTovoid())); |
51 sunflower.draw(); | 58 sunflower.draw(); |
52 }; | 59 }; |
53 dart.fn(sunflower.main, VoidTovoid()); | 60 dart.fn(sunflower.main, VoidTovoid()); |
54 sunflower.draw = function() { | 61 sunflower.draw = function() { |
55 sunflower.seeds = core.int.parse(sunflower.slider.value); | 62 sunflower.seeds = core.int.parse(sunflower.slider.value); |
56 sunflower.context.clearRect(0, 0, sunflower.MAX_D, sunflower.MAX_D); | 63 sunflower.context.clearRect(0, 0, sunflower.MAX_D, sunflower.MAX_D); |
57 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { | 64 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { |
58 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); | 65 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 fields: () => ({color: core.String}), | 133 fields: () => ({color: core.String}), |
127 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend
eringContext2D])}) | 134 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend
eringContext2D])}) |
128 }); | 135 }); |
129 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle
, painter.CirclePainter) { | 136 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle
, painter.CirclePainter) { |
130 new(x, y, radius, color) { | 137 new(x, y, radius, color) { |
131 if (color === void 0) color = null; | 138 if (color === void 0) color = null; |
132 super.new(x, y, radius); | 139 super.new(x, y, radius); |
133 if (color != null) this.color = color; | 140 if (color != null) this.color = color; |
134 } | 141 } |
135 }; | 142 }; |
136 painter.ORANGE = "orange"; | 143 dart.defineLazy(painter, { |
137 painter.RED = "red"; | 144 get ORANGE() { |
138 painter.BLUE = "blue"; | 145 return "orange"; |
139 painter.TAU = math.PI * 2; | 146 }, |
| 147 get RED() { |
| 148 return "red"; |
| 149 }, |
| 150 get BLUE() { |
| 151 return "blue"; |
| 152 }, |
| 153 get TAU() { |
| 154 return math.PI * 2; |
| 155 } |
| 156 }); |
140 painter.querySelector = function(selector) { | 157 painter.querySelector = function(selector) { |
141 return html.document.querySelector(selector); | 158 return html.document.querySelector(selector); |
142 }; | 159 }; |
143 dart.fn(painter.querySelector, StringToElement()); | 160 dart.fn(painter.querySelector, StringToElement()); |
144 dart.defineLazy(painter, { | 161 dart.defineLazy(painter, { |
145 get canvas() { | 162 get canvas() { |
146 return html.CanvasElement.as(painter.querySelector("#canvas")); | 163 return html.CanvasElement.as(painter.querySelector("#canvas")); |
147 } | 164 }, |
148 }); | |
149 dart.defineLazy(painter, { | |
150 get context() { | 165 get context() { |
151 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext]('
2d')); | 166 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext]('
2d')); |
152 } | 167 } |
153 }); | 168 }); |
154 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart":
circle, "painter.dart": painter}, null); | 169 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart":
circle, "painter.dart": painter}, null); |
155 // Exports: | 170 // Exports: |
156 return { | 171 return { |
157 sunflower: sunflower, | 172 sunflower: sunflower, |
158 circle: circle, | 173 circle: circle, |
159 painter: painter | 174 painter: painter |
160 }; | 175 }; |
161 }); | 176 }); |
162 | 177 |
163 //# sourceMappingURL=sunflower.js.map | 178 //# sourceMappingURL=sunflower.js.map |
OLD | NEW |