|
Packit |
1fb8d4 |
/*
|
|
Packit |
1fb8d4 |
RDP Session View Controller
|
|
Packit Service |
5a9772 |
|
|
Packit |
1fb8d4 |
Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
|
Packit Service |
5a9772 |
If a copy of the MPL was not distributed with this file, You can obtain one at
|
|
Packit Service |
5a9772 |
http://mozilla.org/MPL/2.0/.
|
|
Packit |
1fb8d4 |
*/
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
#import <UIKit/UIKit.h>
|
|
Packit |
1fb8d4 |
#import "RDPSession.h"
|
|
Packit |
1fb8d4 |
#import "RDPKeyboard.h"
|
|
Packit |
1fb8d4 |
#import "RDPSessionView.h"
|
|
Packit |
1fb8d4 |
#import "TouchPointerView.h"
|
|
Packit |
1fb8d4 |
#import "AdvancedKeyboardView.h"
|
|
Packit |
1fb8d4 |
|
|
Packit Service |
5a9772 |
@interface RDPSessionViewController
|
|
Packit Service |
5a9772 |
: UIViewController
|
|
Packit Service |
5a9772 |
RDPKeyboardDelegate, UIScrollViewDelegate, UITextFieldDelegate>
|
|
Packit |
1fb8d4 |
{
|
|
Packit |
1fb8d4 |
// scrollview that hosts the rdp session view
|
|
Packit Service |
5a9772 |
IBOutlet UIScrollView *_session_scrollview;
|
|
Packit Service |
5a9772 |
|
|
Packit |
1fb8d4 |
// rdp session view
|
|
Packit Service |
5a9772 |
IBOutlet RDPSessionView *_session_view;
|
|
Packit |
1fb8d4 |
|
|
Packit Service |
5a9772 |
// touch pointer view
|
|
Packit Service |
5a9772 |
IBOutlet TouchPointerView *_touchpointer_view;
|
|
Packit Service |
5a9772 |
BOOL _autoscroll_with_touchpointer;
|
|
Packit Service |
5a9772 |
BOOL _is_autoscrolling;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
// rdp session toolbar
|
|
Packit Service |
5a9772 |
IBOutlet UIToolbar *_session_toolbar;
|
|
Packit Service |
5a9772 |
BOOL _session_toolbar_visible;
|
|
Packit Service |
5a9772 |
|
|
Packit |
1fb8d4 |
// dummy text field used to display the keyboard
|
|
Packit Service |
5a9772 |
IBOutlet UITextField *_dummy_textfield;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// connecting view and the controls within that view
|
|
Packit Service |
5a9772 |
IBOutlet UIView *_connecting_view;
|
|
Packit Service |
5a9772 |
IBOutlet UILabel *_lbl_connecting;
|
|
Packit Service |
5a9772 |
IBOutlet UIActivityIndicatorView *_connecting_indicator_view;
|
|
Packit Service |
5a9772 |
IBOutlet UIButton *_cancel_connect_button;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// extended keyboard toolbar
|
|
Packit Service |
5a9772 |
UIToolbar *_keyboard_toolbar;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// rdp session
|
|
Packit Service |
5a9772 |
RDPSession *_session;
|
|
Packit Service |
5a9772 |
BOOL _session_initilized;
|
|
Packit Service |
5a9772 |
|
|
Packit |
1fb8d4 |
// flag that indicates whether the keyboard is visible or not
|
|
Packit |
1fb8d4 |
BOOL _keyboard_visible;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// flag to switch between left/right mouse button mode
|
|
Packit Service |
5a9772 |
BOOL _toggle_mouse_button;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// keyboard extension view
|
|
Packit Service |
5a9772 |
AdvancedKeyboardView *_advanced_keyboard_view;
|
|
Packit Service |
5a9772 |
BOOL _advanced_keyboard_visible;
|
|
Packit Service |
5a9772 |
BOOL _requesting_advanced_keyboard;
|
|
Packit Service |
5a9772 |
CGFloat _keyboard_last_height;
|
|
Packit Service |
5a9772 |
|
|
Packit Service |
5a9772 |
// delayed mouse move event sending
|
|
Packit Service |
5a9772 |
NSTimer *_mouse_move_event_timer;
|
|
Packit Service |
5a9772 |
int _mouse_move_events_skipped;
|
|
Packit Service |
5a9772 |
CGPoint _prev_long_press_position;
|
|
Packit |
1fb8d4 |
}
|
|
Packit |
1fb8d4 |
|
|
Packit Service |
5a9772 |
- (id)initWithNibName:(NSString *)nibNameOrNil
|
|
Packit Service |
5a9772 |
bundle:(NSBundle *)nibBundleOrNil
|
|
Packit Service |
5a9772 |
session:(RDPSession *)session;
|
|
Packit |
1fb8d4 |
|
|
Packit |
1fb8d4 |
@end
|