Removed the codepath that gets compiled if IPHONE_TOUCH_EFFICIENT_DANGEROUS is not defined. iOS-improvements
authorAlex Szpakowski <slime73@gmail.com>
Fri, 24 Oct 2014 04:06:45 -0300
branchiOS-improvements
changeset 9519 37ade10d4570
parent 9518 4bd15ffec1ad
child 9520 6a655264dd47
Removed the codepath that gets compiled if IPHONE_TOUCH_EFFICIENT_DANGEROUS is not defined. The "dangerous" codepath relies on the fact that UITouch objects are persistent for the entire touch sequence, which is always guaranteed by Apple.
src/video/uikit/SDL_uikitview.h
src/video/uikit/SDL_uikitview.m
--- a/src/video/uikit/SDL_uikitview.h	Fri Oct 24 03:56:34 2014 -0300
+++ b/src/video/uikit/SDL_uikitview.h	Fri Oct 24 04:06:45 2014 -0300
@@ -24,12 +24,6 @@
 
 #include "SDL_touch.h"
 
-#define IPHONE_TOUCH_EFFICIENT_DANGEROUS
-
-#ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS
-#define MAX_SIMULTANEOUS_TOUCHES 5
-#endif
-
 #if SDL_IPHONE_KEYBOARD
 @interface SDL_uikitview : UIView <UITextFieldDelegate>
 #else
--- a/src/video/uikit/SDL_uikitview.m	Fri Oct 24 03:56:34 2014 -0300
+++ b/src/video/uikit/SDL_uikitview.m	Fri Oct 24 04:06:45 2014 -0300
@@ -41,9 +41,6 @@
 
     SDL_TouchID touchId;
     UITouch *leftFingerDown;
-#ifndef IPHONE_TOUCH_EFFICIENT_DANGEROUS
-    UITouch *finger[MAX_SIMULTANEOUS_TOUCHES];
-#endif
 
 #if SDL_IPHONE_KEYBOARD
     UITextField *textField;
@@ -99,24 +96,8 @@
         }
 
         CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
-#ifdef IPHONE_TOUCH_EFFICIENT_DANGEROUS
-        /* FIXME: TODO: Using touch as the fingerId is potentially dangerous
-         * It is also much more efficient than storing the UITouch pointer
-         * and comparing it to the incoming event.
-         */
         SDL_SendTouch(touchId, (SDL_FingerID)((size_t)touch),
                       SDL_TRUE, locationInView.x, locationInView.y, 1.0f);
-#else
-        int i;
-        for(i = 0; i < MAX_SIMULTANEOUS_TOUCHES; i++) {
-            if (finger[i] == NULL) {
-                finger[i] = touch;
-                SDL_SendTouch(touchId, i,
-                              SDL_TRUE, locationInView.x, locationInView.y, 1.0f);
-                break;
-            }
-        }
-#endif
     }
 }
 
@@ -130,20 +111,8 @@
         }
 
         CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
-#ifdef IPHONE_TOUCH_EFFICIENT_DANGEROUS
         SDL_SendTouch(touchId, (SDL_FingerID)((size_t)touch),
                       SDL_FALSE, locationInView.x, locationInView.y, 1.0f);
-#else
-        int i;
-        for (i = 0; i < MAX_SIMULTANEOUS_TOUCHES; i++) {
-            if (finger[i] == touch) {
-                SDL_SendTouch(touchId, i,
-                              SDL_FALSE, locationInView.x, locationInView.y, 1.0f);
-                finger[i] = NULL;
-                break;
-            }
-        }
-#endif
     }
 }
 
@@ -168,19 +137,8 @@
         }
 
         CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
-#ifdef IPHONE_TOUCH_EFFICIENT_DANGEROUS
         SDL_SendTouchMotion(touchId, (SDL_FingerID)((size_t)touch),
                             locationInView.x, locationInView.y, 1.0f);
-#else
-        int i;
-        for (i = 0; i < MAX_SIMULTANEOUS_TOUCHES; i++) {
-            if (finger[i] == touch) {
-                SDL_SendTouchMotion(touchId, i,
-                                    locationInView.x, locationInView.y, 1.0f);
-                break;
-            }
-        }
-#endif
     }
 }