summaryrefslogtreecommitdiff
path: root/platform/iphone
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2016-01-18 14:44:49 +0100
committerRémi Verschelde <remi@verschelde.fr>2016-01-18 14:44:49 +0100
commit7e20c86ac71d27cc45e6a38feedc3037e8b0e8cd (patch)
tree037fae34110891cff0cdf6fc3c22457da25f2ea3 /platform/iphone
parentc0b9634235ee67415506b5a75a6bd7bb5ef28f21 (diff)
parent4563a5909ae617e458ac4484bfd5229252c2bae8 (diff)
Merge pull request #3360 from volzhs/keep-screen-on-5
Add ability to set "keep screen on" for android & iOS. fixes #2428
Diffstat (limited to 'platform/iphone')
-rw-r--r--platform/iphone/app_delegate.mm10
-rw-r--r--platform/iphone/os_iphone.cpp5
-rw-r--r--platform/iphone/os_iphone.h2
3 files changed, 15 insertions, 2 deletions
diff --git a/platform/iphone/app_delegate.mm b/platform/iphone/app_delegate.mm
index 8a3dfe0623..e90a16a684 100644
--- a/platform/iphone/app_delegate.mm
+++ b/platform/iphone/app_delegate.mm
@@ -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;
diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp
index b60da43374..ec62cb5c26 100644
--- a/platform/iphone/os_iphone.cpp
+++ b/platform/iphone/os_iphone.cpp
@@ -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) {
diff --git a/platform/iphone/os_iphone.h b/platform/iphone/os_iphone.h
index 631c9d6452..abe797fed1 100644
--- a/platform/iphone/os_iphone.h
+++ b/platform/iphone/os_iphone.h
@@ -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;