mirror of
https://github.com/godotengine/godot.git
synced 2024-11-16 00:53:26 +00:00
Add ability to set "keep screen on" for iOS
This commit is contained in:
parent
fb2bf78591
commit
182d2e5dc9
@ -57,6 +57,7 @@
|
||||
#endif
|
||||
|
||||
Error _shell_open(String);
|
||||
void _set_keep_screen_on(bool p_enabled);
|
||||
|
||||
Error _shell_open(String p_uri) {
|
||||
NSString* url = [[NSString alloc] initWithUTF8String:p_uri.utf8().get_data()];
|
||||
@ -70,6 +71,10 @@ Error _shell_open(String p_uri) {
|
||||
return OK;
|
||||
};
|
||||
|
||||
void _set_keep_screen_on(bool p_enabled) {
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:(BOOL)p_enabled];
|
||||
};
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
@synthesize window;
|
||||
@ -212,8 +217,8 @@ static int frame_count = 0;
|
||||
|
||||
[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
|
||||
// disable idle timer
|
||||
application.idleTimerDisabled = YES;
|
||||
|
||||
//application.idleTimerDisabled = YES;
|
||||
|
||||
//Create a full-screen window
|
||||
window = [[UIWindow alloc] initWithFrame:rect];
|
||||
//window.autoresizesSubviews = YES;
|
||||
@ -238,6 +243,7 @@ static int frame_count = 0;
|
||||
view_controller.view = glView;
|
||||
window.rootViewController = view_controller;
|
||||
|
||||
_set_keep_screen_on(bool(GLOBAL_DEF("display/set_keep_screen_on",true)) ? YES : NO);
|
||||
glView.useCADisplayLink = bool(GLOBAL_DEF("display.iOS/use_cadisplaylink",true)) ? YES : NO;
|
||||
printf("cadisaplylink: %d", glView.useCADisplayLink);
|
||||
glView.animationInterval = 1.0 / kRenderingFrequency;
|
||||
|
@ -454,6 +454,7 @@ bool OSIPhone::has_virtual_keyboard() const {
|
||||
extern void _show_keyboard(String p_existing);
|
||||
extern void _hide_keyboard();
|
||||
extern Error _shell_open(String p_uri);
|
||||
extern void _set_keep_screen_on(bool p_enabled);
|
||||
|
||||
void OSIPhone::show_virtual_keyboard(const String& p_existing_text,const Rect2& p_screen_rect) {
|
||||
_show_keyboard(p_existing_text);
|
||||
@ -467,6 +468,10 @@ Error OSIPhone::shell_open(String p_uri) {
|
||||
return _shell_open(p_uri);
|
||||
};
|
||||
|
||||
void OSIPhone::set_keep_screen_on(bool p_enabled) {
|
||||
OS::set_keep_screen_on(p_enabled);
|
||||
_set_keep_screen_on(p_enabled);
|
||||
};
|
||||
|
||||
void OSIPhone::set_cursor_shape(CursorShape p_shape) {
|
||||
|
||||
|
@ -166,6 +166,8 @@ public:
|
||||
virtual void set_video_mode(const VideoMode& p_video_mode,int p_screen=0);
|
||||
virtual VideoMode get_video_mode(int p_screen=0) const;
|
||||
virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const;
|
||||
|
||||
virtual void set_keep_screen_on(bool p_enabled);
|
||||
|
||||
virtual bool can_draw() const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user