RFR: 8377350: [iOS] Add support for UIWindowScene
Jose Pereda
jpereda at openjdk.org
Wed Feb 11 12:47:52 UTC 2026
On Wed, 11 Feb 2026 12:36:13 GMT, Johan Vos <jvos at openjdk.org> wrote:
>> This PR adds support for iOS native window scene, which was added some time ago starting iOS 13 (in 2019).
>>
>> Current iOS development requires iOS SDK 26, and minimum deployment target is set to iOS 15 (meaning that apps will run on all devices with iOS 15 or greater).
>>
>> It is safe then to not include the safe-guard `if (@available(iOS 13.0, *)) {...}`, which will make the code more complex.
>>
>> Adding the native UIScene and UIWindowScene APIs follows the Apple standards, but as a fallback, the deprecated API is still kept there (`keyWindow` was deprecated starting iOS 13, and `initWithFrame:` was deprecated starting iOS 26). This is for a follow-up issue.
>>
>> Note: This patch doesn't really add support for multiple windows, as this would require more complex changes.
>
> modules/javafx.graphics/src/main/native-glass/ios/GlassWindow.m line 834:
>
>> 832: GLASS_LOG("SCREEN: %@", screen);
>> 833: CGRect applicationFrame = [screen bounds];
>> 834: GLASS_LOG("FRAME: %.1f %.1f", applicationFrame.size.width, applicationFrame.size.height);
>
> Aren't the dimensions printed when you print the "object" using @ ?
No, `CGRect` is a struct, and you get this warning:
warning: format specifies type 'id' but the argument has type 'CGRect' (aka 'struct CGRect') [-Wformat]
which can be safely ignored of course, but then the logs won't show a null value:
FRAME: (null)
and that's why I applied the change.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/2072#discussion_r2793088877
More information about the openjfx-dev
mailing list