| 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 sunflower.SEED_RADIUS = 2; |
| 15 sunflower.SCALE_FACTOR = 4; | 15 sunflower.SCALE_FACTOR = 4; |
| 16 sunflower.MAX_D = 300; | 16 sunflower.MAX_D = 300; |
| 17 sunflower.centerX = sunflower.MAX_D / 2; | 17 sunflower.centerX = sunflower.MAX_D / 2; |
| 18 sunflower.centerY = sunflower.centerX; | 18 sunflower.centerY = sunflower.centerX; |
| 19 sunflower.querySelector = function(selector) { | 19 sunflower.querySelector = function(selector) { |
| 20 return html.document[dartx.querySelector](selector); | 20 return html.document.querySelector(selector); |
| 21 }; | 21 }; |
| 22 dart.fn(sunflower.querySelector, StringToElement()); | 22 dart.fn(sunflower.querySelector, StringToElement()); |
| 23 dart.defineLazy(sunflower, { | 23 dart.defineLazy(sunflower, { |
| 24 get canvas() { | 24 get canvas() { |
| 25 return html.CanvasElement.as(sunflower.querySelector("#canvas")); | 25 return html.CanvasElement.as(sunflower.querySelector("#canvas")); |
| 26 } | 26 } |
| 27 }); | 27 }); |
| 28 dart.defineLazy(sunflower, { | 28 dart.defineLazy(sunflower, { |
| 29 get context() { | 29 get context() { |
| 30 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext]
('2d')); | 30 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext]
('2d')); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 45 return (dart.notNull(math.sqrt(5)) + 1) / 2; | 45 return (dart.notNull(math.sqrt(5)) + 1) / 2; |
| 46 } | 46 } |
| 47 }); | 47 }); |
| 48 sunflower.seeds = 0; | 48 sunflower.seeds = 0; |
| 49 sunflower.main = function() { | 49 sunflower.main = function() { |
| 50 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), EventTovoid())); | 50 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr
aw(), EventTovoid())); |
| 51 sunflower.draw(); | 51 sunflower.draw(); |
| 52 }; | 52 }; |
| 53 dart.fn(sunflower.main, VoidTovoid()); | 53 dart.fn(sunflower.main, VoidTovoid()); |
| 54 sunflower.draw = function() { | 54 sunflower.draw = function() { |
| 55 sunflower.seeds = core.int.parse(sunflower.slider[dartx.value]); | 55 sunflower.seeds = core.int.parse(sunflower.slider.value); |
| 56 sunflower.context[dartx.clearRect](0, 0, sunflower.MAX_D, sunflower.MAX_D); | 56 sunflower.context.clearRect(0, 0, sunflower.MAX_D, sunflower.MAX_D); |
| 57 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { | 57 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { |
| 58 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); | 58 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); |
| 59 let r = dart.notNull(math.sqrt(i)) * sunflower.SCALE_FACTOR; | 59 let r = dart.notNull(math.sqrt(i)) * sunflower.SCALE_FACTOR; |
| 60 let x = sunflower.centerX + r * dart.notNull(math.cos(theta)); | 60 let x = sunflower.centerX + r * dart.notNull(math.cos(theta)); |
| 61 let y = sunflower.centerY - r * dart.notNull(math.sin(theta)); | 61 let y = sunflower.centerY - r * dart.notNull(math.sin(theta)); |
| 62 new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.co
ntext); | 62 new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.co
ntext); |
| 63 } | 63 } |
| 64 sunflower.notes[dartx.text] = dart.str`${sunflower.seeds} seeds`; | 64 sunflower.notes[dartx.text] = dart.str`${sunflower.seeds} seeds`; |
| 65 }; | 65 }; |
| 66 dart.fn(sunflower.draw, VoidTovoid()); | 66 dart.fn(sunflower.draw, VoidTovoid()); |
| 67 circle.Circle = class Circle extends core.Object { | 67 circle.Circle = class Circle extends core.Object { |
| 68 new(x, y, radius) { | 68 new(x, y, radius) { |
| 69 this.x = x; | 69 this.x = x; |
| 70 this.y = y; | 70 this.y = y; |
| 71 this.radius = radius; | 71 this.radius = radius; |
| 72 } | 72 } |
| 73 }; | 73 }; |
| 74 dart.setSignature(circle.Circle, { | 74 dart.setSignature(circle.Circle, { |
| 75 fields: () => ({ | 75 fields: () => ({ |
| 76 x: core.num, | 76 x: core.num, |
| 77 y: core.num, | 77 y: core.num, |
| 78 radius: core.num | 78 radius: core.num |
| 79 }) | 79 }) |
| 80 }); | 80 }); |
| 81 painter.CirclePainter = class CirclePainter extends core.Object { | 81 painter.CirclePainter = class CirclePainter extends core.Object { |
| 82 new() { | 82 new() { |
| 83 this.color = painter.ORANGE; | 83 this.color = painter.ORANGE; |
| 84 } | 84 } |
| 85 draw(context) { | 85 draw(context) { |
| 86 context[dartx.beginPath](); | 86 context.beginPath(); |
| 87 context[dartx.lineWidth] = 2; | 87 context.lineWidth = 2; |
| 88 context[dartx.fillStyle] = this.color; | 88 context.fillStyle = this.color; |
| 89 context[dartx.strokeStyle] = this.color; | 89 context.strokeStyle = this.color; |
| 90 context[dartx.arc](this.x, this.y, this.radius, 0, painter.TAU, false); | 90 context[dartx.arc](this.x, this.y, this.radius, 0, painter.TAU, false); |
| 91 context[dartx.fill](); | 91 context[dartx.fill](); |
| 92 context[dartx.closePath](); | 92 context.closePath(); |
| 93 context[dartx.stroke](); | 93 context.stroke(); |
| 94 } | 94 } |
| 95 }; | 95 }; |
| 96 painter.CirclePainter[dart.implements] = () => [circle.Circle]; | 96 painter.CirclePainter[dart.implements] = () => [circle.Circle]; |
| 97 dart.setSignature(painter.CirclePainter, { | 97 dart.setSignature(painter.CirclePainter, { |
| 98 fields: () => ({color: core.String}), | 98 fields: () => ({color: core.String}), |
| 99 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend
eringContext2D])}) | 99 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend
eringContext2D])}) |
| 100 }); | 100 }); |
| 101 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle
, painter.CirclePainter) { | 101 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle
, painter.CirclePainter) { |
| 102 new(x, y, radius, color) { | 102 new(x, y, radius, color) { |
| 103 if (color === void 0) color = null; | 103 if (color === void 0) color = null; |
| 104 super.new(x, y, radius); | 104 super.new(x, y, radius); |
| 105 if (color != null) this.color = color; | 105 if (color != null) this.color = color; |
| 106 } | 106 } |
| 107 }; | 107 }; |
| 108 painter.ORANGE = "orange"; | 108 painter.ORANGE = "orange"; |
| 109 painter.RED = "red"; | 109 painter.RED = "red"; |
| 110 painter.BLUE = "blue"; | 110 painter.BLUE = "blue"; |
| 111 painter.TAU = math.PI * 2; | 111 painter.TAU = math.PI * 2; |
| 112 painter.querySelector = function(selector) { | 112 painter.querySelector = function(selector) { |
| 113 return html.document[dartx.querySelector](selector); | 113 return html.document.querySelector(selector); |
| 114 }; | 114 }; |
| 115 dart.fn(painter.querySelector, StringToElement()); | 115 dart.fn(painter.querySelector, StringToElement()); |
| 116 dart.defineLazy(painter, { | 116 dart.defineLazy(painter, { |
| 117 get canvas() { | 117 get canvas() { |
| 118 return html.CanvasElement.as(painter.querySelector("#canvas")); | 118 return html.CanvasElement.as(painter.querySelector("#canvas")); |
| 119 } | 119 } |
| 120 }); | 120 }); |
| 121 dart.defineLazy(painter, { | 121 dart.defineLazy(painter, { |
| 122 get context() { | 122 get context() { |
| 123 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext]('
2d')); | 123 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext]('
2d')); |
| 124 } | 124 } |
| 125 }); | 125 }); |
| 126 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart":
circle, "painter.dart": painter}); | 126 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart":
circle, "painter.dart": painter}); |
| 127 // Exports: | 127 // Exports: |
| 128 return { | 128 return { |
| 129 sunflower: sunflower, | 129 sunflower: sunflower, |
| 130 circle: circle, | 130 circle: circle, |
| 131 painter: painter | 131 painter: painter |
| 132 }; | 132 }; |
| 133 }); | 133 }); |
| 134 | 134 |
| 135 //# sourceMappingURL=sunflower.js.map | 135 //# sourceMappingURL=sunflower.js.map |
| OLD | NEW |