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

Side by Side Diff: pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js

Issue 2748713002: Invoke native methods directly (Closed)
Patch Set: Address comments / cleanup Created 3 years, 9 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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698