Formatted AndroidInput.java so it doesn't look like a C++ file...

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8991 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
rem..om 13 years ago
parent 66118fe55d
commit 5454675cda
  1. 265
      engine/src/android/com/jme3/input/android/AndroidInput.java

@ -19,44 +19,34 @@ import com.jme3.util.RingBuffer;
import java.util.HashMap; import java.util.HashMap;
import java.util.logging.Logger; import java.util.logging.Logger;
/** /**
* <code>AndroidInput</code> is one of the main components that connect jme with android. Is derived from GLSurfaceView and handles all Inputs * <code>AndroidInput</code> is one of the main components that connect jme with android. Is derived from GLSurfaceView and handles all Inputs
* @author larynx * @author larynx
* *
*/ */
public class AndroidInput extends GLSurfaceView implements TouchInput, public class AndroidInput extends GLSurfaceView implements TouchInput,
GestureDetector.OnGestureListener, ScaleGestureDetector.OnScaleGestureListener GestureDetector.OnGestureListener, ScaleGestureDetector.OnScaleGestureListener {
{
final private static int MAX_EVENTS = 1024;
final private static int MAX_EVENTS = 1024;
// Custom settings // Custom settings
public boolean mouseEventsEnabled = true; public boolean mouseEventsEnabled = true;
public boolean mouseEventsInvertX = false; public boolean mouseEventsInvertX = false;
public boolean mouseEventsInvertY = false; public boolean mouseEventsInvertY = false;
public boolean keyboardEventsEnabled = false; public boolean keyboardEventsEnabled = false;
public boolean dontSendHistory = false; public boolean dontSendHistory = false;
// Used to transfer events from android thread to GLThread // Used to transfer events from android thread to GLThread
final private RingBuffer<TouchEvent> eventQueue = new RingBuffer<TouchEvent>(MAX_EVENTS); final private RingBuffer<TouchEvent> eventQueue = new RingBuffer<TouchEvent>(MAX_EVENTS);
final private RingBuffer<TouchEvent> eventPoolUnConsumed = new RingBuffer<TouchEvent>(MAX_EVENTS); final private RingBuffer<TouchEvent> eventPoolUnConsumed = new RingBuffer<TouchEvent>(MAX_EVENTS);
final private RingBuffer<TouchEvent> eventPool = new RingBuffer<TouchEvent>(MAX_EVENTS); final private RingBuffer<TouchEvent> eventPool = new RingBuffer<TouchEvent>(MAX_EVENTS);
final private HashMap<Integer, Vector2f> lastPositions = new HashMap<Integer, Vector2f>(); final private HashMap<Integer, Vector2f> lastPositions = new HashMap<Integer, Vector2f>();
// Internal // Internal
private ScaleGestureDetector scaledetector; private ScaleGestureDetector scaledetector;
private GestureDetector detector; private GestureDetector detector;
private int lastX; private int lastX;
private int lastY; private int lastY;
private final static Logger logger = Logger.getLogger(AndroidInput.class.getName()); private final static Logger logger = Logger.getLogger(AndroidInput.class.getName());
private boolean isInitialized = false; private boolean isInitialized = false;
private RawInputListener listener = null; private RawInputListener listener = null;
private static final int[] ANDROID_TO_JME = { private static final int[] ANDROID_TO_JME = {
0x0, // unknown 0x0, // unknown
0x0, // key code soft left 0x0, // key code soft left
@ -115,13 +105,10 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
KeyInput.KEY_Z, KeyInput.KEY_Z,
KeyInput.KEY_COMMA, KeyInput.KEY_COMMA,
KeyInput.KEY_PERIOD, KeyInput.KEY_PERIOD,
KeyInput.KEY_LMENU, KeyInput.KEY_LMENU,
KeyInput.KEY_RMENU, KeyInput.KEY_RMENU,
KeyInput.KEY_LSHIFT, KeyInput.KEY_LSHIFT,
KeyInput.KEY_RSHIFT, KeyInput.KEY_RSHIFT,
// 0x0, // fn // 0x0, // fn
// 0x0, // cap (?) // 0x0, // cap (?)
@ -135,10 +122,8 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
KeyInput.KEY_GRAVE, KeyInput.KEY_GRAVE,
KeyInput.KEY_MINUS, KeyInput.KEY_MINUS,
KeyInput.KEY_EQUALS, KeyInput.KEY_EQUALS,
KeyInput.KEY_LBRACKET, KeyInput.KEY_LBRACKET,
KeyInput.KEY_RBRACKET, KeyInput.KEY_RBRACKET,
KeyInput.KEY_BACKSLASH, KeyInput.KEY_BACKSLASH,
KeyInput.KEY_SEMICOLON, KeyInput.KEY_SEMICOLON,
KeyInput.KEY_APOSTROPHE, KeyInput.KEY_APOSTROPHE,
@ -160,22 +145,20 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
0x0,//mute 0x0,//mute
}; };
public AndroidInput(Context ctx, AttributeSet attribs) public AndroidInput(Context ctx, AttributeSet attribs) {
{
super(ctx, attribs); super(ctx, attribs);
detector = new GestureDetector(this); detector = new GestureDetector(this);
scaledetector = new ScaleGestureDetector(ctx, this); scaledetector = new ScaleGestureDetector(ctx, this);
} }
public AndroidInput(Context ctx) public AndroidInput(Context ctx) {
{
super(ctx); super(ctx);
detector = new GestureDetector(this); detector = new GestureDetector(this);
scaledetector = new ScaleGestureDetector(ctx, this); scaledetector = new ScaleGestureDetector(ctx, this);
} }
private TouchEvent getNextFreeTouchEvent() private TouchEvent getNextFreeTouchEvent() {
{
return getNextFreeTouchEvent(false); return getNextFreeTouchEvent(false);
} }
@ -184,22 +167,16 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
* @param wait if true waits for a reusable event to get available/released by an other thread, if false returns a new one if needed * @param wait if true waits for a reusable event to get available/released by an other thread, if false returns a new one if needed
* @return a usable TouchEvent * @return a usable TouchEvent
*/ */
private TouchEvent getNextFreeTouchEvent(boolean wait) private TouchEvent getNextFreeTouchEvent(boolean wait) {
{
TouchEvent evt = null; TouchEvent evt = null;
synchronized(eventPoolUnConsumed) synchronized (eventPoolUnConsumed) {
{
int size = eventPoolUnConsumed.size(); int size = eventPoolUnConsumed.size();
while (size > 0) while (size > 0) {
{
evt = eventPoolUnConsumed.pop(); evt = eventPoolUnConsumed.pop();
if (!evt.isConsumed()) if (!evt.isConsumed()) {
{
eventPoolUnConsumed.push(evt); eventPoolUnConsumed.push(evt);
evt = null; evt = null;
} } else {
else
{
break; break;
} }
size--; size--;
@ -207,35 +184,27 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
if (evt == null) if (evt == null) {
{ if (eventPool.isEmpty() && wait) {
if (eventPool.isEmpty() && wait)
{
logger.warning("eventPool buffer underrun"); logger.warning("eventPool buffer underrun");
boolean isEmpty; boolean isEmpty;
do do {
{ synchronized (eventPool) {
synchronized(eventPool)
{
isEmpty = eventPool.isEmpty(); isEmpty = eventPool.isEmpty();
} }
try { Thread.sleep(50); } catch (InterruptedException e) { } try {
Thread.sleep(50);
} catch (InterruptedException e) {
} }
while (isEmpty); } while (isEmpty);
synchronized(eventPool) synchronized (eventPool) {
{
evt = eventPool.pop(); evt = eventPool.pop();
} }
} } else if (eventPool.isEmpty()) {
else if (eventPool.isEmpty())
{
evt = new TouchEvent(); evt = new TouchEvent();
logger.warning("eventPool buffer underrun"); logger.warning("eventPool buffer underrun");
} } else {
else synchronized (eventPool) {
{
synchronized(eventPool)
{
evt = eventPool.pop(); evt = eventPool.pop();
} }
} }
@ -247,8 +216,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
* onTouchEvent gets called from android thread on touchpad events * onTouchEvent gets called from android thread on touchpad events
*/ */
@Override @Override
public boolean onTouchEvent(MotionEvent event) public boolean onTouchEvent(MotionEvent event) {
{
boolean bWasHandled = false; boolean bWasHandled = false;
TouchEvent touch; TouchEvent touch;
@ -259,18 +227,14 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
final int historySize = event.getHistorySize(); final int historySize = event.getHistorySize();
final int pointerCount = event.getPointerCount(); final int pointerCount = event.getPointerCount();
switch (event.getAction()) switch (event.getAction()) {
{
case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_DOWN:
if (!dontSendHistory) if (!dontSendHistory) {
{
// Process history // Process history
for (int h = 0; h < historySize; h++) for (int h = 0; h < historySize; h++) {
{
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < pointerCount; p++) for (int p = 0; p < pointerCount; p++) {
{
touch = getNextFreeTouchEvent(); touch = getNextFreeTouchEvent();
touch.set(Type.DOWN, event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h), 0, 0); touch.set(Type.DOWN, event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h), 0, 0);
touch.setPointerId(event.getPointerId(p)); touch.setPointerId(event.getPointerId(p));
@ -282,8 +246,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
} }
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < pointerCount; p++) for (int p = 0; p < pointerCount; p++) {
{
touch = getNextFreeTouchEvent(); touch = getNextFreeTouchEvent();
touch.set(Type.DOWN, event.getX(p), this.getHeight() - event.getY(p), 0, 0); touch.set(Type.DOWN, event.getX(p), this.getHeight() - event.getY(p), 0, 0);
touch.setPointerId(event.getPointerId(p)); touch.setPointerId(event.getPointerId(p));
@ -297,14 +260,11 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
case MotionEvent.ACTION_UP: case MotionEvent.ACTION_UP:
if (!dontSendHistory) if (!dontSendHistory) {
{
// Process history // Process history
for (int h = 0; h < historySize; h++) for (int h = 0; h < historySize; h++) {
{
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < pointerCount; p++) for (int p = 0; p < pointerCount; p++) {
{
touch = getNextFreeTouchEvent(); touch = getNextFreeTouchEvent();
touch.set(Type.UP, event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h), 0, 0); touch.set(Type.UP, event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h), 0, 0);
touch.setPointerId(event.getPointerId(p)); touch.setPointerId(event.getPointerId(p));
@ -317,8 +277,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < pointerCount; p++) for (int p = 0; p < pointerCount; p++) {
{
touch = getNextFreeTouchEvent(); touch = getNextFreeTouchEvent();
touch.set(Type.UP, event.getX(p), this.getHeight() - event.getY(p), 0, 0); touch.set(Type.UP, event.getX(p), this.getHeight() - event.getY(p), 0, 0);
touch.setPointerId(event.getPointerId(p)); touch.setPointerId(event.getPointerId(p));
@ -331,17 +290,13 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
break; break;
case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_MOVE:
if (!dontSendHistory) if (!dontSendHistory) {
{
// Process history // Process history
for (int h = 0; h < historySize; h++) for (int h = 0; h < historySize; h++) {
{
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < pointerCount; p++) for (int p = 0; p < pointerCount; p++) {
{
Vector2f lastPos = lastPositions.get(event.getPointerId(p)); Vector2f lastPos = lastPositions.get(event.getPointerId(p));
if (lastPos == null) if (lastPos == null) {
{
lastPos = new Vector2f(event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h)); lastPos = new Vector2f(event.getHistoricalX(p, h), this.getHeight() - event.getHistoricalY(p, h));
lastPositions.put(event.getPointerId(p), lastPos); lastPositions.put(event.getPointerId(p), lastPos);
} }
@ -360,11 +315,9 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
// Convert all pointers into events // Convert all pointers into events
for (int p = 0; p < event.getPointerCount(); p++) for (int p = 0; p < event.getPointerCount(); p++) {
{
Vector2f lastPos = lastPositions.get(event.getPointerId(p)); Vector2f lastPos = lastPositions.get(event.getPointerId(p));
if (lastPos == null) if (lastPos == null) {
{
lastPos = new Vector2f(event.getX(p), this.getHeight() - event.getY(p)); lastPos = new Vector2f(event.getX(p), this.getHeight() - event.getY(p));
lastPositions.put(event.getPointerId(p), lastPos); lastPositions.put(event.getPointerId(p), lastPos);
} }
@ -396,8 +349,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
@Override @Override
public boolean onKeyDown (int keyCode, KeyEvent event) public boolean onKeyDown(int keyCode, KeyEvent event) {
{
TouchEvent evt; TouchEvent evt;
evt = getNextFreeTouchEvent(); evt = getNextFreeTouchEvent();
evt.set(TouchEvent.Type.KEY_DOWN); evt.set(TouchEvent.Type.KEY_DOWN);
@ -409,16 +361,16 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
processEvent(evt); processEvent(evt);
// Handle all keys ourself except Volume Up/Down // Handle all keys ourself except Volume Up/Down
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
return false; return false;
else } else {
return true; return true;
}
} }
@Override @Override
public boolean onKeyUp (int keyCode, KeyEvent event) public boolean onKeyUp(int keyCode, KeyEvent event) {
{
TouchEvent evt; TouchEvent evt;
evt = getNextFreeTouchEvent(); evt = getNextFreeTouchEvent();
evt.set(TouchEvent.Type.KEY_UP); evt.set(TouchEvent.Type.KEY_UP);
@ -430,21 +382,19 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
processEvent(evt); processEvent(evt);
// Handle all keys ourself except Volume Up/Down // Handle all keys ourself except Volume Up/Down
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
return false; return false;
else } else {
return true; return true;
} }
}
// ----------------------------------------- // -----------------------------------------
// JME3 Input interface // JME3 Input interface
@Override @Override
public void initialize() public void initialize() {
{
TouchEvent item; TouchEvent item;
for (int i = 0; i < MAX_EVENTS; i++) for (int i = 0; i < MAX_EVENTS; i++) {
{
item = new TouchEvent(); item = new TouchEvent();
eventPool.push(item); eventPool.push(item);
} }
@ -452,88 +402,74 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
@Override @Override
public void destroy() public void destroy() {
{
isInitialized = false; isInitialized = false;
// Clean up queues // Clean up queues
while (! eventPool.isEmpty()) while (!eventPool.isEmpty()) {
{
eventPool.pop(); eventPool.pop();
} }
while (! eventQueue.isEmpty()) while (!eventQueue.isEmpty()) {
{
eventQueue.pop(); eventQueue.pop();
} }
} }
@Override @Override
public boolean isInitialized() public boolean isInitialized() {
{
return isInitialized; return isInitialized;
} }
@Override @Override
public void setInputListener(RawInputListener listener) public void setInputListener(RawInputListener listener) {
{
this.listener = listener; this.listener = listener;
} }
@Override @Override
public long getInputTimeNanos() public long getInputTimeNanos() {
{
return System.nanoTime(); return System.nanoTime();
} }
// ----------------------------------------- // -----------------------------------------
private void processEvent(TouchEvent event) private void processEvent(TouchEvent event) {
{ synchronized (eventQueue) {
synchronized (eventQueue)
{
eventQueue.push(event); eventQueue.push(event);
} }
} }
// --------------- INSIDE GLThread --------------- // --------------- INSIDE GLThread ---------------
@Override @Override
public void update() public void update() {
{
generateEvents(); generateEvents();
} }
private void generateEvents() private void generateEvents() {
{ if (listener != null) {
if (listener != null)
{
TouchEvent event; TouchEvent event;
MouseButtonEvent btn; MouseButtonEvent btn;
int newX; int newX;
int newY; int newY;
while (!eventQueue.isEmpty()) while (!eventQueue.isEmpty()) {
{ synchronized (eventQueue) {
synchronized (eventQueue)
{
event = eventQueue.pop(); event = eventQueue.pop();
} }
if (event != null) if (event != null) {
{
listener.onTouchEvent(event); listener.onTouchEvent(event);
if (mouseEventsEnabled) if (mouseEventsEnabled) {
{ if (mouseEventsInvertX) {
if (mouseEventsInvertX)
newX = this.getWidth() - (int) event.getX(); newX = this.getWidth() - (int) event.getX();
else } else {
newX = (int) event.getX(); newX = (int) event.getX();
}
if (mouseEventsInvertY) if (mouseEventsInvertY) {
newY = this.getHeight() - (int) event.getY(); newY = this.getHeight() - (int) event.getY();
else } else {
newY = (int) event.getY(); newY = (int) event.getY();
}
switch (event.getType()) switch (event.getType()) {
{
case DOWN: case DOWN:
// Handle mouse down event // Handle mouse down event
btn = new MouseButtonEvent(0, true, newX, newY); btn = new MouseButtonEvent(0, true, newX, newY);
@ -576,18 +512,13 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
} }
if (event.isConsumed() == false) if (event.isConsumed() == false) {
{ synchronized (eventPoolUnConsumed) {
synchronized (eventPoolUnConsumed)
{
eventPoolUnConsumed.push(event); eventPoolUnConsumed.push(event);
} }
} } else {
else synchronized (eventPool) {
{
synchronized (eventPool)
{
eventPool.push(event); eventPool.push(event);
} }
} }
@ -598,14 +529,11 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
// --------------- ENDOF INSIDE GLThread --------------- // --------------- ENDOF INSIDE GLThread ---------------
// --------------- Gesture detected callback events --------------- // --------------- Gesture detected callback events ---------------
public boolean onDown(MotionEvent event) {
public boolean onDown(MotionEvent event)
{
return false; return false;
} }
public void onLongPress(MotionEvent event) public void onLongPress(MotionEvent event) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.LONGPRESSED, event.getX(), this.getHeight() - event.getY(), 0f, 0f); touch.set(Type.LONGPRESSED, event.getX(), this.getHeight() - event.getY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -613,8 +541,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
processEvent(touch); processEvent(touch);
} }
public boolean onFling(MotionEvent event, MotionEvent event2, float vx, float vy) public boolean onFling(MotionEvent event, MotionEvent event2, float vx, float vy) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.FLING, event.getX(), this.getHeight() - event.getY(), vx, vy); touch.set(Type.FLING, event.getX(), this.getHeight() - event.getY(), vx, vy);
touch.setPointerId(0); touch.setPointerId(0);
@ -624,8 +551,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return true; return true;
} }
public boolean onSingleTapConfirmed(MotionEvent event) public boolean onSingleTapConfirmed(MotionEvent event) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.TAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f); touch.set(Type.TAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -635,8 +561,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return true; return true;
} }
public boolean onDoubleTap(MotionEvent event) public boolean onDoubleTap(MotionEvent event) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.DOUBLETAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f); touch.set(Type.DOUBLETAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -645,8 +570,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return true; return true;
} }
public boolean onScaleBegin(ScaleGestureDetector scaleGestureDetector) public boolean onScaleBegin(ScaleGestureDetector scaleGestureDetector) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.SCALE_START, scaleGestureDetector.getFocusX(), scaleGestureDetector.getFocusY(), 0f, 0f); touch.set(Type.SCALE_START, scaleGestureDetector.getFocusX(), scaleGestureDetector.getFocusY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -658,8 +582,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return true; return true;
} }
public boolean onScale(ScaleGestureDetector scaleGestureDetector) public boolean onScale(ScaleGestureDetector scaleGestureDetector) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.SCALE_MOVE, scaleGestureDetector.getFocusX(), this.getHeight() - scaleGestureDetector.getFocusY(), 0f, 0f); touch.set(Type.SCALE_MOVE, scaleGestureDetector.getFocusX(), this.getHeight() - scaleGestureDetector.getFocusY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -671,8 +594,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return false; return false;
} }
public void onScaleEnd(ScaleGestureDetector scaleGestureDetector) public void onScaleEnd(ScaleGestureDetector scaleGestureDetector) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.SCALE_END, scaleGestureDetector.getFocusX(), this.getHeight() - scaleGestureDetector.getFocusY(), 0f, 0f); touch.set(Type.SCALE_END, scaleGestureDetector.getFocusX(), this.getHeight() - scaleGestureDetector.getFocusY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -682,8 +604,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
processEvent(touch); processEvent(touch);
} }
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.SCROLL, e1.getX(), this.getHeight() - e1.getY(), distanceX, distanceY * (-1)); touch.set(Type.SCROLL, e1.getX(), this.getHeight() - e1.getY(), distanceX, distanceY * (-1));
touch.setPointerId(0); touch.setPointerId(0);
@ -692,8 +613,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
return false; return false;
} }
public void onShowPress(MotionEvent event) public void onShowPress(MotionEvent event) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.SHOWPRESS, event.getX(), this.getHeight() - event.getY(), 0f, 0f); touch.set(Type.SHOWPRESS, event.getX(), this.getHeight() - event.getY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -701,8 +621,7 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
processEvent(touch); processEvent(touch);
} }
public boolean onSingleTapUp(MotionEvent event) public boolean onSingleTapUp(MotionEvent event) {
{
TouchEvent touch = getNextFreeTouchEvent(); TouchEvent touch = getNextFreeTouchEvent();
touch.set(Type.TAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f); touch.set(Type.TAP, event.getX(), this.getHeight() - event.getY(), 0f, 0f);
touch.setPointerId(0); touch.setPointerId(0);
@ -712,18 +631,17 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
} }
@Override @Override
public void setSimulateMouse(boolean simulate) public void setSimulateMouse(boolean simulate) {
{
mouseEventsEnabled = simulate; mouseEventsEnabled = simulate;
} }
@Override @Override
public void setSimulateKeyboard(boolean simulate) public void setSimulateKeyboard(boolean simulate) {
{
keyboardEventsEnabled = simulate; keyboardEventsEnabled = simulate;
} }
@Override @Override
public void setOmitHistoricEvents(boolean dontSendHistory) public void setOmitHistoricEvents(boolean dontSendHistory) {
{
this.dontSendHistory = dontSendHistory; this.dontSendHistory = dontSendHistory;
} }
@ -751,5 +669,4 @@ public class AndroidInput extends GLSurfaceView implements TouchInput,
public void setMouseEventsInvertX(boolean mouseEventsInvertX) { public void setMouseEventsInvertX(boolean mouseEventsInvertX) {
this.mouseEventsInvertX = mouseEventsInvertX; this.mouseEventsInvertX = mouseEventsInvertX;
} }
} }

Loading…
Cancel
Save