Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: remoting/ios/client_gestures.mm

Issue 2904703003: [CRD iOS] Add support for three-finger gestures (Closed)
Patch Set: Remove unused import Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/ios/client_gestures.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/ios/client_gestures.mm
diff --git a/remoting/ios/client_gestures.mm b/remoting/ios/client_gestures.mm
index 9c350af1349dcfb8de0716a9e15ac0310ac15c40..79c957a13134b92ac5acde90f576385a7bb83636 100644
--- a/remoting/ios/client_gestures.mm
+++ b/remoting/ios/client_gestures.mm
@@ -27,6 +27,8 @@ remoting::GestureInterpreter::GestureState toGestureState(
@implementation ClientGestures
+@synthesize delegate = _delegate;
+
- (instancetype)initWithView:(UIView*)view client:(RemotingClient*)client {
_view = view;
_client = client;
@@ -94,7 +96,7 @@ remoting::GestureInterpreter::GestureState toGestureState(
initWithTarget:self
action:@selector(threeFingerTapGestureTriggered:)];
_threeFingerTapRecognizer.numberOfTouchesRequired = 3;
- _threeFingerPanRecognizer.delegate = self;
+ _threeFingerTapRecognizer.delegate = self;
[view addGestureRecognizer:_threeFingerTapRecognizer];
_inputScheme = HostInputSchemeTouch;
@@ -103,6 +105,7 @@ remoting::GestureInterpreter::GestureState toGestureState(
[_twoFingerTapRecognizer
requireGestureRecognizerToFail:_threeFingerTapRecognizer];
[_pinchRecognizer requireGestureRecognizerToFail:_singleTapRecognizer];
+ [_pinchRecognizer requireGestureRecognizerToFail:_threeFingerPanRecognizer];
[_panRecognizer requireGestureRecognizerToFail:_singleTapRecognizer];
[_threeFingerPanRecognizer
requireGestureRecognizerToFail:_threeFingerTapRecognizer];
@@ -325,29 +328,24 @@ remoting::GestureInterpreter::GestureState toGestureState(
}
- (IBAction)threeFingerTapGestureTriggered:(UITapGestureRecognizer*)sender {
- // LOG_TRACE(INFO) << "threeFingerTapGestureTriggered";
- if (_inputScheme == HostInputSchemeTouch) {
- // disabled
- return;
- }
-
- // if ([_scene containsTouchPoint:[sender locationInView:self.view]]) {
- // [Utility middleClickOn:_clientToHostProxy at:_scene.mousePosition];
- // }
+ CGPoint touchPoint = [sender locationInView:_view];
+ _client.gestureInterpreter->ThreeFingerTap(touchPoint.x, touchPoint.y);
}
- (IBAction)threeFingerPanGestureTriggered:(UIPanGestureRecognizer*)sender {
// LOG_TRACE(INFO) << "threeFingerPanGestureTriggered";
- // if ([sender state] == UIGestureRecognizerStateChanged) {
- // CGPoint translation = [sender translationInView:self.view];
- // if (translation.y > 0) {
- // // Swiped down - do nothing
- // } else if (translation.y < 0) {
- // // Swiped up
- // [_keyEntryView becomeFirstResponder];
- // }
- // [sender setTranslation:CGPointZero inView:self.view];
- // }
+ if ([sender state] != UIGestureRecognizerStateEnded) {
+ return;
+ }
+
+ CGPoint translation = [sender translationInView:_view];
+ if (translation.y > 0) {
+ // Swiped down - hide keyboard (for now)
+ [_delegate keyboardShouldHide];
+ } else if (translation.y < 0) {
+ // Swiped up - show keyboard
+ [_delegate keyboardShouldShow];
+ }
}
- (IBAction)edgeGestureTriggered:(UIScreenEdgePanGestureRecognizer*)sender {
« no previous file with comments | « remoting/ios/client_gestures.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698