|
16 | 16 | canvas.addEventListener('mouseup', onMouseUp, false); |
17 | 17 | canvas.addEventListener('mouseout', onMouseUp, false); |
18 | 18 | canvas.addEventListener('mousemove', throttle(onMouseMove, 10), false); |
| 19 | + |
| 20 | + //Touch support for mobile devices |
| 21 | + canvas.addEventListener('touchstart', onMouseDown, false); |
| 22 | + canvas.addEventListener('touchend', onMouseUp, false); |
| 23 | + canvas.addEventListener('touchcancel', onMouseUp, false); |
| 24 | + canvas.addEventListener('touchmove', throttle(onMouseMove, 10), false); |
19 | 25 |
|
20 | 26 | for (var i = 0; i < colors.length; i++){ |
21 | 27 | colors[i].addEventListener('click', onColorUpdate, false); |
|
51 | 57 |
|
52 | 58 | function onMouseDown(e){ |
53 | 59 | drawing = true; |
54 | | - current.x = e.clientX; |
55 | | - current.y = e.clientY; |
| 60 | + current.x = e.clientX||e.touches[0].clientX; |
| 61 | + current.y = e.clientY||e.touches[0].clientY; |
56 | 62 | } |
57 | 63 |
|
58 | 64 | function onMouseUp(e){ |
59 | 65 | if (!drawing) { return; } |
60 | 66 | drawing = false; |
61 | | - drawLine(current.x, current.y, e.clientX, e.clientY, current.color, true); |
| 67 | + drawLine(current.x, current.y, e.clientX||e.touches[0].clientX, e.clientY||e.touches[0].clientY, current.color, true); |
62 | 68 | } |
63 | 69 |
|
64 | 70 | function onMouseMove(e){ |
65 | 71 | if (!drawing) { return; } |
66 | | - drawLine(current.x, current.y, e.clientX, e.clientY, current.color, true); |
67 | | - current.x = e.clientX; |
68 | | - current.y = e.clientY; |
| 72 | + drawLine(current.x, current.y, e.clientX||e.touches[0].clientX, e.clientY||e.touches[0].clientY, current.color, true); |
| 73 | + current.x = e.clientX||e.touches[0].clientX; |
| 74 | + current.y = e.clientY||e.touches[0].clientY; |
69 | 75 | } |
70 | 76 |
|
71 | 77 | function onColorUpdate(e){ |
|
0 commit comments