summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2015-11-29 13:18:21 +0900
committervolzhs <volzhs@gmail.com>2016-01-16 20:59:09 +0900
commit182d2e5dc96c8ff695bc85ab44b22768eefc1f3b (patch)
treefed9080bfe7de310952e133ed23fe5f437f8f53c /platform
parentfb2bf78591672362adbb62ea15e7be4ac34a7dee (diff)
Add ability to set "keep screen on" for iOS
Diffstat (limited to 'platform')
-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;