Skip to content
Permalink
Browse files

Bug 4576: remove touch/mouse duplication for IOS

  • Loading branch information
1bsyl committed Apr 2, 2019
1 parent 42de5f9 commit 9d28156f12b66929162586a2e4f0406d648fdb27
Showing with 2 additions and 27 deletions.
  1. +2 −27 src/video/uikit/SDL_uikitview.m
@@ -41,8 +41,6 @@ @implementation SDL_uikitview {

SDL_TouchID directTouchId;
SDL_TouchID indirectTouchId;

UITouch * __weak firstFingerDown;
}

- (instancetype)initWithFrame:(CGRect)frame
@@ -218,18 +216,7 @@ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
continue;
}

if (!firstFingerDown) {
CGPoint locationInView = [self touchLocation:touch shouldNormalize:NO];
int clicks = (int) touch.tapCount;

/* send mouse moved event */
SDL_SendMouseMotion(sdlwindow, SDL_TOUCH_MOUSEID, 0, locationInView.x, locationInView.y);

/* send mouse down event */
SDL_SendMouseButtonClicks(sdlwindow, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT, clicks);

firstFingerDown = touch;
}
/* FIXME, need to send: int clicks = (int) touch.tapCount; ? */

CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
SDL_SendTouch(touchId, (SDL_FingerID)((size_t)touch),
@@ -248,12 +235,7 @@ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
continue;
}

if (touch == firstFingerDown) {
/* send mouse up */
int clicks = (int) touch.tapCount;
SDL_SendMouseButtonClicks(sdlwindow, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT, clicks);
firstFingerDown = nil;
}
/* FIXME, need to send: int clicks = (int) touch.tapCount; ? */

CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
SDL_SendTouch(touchId, (SDL_FingerID)((size_t)touch),
@@ -277,13 +259,6 @@ - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
continue;
}

if (touch == firstFingerDown) {
CGPoint locationInView = [self touchLocation:touch shouldNormalize:NO];

/* send moved event */
SDL_SendMouseMotion(sdlwindow, SDL_TOUCH_MOUSEID, 0, locationInView.x, locationInView.y);
}

CGPoint locationInView = [self touchLocation:touch shouldNormalize:YES];
SDL_SendTouchMotion(touchId, (SDL_FingerID)((size_t)touch),
locationInView.x, locationInView.y, pressure);

0 comments on commit 9d28156

Please sign in to comment.