Class WNDCLASSEX

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

    public class WNDCLASSEX
    extends Struct
    implements NativeResource
    Contains the window class attributes that are registered by the User32.RegisterClassEx(org.lwjgl.system.windows.WNDCLASSEX) function.

    Member documentation

    • cbSize – the size, in bytes, of this structure
    • style – the class style(s)
    • lpfnWndProc – a pointer to the window procedure
    • cbClsExtra – the number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero.
    • cbWndExtra – the number of extra bytes to allocate following the window instance. The system initializes the bytes to zero.
    • hInstance – a handle to the instance that contains the window procedure for the class
    • hIcon – a handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon.
    • hCursor – a handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window.
    • hbrBackground – a handle to the class background brush. This member can be a handle to the brush to be used for painting the background, or it can be a color value. When this member is NULL, an application must paint its own background whenever it is requested to paint in its client area.
    • lpszMenuName – pointer to a null-terminated character string that specifies the resource name of the class menu, as the name appears in the resource file. If this member is NULL, windows belonging to this class have no default menu.
    • lpszClassName – a pointer to a null-terminated string or is an atom
    • hIconSm – a handle to a small icon that is associated with the window class. If this member is NULL, the system searches the icon resource specified by the hIcon member for an icon of the appropriate size to use as the small icon.

    Layout

    
     struct WNDCLASSEX {
         UINT cbSize;
         UINT style;
         WNDPROC lpfnWndProc;
         int cbClsExtra;
         int cbWndExtra;
         HINSTANCE hInstance;
         HICON hIcon;
         HCURSOR hCursor;
         HBRUSH hbrBackground;
         LPCTSTR lpszMenuName;
         LPCTSTR lpszClassName;
         HICON hIconSm;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • CBSIZE, STYLE, LPFNWNDPROC, CBCLSEXTRA, CBWNDEXTRA, HINSTANCE, HICON, HCURSOR, HBRBACKGROUND, LPSZMENUNAME, LPSZCLASSNAME, HICONSM

        The struct member offsets.
    • Constructor Detail

      • WNDCLASSEX

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

        public int cbSize()
        Returns the value of the cbSize field.
      • style

        public int style()
        Returns the value of the style field.
      • lpfnWndProc

        public WindowProc lpfnWndProc()
        Returns the value of the lpfnWndProc field.
      • cbClsExtra

        public int cbClsExtra()
        Returns the value of the cbClsExtra field.
      • cbWndExtra

        public int cbWndExtra()
        Returns the value of the cbWndExtra field.
      • hInstance

        public long hInstance()
        Returns the value of the hInstance field.
      • hIcon

        public long hIcon()
        Returns the value of the hIcon field.
      • hCursor

        public long hCursor()
        Returns the value of the hCursor field.
      • hbrBackground

        public long hbrBackground()
        Returns the value of the hbrBackground field.
      • lpszMenuName

        @Nullable
        public java.nio.ByteBuffer lpszMenuName()
        Returns a ByteBuffer view of the null-terminated string pointed to by the lpszMenuName field.
      • lpszMenuNameString

        @Nullable
        public java.lang.String lpszMenuNameString()
        Decodes the null-terminated string pointed to by the lpszMenuName field.
      • lpszClassName

        public java.nio.ByteBuffer lpszClassName()
        Returns a ByteBuffer view of the null-terminated string pointed to by the lpszClassName field.
      • lpszClassNameString

        public java.lang.String lpszClassNameString()
        Decodes the null-terminated string pointed to by the lpszClassName field.
      • hIconSm

        public long hIconSm()
        Returns the value of the hIconSm field.
      • cbSize

        public WNDCLASSEX cbSize​(int value)
        Sets the specified value to the cbSize field.
      • style

        public WNDCLASSEX style​(int value)
        Sets the specified value to the style field.
      • lpfnWndProc

        public WNDCLASSEX lpfnWndProc​(WindowProcI value)
        Sets the specified value to the lpfnWndProc field.
      • cbClsExtra

        public WNDCLASSEX cbClsExtra​(int value)
        Sets the specified value to the cbClsExtra field.
      • cbWndExtra

        public WNDCLASSEX cbWndExtra​(int value)
        Sets the specified value to the cbWndExtra field.
      • hInstance

        public WNDCLASSEX hInstance​(long value)
        Sets the specified value to the hInstance field.
      • hIcon

        public WNDCLASSEX hIcon​(long value)
        Sets the specified value to the hIcon field.
      • hCursor

        public WNDCLASSEX hCursor​(long value)
        Sets the specified value to the hCursor field.
      • hbrBackground

        public WNDCLASSEX hbrBackground​(long value)
        Sets the specified value to the hbrBackground field.
      • lpszMenuName

        public WNDCLASSEX lpszMenuName​(@Nullable
                                       java.nio.ByteBuffer value)
        Sets the address of the specified encoded string to the lpszMenuName field.
      • lpszClassName

        public WNDCLASSEX lpszClassName​(java.nio.ByteBuffer value)
        Sets the address of the specified encoded string to the lpszClassName field.
      • hIconSm

        public WNDCLASSEX hIconSm​(long value)
        Sets the specified value to the hIconSm field.
      • set

        public WNDCLASSEX set​(int cbSize,
                              int style,
                              WindowProcI lpfnWndProc,
                              int cbClsExtra,
                              int cbWndExtra,
                              long hInstance,
                              long hIcon,
                              long hCursor,
                              long hbrBackground,
                              @Nullable
                              java.nio.ByteBuffer lpszMenuName,
                              java.nio.ByteBuffer lpszClassName,
                              long hIconSm)
        Initializes this struct with the specified values.
      • set

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

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

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

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

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

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

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

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

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

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

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

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

        public static int ncbSize​(long struct)
        Unsafe version of cbSize().
      • nstyle

        public static int nstyle​(long struct)
        Unsafe version of style().
      • ncbClsExtra

        public static int ncbClsExtra​(long struct)
        Unsafe version of cbClsExtra().
      • ncbWndExtra

        public static int ncbWndExtra​(long struct)
        Unsafe version of cbWndExtra().
      • nhInstance

        public static long nhInstance​(long struct)
        Unsafe version of hInstance().
      • nhIcon

        public static long nhIcon​(long struct)
        Unsafe version of hIcon().
      • nhCursor

        public static long nhCursor​(long struct)
        Unsafe version of hCursor().
      • nhbrBackground

        public static long nhbrBackground​(long struct)
        Unsafe version of hbrBackground().
      • nlpszMenuName

        @Nullable
        public static java.nio.ByteBuffer nlpszMenuName​(long struct)
        Unsafe version of lpszMenuName().
      • nlpszMenuNameString

        @Nullable
        public static java.lang.String nlpszMenuNameString​(long struct)
        Unsafe version of lpszMenuNameString().
      • nlpszClassName

        public static java.nio.ByteBuffer nlpszClassName​(long struct)
        Unsafe version of lpszClassName().
      • nlpszClassNameString

        public static java.lang.String nlpszClassNameString​(long struct)
        Unsafe version of lpszClassNameString().
      • nhIconSm

        public static long nhIconSm​(long struct)
        Unsafe version of hIconSm().
      • ncbSize

        public static void ncbSize​(long struct,
                                   int value)
        Unsafe version of cbSize.
      • nstyle

        public static void nstyle​(long struct,
                                  int value)
        Unsafe version of style.
      • nlpfnWndProc

        public static void nlpfnWndProc​(long struct,
                                        WindowProcI value)
        Unsafe version of lpfnWndProc.
      • ncbClsExtra

        public static void ncbClsExtra​(long struct,
                                       int value)
        Unsafe version of cbClsExtra.
      • ncbWndExtra

        public static void ncbWndExtra​(long struct,
                                       int value)
        Unsafe version of cbWndExtra.
      • nhInstance

        public static void nhInstance​(long struct,
                                      long value)
        Unsafe version of hInstance.
      • nhIcon

        public static void nhIcon​(long struct,
                                  long value)
        Unsafe version of hIcon.
      • nhCursor

        public static void nhCursor​(long struct,
                                    long value)
        Unsafe version of hCursor.
      • nhbrBackground

        public static void nhbrBackground​(long struct,
                                          long value)
        Unsafe version of hbrBackground.
      • nlpszMenuName

        public static void nlpszMenuName​(long struct,
                                         @Nullable
                                         java.nio.ByteBuffer value)
        Unsafe version of lpszMenuName.
      • nlpszClassName

        public static void nlpszClassName​(long struct,
                                          java.nio.ByteBuffer value)
        Unsafe version of lpszClassName.
      • nhIconSm

        public static void nhIconSm​(long struct,
                                    long value)
        Unsafe version of hIconSm.
      • 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