Class UIVec2

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class UIVec2
    extends Struct
    implements NativeResource
    for cursor positions, mainly

    Layout

    
     struct UIvec2 {
         union {
             int v[2];
             struct {
                 int x;
                 int y;
             };
         };
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • V, X, Y

        The struct member offsets.
    • Constructor Detail

      • UIVec2

        public UIVec2​(java.nio.ByteBuffer container)
        Creates a UIVec2 instance at the current position of the specified ByteBuffer container. 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 Detail

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • v

        public java.nio.IntBuffer v()
        Returns a IntBuffer view of the v field.
      • v

        public int v​(int index)
        Returns the value at the specified index of the v field.
      • x

        public int x()
        Returns the value of the x field.
      • y

        public int y()
        Returns the value of the y field.
      • v

        public UIVec2 v​(java.nio.IntBuffer value)
        Copies the specified IntBuffer to the v field.
      • v

        public UIVec2 v​(int index,
                        int value)
        Sets the specified value at the specified index of the v field.
      • x

        public UIVec2 x​(int value)
        Sets the specified value to the x field.
      • y

        public UIVec2 y​(int value)
        Sets the specified value to the y field.
      • set

        public UIVec2 set​(UIVec2 src)
        Copies the specified struct data to this struct.
        Parameters:
        src - the source struct
        Returns:
        this struct
      • malloc

        public static UIVec2 malloc()
        Returns a new UIVec2 instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static UIVec2 calloc()
        Returns a new UIVec2 instance allocated with memCalloc. The instance must be explicitly freed.
      • create

        public static UIVec2 create()
        Returns a new UIVec2 instance allocated with BufferUtils.
      • create

        public static UIVec2 create​(long address)
        Returns a new UIVec2 instance for the specified memory address.
      • createSafe

        @Nullable
        public static UIVec2 createSafe​(long address)
        Like create, but returns null if address is NULL.
      • malloc

        public static UIVec2.Buffer malloc​(int capacity)
        Returns a new UIVec2.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • calloc

        public static UIVec2.Buffer calloc​(int capacity)
        Returns a new UIVec2.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • create

        public static UIVec2.Buffer create​(long address,
                                           int capacity)
        Create a UIVec2.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static UIVec2.Buffer createSafe​(long address,
                                               int capacity)
        Like create, but returns null if address is NULL.
      • mallocStack

        public static UIVec2 mallocStack()
        Returns a new UIVec2 instance allocated on the thread-local MemoryStack.
      • callocStack

        public static UIVec2 callocStack()
        Returns a new UIVec2 instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static UIVec2 mallocStack​(MemoryStack stack)
        Returns a new UIVec2 instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static UIVec2 callocStack​(MemoryStack stack)
        Returns a new UIVec2 instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • mallocStack

        public static UIVec2.Buffer mallocStack​(int capacity)
        Returns a new UIVec2.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static UIVec2.Buffer callocStack​(int capacity)
        Returns a new UIVec2.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • mallocStack

        public static UIVec2.Buffer mallocStack​(int capacity,
                                                MemoryStack stack)
        Returns a new UIVec2.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • callocStack

        public static UIVec2.Buffer callocStack​(int capacity,
                                                MemoryStack stack)
        Returns a new UIVec2.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • nv

        public static java.nio.IntBuffer nv​(long struct)
        Unsafe version of v().
      • nv

        public static int nv​(long struct,
                             int index)
        Unsafe version of v.
      • nx

        public static int nx​(long struct)
        Unsafe version of x().
      • ny

        public static int ny​(long struct)
        Unsafe version of y().
      • nv

        public static void nv​(long struct,
                              java.nio.IntBuffer value)
        Unsafe version of v.
      • nv

        public static void nv​(long struct,
                              int index,
                              int value)
        Unsafe version of v.
      • nx

        public static void nx​(long struct,
                              int value)
        Unsafe version of x.
      • ny

        public static void ny​(long struct,
                              int value)
        Unsafe version of y.