Chromium Code Reviews| 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, |
| + |
| +}; |
| + |
|
nicholss
2017/01/13 19:20:34
Client Gestures is a new class, untested yet and o
|
| +@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_ |