summaryrefslogtreecommitdiffstats
path: root/platform/ios
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios')
-rw-r--r--platform/ios/display_server_ios.h3
-rw-r--r--platform/ios/display_server_ios.mm16
2 files changed, 19 insertions, 0 deletions
diff --git a/platform/ios/display_server_ios.h b/platform/ios/display_server_ios.h
index da16449c61..be4ea1e6ab 100644
--- a/platform/ios/display_server_ios.h
+++ b/platform/ios/display_server_ios.h
@@ -141,6 +141,9 @@ public:
virtual void tts_resume() override;
virtual void tts_stop() override;
+ virtual bool is_dark_mode_supported() const override;
+ virtual bool is_dark_mode() const override;
+
virtual Rect2i get_display_safe_area() const override;
virtual int get_screen_count() const override;
diff --git a/platform/ios/display_server_ios.mm b/platform/ios/display_server_ios.mm
index 33eb16279f..7d0228ff68 100644
--- a/platform/ios/display_server_ios.mm
+++ b/platform/ios/display_server_ios.mm
@@ -354,6 +354,22 @@ void DisplayServerIOS::tts_stop() {
[tts stopSpeaking];
}
+bool DisplayServerIOS::is_dark_mode_supported() const {
+ if (@available(iOS 13.0, *)) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+bool DisplayServerIOS::is_dark_mode() const {
+ if (@available(iOS 13.0, *)) {
+ return [UITraitCollection currentTraitCollection].userInterfaceStyle == UIUserInterfaceStyleDark;
+ } else {
+ return false;
+ }
+}
+
Rect2i DisplayServerIOS::get_display_safe_area() const {
if (@available(iOS 11, *)) {
UIEdgeInsets insets = UIEdgeInsetsZero;