Milestone 5: deliver embedded RDP sessions and lifecycle hardening
This commit is contained in:
75
third_party/FreeRDP/client/iOS/Views/TouchPointerView.h
vendored
Normal file
75
third_party/FreeRDP/client/iOS/Views/TouchPointerView.h
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
RDP Touch Pointer View
|
||||
|
||||
Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
||||
If a copy of the MPL was not distributed with this file, You can obtain one at
|
||||
http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
// protocol for touch pointer callbacks
|
||||
@protocol TouchPointerDelegate
|
||||
// callback if touch pointer should be closed
|
||||
- (void)touchPointerClose;
|
||||
// callback for a left click action
|
||||
- (void)touchPointerLeftClick:(CGPoint)pos down:(BOOL)down;
|
||||
// callback for a right click action
|
||||
- (void)touchPointerRightClick:(CGPoint)pos down:(BOOL)down;
|
||||
// callback for pointer move action
|
||||
- (void)touchPointerMove:(CGPoint)pos;
|
||||
// callback if scrolling is performed
|
||||
- (void)touchPointerScrollDown:(BOOL)down;
|
||||
// callback for toggling the standard keyboard
|
||||
- (void)touchPointerToggleKeyboard;
|
||||
// callback for toggling the extended keyboard
|
||||
- (void)touchPointerToggleExtendedKeyboard;
|
||||
// callback for reset session view
|
||||
- (void)touchPointerResetSessionView;
|
||||
@end
|
||||
|
||||
@interface TouchPointerView : UIView
|
||||
{
|
||||
// transformation and image currently drawn
|
||||
CGAffineTransform _pointer_transformation;
|
||||
UIImage *_cur_pointer_img;
|
||||
|
||||
// action images
|
||||
UIImage *_default_pointer_img;
|
||||
UIImage *_active_pointer_img;
|
||||
UIImage *_lclick_pointer_img;
|
||||
UIImage *_rclick_pointer_img;
|
||||
UIImage *_scroll_pointer_img;
|
||||
UIImage *_extkeyboard_pointer_img;
|
||||
UIImage *_keyboard_pointer_img;
|
||||
UIImage *_reset_pointer_img;
|
||||
|
||||
// predefined areas for all actions
|
||||
CGRect _pointer_areas[9];
|
||||
|
||||
// scroll/drag n drop handling
|
||||
CGPoint _prev_touch_location;
|
||||
BOOL _pointer_moving;
|
||||
BOOL _pointer_scrolling;
|
||||
|
||||
NSObject<TouchPointerDelegate> *_delegate;
|
||||
}
|
||||
|
||||
@property(assign) IBOutlet NSObject<TouchPointerDelegate> *delegate;
|
||||
|
||||
// positions the pointer on screen if it got offscreen after an orentation change or after
|
||||
// displaying the keyboard
|
||||
- (void)ensurePointerIsVisible;
|
||||
|
||||
// returns the extent required for the scrollview to use the touch pointer near the edges of the
|
||||
// session view
|
||||
- (UIEdgeInsets)getEdgeInsets;
|
||||
|
||||
// return pointer dimension and position information
|
||||
- (CGPoint)getPointerPosition;
|
||||
- (int)getPointerWidth;
|
||||
- (int)getPointerHeight;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user