Example usage for com.google.gwt.dom.client Touch getRelativeX

List of usage examples for com.google.gwt.dom.client Touch getRelativeX

Introduction

In this page you can find the example usage for com.google.gwt.dom.client Touch getRelativeX.

Prototype

public final int getRelativeX(Element target) 

Source Link

Document

Gets the touch x-position relative to a given element.

Usage

From source file:anagram.client.GwtCanvasDemo.java

License:Apache License

void initHandlers() {
    canvas.addMouseMoveHandler(new MouseMoveHandler() {
        public void onMouseMove(MouseMoveEvent event) {
            mouseX = event.getRelativeX(canvas.getElement());
            mouseY = event.getRelativeY(canvas.getElement());
        }/*from  w  w  w .j  a  va2  s.  co  m*/
    });

    canvas.addMouseOutHandler(new MouseOutHandler() {
        public void onMouseOut(MouseOutEvent event) {
            mouseX = -200;
            mouseY = -200;
        }
    });

    canvas.addTouchMoveHandler(new TouchMoveHandler() {
        public void onTouchMove(TouchMoveEvent event) {
            event.preventDefault();
            if (event.getTouches().length() > 0) {
                Touch touch = event.getTouches().get(0);
                mouseX = touch.getRelativeX(canvas.getElement());
                mouseY = touch.getRelativeY(canvas.getElement());
            }
            event.preventDefault();
        }
    });

    canvas.addTouchEndHandler(new TouchEndHandler() {
        public void onTouchEnd(TouchEndEvent event) {
            event.preventDefault();
            mouseX = -200;
            mouseY = -200;
        }
    });

    canvas.addGestureStartHandler(new GestureStartHandler() {
        public void onGestureStart(GestureStartEvent event) {
            event.preventDefault();
        }
    });
}

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 ww  . j a  v  a  2  s.co  m*/
        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.badlogic.gdx.backends.gwt.GwtInput.java

License:Apache License

protected int getRelativeX(Touch touch, CanvasElement target) {
    float xScaleRatio = target.getWidth() * 1f / target.getClientWidth(); // Correct for canvas CSS scaling
    return Math.round(xScaleRatio * touch.getRelativeX(target));
}

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 w  w w.  j  a va2 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.imaginedreal.mgwt.trafficflow.client.activities.seattle.SeattleViewGwtImpl.java

License:Apache License

@Override
public void renderCameras(final List<CameraItem> cameraItems) {
    // canvas size in px
    final int width = 1121;
    final int height = 2585;

    // get the 2D rendering context
    context3 = cameraCanvas.getContext2d();

    // initialize the canvas
    cameraCanvas.setWidth(width + "px");
    cameraCanvas.setHeight(height + "px");
    cameraCanvas.setPixelSize(width, height);
    cameraCanvas.setCoordinateSpaceWidth(width);
    cameraCanvas.setCoordinateSpaceHeight(height);

    for (final CameraItem item : cameraItems) {
        final Image cameraImage = new Image(Resources.INSTANCE.camera());
        cameraImage.addLoadHandler(new LoadHandler() {

            @Override//from w ww  . j av a 2 s.  c  om
            public void onLoad(LoadEvent event) {
                ImageElement imageElement = cameraImage.getElement().cast();
                context3.drawImage(imageElement, Double.parseDouble(item.getX()),
                        Double.parseDouble(item.getY()));
            }
        });

        cameraImage.setVisible(false);
        container.add(cameraImage);
    }

    cameraCanvas.addMouseDownHandler(new MouseDownHandler() {
        @Override
        public void onMouseDown(MouseDownEvent event) {
            mouseX = event.getRelativeX(cameraCanvas.getElement());
            mouseY = event.getRelativeY(cameraCanvas.getElement());
            for (CameraItem item : cameraItems) {
                if (((mouseX >= Double.parseDouble(item.getX())
                        && (mouseX <= (Double.parseDouble(item.getX()) + Double.parseDouble(item.getWidth()))))
                        && ((mouseY >= Double.parseDouble(item.getY()))
                                && (mouseY <= (Double.parseDouble(item.getY())
                                        + Double.parseDouble(item.getHeight())))))) {
                    if (presenter != null) {
                        presenter.onCameraImagePressed(item);
                    }
                }
            }
        }
    });

    cameraCanvas.addTouchStartHandler(new TouchStartHandler() {
        @Override
        public void onTouchStart(TouchStartEvent event) {
            event.preventDefault();
            if (event.getTouches().length() > 0) {
                Touch touch = event.getTouches().get(0);
                mouseX = touch.getRelativeX(cameraCanvas.getElement());
                mouseY = touch.getRelativeY(cameraCanvas.getElement());
            }
        }
    });

    touchDelegate.addTapHandler(new TapHandler() {
        @Override
        public void onTap(TapEvent event) {
            for (CameraItem item : cameraItems) {
                if (((mouseX >= Double.parseDouble(item.getX())
                        && (mouseX <= (Double.parseDouble(item.getX()) + Double.parseDouble(item.getWidth()))))
                        && ((mouseY >= Double.parseDouble(item.getY()))
                                && (mouseY <= (Double.parseDouble(item.getY())
                                        + Double.parseDouble(item.getHeight())))))) {
                    if (presenter != null) {
                        presenter.onCameraImagePressed(item);
                    }
                }
            }
        }
    });

    if (Boolean.valueOf(localStorage.getItem("KEY_SHOW_CAMERAS"))) {
        showCameras();
    } else {
        hideCameras();
    }
}

