kodi
IOSScreenManager.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 /*Class for managing the UIScreens/resolutions of an iOS device*/
10 
11 #import <UIKit/UIKit.h>
12 
13 @class IOSEAGLView;
14 @class XBMCController;
16 
17 @interface IOSScreenManager : NSObject {
18 
19  unsigned int _screenIdx;
20  bool _externalScreen;
21  IOSEAGLView* __weak _glView;
22  IOSExternalTouchController *_externalTouchController;
23  UIInterfaceOrientation _lastTouchControllerOrientation;
24 }
25 @property (readonly, getter=GetScreenIdx)unsigned int _screenIdx;
26 @property (readonly, getter=isExternalScreen)bool _externalScreen;
27 @property(weak, setter=setView:) IOSEAGLView* _glView;
28 @property UIInterfaceOrientation _lastTouchControllerOrientation;
29 
30 // init the screenmanager with our eaglview
31 //- (id) initWithView:(IOSEAGLView *)view;
32 // change to screen with the given mode (might also change only the mode on the same screen)
33 - (bool) changeScreen: (unsigned int)screenIdx withMode:(UIScreenMode *)mode;
34 // called when app detects disconnection of external screen - will move xbmc to the internal screen then
35 - (void) screenDisconnect;
36 // wrapper for g_Windowing.UpdateResolutions();
37 + (void) updateResolutions;
38 // fades the screen from black back to full alpha after delaySecs seconds
39 - (void) fadeFromBlack:(CGFloat) delaySecs;
40 // returns true if switching to screenIdx will change from internal to external screen
41 - (bool) willSwitchToExternal:(unsigned int) screenIdx;
42 // returns true if switching to screenIdx will change from external to internal screen
43 - (bool) willSwitchToInternal:(unsigned int) screenIdx;
44 // singleton access
45 + (id) sharedInstance;
46 @end
Definition: IOSScreenManager.h:17
Definition: IOSExternalTouchController.h:12
Definition: XBMCController.h:21
Definition: IOSEAGLView.h:16