Improved gestures system
This commit is contained in:
parent
2e5d898443
commit
17eefed08f
5 changed files with 12 additions and 14 deletions
|
@ -43,12 +43,11 @@ int main()
|
||||||
// Update
|
// Update
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
lastGesture = currentGesture;
|
lastGesture = currentGesture;
|
||||||
|
currentGesture = GetGestureDetected();
|
||||||
touchPosition = GetTouchPosition(0);
|
touchPosition = GetTouchPosition(0);
|
||||||
|
|
||||||
if (CheckCollisionPointRec(touchPosition, touchArea) && IsGestureDetected())
|
if (CheckCollisionPointRec(touchPosition, touchArea) && (currentGesture != GESTURE_NONE))
|
||||||
{
|
{
|
||||||
currentGesture = GetGestureType();
|
|
||||||
|
|
||||||
if (currentGesture != lastGesture)
|
if (currentGesture != lastGesture)
|
||||||
{
|
{
|
||||||
// Store gesture string
|
// Store gesture string
|
||||||
|
@ -78,7 +77,6 @@ int main()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else currentGesture = GESTURE_NONE;
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
|
|
|
@ -1193,7 +1193,7 @@ bool IsMouseButtonPressed(int button)
|
||||||
bool pressed = false;
|
bool pressed = false;
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
if (IsGestureDetected() && (GetGestureType() == GESTURE_TAP)) pressed = true;
|
if (IsGestureDetected(GESTURE_TAP)) pressed = true;
|
||||||
#else
|
#else
|
||||||
if ((currentMouseState[button] != previousMouseState[button]) && (currentMouseState[button] == 1)) pressed = true;
|
if ((currentMouseState[button] != previousMouseState[button]) && (currentMouseState[button] == 1)) pressed = true;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1207,7 +1207,7 @@ bool IsMouseButtonDown(int button)
|
||||||
bool down = false;
|
bool down = false;
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
if (IsGestureDetected() && (GetGestureType() == GESTURE_HOLD)) down = true;
|
if (IsGestureDetected(GESTURE_HOLD)) down = true;
|
||||||
#else
|
#else
|
||||||
if (GetMouseButtonStatus(button) == 1) down = true;
|
if (GetMouseButtonStatus(button) == 1) down = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -292,14 +292,14 @@ void UpdateGestures(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if a gesture have been detected
|
// Check if a gesture have been detected
|
||||||
bool IsGestureDetected(void)
|
bool IsGestureDetected(int gesture)
|
||||||
{
|
{
|
||||||
if ((enabledGestures & currentGesture) != GESTURE_NONE) return true;
|
if ((enabledGestures & currentGesture) == gesture) return true;
|
||||||
else return false;
|
else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check gesture type
|
// Check gesture type
|
||||||
int GetGestureType(void)
|
int GetGestureDetected(void)
|
||||||
{
|
{
|
||||||
// Get current gesture only if enabled
|
// Get current gesture only if enabled
|
||||||
return (enabledGestures & currentGesture);
|
return (enabledGestures & currentGesture);
|
||||||
|
|
|
@ -92,8 +92,8 @@ extern "C" { // Prevents name mangling of functions
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures
|
void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures
|
||||||
void UpdateGestures(void); // Update gestures detected (must be called every frame)
|
void UpdateGestures(void); // Update gestures detected (must be called every frame)
|
||||||
bool IsGestureDetected(void); // Check if a gesture have been detected
|
bool IsGestureDetected(int gesture); // Check if a gesture have been detected
|
||||||
int GetGestureType(void); // Get latest detected gesture
|
int GetGestureDetected(void); // Get latest detected gesture
|
||||||
void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags
|
void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags
|
||||||
int GetTouchPointsCount(void); // Get touch points count
|
int GetTouchPointsCount(void); // Get touch points count
|
||||||
|
|
||||||
|
|
|
@ -647,8 +647,8 @@ bool IsButtonReleased(int button); // Detect if an android
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures
|
void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures
|
||||||
void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents())
|
void UpdateGestures(void); // Update gestures detected (called automatically in PollInputEvents())
|
||||||
bool IsGestureDetected(void); // Check if a gesture have been detected
|
bool IsGestureDetected(int gesture); // Check if a gesture have been detected
|
||||||
int GetGestureType(void); // Get latest detected gesture
|
int GetGestureDetected(void); // Get latest detected gesture
|
||||||
void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags
|
void SetGesturesEnabled(unsigned int gestureFlags); // Enable a set of gestures using flags
|
||||||
int GetTouchPointsCount(void); // Get touch points count
|
int GetTouchPointsCount(void); // Get touch points count
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue