Repository navigation
Conversation
…no java.awt Closes #23. The window is core-extended's WindowPlatform (graalvm-macos or graalvm-linux), the scene is hosted by the window scene module, and skiko draws into the window's surface: Metal on macOS, GL on Linux. HELLO_SELF_CHECK runs 30 frames and fails if any presented frame was drawn at a size other than the window's.
|
Being taken over: its Metal and GL WindowSurface classes go into the core fork's graalvm-macos and graalvm-linux modules, and hello-awtfree (now the one-executable gate's sample, #49) moves onto ComposeWindowHost / runComposeWindow with this PR's Content. That needs the fork's Compose under org.thisisthepy (core JetBrains#119) first. This PR is closed with links once that lands. |
|
Superseded. Its parts landed as follows. The Metal and GL WindowSurface classes are now |
Closes #23.
New sample extended/native-image/hello-awtfree. main() builds a ComposeWindowHost (core-extended extended/window/scene, PR thisisthepy/compose-multiplatform-core-extended#60) over AppKitWindowPlatform (graalvm-macos) or X11Window (graalvm-linux), chosen by the build OS. Frames go through skiko: Metal on macOS, GL on Linux; the Metal and GL WindowSurface classes are in src/mac and src/linux. No ComposeWindow, no java.awt in the sample's own sources.
HELLO_SELF_CHECK=: draws 30 frames, writes frames= and mismatched= (every presented frame must be drawn at the window size at present time), exits 1 on any mismatch.
Depends on the window modules in mavenLocal (org.thisisthepy.compose.window:{common,scene,graalvm-macos|graalvm-linux}:0.1.0). The windowing = AwtFree DSL line follows the plugin spine (#17).
Inherited upstream workflows fail at Setup Prerequisites (Android SDK) and are not the gate.