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

        public static final int SIZEOF
        The struct size in bytes.
    • 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

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

        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(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,
                              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 or null if the 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
      • 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
      • 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
      • 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 WNDCLASSEX.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