Package org.lwjgl.system
Contains implementation details and platform-specific functionality required to make LWJGL work. Unlike other packages, this package and its sub-packages
make no guarantees of forward compatibility. Any public API contained here may change between releases and revisions.
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.FunctionProvider
,Library
andSharedLibrary
, used for loading shared libraries and accessing function pointers.Pointer
, used as off-heap resource abstractions.Configuration
, used for programmatic configuration at runtime.Struct
andStructBuffer
, the base classes for struct types and struct buffers.
-
Interface Summary Interface Description APIUtil.Encoder CallbackI Base interface for dynamically created native functions that call into Java code.CallbackI.B ACallback
that returns a byte value.CallbackI.D ACallback
that returns a double value.CallbackI.F ACallback
that returns a float value.CallbackI.I ACallback
that returns an int value.CallbackI.J ACallback
that returns a long value.CallbackI.N ACallback
that returns a C long value.CallbackI.P ACallback
that returns a pointer value.CallbackI.S ACallback
that returns a short value.CallbackI.V ACallback
with no return value.CallbackI.Z ACallback
that returns a boolean value.FunctionProvider A provider of native function addresses.FunctionProviderLocal A platform/device/context specific provider of native function addresses.MemoryUtil.MemoryAllocationReport The memory allocation report callback.MemoryUtil.MemoryAllocator The interface implemented by the memory allocator used by the explicit memory management API (MemoryUtil.memAlloc(int)
,MemoryUtil.memFree(java.nio.Buffer)
, etc).NativeResource Classes that implement this interface are associated with one or more native resources.Pointer Pointer interface.SharedLibrary AFunctionProvider
implementation that opens a platform-specific shared library and returns functions pointers from it. -
Class Summary Class Description APIUtil Utility class useful to API bindings.APIUtil.APIVersion A data class for API versioning information.Callback Base class for dynamically created native functions that call into Java code.CheckIntrinsics Simple index checks.Checks A 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 mirrorsjava.nio
for convenience.JNI This class contains native methods that can be used to call dynamically loaded functions.Library Initializes the LWJGL shared library and handles loading additional shared libraries.LibraryResource Handles loading of native resources in LWJGL.MathUtil Math utility class.MemoryStack An off-heap memory stack.MemoryUtil This class provides functionality for managing native memory.Pointer.Default DefaultPointer
implementation.SharedLibrary.Default SharedLibrary.Delegate Struct Base class of all struct implementations.StructBuffer<T extends Struct,SELF extends StructBuffer<T,SELF>> Base class of struct custom buffers.ThreadLocalUtil This class supports bindings with thread-local contexts. -
Enum Summary Enum Description MemoryUtil.MemoryAllocationReport.Aggregate Specifies how to aggregate the reported allocations.Platform The platforms supported by LWJGL.Platform.Architecture The architectures supported by LWJGL. -
Exception Summary Exception Description CheckIntrinsics Java 9 version ofCheckIntrinsics
.MathUtil Math utility class.MultiReleaseMemCopy MultiReleaseTextDecoding String decoding utilities.StackWalkUtil Java 9 version of{@link StackWalkUtil}
. -
Annotation Types Summary Annotation Type Description NativeType Annotates parameter and return types in LWJGL bindings with the C type as defined in the native function.NonnullDefault