Platforms¶
Strata runs wherever an adapter exists. Each adapter lives in a repository of its own:
| Adapter | Artifact | Show a screen with | One UI unit is | |
|---|---|---|---|---|
| Swing, in Strata-Swing | strata-swing |
Strata.screens() on a StrataPanel, a JPanel, marked with setDefault() |
scale pixels |
|
| Vulkan, in Strata-Vulkan | strata-vulkan |
Strata.screens() on a StrataVulkan view, marked with setDefault() and recorded into the application's pass |
scale framebuffer pixels |
|
| Minecraft, in Strata-Minecraft | strata-minecraft-neoforge, -forge, -fabric or -spongevanilla |
Strata.screens(), shown in a vanilla Screen |
One GUI pixel, screen pixels divided by the GUI scale | |
| Your engine |
Screens written against the API run on every adapter unchanged, and Strata.screens().open(screen) opens them on every adapter. A few behaviors differ between engines, mostly in fonts, modifier keys, shapes, input devices and nine-slices; Platform differences lists what an adapter may decide for itself.
To run Strata on another engine or toolkit, such as JavaFX, see Writing an adapter.