summaryrefslogtreecommitdiff
path: root/examples/src/main/scala/Clock.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-10-29 23:07:55 -0700
committerLi Haoyi <haoyi@dropbox.com>2014-10-29 23:07:55 -0700
commite8b38f242876f99966c3d13cefae2f5863c5bb9e (patch)
tree01989c3899a57cbbc37c5479a7489aa6ac8c753f /examples/src/main/scala/Clock.scala
parent42394b5fa4bc0a76585d77f587a79b11c1b7c32f (diff)
downloadhands-on-scala-js-e8b38f242876f99966c3d13cefae2f5863c5bb9e.tar.gz
hands-on-scala-js-e8b38f242876f99966c3d13cefae2f5863c5bb9e.tar.bz2
hands-on-scala-js-e8b38f242876f99966c3d13cefae2f5863c5bb9e.zip
lots of refactoring
Diffstat (limited to 'examples/src/main/scala/Clock.scala')
-rw-r--r--examples/src/main/scala/Clock.scala48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/src/main/scala/Clock.scala b/examples/src/main/scala/Clock.scala
new file mode 100644
index 0000000..1db7c23
--- /dev/null
+++ b/examples/src/main/scala/Clock.scala
@@ -0,0 +1,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)
+ }
+} \ No newline at end of file