List of usage examples for com.google.gwt.event.dom.client TouchEvent getTouches
public JsArray<Touch> getTouches()
From source file:com.ait.lienzo.client.widget.LienzoHandlerManager.java
License:Open Source License
private final List<TouchPoint> getTouches(final TouchEvent<?> event) { final JsArray<Touch> jsarray = event.getTouches(); final Element element = event.getRelativeElement(); if ((null != jsarray) && (jsarray.length() > 0)) { final int size = jsarray.length(); final ArrayList<TouchPoint> touches = new ArrayList<TouchPoint>(size); for (int i = 0; i < size; i++) { final Touch touch = jsarray.get(i); touches.add(new TouchPoint(touch.getRelativeX(element), touch.getRelativeY(element))); }//from w w w. j a v a2 s . c om return touches; } else { int x = event.getNativeEvent().getClientX() - element.getAbsoluteLeft() + element.getScrollLeft() + element.getOwnerDocument().getScrollLeft(); int y = event.getNativeEvent().getClientY() - element.getAbsoluteTop() + element.getScrollTop() + element.getOwnerDocument().getScrollTop(); return Arrays.asList(new TouchPoint(x, y)); } }
From source file:com.allen_sauer.gwt.dnd.client.MouseDragHandler.java
License:Apache License
private void onTouchEndorCancel(TouchEvent<?> event) { if (event.getTouches().length() != 0) { // ignore multiple fingers for now return;// w w w. j a v a 2s . c om } // in case mouse down occurred elsewhere if (mouseDownWidget == null) { return; } try { if (dragging == NOT_DRAGGING) { doSelectionToggle(event); return; } // Proceed with the drop try { drop(context.mouseX, context.mouseY); if (dragging != ACTIVELY_DRAGGING) { doSelectionToggle(event); } } finally { dragEndCleanup(); } } finally { mouseDownWidget = null; dragEndCleanup(); } }
From source file:com.emitrom.lienzo.client.widget.LienzoHandlerManager.java
License:Open Source License
private final ArrayList<TouchPoint> getTouches(TouchEvent<?> event) { ArrayList<TouchPoint> touches = new ArrayList<TouchPoint>(); JsArray<Touch> jsarray = event.getTouches(); Element element = event.getRelativeElement(); if ((null != jsarray) && (jsarray.length() > 0)) { int size = jsarray.length(); for (int i = 0; i < size; i++) { Touch touch = jsarray.get(i); touches.add(new TouchPoint(touch.getRelativeX(element), touch.getRelativeY(element))); }//from ww w.j a va 2 s .c o m } else { int x = event.getNativeEvent().getClientX() - element.getAbsoluteLeft() + element.getScrollLeft() + element.getOwnerDocument().getScrollLeft(); int y = event.getNativeEvent().getClientY() - element.getAbsoluteTop() + element.getScrollTop() + element.getOwnerDocument().getScrollTop(); touches.add(new TouchPoint(x, y)); } return touches; }
From source file:com.vaadin.addon.timeline.gwt.client.VTimelineBrowser.java
/** * Called when a user is dragging the graph with n-amount of fingers * // w w w. j a v a 2 s.c o m * @param event */ private void touchMove(TouchEvent<?> event) { if (event.getTouches().length() > 1) { Touch t1 = event.getTouches().get(0); Touch t2 = event.getTouches().get(1); int left, right; if (t1.getClientX() > t2.getClientX()) { left = t2.getClientX() - getElement().getAbsoluteLeft(); right = t1.getClientX() - getElement().getAbsoluteLeft(); } else { left = t1.getClientX() - getElement().getAbsoluteLeft(); right = t2.getClientX() - getElement().getAbsoluteLeft(); } // Boundary checks if (left < 0) { left = 0; } if (right >= getCanvasWidth()) { right = getCanvasWidth(); } scroller.setLeftPosition(left); scroller.setRightPosition(right); scroller.lockSize(); refreshSelection(); } else if (!multitouching) { moveDragging(event.getNativeEvent()); } }
From source file:com.vaadin.addon.timeline.gwt.client.VTimelineDisplay.java
/** * Triggered whenever a touch event occurs * //from ww w. j a v a 2 s.co m * @param event * The touch event */ private void touchMove(TouchEvent<?> event) { event.preventDefault(); if (event.getTouches().length() > 1) { Touch t1 = event.getTouches().get(0); Touch t2 = event.getTouches().get(1); int fingerDistance = Math.abs(t1.getClientX() - t2.getClientX()); if (t1.getClientX() < t2.getClientX()) { /* * t1 is left finger, t2 is right finger */ lastMouseX = t1.getClientX() + fingerDistance / 2; } else { /* * t2 is left finger, t1 is right finger */ lastMouseX = t2.getClientX() + fingerDistance / 2; } if (lastTouchFingerDistance > 0) { if (fingerDistance > lastTouchFingerDistance) { zoomOut(lastMouseX, Math.abs(lastTouchFingerDistance - fingerDistance) / 10); } else { zoomIn(lastMouseX, Math.abs(lastTouchFingerDistance - fingerDistance) / 10); } } else { lastTouchFingerDistance = fingerDistance; } } else if (!multitouching) { lastMouseX = Util.getTouchOrMouseClientX(event.getNativeEvent()); moveDragging(event.getNativeEvent()); } }
From source file:edu.caltech.ipac.firefly.visualize.PVMouse.java
private ScreenPt makeScreenPt(TouchEvent ev) { Touch t = (Touch) ev.getTouches().get(0); return new ScreenPt(_pv.getScrollX() + t.getClientX() - _mouseMoveArea.getAbsoluteLeft(), _pv.getScrollY() + t.getClientY() - _mouseMoveArea.getAbsoluteTop()); }
From source file:nl.mpi.tg.eg.experiment.client.listener.TouchInputCapture.java
License:Open Source License
private void onAnyTouch(TouchEvent event) { recordTouches(event.getTouches()); bumpTouchRecords();/*ww w.j av a2 s. com*/ // touchesToDebugLabel(event.getTouches()); }
From source file:nl.mpi.tg.eg.experiment.client.view.ColourPickerCanvasView.java
License:Open Source License
private void setColour(TouchEvent event, Canvas targetCanvas, VerticalPanel targetPanel) { if (event.getTouches().length() > 0) { final JsArray<Touch> touches = event.getTargetTouches(); if (touches.length() > 0) { Touch touch = touches.get(0); setColour(touch.getRelativeX(targetCanvas.getElement()), touch.getRelativeY(targetCanvas.getElement()), targetCanvas, targetPanel); }/*ww w .ja v a 2s .c o m*/ } }
From source file:nl.mpi.tg.eg.experiment.client.view.ColourPickerCanvasView.java
License:Open Source License
private void setHue(TouchEvent event, Canvas targetCanvas) { if (event.getTouches().length() > 0) { final JsArray<Touch> touches = event.getTargetTouches(); if (touches.length() > 0) { Touch touch = touches.get(0); setHue(touch.getRelativeX(targetCanvas.getElement()), touch.getRelativeY(targetCanvas.getElement()), targetCanvas);//www. ja va 2 s . co m } } }
From source file:org.geomajas.gwt2.client.controller.TouchNavigationController.java
License:Open Source License
/** * Method used to calculate exact middle point between multiple touches of a touch events. * * @param event a touch event//from w w w . j a v a2 s .c o m * @return middle point */ protected Coordinate getMidPoint(TouchEvent<?> event) { Coordinate[] coords = new Coordinate[event.getTouches().length()]; for (int i = 0; i < event.getTargetTouches().length(); i++) { coords[i] = new Coordinate(event.getTouches().get(i).getClientX(), event.getTouches().get(i).getClientY()); } double x = 0; double y = 0; for (Coordinate coord : coords) { x += coord.getX(); y += coord.getY(); } x /= coords.length; y /= coords.length; return new Coordinate(x, y); }