- Onscreen controllers, buttons & touchpad mouse able to work independently without blocking each other - Tap exclusion area size upto 1000%
55 lines
1.6 KiB
Objective-C
55 lines
1.6 KiB
Objective-C
//
|
|
// StreamView.h
|
|
// Moonlight
|
|
//
|
|
// Created by Cameron Gutman on 10/19/14.
|
|
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
|
|
//
|
|
|
|
#import "ControllerSupport.h"
|
|
#import "OnScreenControls.h"
|
|
#import "Moonlight-Swift.h"
|
|
#import "StreamConfiguration.h"
|
|
|
|
@protocol UserInteractionDelegate <NSObject>
|
|
|
|
- (void) userInteractionBegan;
|
|
- (void) userInteractionEnded;
|
|
|
|
@end
|
|
|
|
#if TARGET_OS_TV
|
|
@interface StreamView : UIView <X1KitMouseDelegate, UITextFieldDelegate>
|
|
#else
|
|
@interface StreamView : UIView <X1KitMouseDelegate, UITextFieldDelegate, UIPointerInteractionDelegate>
|
|
#endif
|
|
|
|
@property (assign, nonatomic) UIView* streamFrameTopLayerView;
|
|
|
|
- (void) setupStreamView:(ControllerSupport*)controllerSupport
|
|
interactionDelegate:(id<UserInteractionDelegate>)interactionDelegate
|
|
config:(StreamConfiguration*)streamConfig
|
|
streamFrameTopLayerView:(UIView* )topLayerView
|
|
;
|
|
- (void) showOnScreenControls;
|
|
- (void) setOnScreenControls;
|
|
- (void) disableOnScreenControls;
|
|
- (void) reloadOnScreenControlsRealtimeWith:(ControllerSupport*)controllerSupport
|
|
andConfig:(StreamConfiguration*)streamConfig;
|
|
- (void) reloadOnScreenControlsWith:(ControllerSupport*)controllerSupport
|
|
andConfig:(StreamConfiguration*)streamConfig;
|
|
- (void) clearOnScreenKeyboardButtons;
|
|
- (void) reloadOnScreenKeyboardButtons;
|
|
|
|
- (CGSize) getVideoAreaSize;
|
|
- (CGPoint) adjustCoordinatesForVideoArea:(CGPoint)point;
|
|
- (uint16_t)getRotationFromAzimuthAngle:(float)azimuthAngle;
|
|
|
|
- (OnScreenControlsLevel) getCurrentOscState;
|
|
|
|
#if !TARGET_OS_TV
|
|
- (void) updateCursorLocation:(CGPoint)location isMouse:(BOOL)isMouse;
|
|
#endif
|
|
|
|
@end
|