Index: remoting/client/ios/client_gestures.h |
diff --git a/remoting/client/ios/client_gestures.h b/remoting/client/ios/client_gestures.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e313fcb167e6d899f3d884c04ec175133e269ee1 |
--- /dev/null |
+++ b/remoting/client/ios/client_gestures.h |
@@ -0,0 +1,67 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef REMOTING_CLIENT_IOS_CLIENT_GESTURES_H_ |
+#define REMOTING_CLIENT_IOS_CLIENT_GESTURES_H_ |
+ |
+#import <Foundation/Foundation.h> |
+#import <UIKit/UIKit.h> |
+#include "base/logging.h" |
+#import "remoting/client/ios/key_input.h" |
+ |
+typedef NS_ENUM(NSInteger, HostInputScheme) { |
+ // Mouse cursor is shown |
+ // Dragging or Panning, moves the mouse cursor |
+ // Tapping causes mouse input at the cursor location |
+ HostInputSchemeTrackpad = 0, // Default |
+ // Mouse cursor is not shown |
+ // Dragging or Panning is similar to a map |
+ // Tapping causes mouse input at the tap location |
+ HostInputSchemeTouch = 1 |
+}; |
+ |
+typedef NS_ENUM(NSInteger, MouseButton) { |
+ |
+ NO_BUTTON = 0, |
+ LEFT_BUTTON = 1, |
+ MIDDLE_BUTTON = 2, |
+ RIGHT_BUTTON = 3, |
+ |
+}; |
+ |
+@interface ClientGestures : NSObject<UIGestureRecognizerDelegate> { |
+ @private |
+ UILongPressGestureRecognizer* _longPressRecognizer; |
+ UIPanGestureRecognizer* _panRecognizer; |
+ UIPanGestureRecognizer* _threeFingerPanRecognizer; |
+ UIPinchGestureRecognizer* _pinchRecognizer; |
+ UITapGestureRecognizer* _singleTapRecognizer; |
+ UITapGestureRecognizer* _twoFingerTapRecognizer; |
+ UITapGestureRecognizer* _threeFingerTapRecognizer; |
+ UIScreenEdgePanGestureRecognizer* _edgeGesture; |
+ UISwipeGestureRecognizer* _swipeGesture; |
+ |
+ HostInputScheme _inputScheme; |
+} |
+ |
+- (instancetype)initWithView:(UIView*)view; |
+ |
+// Zoom in/out |
+- (IBAction)pinchGestureTriggered:(UIPinchGestureRecognizer*)sender; |
+// Left mouse click, moves cursor |
+- (IBAction)tapGestureTriggered:(UITapGestureRecognizer*)sender; |
+// Scroll the view in 2d |
+- (IBAction)panGestureTriggered:(UIPanGestureRecognizer*)sender; |
+// Right mouse click and drag, moves cursor |
+- (IBAction)longPressGestureTriggered:(UILongPressGestureRecognizer*)sender; |
+// Right mouse click |
+- (IBAction)twoFingerTapGestureTriggered:(UITapGestureRecognizer*)sender; |
+// Middle mouse click |
+- (IBAction)threeFingerTapGestureTriggered:(UITapGestureRecognizer*)sender; |
+// Show hidden menus. Swipe up for keyboard, swipe down for navigation menu |
+- (IBAction)threeFingerPanGestureTriggered:(UIPanGestureRecognizer*)sender; |
+ |
+@end |
+ |
+#endif // REMOTING_CLIENT_IOS_CLIENT_GESTURES_H_ |