diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-10-29 23:07:55 -0700 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-10-29 23:07:55 -0700 |
commit | e8b38f242876f99966c3d13cefae2f5863c5bb9e (patch) | |
tree | 01989c3899a57cbbc37c5479a7489aa6ac8c753f /examples/src/main/scala/ScratchPad.scala | |
parent | 42394b5fa4bc0a76585d77f587a79b11c1b7c32f (diff) | |
download | hands-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/ScratchPad.scala')
-rw-r--r-- | examples/src/main/scala/ScratchPad.scala | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/src/main/scala/ScratchPad.scala b/examples/src/main/scala/ScratchPad.scala new file mode 100644 index 0000000..225e567 --- /dev/null +++ b/examples/src/main/scala/ScratchPad.scala @@ -0,0 +1,38 @@ + +import org.scalajs.dom + +import scala.scalajs.js.annotation.JSExport + +@JSExport +object ScratchPad 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 + + renderer.fillStyle = "#f8f8f8" + renderer.fillRect(0, 0, canvas.width, canvas.height) + + /*code*/ + renderer.fillStyle = "black" + var down = false + canvas.onmousedown = (e: dom.MouseEvent)=>{ + down = true + } + canvas.onmouseup = (e: dom.MouseEvent)=>{ + down = false + } + canvas.onmousemove = (e: dom.MouseEvent)=>{ + val rect = canvas.getBoundingClientRect() + if (down) renderer.fillRect( + e.clientX - rect.left, + e.clientY - rect.top, + 10, 10 + ) + } + } +}
\ No newline at end of file |