From source file:com.lushprojects.circuitjs1.client.Scrollbar.java

License:Open Source License

public void onTouchMove(TouchMoveEvent e) {
    //       GWT.log("touchmove");
    e.preventDefault();//from  w w w .  j a v  a2s. co m
    Touch t = e.getTouches().get(0);
    doMouseMove(t.getRelativeX(getElement()));
}

From source file:com.lushprojects.circuitjs1.client.Scrollbar.java

License:Open Source License

public void onTouchStart(TouchStartEvent event) {
    //       GWT.log("touchstart");
    event.preventDefault();//from   w  ww .j a va 2s. co  m
    dragging = false;
    Touch t = event.getTouches().get(0);
    doMouseDown(t.getRelativeX(getElement()), false);
}

From source file:com.sencha.gxt.sample.graph.client.draw.GraphDnD.java

License:Apache License

protected void onTouchStart(TouchStartEvent event) {
    JsArray<Touch> touches = event.getChangedTouches();

    for (int i = 0; i < touches.length(); i++) {
        Touch t = touches.get(i);
        Point dragStartPosition = new Point(t.getRelativeX(graph.getElement()),
                t.getRelativeY(graph.getElement()));
        log.finer("Touch start: " + t.getIdentifier() + " @ " + dragStartPosition.toString());

        boolean start = onStartDrag("touch" + t.getIdentifier(), dragStartPosition.getX(),
                dragStartPosition.getY());

        if (!start) {
            //not actually dragging, give up on this one
            continue;
        }//from ww  w.ja  va 2  s. com
        this.touchDragStartPositions.put(t.getIdentifier(), dragStartPosition);

        //watch for next move or up
        touchHandler.add();
        event.preventDefault();

        //TODO fire an event about starting dragging
    }
}

From source file:edu.caltech.ipac.firefly.visualize.PVMouse.java

