Package org.lwjgl.system
@NonnullDefault
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 libffi 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.
-
ClassDescriptionUtility class useful to API bindings.A data class for API versioning information.Base class for dynamically created native functions that call into Java code.Interface for dynamically created native functions that call into Java code (upcalls).Simple index checks.A class to check buffer boundaries in general.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
java.nio
for convenience.A provider of native function addresses.A platform/device/context specific provider of native function addresses.This class contains native methods that can be used to call dynamically loaded functions.Initializes the LWJGL shared library and handles loading additional shared libraries.Handles loading of native resources in LWJGL.Math utility class.An off-heap memory stack.This class provides functionality for managing native memory.The memory allocation report callback.Specifies how to aggregate the reported allocations.The interface implemented by the memory allocator used by the explicit memory management API (MemoryUtil.memAlloc(int)
,MemoryUtil.memFree(java.nio.Buffer)
, etc).Classes that implement this interface are associated with one or more native resources.Annotates parameter and return types in LWJGL bindings with the C type as defined in the native function.The platforms supported by LWJGL.The architectures supported by LWJGL.Pointer interface.DefaultPointer
implementation.AFunctionProvider
implementation that opens a platform-specific shared library and returns functions pointers from it.Base class of all struct implementations.A functional interface that enables lambda expressions to be passed to theStruct.StructValidation.validate(long)
method.Base class of struct custom buffers.This class supports bindings with thread-local data.