Package org.lwjgl.openxr
Class XrEventDataBuffer
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrEventDataBuffer>
org.lwjgl.openxr.XrEventDataBuffer
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrEventDataBuffer
extends org.lwjgl.system.Struct<XrEventDataBuffer>
implements org.lwjgl.system.NativeResource
Event buffer.
Description
The XrEventDataBuffer is a structure passed to PollEvent large enough to contain any returned event data element. The maximum size is specified by MAX_EVENT_DATA_SIZE.
An application can set (or reset) only the type member and clear the next member of an XrEventDataBuffer before passing it as an input to PollEvent. The runtime must ignore the contents of the varying field and overwrite it without reading it.
A pointer to an XrEventDataBuffer may be type-cast to an XrEventDataBaseHeader pointer, or a pointer to any other appropriate event data based on the type parameter.
Valid Usage (Implicit)
typemust beTYPE_EVENT_DATA_BUFFERnextmust beNULLor a valid pointer to the next structure in a structure chain
See Also
XrEventDataBaseHeader, PollEvent
Layout
struct XrEventDataBuffer {
XrStructureType type();
void const * next();
uint8_t varying()[4000];
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrEventDataBuffer(ByteBuffer container) Creates aXrEventDataBufferinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrEventDataBuffercalloc()Returns a newXrEventDataBufferinstance allocated withmemCalloc.static XrEventDataBuffer.Buffercalloc(int capacity) Returns a newXrEventDataBuffer.Bufferinstance allocated withmemCalloc.static XrEventDataBuffer.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataBuffer.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrEventDataBuffercalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataBufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrEventDataBuffercreate()Returns a newXrEventDataBufferinstance allocated withBufferUtils.static XrEventDataBuffer.Buffercreate(int capacity) Returns a newXrEventDataBuffer.Bufferinstance allocated withBufferUtils.static XrEventDataBuffercreate(long address) Returns a newXrEventDataBufferinstance for the specified memory address.static XrEventDataBuffer.Buffercreate(long address, int capacity) Create aXrEventDataBuffer.Bufferinstance at the specified memory.static @Nullable XrEventDataBuffercreateSafe(long address) static @Nullable XrEventDataBuffer.BuffercreateSafe(long address, int capacity) static XrEventDataBuffermalloc()Returns a newXrEventDataBufferinstance allocated withmemAlloc.static XrEventDataBuffer.Buffermalloc(int capacity) Returns a newXrEventDataBuffer.Bufferinstance allocated withmemAlloc.static XrEventDataBuffer.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataBuffer.Bufferinstance allocated on the specifiedMemoryStack.static XrEventDataBuffermalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataBufferinstance allocated on the specifiedMemoryStack.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.static ByteBuffernvarying(long struct) Unsafe version ofvarying().static bytenvarying(long struct, int index) Unsafe version ofvarying.static voidnvarying(long struct, int index, byte value) Unsafe version ofvarying.static voidnvarying(long struct, ByteBuffer value) Unsafe version ofvarying.set(int type, long next, ByteBuffer varying) Initializes this struct with the specified values.set(XrEventDataBuffer src) Copies the specified struct data to this struct.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_EVENT_DATA_BUFFERvalue to thetype()field.varying()a fixed sized output buffer big enough to hold returned data elements for all specified event data types.bytevarying(int index) a fixed sized output buffer big enough to hold returned data elements for all specified event data types.varying(int index, byte value) Sets the specified value at the specified index of thevarying()field.varying(ByteBuffer value) Copies the specifiedByteBufferto thevarying()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
VARYING
public static final int VARYINGThe struct member offsets.
-
-
Constructor Details
-
XrEventDataBuffer
Creates aXrEventDataBufferinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrEventDataBuffer>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR. -
varying
a fixed sized output buffer big enough to hold returned data elements for all specified event data types. -
varying
public byte varying(int index) a fixed sized output buffer big enough to hold returned data elements for all specified event data types. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_EVENT_DATA_BUFFERvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
varying
Copies the specifiedByteBufferto thevarying()field. -
varying
Sets the specified value at the specified index of thevarying()field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrEventDataBufferinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrEventDataBufferinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrEventDataBufferinstance allocated withBufferUtils. -
create
Returns a newXrEventDataBufferinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrEventDataBuffer.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrEventDataBuffer.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrEventDataBuffer.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrEventDataBuffer.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrEventDataBufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrEventDataBufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newXrEventDataBuffer.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newXrEventDataBuffer.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
nvarying
Unsafe version ofvarying(). -
nvarying
public static byte nvarying(long struct, int index) Unsafe version ofvarying. -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nvarying
Unsafe version ofvarying. -
nvarying
public static void nvarying(long struct, int index, byte value) Unsafe version ofvarying.
-