(function () {
+ if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return
+
var K = document.querySelector('canvas'),
- { random: R, PI, cos: C, sin: S, floor, atan2: A } = Math,
+ { random: R, PI, cos: C, sin: S, atan2: A } = Math,
id = p => p,
spn = rad => p => ({
x: p.x + rad * C(l),
a: R() * 2 * PI, c: r(100)
})),
H = [sqr, crc, hrt, chs, lch], P = [id, spn(5), spn(15)],
- draw = H[r(H.length)], pos = P[r(P.length)]
+ draw = H[r(H.length)], pos = P[r(P.length)],
+ Z = 1
function r(x) {
- return floor(R() * x)
+ return ~~(R() * x)
}
function sqr(i) {
- var {x, y} = pos(i)
- X.fillRect(x, y, z, z)
+ var p = pos(i)
+ X.fillRect(p.x, p.y, z, z)
}
function crc(i) {
- var {x, y} = pos(i)
+ var p = pos(i)
B()
- X.arc(x, y, z / 2, 0, 2 * PI)
+ X.arc(p.x, p.y, z / 2, 0, 2 * PI)
F()
}
}
function frm(t) {
- requestAnimationFrame(frm)
+ if (Z) requestAnimationFrame(frm)
var dt = t - l
}
}
+ K.addEventListener('click', () => (Z=Z?0:1&&frm()))
frm()
}
)()