| Index: test/codegen/expect/sunflower/sunflower.js
|
| diff --git a/test/codegen/expect/sunflower/sunflower.js b/test/codegen/expect/sunflower/sunflower.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c447b631a4a1e78fba241e251a4eb12a4fbee9fc
|
| --- /dev/null
|
| +++ b/test/codegen/expect/sunflower/sunflower.js
|
| @@ -0,0 +1,132 @@
|
| +dart_library.library('sunflower', null, /* Imports */[
|
| + 'dart_sdk'
|
| +], function load__sunflower(exports, dart_sdk) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const html = dart_sdk.html;
|
| + const math = dart_sdk.math;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const sunflower = Object.create(null);
|
| + const circle = Object.create(null);
|
| + const painter = Object.create(null);
|
| + let StringToElement = () => (StringToElement = dart.constFn(dart.definiteFunctionType(html.Element, [core.String])))();
|
| + let EventTovoid = () => (EventTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [html.Event])))();
|
| + let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
|
| + sunflower.SEED_RADIUS = 2;
|
| + sunflower.SCALE_FACTOR = 4;
|
| + sunflower.MAX_D = 300;
|
| + sunflower.centerX = sunflower.MAX_D / 2;
|
| + sunflower.centerY = sunflower.centerX;
|
| + sunflower.querySelector = function(selector) {
|
| + return html.document[dartx.querySelector](selector);
|
| + };
|
| + dart.fn(sunflower.querySelector, StringToElement());
|
| + dart.defineLazy(sunflower, {
|
| + get canvas() {
|
| + return html.CanvasElement.as(sunflower.querySelector("#canvas"));
|
| + }
|
| + });
|
| + dart.defineLazy(sunflower, {
|
| + get context() {
|
| + return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext]('2d'));
|
| + }
|
| + });
|
| + dart.defineLazy(sunflower, {
|
| + get slider() {
|
| + return html.InputElement.as(sunflower.querySelector("#slider"));
|
| + }
|
| + });
|
| + dart.defineLazy(sunflower, {
|
| + get notes() {
|
| + return sunflower.querySelector("#notes");
|
| + }
|
| + });
|
| + dart.defineLazy(sunflower, {
|
| + get PHI() {
|
| + return (dart.notNull(math.sqrt(5)) + 1) / 2;
|
| + }
|
| + });
|
| + sunflower.seeds = 0;
|
| + sunflower.main = function() {
|
| + sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.draw(), EventTovoid()));
|
| + sunflower.draw();
|
| + };
|
| + dart.fn(sunflower.main, VoidTovoid());
|
| + sunflower.draw = function() {
|
| + sunflower.seeds = core.int.parse(sunflower.slider[dartx.value]);
|
| + sunflower.context[dartx.clearRect](0, 0, sunflower.MAX_D, sunflower.MAX_D);
|
| + for (let i = 0; i < dart.notNull(sunflower.seeds); i++) {
|
| + let theta = i * painter.TAU / dart.notNull(sunflower.PHI);
|
| + let r = dart.notNull(math.sqrt(i)) * sunflower.SCALE_FACTOR;
|
| + let x = sunflower.centerX + r * dart.notNull(math.cos(theta));
|
| + let y = sunflower.centerY - r * dart.notNull(math.sin(theta));
|
| + new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.context);
|
| + }
|
| + sunflower.notes[dartx.text] = dart.str`${sunflower.seeds} seeds`;
|
| + };
|
| + dart.fn(sunflower.draw, VoidTovoid());
|
| + circle.Circle = class Circle extends core.Object {
|
| + new(x, y, radius) {
|
| + this.x = x;
|
| + this.y = y;
|
| + this.radius = radius;
|
| + }
|
| + };
|
| + dart.setSignature(circle.Circle, {
|
| + constructors: () => ({new: dart.definiteFunctionType(circle.Circle, [core.num, core.num, core.num])})
|
| + });
|
| + painter.CirclePainter = class CirclePainter extends core.Object {
|
| + new() {
|
| + this.color = painter.ORANGE;
|
| + }
|
| + draw(context) {
|
| + context[dartx.beginPath]();
|
| + context[dartx.lineWidth] = 2;
|
| + context[dartx.fillStyle] = this.color;
|
| + context[dartx.strokeStyle] = this.color;
|
| + context[dartx.arc](this.x, this.y, this.radius, 0, painter.TAU, false);
|
| + context[dartx.fill]();
|
| + context[dartx.closePath]();
|
| + context[dartx.stroke]();
|
| + }
|
| + };
|
| + painter.CirclePainter[dart.implements] = () => [circle.Circle];
|
| + dart.setSignature(painter.CirclePainter, {
|
| + methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRenderingContext2D])})
|
| + });
|
| + sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle, painter.CirclePainter) {
|
| + new(x, y, radius, color) {
|
| + if (color === void 0) color = null;
|
| + super.new(x, y, radius);
|
| + if (color != null) this.color = color;
|
| + }
|
| + };
|
| + dart.setSignature(sunflower.SunflowerSeed, {
|
| + constructors: () => ({new: dart.definiteFunctionType(sunflower.SunflowerSeed, [core.num, core.num, core.num], [core.String])})
|
| + });
|
| + painter.ORANGE = "orange";
|
| + painter.RED = "red";
|
| + painter.BLUE = "blue";
|
| + painter.TAU = math.PI * 2;
|
| + painter.querySelector = function(selector) {
|
| + return html.document[dartx.querySelector](selector);
|
| + };
|
| + dart.fn(painter.querySelector, StringToElement());
|
| + dart.defineLazy(painter, {
|
| + get canvas() {
|
| + return html.CanvasElement.as(painter.querySelector("#canvas"));
|
| + }
|
| + });
|
| + dart.defineLazy(painter, {
|
| + get context() {
|
| + return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext]('2d'));
|
| + }
|
| + });
|
| + // Exports:
|
| + exports.sunflower = sunflower;
|
| + exports.circle = circle;
|
| + exports.painter = painter;
|
| +});
|
| +
|
| +//# sourceMappingURL=sunflower.js.map
|
|
|