Search in sources :

Example 16 with PointerCoords

use of android.view.MotionEvent.PointerCoords in project android_frameworks_base by AOSPA.

the class DocumentHolderTest method createEvent.

public MotionEvent createEvent(int tooltype) {
    long time = SystemClock.uptimeMillis();
    PointerProperties[] properties = new PointerProperties[] { new PointerProperties() };
    properties[0].toolType = tooltype;
    PointerCoords[] coords = new PointerCoords[] { new PointerCoords() };
    Rect rect = new Rect();
    mHolder.itemView.getHitRect(rect);
    coords[0].x = rect.left;
    coords[0].y = rect.top;
    return MotionEvent.obtain(// down time
    time, // event time
    time, // action
    MotionEvent.ACTION_UP, // pointer count
    1, // pointer properties
    properties, // pointer coords
    coords, // metastate
    0, // button state
    0, // xprecision
    0, // yprecision
    0, // deviceid
    0, // edgeflags
    0, // source
    0, // flags
    0);
}
Also used : PointerCoords(android.view.MotionEvent.PointerCoords) Rect(android.graphics.Rect) PointerProperties(android.view.MotionEvent.PointerProperties)

Example 17 with PointerCoords

use of android.view.MotionEvent.PointerCoords in project android_frameworks_base by ResurrectionRemix.

the class DocumentHolderTest method createEvent.

public MotionEvent createEvent(int tooltype) {
    long time = SystemClock.uptimeMillis();
    PointerProperties[] properties = new PointerProperties[] { new PointerProperties() };
    properties[0].toolType = tooltype;
    PointerCoords[] coords = new PointerCoords[] { new PointerCoords() };
    Rect rect = new Rect();
    mHolder.itemView.getHitRect(rect);
    coords[0].x = rect.left;
    coords[0].y = rect.top;
    return MotionEvent.obtain(// down time
    time, // event time
    time, // action
    MotionEvent.ACTION_UP, // pointer count
    1, // pointer properties
    properties, // pointer coords
    coords, // metastate
    0, // button state
    0, // xprecision
    0, // yprecision
    0, // deviceid
    0, // edgeflags
    0, // source
    0, // flags
    0);
}
Also used : PointerCoords(android.view.MotionEvent.PointerCoords) Rect(android.graphics.Rect) PointerProperties(android.view.MotionEvent.PointerProperties)

Example 18 with PointerCoords

use of android.view.MotionEvent.PointerCoords in project android_frameworks_base by ResurrectionRemix.

the class MagnificationGestureHandler method getTempPointerCoordsWithMinSize.

private PointerCoords[] getTempPointerCoordsWithMinSize(int size) {
    final int oldSize = (mTempPointerCoords != null) ? mTempPointerCoords.length : 0;
    if (oldSize < size) {
        PointerCoords[] oldTempPointerCoords = mTempPointerCoords;
        mTempPointerCoords = new PointerCoords[size];
        if (oldTempPointerCoords != null) {
            System.arraycopy(oldTempPointerCoords, 0, mTempPointerCoords, 0, oldSize);
        }
    }
    for (int i = oldSize; i < size; i++) {
        mTempPointerCoords[i] = new PointerCoords();
    }
    return mTempPointerCoords;
}
Also used : PointerCoords(android.view.MotionEvent.PointerCoords)

Example 19 with PointerCoords

use of android.view.MotionEvent.PointerCoords in project android_frameworks_base by ResurrectionRemix.

the class TouchExplorer method offsetEvent.

/**
     * Offsets all pointers in the given event by adding the specified X and Y
     * offsets.
     *
     * @param event The event to offset.
     * @param offsetX The X offset.
     * @param offsetY The Y offset.
     * @return An event with the offset pointers or the original event if both
     *         offsets are zero.
     */
private MotionEvent offsetEvent(MotionEvent event, int offsetX, int offsetY) {
    if (offsetX == 0 && offsetY == 0) {
        return event;
    }
    final int remappedIndex = event.findPointerIndex(mLongPressingPointerId);
    final int pointerCount = event.getPointerCount();
    PointerProperties[] props = PointerProperties.createArray(pointerCount);
    PointerCoords[] coords = PointerCoords.createArray(pointerCount);
    for (int i = 0; i < pointerCount; i++) {
        event.getPointerProperties(i, props[i]);
        event.getPointerCoords(i, coords[i]);
        if (i == remappedIndex) {
            coords[i].x += offsetX;
            coords[i].y += offsetY;
        }
    }
    return MotionEvent.obtain(event.getDownTime(), event.getEventTime(), event.getAction(), event.getPointerCount(), props, coords, event.getMetaState(), event.getButtonState(), 1.0f, 1.0f, event.getDeviceId(), event.getEdgeFlags(), event.getSource(), event.getFlags());
}
Also used : PointerCoords(android.view.MotionEvent.PointerCoords) PointerProperties(android.view.MotionEvent.PointerProperties) Point(android.graphics.Point)

Example 20 with PointerCoords

use of android.view.MotionEvent.PointerCoords in project android_frameworks_base by ResurrectionRemix.

the class TouchExplorer method onDoubleTap.

@Override
public boolean onDoubleTap(MotionEvent event, int policyFlags) {
    // Ignore the event if we aren't touch exploring.
    if (mCurrentState != STATE_TOUCH_EXPLORING) {
        return false;
    }
    // Remove pending event deliveries.
    mSendHoverEnterAndMoveDelayed.cancel();
    mSendHoverExitDelayed.cancel();
    if (mSendTouchExplorationEndDelayed.isPending()) {
        mSendTouchExplorationEndDelayed.forceSendAndRemove();
    }
    if (mSendTouchInteractionEndDelayed.isPending()) {
        mSendTouchInteractionEndDelayed.forceSendAndRemove();
    }
    final int pointerIndex = event.getActionIndex();
    final int pointerId = event.getPointerId(pointerIndex);
    Point clickLocation = mTempPoint;
    final int result = computeClickLocation(clickLocation);
    if (result == CLICK_LOCATION_NONE) {
        // consumed.
        return true;
    }
    // Do the click.
    PointerProperties[] properties = new PointerProperties[1];
    properties[0] = new PointerProperties();
    event.getPointerProperties(pointerIndex, properties[0]);
    PointerCoords[] coords = new PointerCoords[1];
    coords[0] = new PointerCoords();
    coords[0].x = clickLocation.x;
    coords[0].y = clickLocation.y;
    MotionEvent click_event = MotionEvent.obtain(event.getDownTime(), event.getEventTime(), MotionEvent.ACTION_DOWN, 1, properties, coords, 0, 0, 1.0f, 1.0f, event.getDeviceId(), 0, event.getSource(), event.getFlags());
    final boolean targetAccessibilityFocus = (result == CLICK_LOCATION_ACCESSIBILITY_FOCUS);
    sendActionDownAndUp(click_event, policyFlags, targetAccessibilityFocus);
    click_event.recycle();
    return true;
}
Also used : PointerCoords(android.view.MotionEvent.PointerCoords) Point(android.graphics.Point) PointerProperties(android.view.MotionEvent.PointerProperties) Point(android.graphics.Point) MotionEvent(android.view.MotionEvent)

Aggregations

PointerCoords (android.view.MotionEvent.PointerCoords)46 PointerProperties (android.view.MotionEvent.PointerProperties)26 Point (android.graphics.Point)20 MotionEvent (android.view.MotionEvent)16 Paint (android.graphics.Paint)7 Rect (android.graphics.Rect)5 InputDevice (android.view.InputDevice)5 GesturePoint (android.gesture.GesturePoint)1