In more detail, this package contains the following:
- Functionality required for loading native shared libraries (the LWJGL JNI code, as well as 3rd-party libraries) and invoking native functions.
- Functionality required for efficiently accessing and managing off-heap memory.
- Platform and operating system specific API bindings.
- The dyncall bindings, used for implementing native function callbacks via Java code.
- Miscellaneous bindings for advanced users, or bindings that are not proven to be generally useful yet.
- Functionality used internally by API bindings. This functionality is unfortunately public, as it is shared by all bindings.
Even though this package is reserved for breaking changes, some of the above functionality may be very useful to advanced users. For this to be practical, the API of certain interfaces and classes will remain as stable as possible. This affects the following classes:
MemoryUtil, used for off-heap data access and memory allocation/deallocation.
MemoryStack, used for emulated off-heap stack allocations.
SharedLibrary, used for loading shared libraries and accessing function pointers.
Pointer, used as off-heap resource abstractions.
Configuration, used for programmatic configuration at runtime.
StructBuffer, the base classes for struct types and struct buffers.
Interface Summary Interface Description APIUtil.Encoder CallbackIBase interface for dynamically created native functions that call into Java code. CallbackI.BA
Callbackthat returns a byte value.
Callbackthat returns a double value.
Callbackthat returns a float value.
Callbackthat returns an int value.
Callbackthat returns a long value.
Callbackthat returns a pointer value.
Callbackthat returns a short value.
Callbackwith no return value.
Callbackthat returns a boolean value.
FunctionProviderA provider of native function addresses. FunctionProviderLocalA platform/device/context specific provider of native function addresses. MemoryUtil.MemoryAllocationReportThe memory allocation report callback. MemoryUtil.MemoryAllocator NativeResourceClasses that implement this interface are associated with one or more native resources. PointerPointer interface. SharedLibraryA
FunctionProviderimplementation that opens a platform-specific shared library and returns functions pointers from it.
Class Summary Class Description APIUtilUtility class useful to API bindings. APIUtil.APIVersionA data class for API versioning information. CallbackBase class for dynamically created native functions that call into Java code. CheckIntrinsicsSimple index checks. ChecksA class to check buffer boundaries in general. Configuration<T>This class can be used to programmatically set the LWJGL runtime configuration. CustomBuffer<SELF extends CustomBuffer<SELF>>Base class of custom buffers with an API that mirrors
JNIThis class contains native methods that can be used to call dynamically loaded functions. LibraryInitializes the LWJGL shared library and handles loading additional shared libraries. MathUtilMath utility class. MemoryStackAn off-heap memory stack. MemoryUtilThis class provides functionality for managing native memory. Pointer.DefaultDefault
SharedLibrary.Default SharedLibrary.Delegate StructBase class of all struct implementations. StructBuffer<T extends Struct,SELF extends StructBuffer<T,SELF>>Base class of struct custom buffers. ThreadLocalUtilThis class supports bindings with thread-local contexts.
Enum Summary Enum Description MemoryUtil.MemoryAllocationReport.AggregateSpecifies how to aggregate the reported allocations. Platform
Annotation Types Summary Annotation Type Description NativeTypeAnnotates parameter and return types in LWJGL bindings with the C type as defined in the native function. NonnullDefault