mirror of https://github.com/encounter/SDL.git
iOS: Added support for SDL_DisableScreenSaver and SDL_EnableScreenSaver.
This commit is contained in:
parent
f7ac02010f
commit
240a3fbffe
|
@ -243,6 +243,9 @@ extern "C" {
|
||||||
* this is problematic. This functionality can be disabled by setting this
|
* this is problematic. This functionality can be disabled by setting this
|
||||||
* hint.
|
* hint.
|
||||||
*
|
*
|
||||||
|
* As of SDL 2.0.4, SDL_EnableScreenSaver and SDL_DisableScreenSaver accomplish
|
||||||
|
* the same thing on iOS. They should be preferred over this hint.
|
||||||
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - Enable idle timer
|
* "0" - Enable idle timer
|
||||||
* "1" - Disable idle timer
|
* "1" - Disable idle timer
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
|
|
||||||
#include "../SDL_sysvideo.h"
|
#include "../SDL_sysvideo.h"
|
||||||
|
|
||||||
|
void UIKit_SuspendScreenSaver(_THIS);
|
||||||
|
|
||||||
BOOL UIKit_IsSystemVersionAtLeast(double version);
|
BOOL UIKit_IsSystemVersionAtLeast(double version);
|
||||||
CGRect UIKit_ComputeViewFrame(SDL_Window *window, UIScreen *screen);
|
CGRect UIKit_ComputeViewFrame(SDL_Window *window, UIScreen *screen);
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include "SDL_video.h"
|
#include "SDL_video.h"
|
||||||
#include "SDL_mouse.h"
|
#include "SDL_mouse.h"
|
||||||
|
#include "SDL_hints.h"
|
||||||
#include "../SDL_sysvideo.h"
|
#include "../SDL_sysvideo.h"
|
||||||
#include "../SDL_pixels_c.h"
|
#include "../SDL_pixels_c.h"
|
||||||
#include "../../events/SDL_events_c.h"
|
#include "../../events/SDL_events_c.h"
|
||||||
|
@ -74,6 +75,7 @@ UIKit_CreateDevice(int devindex)
|
||||||
device->GetDisplayModes = UIKit_GetDisplayModes;
|
device->GetDisplayModes = UIKit_GetDisplayModes;
|
||||||
device->SetDisplayMode = UIKit_SetDisplayMode;
|
device->SetDisplayMode = UIKit_SetDisplayMode;
|
||||||
device->PumpEvents = UIKit_PumpEvents;
|
device->PumpEvents = UIKit_PumpEvents;
|
||||||
|
device->SuspendScreenSaver = UIKit_SuspendScreenSaver;
|
||||||
device->CreateWindow = UIKit_CreateWindow;
|
device->CreateWindow = UIKit_CreateWindow;
|
||||||
device->SetWindowTitle = UIKit_SetWindowTitle;
|
device->SetWindowTitle = UIKit_SetWindowTitle;
|
||||||
device->ShowWindow = UIKit_ShowWindow;
|
device->ShowWindow = UIKit_ShowWindow;
|
||||||
|
@ -130,6 +132,21 @@ UIKit_VideoQuit(_THIS)
|
||||||
UIKit_QuitModes(_this);
|
UIKit_QuitModes(_this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
UIKit_SuspendScreenSaver(_THIS)
|
||||||
|
{
|
||||||
|
@autoreleasepool {
|
||||||
|
/* Ignore ScreenSaver API calls if the idle timer hint has been set. */
|
||||||
|
/* FIXME: The idle timer hint should be deprecated for SDL 2.1. */
|
||||||
|
if (SDL_GetHint(SDL_HINT_IDLE_TIMER_DISABLED) == NULL) {
|
||||||
|
UIApplication *app = [UIApplication sharedApplication];
|
||||||
|
|
||||||
|
/* Prevent the display from dimming and going to sleep. */
|
||||||
|
app.idleTimerDisabled = (_this->suspend_screensaver != SDL_FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
UIKit_IsSystemVersionAtLeast(double version)
|
UIKit_IsSystemVersionAtLeast(double version)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue