Class NkStr

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

    public class NkStr
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Basic string buffer which is only used in context with the text editor to manage and manipulate dynamic or fixed size string content. This is NOT the default string handling method. The only instance you should have any contact with this API is if you interact with an NkTextEdit object inside one of the copy and paste functions and even there only for more advanced cases.

    Member documentation

    • len – in codepoints/runes/glyphs

    Layout

    
     struct nk_str {
         struct nk_buffer buffer;
         int len;
     }
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  NkStr.Buffer
      An array of NkStr structs.
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

        org.lwjgl.system.Pointer.Default
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIGNOF
      The struct alignment in bytes.
      static int BUFFER
      LEN
      The struct member offsets.
      static int SIZEOF
      The struct size in bytes.
      • Fields inherited from interface org.lwjgl.system.Pointer

        BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
    • Constructor Summary

      Constructors 
      Constructor Description
      NkStr​(java.nio.ByteBuffer container)
      Creates a NkStr instance at the current position of the specified ByteBuffer container.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      NkBuffer buffer()
      Returns a NkBuffer view of the buffer field.
      static NkStr calloc()
      Returns a new NkStr instance allocated with memCalloc.
      static NkStr.Buffer calloc​(int capacity)
      Returns a new NkStr.Buffer instance allocated with memCalloc.
      static NkStr callocStack()
      Returns a new NkStr instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static NkStr.Buffer callocStack​(int capacity)
      Returns a new NkStr.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static NkStr.Buffer callocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new NkStr.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static NkStr callocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new NkStr instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static NkStr create()
      Returns a new NkStr instance allocated with BufferUtils.
      static NkStr.Buffer create​(int capacity)
      Returns a new NkStr.Buffer instance allocated with BufferUtils.
      static NkStr create​(long address)
      Returns a new NkStr instance for the specified memory address.
      static NkStr.Buffer create​(long address, int capacity)
      Create a NkStr.Buffer instance at the specified memory.
      static NkStr createSafe​(long address)
      Like create, but returns null if address is NULL.
      static NkStr.Buffer createSafe​(long address, int capacity)
      Like create, but returns null if address is NULL.
      int len()
      Returns the value of the len field.
      static NkStr malloc()
      Returns a new NkStr instance allocated with memAlloc.
      static NkStr.Buffer malloc​(int capacity)
      Returns a new NkStr.Buffer instance allocated with memAlloc.
      static NkStr mallocStack()
      Returns a new NkStr instance allocated on the thread-local MemoryStack.
      static NkStr.Buffer mallocStack​(int capacity)
      Returns a new NkStr.Buffer instance allocated on the thread-local MemoryStack.
      static NkStr.Buffer mallocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new NkStr.Buffer instance allocated on the specified MemoryStack.
      static NkStr mallocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new NkStr instance allocated on the specified MemoryStack.
      static NkBuffer nbuffer​(long struct)
      Unsafe version of buffer().
      static int nlen​(long struct)
      Unsafe version of len().
      int sizeof()  
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close, free
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from class org.lwjgl.system.Pointer.Default

        address, equals, hashCode, toString
      • Methods inherited from class org.lwjgl.system.Struct

        clear, free, isNull
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • BUFFER, LEN

        The struct member offsets.
    • Constructor Detail

      • NkStr

        public NkStr​(java.nio.ByteBuffer container)
        Creates a NkStr 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()
        Specified by:
        sizeof in class org.lwjgl.system.Struct
      • buffer

        public NkBuffer buffer()
        Returns a NkBuffer view of the buffer field.
      • len

        public int len()
        Returns the value of the len field.
      • malloc

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

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

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

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

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

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

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

        public static NkStr.Buffer create​(int capacity)
        Returns a new NkStr.Buffer instance allocated with BufferUtils.
        Parameters:
        capacity - the buffer capacity
      • create

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

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

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

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

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

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

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

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

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

        public static NkStr.Buffer callocStack​(int capacity,
                                               org.lwjgl.system.MemoryStack stack)
        Returns a new NkStr.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
      • nbuffer

        public static NkBuffer nbuffer​(long struct)
        Unsafe version of buffer().
      • nlen

        public static int nlen​(long struct)
        Unsafe version of len().