Class GLFWImage

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

    public class GLFWImage
    extends Struct
    implements NativeResource
    Image data.

    This describes a single 2D image. See the documentation for each related function to see what the expected pixel format is.

    Member documentation

    • width – the width, in pixels, of this image
    • height – the height, in pixels, of this image
    • pixels – the pixel data of this image, arranged left-to-right, top-to-bottom

    Layout

    
     struct GLFWimage {
         int width;
         int height;
         unsigned char * pixels;
     }
    Since:
    version 2.1
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • WIDTH, HEIGHT, PIXELS

        The struct member offsets.
    • Constructor Detail

      • GLFWImage

        public GLFWImage​(java.nio.ByteBuffer container)
        Creates a GLFWImage 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
      • width

        public int width()
        Returns the value of the width field.
      • height

        public int height()
        Returns the value of the height field.
      • pixels

        public java.nio.ByteBuffer pixels​(int capacity)
        Returns a ByteBuffer view of the data pointed to by the pixels field.
        Parameters:
        capacity - the number of elements in the returned buffer
      • width

        public GLFWImage width​(int value)
        Sets the specified value to the width field.
      • height

        public GLFWImage height​(int value)
        Sets the specified value to the height field.
      • pixels

        public GLFWImage pixels​(java.nio.ByteBuffer value)
        Sets the address of the specified ByteBuffer to the pixels field.
      • set

        public GLFWImage set​(int width,
                             int height,
                             java.nio.ByteBuffer pixels)
        Initializes this struct with the specified values.
      • set

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

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

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

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

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

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

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

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

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

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

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

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

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

        public static GLFWImage.Buffer callocStack​(int capacity,
                                                   MemoryStack stack)
        Returns a new GLFWImage.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
      • nwidth

        public static int nwidth​(long struct)
        Unsafe version of width().
      • nheight

        public static int nheight​(long struct)
        Unsafe version of height().
      • npixels

        public static java.nio.ByteBuffer npixels​(long struct,
                                                  int capacity)
        Unsafe version of pixels.
      • nwidth

        public static void nwidth​(long struct,
                                  int value)
        Unsafe version of width.
      • nheight

        public static void nheight​(long struct,
                                   int value)
        Unsafe version of height.
      • npixels

        public static void npixels​(long struct,
                                   java.nio.ByteBuffer value)
        Unsafe version of pixels.
      • validate

        public static void validate​(long struct)
        Validates pointer members that should not be NULL.
        Parameters:
        struct - the struct to validate
      • validate

        public static void validate​(long array,
                                    int count)
        Calls validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array