|
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