Bindings to various Platform APIs.
JavaScript type information was mostly taken from MDN with occasional checks into the specifications from W3C. Mistakes from MDN are likely to show here (if any).
Compiled maven artifacts can be found on Bintray.
All platform artifacts follow a naming scheme:
Platform | Suffix |
---|---|
Common | -metadata |
JVM | -jvm |
JVM (LWJGL 3) | -jvm-lwjgl3 |
Android | -android |
JS | -js |
Native Linux x64 | -nativelinuxx64 |
Native Linux Arm32Hfp | -nativelinuxarm32hfp |
Native Linux Mips32 | -nativelinuxmips32 |
Native Linux Mipsel32 | -nativelinuxmipsel32 |
Native Android Arm32 | -nativeandroidnativearm32 |
Native Android Arm64 | -nativeandroidnativearm64 |
Native Wasm32 | -nativewasm32 |
Basic data types used by bindings.
Provides access to OpenAL.
For web applications, consider using webaudio
.
Provides access to the Gamepad API.
Also includes some very basic utilities for compatibility with webkit-prefixed implementations.
For non-web applications, consider using glfw
.
Provides access to OpenGL.
Mostly only the functionality found in the gles
module is available.
Provides access to OpenGL ES and WebGL (WebGL API).
Only a common subset of OpenGL ES and WebGL 2 is available.
For better driver compatibility (especially on macOS), consider using
gl
as well, when appropriate.
Provides access to GLFW.
For web applications, consider using gles
(which has some context utilities)
and gamepad
.
Provides access to STB TrueType Font.
For web and Android applications, platform specific apis are usually sufficient.
Provides access to Tiny File Dialogs.
For web and Android applications, platform specific apis have to be used.
Provides access to the Web Audio API.
Incomplete as of yet, but most of the Web IDL of the specification is available.
For non-web applications, consider using al
.
Table showing what platforms each module is available for, in case of more generic or specific alternatives being available arrows are used.
More platforms and better coverage of existing ones should be possible in the future, apart from nonsensical combinations.
Platform | binding-utils | al | gamepad | gl | gles | glfw |
---|---|---|---|---|---|---|
Common | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
JVM | ✓ | ↓ | ↓ | ↓ | ↓ | |
JVM (LWJGL 3) | ↑ | ✓ | ✓ | ✓ | ✓ | |
Android | ↑ | ✓ | ✓ | |||
JS | ✓ | ✓ | ✓ | |||
Native Linux x64 | ✓ | ✓ | ✓ | ✓ | ||
Native Linux Arm32Hfp | ✓ | ✓ | ||||
Native Linux Mips32 | ✓ | ✓ | ||||
Native Linux Mipsel32 | ✓ | ✓ | ||||
Native Android Arm32 | ✓ | |||||
Native Android Arm64 | ✓ | |||||
Native Wasm32 | ✓ |
Platform | stb-truetype-font | tinyfd | webaudio |
---|---|---|---|
Common | ✓ | ✓ | ✓ |
JVM | ↓ | ↓ | |
JVM (LWJGL 3) | ✓ | ✓ | |
Android | |||
JS | ✓ | ||
Native Linux x64 | ✓ | ✓ | |
Native Linux Arm32Hfp | ✓ | ✓ | |
Native Linux Mips32 | ✓ | ||
Native Linux Mipsel32 | ✓ | ||
Native Android Arm32 | ✓ | ||
Native Android Arm64 | ✓ | ||
Native Wasm32 | ✓ |