public void onTouchStart(TouchStartEvent ev) {
    //        if (ev.getTouches().length()>1) return;
    boolean exclusive = _exclusiveMouse.size() > 0;
    Touch t = ev.getTargetTouches().get(0);
    if (DEBUG) {/*  ww  w.  j a  va2  s  . c o  m*/
        GwtUtil.showDebugMsg("start, touches:" + ev.getTargetTouches().length() + " -  c: " + t.getClientX()
                + "," + t.getClientY() + " -  p: " + t.getPageX() + "," + t.getPageY() + " -  s: "
                + t.getScreenX() + "," + t.getScreenY() + " -  r: "
                + t.getRelativeX(_mouseMoveArea.getElement()) + ","
                + t.getRelativeY(_mouseMoveArea.getElement()) + " - pos: " + _mouseMoveArea.getAbsoluteLeft()
                + "," + _mouseMoveArea.getAbsoluteTop() + "," + " - scroll: "
                + _mouseMoveArea.getElement().getScrollLeft() + "," + _mouseMoveArea.getElement().getScrollTop()
                + "," + " - absScroll: " + _mouseMoveArea.getElement().getOwnerDocument().getScrollLeft() + ","
                + _mouseMoveArea.getElement().getOwnerDocument().getScrollTop());
    }
    ScreenPt spt = makeScreenPt(ev);
    if (!exclusive)
        addPreventEvent();
    _pv.enableFocus();
    if (!exclusive) {
        DOM.releaseCapture(_mouseMoveArea.getElement());
        DOM.setCapture(_mouseMoveArea.getElement());
    }
    boolean enabledOthers = true;
    if (exclusive) {
        WebPlotView.MouseInfo mi;
        int len = _exclusiveMouse.size();
        boolean enabledExclusive = true;
        for (int i = 1; ((len - i) >= 0 && enabledExclusive); i++) {
            mi = _exclusiveMouse.get(len - i);
            if (mi.isEnabled())
                mi.getHandler().onTouchStart(_pv, spt, ev);
            enabledExclusive = mi.getEnableAllExclusive();
            enabledOthers = mi.getEnableAllPersistent();
        }
    }
    if (enabledOthers) {
        for (WebPlotView.MouseInfo info : _persistentMouse) {
            if (info.isEnabled())
                info.getHandler().onTouchStart(_pv, spt, ev);
        }
    }
    _mouseDown = true;
    _pv.disableTextSelect(true);
    ev.preventDefault();
}

From source file:edu.caltech.ipac.firefly.visualize.PVMouse.java

public void onTouchMove(TouchMoveEvent ev) {
    //        if (ev.getTouches().length()>1) return;
    Touch t = ev.getTargetTouches().get(0);
    if (DEBUG) {/*from w w  w .j  av a2s. co  m*/
        GwtUtil.showDebugMsg("move, touches:" + ev.getTargetTouches().length() + " -  c: " + t.getClientX()
                + "," + t.getClientY() + " -  p: " + t.getPageX() + "," + t.getPageY() + " -  s: "
                + t.getScreenX() + "," + t.getScreenY() + " -  r: "
                + t.getRelativeX(_mouseMoveArea.getElement()) + ","
                + t.getRelativeY(_mouseMoveArea.getElement()) + " - pos: " + _mouseMoveArea.getAbsoluteLeft()
                + "," + _mouseMoveArea.getAbsoluteTop() + "," + " - scroll: "
                + _mouseMoveArea.getElement().getScrollLeft() + "," + _mouseMoveArea.getElement().getScrollTop()
                + "," + " - absScroll: " + _mouseMoveArea.getElement().getOwnerDocument().getScrollLeft() + ","
                + _mouseMoveArea.getElement().getOwnerDocument().getScrollTop());
    }
    ScreenPt spt = makeScreenPt(ev);
    boolean enabledOthers = true;
    if (_exclusiveMouse.size() > 0) {
        //              MouseInfo mi= _exclusiveMouse.peek();
        WebPlotView.MouseInfo mi;

        int len = _exclusiveMouse.size();
        boolean enabledExclusive = true;
        for (int i = 1; ((len - i) >= 0 && enabledExclusive); i++) {
            mi = _exclusiveMouse.get(len - i);
            if (mi.isEnabled())
                mi.getHandler().onTouchMove(_pv, spt, ev);
            enabledExclusive = mi.getEnableAllExclusive();
            enabledOthers = mi.getEnableAllPersistent();
        }

    }
    if (enabledOthers) {
        for (WebPlotView.MouseInfo info : _persistentMouse) {
            if (info.isEnabled())
                info.getHandler().onTouchMove(_pv, spt, ev);
        }
    }
    ev.preventDefault();
}