summaryrefslogtreecommitdiff
path: root/examples/src/main/scala/canvasapp/ScratchPad.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-10-30 22:37:51 -0700
committerLi Haoyi <haoyi@dropbox.com>2014-10-30 22:37:51 -0700
commit058e9bac2dd8166051bafa16d51f27ee5856929a (patch)
treeb95f12df96a563ea9629912971d3b4f28b255c69 /examples/src/main/scala/canvasapp/ScratchPad.scala
parente8b38f242876f99966c3d13cefae2f5863c5bb9e (diff)
downloadhands-on-scala-js-058e9bac2dd8166051bafa16d51f27ee5856929a.tar.gz
hands-on-scala-js-058e9bac2dd8166051bafa16d51f27ee5856929a.tar.bz2
hands-on-scala-js-058e9bac2dd8166051bafa16d51f27ee5856929a.zip
web pages
Diffstat (limited to 'examples/src/main/scala/canvasapp/ScratchPad.scala')
-rw-r--r--examples/src/main/scala/canvasapp/ScratchPad.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/src/main/scala/canvasapp/ScratchPad.scala b/examples/src/main/scala/canvasapp/ScratchPad.scala
new file mode 100644
index 0000000..cc3d7e0
--- /dev/null
+++ b/examples/src/main/scala/canvasapp/ScratchPad.scala
@@ -0,0 +1,40 @@
+package canvasapp
+
+
+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