|
|
|
@ -25,10 +25,10 @@ import java.util.logging.Logger; |
|
|
|
|
* @author larynx |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
public class AndroidInput extends GLSurfaceView implements |
|
|
|
|
public class AndroidInput extends GLSurfaceView implements |
|
|
|
|
TouchInput, |
|
|
|
|
GestureDetector.OnGestureListener, |
|
|
|
|
GestureDetector.OnDoubleTapListener, |
|
|
|
|
GestureDetector.OnGestureListener, |
|
|
|
|
GestureDetector.OnDoubleTapListener, |
|
|
|
|
ScaleGestureDetector.OnScaleGestureListener { |
|
|
|
|
|
|
|
|
|
final private static int MAX_EVENTS = 1024; |
|
|
|
@ -232,7 +232,6 @@ public class AndroidInput extends GLSurfaceView implements |
|
|
|
|
|
|
|
|
|
// final int historySize = event.getHistorySize();
|
|
|
|
|
//final int pointerCount = event.getPointerCount();
|
|
|
|
|
|
|
|
|
|
switch (action) { |
|
|
|
|
case MotionEvent.ACTION_POINTER_DOWN: |
|
|
|
|
case MotionEvent.ACTION_DOWN: |
|
|
|
@ -260,18 +259,18 @@ public class AndroidInput extends GLSurfaceView implements |
|
|
|
|
case MotionEvent.ACTION_MOVE: |
|
|
|
|
// Convert all pointers into events
|
|
|
|
|
for (int p = 0; p < event.getPointerCount(); p++) { |
|
|
|
|
Vector2f lastPos = lastPositions.get(pointerIndex); |
|
|
|
|
Vector2f lastPos = lastPositions.get(p); |
|
|
|
|
if (lastPos == null) { |
|
|
|
|
lastPos = new Vector2f(event.getX(pointerIndex), this.getHeight() - event.getY(pointerIndex)); |
|
|
|
|
lastPositions.put(pointerId, lastPos); |
|
|
|
|
lastPos = new Vector2f(event.getX(p), this.getHeight() - event.getY(p)); |
|
|
|
|
lastPositions.put(event.getPointerId(p), lastPos); |
|
|
|
|
} |
|
|
|
|
touch = getNextFreeTouchEvent(); |
|
|
|
|
touch.set(Type.MOVE, event.getX(pointerIndex), this.getHeight() - event.getY(pointerIndex), event.getX(pointerIndex) - lastPos.x, this.getHeight() - event.getY(pointerIndex) - lastPos.y); |
|
|
|
|
touch.setPointerId(pointerId); |
|
|
|
|
touch.set(Type.MOVE, event.getX(p), this.getHeight() - event.getY(p), event.getX(p) - lastPos.x, this.getHeight() - event.getY(p) - lastPos.y); |
|
|
|
|
touch.setPointerId(event.getPointerId(p)); |
|
|
|
|
touch.setTime(event.getEventTime()); |
|
|
|
|
touch.setPressure(event.getPressure(pointerIndex)); |
|
|
|
|
touch.setPressure(event.getPressure(p)); |
|
|
|
|
processEvent(touch); |
|
|
|
|
lastPos.set(event.getX(pointerIndex), this.getHeight() - event.getY(pointerIndex)); |
|
|
|
|
lastPos.set(event.getX(p), this.getHeight() - event.getY(p)); |
|
|
|
|
} |
|
|
|
|
bWasHandled = true; |
|
|
|
|
break; |
|
|
|
@ -326,7 +325,7 @@ public class AndroidInput extends GLSurfaceView implements |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void loadSettings(AppSettings settings) { |
|
|
|
|
mouseEventsEnabled = settings.isEmulateMouse(); |
|
|
|
|
mouseEventsInvertX = settings.isEmulateMouseFlipX(); |
|
|
|
|