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
|
import org.scalajs.dom
import scala.scalajs.js.annotation.JSExport
import scalajs.js
@JSExport
object Clock extends{
@JSExport
def main(canvas: dom.HTMLCanvasElement) = {
/*setup*/
val renderer = canvas.getContext("2d")
.asInstanceOf[dom.CanvasRenderingContext2D]
canvas.width = canvas.parentElement.clientWidth
canvas.height = canvas.parentElement.clientHeight
val gradient = renderer.createLinearGradient(
canvas.width / 2 - 100, 0, canvas.width/ 2 + 100, 0
)
gradient.addColorStop(0,"red")
gradient.addColorStop(0.5,"green")
gradient.addColorStop(1,"blue")
renderer.fillStyle = gradient
//renderer.fillStyle = "black"
renderer.textAlign = "center"
renderer.textBaseline = "middle"
/*code*/
def render() = {
val date = new js.Date()
renderer.clearRect(
0, 0, canvas.width, canvas.height
)
renderer.font = "75px sans-serif"
renderer.fillText(
Seq(
date.getHours(),
date.getMinutes(),
date.getSeconds()
).mkString(":"),
canvas.width / 2,
canvas.height / 2
)
}
dom.setInterval(render _, 1000)
}
}
|