Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1474)

Side by Side Diff: test/codegen/expect/sunflower/sunflower.js

Issue 1879373004: Implement modular compilation (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 dart_library.library('sunflower/sunflower', null, /* Imports */[ 1 dart_library.library('sunflower', null, /* Imports */[
2 'dart/_runtime', 2 'dart_sdk'
3 'sunflower/dom', 3 ], function(exports, dart_sdk) {
4 'dart/core',
5 'dart/math',
6 'sunflower/painter',
7 'sunflower/circle'
8 ], /* Lazy imports */[
9 ], function(exports, dart, dom, core, math, painter, circle) {
10 'use strict'; 4 'use strict';
11 let dartx = dart.dartx; 5 const core = dart_sdk.core;
12 const SEED_RADIUS = 2; 6 const html = dart_sdk.html;
13 const SCALE_FACTOR = 4; 7 const math = dart_sdk.math;
14 const MAX_D = 300; 8 const dart = dart_sdk.dart;
15 const centerX = dart.notNull(MAX_D) / 2; 9 const dartx = dart_sdk.dartx;
16 const centerY = centerX; 10 const sunflower = Object.create(null);
17 function querySelector(selector) { 11 const circle = Object.create(null);
18 return dom.document.querySelector(selector); 12 const painter = Object.create(null);
19 } 13 sunflower.SEED_RADIUS = 2;
20 dart.fn(querySelector, dom.Element, [core.String]); 14 sunflower.SCALE_FACTOR = 4;
21 dart.defineLazyProperties(exports, { 15 sunflower.MAX_D = 300;
16 sunflower.centerX = dart.notNull(sunflower.MAX_D) / 2;
17 sunflower.centerY = sunflower.centerX;
18 sunflower.querySelector = function(selector) {
19 return html.document[dartx.querySelector](selector);
20 };
21 dart.fn(sunflower.querySelector, html.Element, [core.String]);
22 dart.defineLazy(sunflower, {
22 get canvas() { 23 get canvas() {
23 return dart.as(querySelector("#canvas"), dom.CanvasElement); 24 return dart.as(sunflower.querySelector("#canvas"), html.CanvasElement);
24 } 25 }
25 }); 26 });
26 dart.defineLazyProperties(exports, { 27 dart.defineLazy(sunflower, {
27 get context() { 28 get context() {
28 return dart.as(exports.canvas.getContext('2d'), dom.CanvasRenderingContext 2D); 29 return dart.as(sunflower.canvas[dartx.getContext]('2d'), html.CanvasRender ingContext2D);
29 } 30 }
30 }); 31 });
31 dart.defineLazyProperties(exports, { 32 dart.defineLazy(sunflower, {
32 get slider() { 33 get slider() {
33 return dart.as(querySelector("#slider"), dom.InputElement); 34 return dart.as(sunflower.querySelector("#slider"), html.InputElement);
34 } 35 }
35 }); 36 });
36 dart.defineLazyProperties(exports, { 37 dart.defineLazy(sunflower, {
37 get notes() { 38 get notes() {
38 return querySelector("#notes"); 39 return sunflower.querySelector("#notes");
39 } 40 }
40 }); 41 });
41 dart.defineLazyProperties(exports, { 42 dart.defineLazy(sunflower, {
42 get PHI() { 43 get PHI() {
43 return (dart.notNull(math.sqrt(5)) + 1) / 2; 44 return (dart.notNull(math.sqrt(5)) + 1) / 2;
44 } 45 }
45 }); 46 });
46 exports.seeds = 0; 47 sunflower.seeds = 0;
47 function main() { 48 sunflower.main = function() {
48 exports.slider.addEventListener('change', dart.fn(e => draw(), dart.void, [d om.Event])); 49 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr aw(), dart.void, [html.Event]));
49 draw(); 50 sunflower.draw();
50 } 51 };
51 dart.fn(main, dart.void, []); 52 dart.fn(sunflower.main, dart.void, []);
52 function draw() { 53 sunflower.draw = function() {
53 exports.seeds = core.int.parse(exports.slider.value); 54 sunflower.seeds = core.int.parse(sunflower.slider[dartx.value]);
54 exports.context.clearRect(0, 0, MAX_D, MAX_D); 55 sunflower.context[dartx.clearRect](0, 0, sunflower.MAX_D, sunflower.MAX_D);
55 for (let i = 0; i < dart.notNull(exports.seeds); i++) { 56 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) {
56 let theta = i * dart.notNull(painter.TAU) / dart.notNull(exports.PHI); 57 let theta = i * dart.notNull(painter.TAU) / dart.notNull(sunflower.PHI);
57 let r = dart.notNull(math.sqrt(i)) * dart.notNull(SCALE_FACTOR); 58 let r = dart.notNull(math.sqrt(i)) * dart.notNull(sunflower.SCALE_FACTOR);
58 let x = dart.notNull(centerX) + r * dart.notNull(math.cos(theta)); 59 let x = dart.notNull(sunflower.centerX) + r * dart.notNull(math.cos(theta) );
59 let y = dart.notNull(centerY) - r * dart.notNull(math.sin(theta)); 60 let y = dart.notNull(sunflower.centerY) - r * dart.notNull(math.sin(theta) );
60 new SunflowerSeed(x, y, SEED_RADIUS).draw(exports.context); 61 new sunflower.SunflowerSeed(x, y, sunflower.SEED_RADIUS).draw(sunflower.co ntext);
61 } 62 }
62 exports.notes.textContent = `${exports.seeds} seeds`; 63 sunflower.notes[dartx.text] = `${sunflower.seeds} seeds`;
63 } 64 };
64 dart.fn(draw, dart.void, []); 65 dart.fn(sunflower.draw, dart.void, []);
65 class SunflowerSeed extends dart.mixin(circle.Circle, painter.CirclePainter) { 66 circle.Circle = class Circle extends core.Object {
67 Circle(x, y, radius) {
68 this.x = x;
69 this.y = y;
70 this.radius = radius;
71 }
72 };
73 dart.setSignature(circle.Circle, {
74 constructors: () => ({Circle: [circle.Circle, [core.num, core.num, core.num] ]})
75 });
76 painter.CirclePainter = class CirclePainter extends core.Object {
77 CirclePainter() {
78 this.color = painter.ORANGE;
79 }
80 draw(context) {
81 context[dartx.beginPath]();
82 context[dartx.lineWidth] = 2;
83 context[dartx.fillStyle] = this.color;
84 context[dartx.strokeStyle] = this.color;
85 context[dartx.arc](this.x, this.y, this.radius, 0, painter.TAU, false);
86 context[dartx.fill]();
87 context[dartx.closePath]();
88 context[dartx.stroke]();
89 }
90 };
91 painter.CirclePainter[dart.implements] = () => [circle.Circle];
92 dart.setSignature(painter.CirclePainter, {
93 methods: () => ({draw: [dart.void, [html.CanvasRenderingContext2D]]})
94 });
95 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle , painter.CirclePainter) {
66 SunflowerSeed(x, y, radius, color) { 96 SunflowerSeed(x, y, radius, color) {
67 if (color === void 0) color = null; 97 if (color === void 0) color = null;
68 super.Circle(x, y, radius); 98 super.Circle(x, y, radius);
69 if (color != null) this.color = color; 99 if (color != null) this.color = color;
70 } 100 }
71 } 101 };
72 dart.setSignature(SunflowerSeed, { 102 dart.setSignature(sunflower.SunflowerSeed, {
73 constructors: () => ({SunflowerSeed: [SunflowerSeed, [core.num, core.num, co re.num], [core.String]]}) 103 constructors: () => ({SunflowerSeed: [sunflower.SunflowerSeed, [core.num, co re.num, core.num], [core.String]]})
104 });
105 painter.ORANGE = "orange";
106 painter.RED = "red";
107 painter.BLUE = "blue";
108 painter.TAU = dart.notNull(math.PI) * 2;
109 painter.querySelector = function(selector) {
110 return html.document[dartx.querySelector](selector);
111 };
112 dart.fn(painter.querySelector, html.Element, [core.String]);
113 dart.defineLazy(painter, {
114 get canvas() {
115 return dart.as(painter.querySelector("#canvas"), html.CanvasElement);
116 }
117 });
118 dart.defineLazy(painter, {
119 get context() {
120 return dart.as(painter.canvas[dartx.getContext]('2d'), html.CanvasRenderin gContext2D);
121 }
74 }); 122 });
75 // Exports: 123 // Exports:
76 exports.SEED_RADIUS = SEED_RADIUS; 124 exports.sunflower = sunflower;
77 exports.SCALE_FACTOR = SCALE_FACTOR; 125 exports.circle = circle;
78 exports.MAX_D = MAX_D; 126 exports.painter = painter;
79 exports.centerX = centerX;
80 exports.centerY = centerY;
81 exports.querySelector = querySelector;
82 exports.main = main;
83 exports.draw = draw;
84 exports.SunflowerSeed = SunflowerSeed;
85 }); 127 });
128
129 //# sourceMappingURL=sunflower.js.map
OLDNEW
« no previous file with comments | « test/codegen/expect/sunflower/sunflower.html ('k') | test/codegen/expect/sunflower/sunflower.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698