protected void addTouchHandlers() { TouchStartHandler touchStartHandler = new TouchStartHandler() { @Override public void onTouchStart(TouchStartEvent event) { event.stopPropagation(); event.preventDefault(); mouseDown(event); } }; canvas.addTouchStartHandler(touchStartHandler); TouchMoveHandler touchMoveHandler = new TouchMoveHandler() { @Override public void onTouchMove(TouchMoveEvent event) { if (isMouseDown) { event.stopPropagation(); event.preventDefault(); mouseMove(event); } } }; canvas.addTouchMoveHandler(touchMoveHandler); TouchEndHandler touchEndHandler = new TouchEndHandler() { @Override public void onTouchEnd(TouchEndEvent event) { if (isMouseDown) { event.stopPropagation(); event.preventDefault(); mouseUp(event); } } }; canvas.addTouchEndHandler(touchEndHandler); }