99
1010#import " RCTUtils.h"
1111
12- #if !TARGET_OS_OSX // [macOS]
1312RCTDimensions RCTGetDimensions (CGFloat fontScale)
14- #else // [macOS
15- RCTDimensions RCTGetDimensions (RCTPlatformView *rootView)
16- #endif // macOS]
1713{
1814#if !TARGET_OS_OSX // [macOS]
1915 UIScreen *mainScreen = UIScreen.mainScreen ;
@@ -23,20 +19,11 @@ RCTDimensions RCTGetDimensions(RCTPlatformView *rootView)
2319 // We fallback to screen size if a key window is not found.
2420 CGSize windowSize = mainWindow ? mainWindow.bounds .size : screenSize;
2521#else // [macOS
26- NSWindow *window = nil ;
27- NSSize windowSize;
28- NSSize screenSize;
29- if (rootView != nil ) {
30- window = [rootView window ];
31- windowSize = [window frame ].size ;
32- } else {
33- // We don't have a root view so fall back to the app's key window
34- window = [NSApp keyWindow ];
35- windowSize = [window frame ].size ;
36- }
37- screenSize = [[window screen ] frame ].size ;
38- #endif
39-
22+ RCTUIWindow *window = RCTKeyWindow ();
23+ NSSize windowSize = window ? [window frame ].size : CGSizeMake (0 , 0 );
24+ NSSize screenSize = window ? [[window screen ] frame ].size : CGSizeMake (0 , 0 );
25+ CGFloat scale = window ? [[window screen ] backingScaleFactor ] : 1.0 ; // Default scale to 1.0 if window is nil
26+ #endif // macOS
4027 RCTDimensions result;
4128#if !TARGET_OS_OSX // [macOS]
4229 typeof (result.screen ) dimsScreen = {
@@ -47,13 +34,13 @@ RCTDimensions RCTGetDimensions(RCTPlatformView *rootView)
4734 typeof (result.screen ) dimsScreen = {
4835 .width = screenSize.width ,
4936 .height = screenSize.height ,
50- .scale = [[window screen ] backingScaleFactor ] ,
51- .fontScale = 1 };
37+ .scale = scale ,
38+ .fontScale = fontScale };
5239 typeof (result.window ) dimsWindow = {
5340 .width = windowSize.width ,
5441 .height = windowSize.height ,
55- .scale = [[window screen ] backingScaleFactor ],
56- .fontScale = 1 };
42+ .scale = scale,
43+ .fontScale = fontScale };
5744#endif // macOS]
5845 result.screen = dimsScreen;
5946 result.window = dimsWindow;
0 commit comments