/* 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 // 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* _delegate; } @property (assign) IBOutlet NSObject* 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