/* 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