Corrected gesture tap issue and text scaling issue

This commit is contained in:
Marc Palau 2015-06-03 17:04:17 +02:00
parent fca60cb597
commit 4c6c182023
2 changed files with 17 additions and 20 deletions

View file

@ -175,8 +175,8 @@ bool IsGestureDetected(void)
else if (currentGesture == GESTURE_PINCH_IN) TraceLog(INFO, "PINCH IN"); else if (currentGesture == GESTURE_PINCH_IN) TraceLog(INFO, "PINCH IN");
else if (currentGesture == GESTURE_PINCH_OUT) TraceLog(INFO, "PINCH OUT"); else if (currentGesture == GESTURE_PINCH_OUT) TraceLog(INFO, "PINCH OUT");
if (currentGesture != GESTURE_NONE) return false; if (currentGesture != GESTURE_NONE) return true;
else return true; else return false;
} }
// Check gesture type // Check gesture type
@ -225,7 +225,8 @@ float GetPinchAngle(void)
extern void ResetGestures(void) extern void ResetGestures(void)
{ {
if (currentGesture != GESTURE_HOLD) currentGesture = GESTURE_NONE; if (currentGesture == GESTURE_TAP) currentGesture = GESTURE_HOLD;
else if (currentGesture != GESTURE_HOLD) currentGesture = GESTURE_NONE;
} }
#if defined(PLATFORM_WEB) #if defined(PLATFORM_WEB)
@ -287,31 +288,24 @@ extern void ProcessMotionEvent(GestureEvent event)
eventTime = GetCurrentTime(); eventTime = GetCurrentTime();
// Set hold // Set hold
currentGesture = GESTURE_HOLD; if (doubleTapping) currentGesture = GESTURE_DOUBLETAP;
else currentGesture = GESTURE_TAP;
} }
} }
else if (event.action == UP) else if (event.action == UP)
{ {
currentGesture = GESTURE_NONE;
// Detect that we are tapping instead of holding // Detect that we are tapping instead of holding
if (GetCurrentTime() - eventTime < TAP_TIMEOUT) if (GetCurrentTime() - eventTime < TAP_TIMEOUT)
{ {
if (doubleTapping) if (doubleTapping) untap = false;
{ else untap = true;
// If we tapped before we define it as double tap
currentGesture = GESTURE_DOUBLETAP;
untap = false;
} }
else
{
// Simple tap
currentGesture = GESTURE_TAP;
untap = true;
}
}
else currentGesture = GESTURE_NONE;
// Tap finished // Tap finished
doubleTapping = false; doubleTapping = false;
// Update our event time // Update our event time
eventTime = GetCurrentTime(); eventTime = GetCurrentTime();
} }
@ -556,7 +550,7 @@ static double GetCurrentTime()
} }
#if defined(PLATFORM_ANDROID) #if defined(PLATFORM_ANDROID)
// Android: Process activity input events // Android: Get input events
static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event) static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event)
{ {
int type = AInputEvent_getType(event); int type = AInputEvent_getType(event);
@ -596,6 +590,7 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event)
#endif #endif
#if defined(PLATFORM_WEB) #if defined(PLATFORM_WEB)
// Web: Get input events
static EM_BOOL EmscriptenInputCallback(int eventType, const EmscriptenTouchEvent *touchEvent, void *userData) static EM_BOOL EmscriptenInputCallback(int eventType, const EmscriptenTouchEvent *touchEvent, void *userData)
{ {
/* /*

View file

@ -295,8 +295,10 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, int f
Character c; Character c;
if (fontSize <= spriteFont.charSet[0].h) scaleFactor = 1.0f; //if (fontSize <= spriteFont.charSet[0].h) scaleFactor = 1.0f;
else scaleFactor = (float)fontSize / spriteFont.charSet[0].h; //else scaleFactor = (float)fontSize / spriteFont.charSet[0].h;
scaleFactor = (float)fontSize/spriteFont.charSet[0].h;
for(int i = 0; i < length; i++) for(int i = 0; i < length; i++)
{ {