comparison src/sys/osx/dark_theme.mm @ 5:51ae25154b70

Fix OS X support code
author Paper <mrpapersonic@gmail.com>
date Sat, 12 Aug 2023 13:10:34 -0400
parents 23d0d9319a00
children 5c0397762b53
comparison
equal deleted inserted replaced
4:5af270662505 5:51ae25154b70
1 #include "sys/osx/dark_theme.h" 1 #include "sys/osx/dark_theme.h"
2 #import <Cocoa/Cocoa.h> 2 #import <Cocoa/Cocoa.h>
3 3
4 bool osx::DarkThemeAvailable() 4 bool osx::DarkThemeAvailable()
5 { 5 {
6 return (__builtin_available(macOS 10.14, *)) ? true : false; 6 if (@available(macOS 10.14, *))
7 return true;
8 else
9 return false;
7 } 10 }
8 11
9 bool osx::IsInDarkTheme() 12 bool osx::IsInDarkTheme()
10 { 13 {
11 if (__builtin_available(macOS 10.14, *)) 14 if (@available(macOS 10.14, *))
12 { 15 {
13 auto appearance = [NSApp.effectiveAppearance bestMatchFromAppearancesWithNames: 16 auto appearance = [NSApp.effectiveAppearance bestMatchFromAppearancesWithNames:
14 @[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]]; 17 @[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]];
15 return [appearance isEqualToString:NSAppearanceNameDarkAqua]; 18 return [appearance isEqualToString:NSAppearanceNameDarkAqua];
16 } 19 }
18 } 21 }
19 22
20 void osx::SetToDarkTheme() 23 void osx::SetToDarkTheme()
21 { 24 {
22 // https://stackoverflow.com/questions/55925862/how-can-i-set-my-os-x-application-theme-in-code 25 // https://stackoverflow.com/questions/55925862/how-can-i-set-my-os-x-application-theme-in-code
23 if (__builtin_available(macOS 10.14, *)) 26 if (@available(macOS 10.14, *))
24 { 27 {
25 [NSApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]]; 28 [NSApp setAppearance:[NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]];
26 } 29 }
27 } 30 }
28 31
35 } 38 }
36 } 39 }
37 40
38 void osx::SetToAutoTheme() 41 void osx::SetToAutoTheme()
39 { 42 {
40 if (__builtin_available(macOS 10.14, *)) 43 if (@available(macOS 10.14, *))
41 { 44 {
42 [NSApp setAppearance:nil]; 45 [NSApp setAppearance:nil];
43 } 46 }
44 } 47 }