-
Notifications
You must be signed in to change notification settings - Fork 0
/
Circles.dart
78 lines (67 loc) · 2.12 KB
/
Circles.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#library('Circles');
#import('dart:html');
#source('Utils.dart');
#source('Circle.dart');
class Circles {
static CanvasRenderingContext2D ctx;
static bool negative = false;
static num centerX;
static num centerY;
Circles() {
CanvasElement canvas = document.query("#canvas");
ctx = canvas.getContext("2d");
ctx.canvas.width = window.innerWidth;
ctx.canvas.height = window.innerHeight;
centerX = (ctx.canvas.width / 2) - 200;
centerY = (ctx.canvas.height / 2) + 150;
Element text1 = document.query("#text1");
text1.style.top = "${(centerY - 70)}px";
text1.style.left = "${(centerX - 150)}px";
text1.style.display = "block";
Element text2 = document.query("#text2");
text2.style.top = "${centerY}px";
text2.style.left = "${centerX}px" ;
text2.style.display = "block";
document.query('#link').on.click.add((e) {
toggle_colors();
});
window.on.resize.add((e) {
print("resized event");
draw();
});
document.on.fullscreenChange.add((e) {
print("fullscreen event");
draw();
});
}
void toggle_colors() {
negative = !negative;
document.query("body").style.backgroundColor = negative ? "#000000" : "#FFFFFF";
document.query("#link").style.color = negative ? "white" : "black";
document.query("#text2").style.color = negative ? "white" : "black";
draw();
}
void draw() {
clear();
List circles = [
new Circle(300, 850, 230, 180),
new Circle(220, 585, 310, 160),
new Circle(140, 400, 270, 130),
new Circle(70, 290, 280, 40),
new Circle(70, 290, 80, 150),
new Circle(30, 235, 310, 10),
new Circle(30, 235, 90, 140),
new Circle(10, 210, 320, 40),
new Circle(10, 210, 110, 150),
];
for (var i = 0; i < circles.length; i++) {
circles[i].animatedDraw();
}
}
void clear() {
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
}
}
void main() {
new Circles().draw();
}