74 lines
2.2 KiB
Objective-C
74 lines
2.2 KiB
Objective-C
/*
|
|
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
|