Top Description Interfaces Classes
module lwjgl.nuklear

Package org.lwjgl.nuklear

Annotations
@NonnullDefault

Bindings to the Nuklear library.

A minimal state immediate mode graphical user interface single header toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default renderbackend or OS window and input handling but instead provides a very modular library approach by using simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends it only focuses on the actual UI.

Developed by Micha Mettke.

Interface Summary

Modifier and TypeInterface and Description
public interface
NkCommandCustomCallbackI

Type


void * (*invoke) (
    void *canvas,
    short x,
    short y,
    unsigned short w,
    unsigned short h,
    nk_handle callback_data
)
public interface
NkDrawBeginCallbackI

Instances of this interface may be set to the nk_style_* structs.

public interface
NkDrawEndCallbackI

Instances of this interface may be set to the nk_style_* structs.

public interface
NkItemGetterI

Instances of this interface may be passed to the combo_callback and combobox_callback functions.

public interface
NkPluginAllocI

Type


void * (*invoke) (
    nk_handle handle,
    void *old,
    nk_size size
)
public interface
NkPluginCopyI

Instances of this interface may be set to the NkClipboard struct.

public interface
NkPluginFilterI

Instances of this interface may be set to the NkTextEdit struct.

public interface
NkPluginFreeI

Type


void (*invoke) (
    nk_handle handle,
    void *old
)
public interface
NkPluginPasteI

Instances of this interface may be set to the NkClipboard struct.

public interface
NkQueryFontGlyphCallbackI

Instances of this interface may be set to the NkUserFont struct.

public interface
NkTextWidthCallbackI

Instances of this interface may be set to the NkUserFont struct.

public interface
NkValueGetterI

Instances of this interface may be passed to the plot_function function.

Class Summary

Modifier and TypeClass and Description
public class
NkAllocator

Layout


struct nk_allocator {
    nk_handle userdata;
    nk_plugin_alloc alloc;
    nk_plugin_free mfree;
}
public class
NkBakedFont

Layout


struct nk_baked_font {
    float height;
    float ascent;
    float descent;
    nk_rune glyph_offset;
    nk_rune glyph_count;
    nk_rune const * ranges;
}
public class
NkBuffer

Layout


struct nk_buffer {
    struct nk_buffer_marker marker[2];
    struct nk_allocator pool;
    enum nk_allocation_type type;
    struct nk_memory memory;
    float grow_factor;
    nk_size allocated;
    nk_size needed;
    nk_size calls;
    nk_size size;
}
public class
NkBufferMarker

Layout


struct nk_buffer_marker {
    nk_bool active;
    nk_size offset;
}
public class
NkChart

Layout


struct nk_chart {
    int slot;
    float x;
    float y;
    float w;
    float h;
    struct nk_chart_slot slots[NK_CHART_MAX_SLOT];
}
public class
NkChartSlot

Layout


struct nk_chart_slot {
    enum nk_chart_type type;
    struct nk_color color;
    struct nk_color highlight;
    float min;
    float max;
    float range;
    int count;
    struct nk_vec2 last;
    int index;
}
public class
NkClipboard

Layout


struct nk_clipboard {
    nk_handle userdata;
    nk_plugin_paste paste;
    nk_plugin_copy copy;
}
public class
NkColor

Layout


struct nk_color {
    nk_byte r;
    nk_byte g;
    nk_byte b;
    nk_byte a;
}
public class
NkColorf

Layout


struct nk_colorf {
    float r;
    float g;
    float b;
    float a;
}
public class
NkCommand

Layout


struct nk_command {
    enum nk_command_type type;
    nk_size next;
    nk_handle userdata;
}
public class
NkCommandBuffer

Layout


struct nk_command_buffer {
    struct nk_buffer * base;
    struct nk_rect clip;
    int use_clipping;
    nk_handle userdata;
    nk_size begin;
    nk_size end;
    nk_size last;
}
public abstract class
NkCommandCustomCallback

Type


void * (*invoke) (
    void *canvas,
    short x,
    short y,
    unsigned short w,
    unsigned short h,
    nk_handle callback_data
)
pack-priv class
NkConfigStackButtonBehavior

Layout


struct nk_config_stack_button_behavior {
    int head;
    struct nk_config_stack_button_behavior_element elements[8];
}
pack-priv class
NkConfigStackButtonBehaviorElement

Layout


struct nk_config_stack_button_behavior_element {
    enum nk_button_behavior * pValues;
    enum nk_button_behavior old_value;
}
pack-priv class
NkConfigStackColor

Layout


struct nk_config_stack_color {
    int head;
    struct nk_config_stack_color_element elements[32];
}
pack-priv class
NkConfigStackColorElement

Layout


struct nk_config_stack_color_element {
    struct nk_color * pValues;
    struct nk_color old_value;
}
pack-priv class
NkConfigStackFlags

Layout


struct nk_config_stack_flags {
    int head;
    struct nk_config_stack_flags_element elements[32];
}
pack-priv class
NkConfigStackFlagsElement

Layout


struct nk_config_stack_flags_element {
    nk_flags * pValues;
    nk_flags old_value;
}
pack-priv class
NkConfigStackFloat

Layout


struct nk_config_stack_float {
    int head;
    struct nk_config_stack_float_element elements[32];
}
pack-priv class
NkConfigStackFloatElement

Layout


struct nk_config_stack_float_element {
    float * pValues;
    float old_value;
}
pack-priv class
NkConfigStackStyleItem

Layout


struct nk_config_stack_style_item {
    int head;
    struct nk_config_stack_style_item_element elements[16];
}
pack-priv class
NkConfigStackStyleItemElement

Layout


struct nk_config_stack_style_item_element {
    struct nk_style_item * pValues;
    struct nk_style_item old_value;
}
pack-priv class
NkConfigStackUserFont

Layout


struct nk_config_stack_user_font {
    int head;
    struct nk_config_stack_user_font_element elements[8];
}
pack-priv class
NkConfigStackUserFontElement

Layout


struct nk_config_stack_user_font_element {
    struct nk_user_font ** pValues;
    struct nk_user_font * old_value;
}
pack-priv class
NkConfigStackVec2

Layout


struct nk_config_stack_vec2 {
    int head;
    struct nk_config_stack_vec2_element elements[16];
}
pack-priv class
NkConfigStackVec2Element

Layout


struct nk_config_stack_vec2_element {
    struct nk_vec2 * pValues;
    struct nk_vec2 old_value;
}
pack-priv class
public class
NkContext

Layout


struct nk_context {
    struct nk_input input;
    struct nk_style style;
    struct nk_buffer memory;
    struct nk_clipboard clip;
    nk_flags last_widget_state;
    enum nk_button_behavior button_behavior;
    struct nk_configuration_stacks stacks;
    float delta_time_seconds;
    struct nk_draw_list draw_list;
    nk_handle userdata;
    struct nk_text_edit text_edit;
    struct nk_command_buffer overlay;
    int build;
    int use_pool;
    struct nk_pool pool;
    struct nk_window * begin;
    struct nk_window * end;
    struct nk_window * active;
    struct nk_window * current;
    struct nk_page_element * freelist;
    unsigned int count;
    unsigned int seq;
}
public class
NkConvertConfig

Layout


struct nk_convert_config {
    float global_alpha;
    enum nk_anti_aliasing line_AA;
    enum nk_anti_aliasing shape_AA;
    unsigned int circle_segment_count;
    unsigned int arc_segment_count;
    unsigned int curve_segment_count;
    struct nk_draw_null_texture tex_null;
    struct nk_draw_vertex_layout_element * vertex_layout;
    nk_size vertex_size;
    nk_size vertex_alignment;
}
public class
NkCursor

Layout


struct nk_cursor {
    struct nk_image img;
    struct nk_vec2 size;
    struct nk_vec2 offset;
}
public abstract class
NkDrawBeginCallback

Instances of this class may be set to the nk_style_* structs.

public class
NkDrawCommand

Layout


struct nk_draw_command {
    unsigned int elem_count;
    struct nk_rect clip_rect;
    nk_handle texture;
    nk_handle userdata;
}
public abstract class
NkDrawEndCallback

Instances of this class may be set to the nk_style_* structs.

public class
NkDrawList

Layout


struct nk_draw_list {
    struct nk_rect clip_rect;
    struct nk_vec2 circle_vtx[12];
    struct nk_convert_config config;
    struct nk_buffer * buffer;
    struct nk_buffer * vertices;
    struct nk_buffer * elements;
    unsigned int element_count;
    unsigned int vertex_count;
    unsigned int cmd_count;
    nk_size cmd_offset;
    unsigned int path_count;
    unsigned int path_offset;
    enum nk_anti_aliasing line_AA;
    enum nk_anti_aliasing shape_AA;
    nk_handle userdata;
}
public class
NkDrawNullTexture

Layout


struct nk_draw_null_texture {
    nk_handle texture;
    struct nk_vec2 uv;
}
public class
NkDrawVertexLayoutElement

Layout


struct nk_draw_vertex_layout_element {
    enum nk_draw_vertex_layout_attribute attribute;
    enum nk_draw_vertex_layout_format format;
    nk_size offset;
}
public class
NkEditState

Layout


struct nk_edit_state {
    nk_hash name;
    unsigned int seq;
    unsigned int old;
    int active;
    int prev;
    int cursor;
    int sel_start;
    int sel_end;
    struct nk_scroll scrollbar;
    unsigned char mode;
    bool single_line;
}
public class
NkFont

Layout


struct nk_font {
    struct nk_font * next;
    struct nk_user_font handle;
    struct nk_baked_font info;
    float scale;
    struct nk_font_glyph * glyphs;
    struct nk_font_glyph const * fallback;
    nk_rune fallback_codepoint;
    nk_handle texture;
    struct nk_font_config * config;
}
public class
NkFontAtlas

Layout


struct nk_font_atlas {
    void * pixel;
    int tex_width;
    int tex_height;
    struct nk_allocator permanent;
    struct nk_allocator temporary;
    struct nk_recti custom;
    struct nk_cursor cursors[7];
    int glyph_count;
    struct nk_font_glyph * glyphs;
    struct nk_font * default_font;
    struct nk_font * fonts;
    struct nk_font_config * config;
    int font_num;
}
public class
NkFontConfig

Layout


struct nk_font_config {
    struct nk_font_config * next;
    void * ttf_blob;
    nk_size ttf_size;
    unsigned char ttf_data_owned_by_atlas;
    unsigned char merge_mode;
    unsigned char pixel_snap;
    unsigned char oversample_v;
    unsigned char oversample_h;
    unsigned char padding[3];
    float size;
    enum nk_font_coord_type coord_type;
    struct nk_vec2 spacing;
    nk_rune const * range;
    struct nk_baked_font * font;
    nk_rune fallback_glyph;
    struct nk_font_config * n;
    struct nk_font_config * p;
}
public class
NkFontGlyph

Layout


struct nk_font_glyph {
    nk_rune codepoint;
    float xadvance;
    float x0;
    float y0;
    float x1;
    float y1;
    float w;
    float h;
    float u0;
    float v0;
    float u1;
    float v1;
}
public class
NkHandle

Layout


union nk_handle {
    void * ptr;
    int id;
}
public class
NkImage

Layout


struct nk_image {
    nk_handle handle;
    nk_ushort w;
    nk_ushort h;
    nk_ushort region[4];
}
public class
NkInput

Layout


struct nk_input {
    struct nk_keyboard keyboard;
    struct nk_mouse mouse;
}
public abstract class
NkItemGetter

Instances of this class may be passed to the combo_callback and combobox_callback functions.

public class
NkKey

Layout


struct nk_key {
    nk_bool down;
    unsigned int clicked;
}
public class
NkKeyboard

Layout


struct nk_keyboard {
    struct nk_key keys[NK_KEY_MAX];
    char text[NK_INPUT_MAX];
    int text_len;
}
public class
NkListView

Layout


struct nk_list_view {
    int begin;
    int end;
    int count;
    int total_height;
    struct nk_context * ctx;
    nk_uint * scroll_pointer;
    nk_uint scroll_value;
}
public class
NkMemory

Layout


struct nk_memory {
    void * ptr;
    nk_size size;
}
public class
NkMemoryStatus

Layout


struct nk_memory_status {
    void * memory;
    unsigned int type;
    nk_size size;
    nk_size allocated;
    nk_size needed;
    nk_size calls;
}
public class
NkMenuState

Layout


struct nk_menu_state {
    float x;
    float y;
    float w;
    float h;
    struct nk_scroll offset;
}
public class
NkMouse

Layout


struct nk_mouse {
    struct nk_mouse_button buttons[NK_BUTTON_MAX];
    struct nk_vec2 pos;
    struct nk_vec2 down_pos;
    struct nk_vec2 prev;
    struct nk_vec2 delta;
    struct nk_vec2 scroll_delta;
    bool grab;
    bool grabbed;
    bool ungrab;
}
public class
NkMouseButton

Layout


struct nk_mouse_button {
    nk_bool down;
    unsigned int clicked;
    struct nk_vec2 clicked_pos;
}
public class
NkNineSlice

Layout


struct nk_nine_slice {
    struct nk_image img;
    nk_ushort l;
    nk_ushort t;
    nk_ushort r;
    nk_ushort b;
}
public class
NkPanel

Layout


struct nk_panel {
    enum nk_panel_type type;
    nk_flags flags;
    struct nk_rect bounds;
    nk_uint * offset_x;
    nk_uint * offset_y;
    float at_x;
    float at_y;
    float max_x;
    float footer_height;
    float header_height;
    float border;
    unsigned int has_scrolling;
    struct nk_rect clip;
    struct nk_menu_state menu;
    struct nk_row_layout row;
    struct nk_chart chart;
    struct nk_command_buffer * buffer;
    struct nk_panel * parent;
}
public abstract class
NkPluginAlloc

Type


void * (*invoke) (
    nk_handle handle,
    void *old,
    nk_size size
)
public abstract class
NkPluginCopy

Instances of this class may be set to the NkClipboard struct.

public abstract class
NkPluginFilter

Instances of this class may be set to the NkTextEdit struct.

public abstract class
NkPluginFree

Type


void (*invoke) (
    nk_handle handle,
    void *old
)
public abstract class
NkPluginPaste

Instances of this class may be set to the NkClipboard struct.

pack-priv class
NkPool

Layout


struct nk_pool {
    struct nk_allocator alloc;
    enum nk_allocation_type type;
    unsigned int page_count;
    struct nk_page * pages;
    struct nk_page_element * freelist;
    unsigned capacity;
    nk_size size;
    nk_size cap;
}
public class
NkPopupBuffer

Layout


struct nk_popup_buffer {
    nk_size begin;
    nk_size parent;
    nk_size last;
    nk_size end;
    nk_bool active;
}
public class
NkPopupState

Layout


struct nk_popup_state {
    struct nk_window * win;
    enum nk_panel_type type;
    struct nk_popup_buffer buf;
    nk_hash name;
    nk_bool active;
    unsigned combo_count;
    unsigned con_count;
    unsigned con_old;
    unsigned active_con;
    struct nk_rect header;
}
public class
NkPropertyState

Layout


struct nk_property_state {
    int active;
    int prev;
    char buffer[NK_MAX_NUMBER_BUFFER];
    int length;
    int cursor;
    int select_start;
    int select_end;
    nk_hash name;
    unsigned int seq;
    unsigned int old;
    int state;
}
public abstract class
NkQueryFontGlyphCallback

Instances of this class may be set to the NkUserFont struct.

public class
NkRect

Layout


struct nk_rect {
    float x;
    float y;
    float w;
    float h;
}
public class
NkRecti

Layout


struct nk_recti {
    short x;
    short y;
    short w;
    short h;
}
public class
NkRowLayout

Layout


struct nk_row_layout {
    enum nk_panel_row_layout_type type;
    int index;
    float height;
    float min_height;
    int columns;
    float const * ratio;
    float item_width;
    float item_height;
    float item_offset;
    float filled;
    struct nk_rect item;
    int tree_depth;
    float templates[16];
}
public class
NkScroll

Layout


struct nk_scroll {
    nk_uint x;
    nk_uint y;
}
public class
NkStr

Basic string buffer which is only used in context with the text editor to manage and manipulate dynamic or fixed size string content.

public class
public class
NkStyleButton

Layout


struct nk_style_button {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_color text_background;
    struct nk_color text_normal;
    struct nk_color text_hover;
    struct nk_color text_active;
    nk_flags text_alignment;
    float border;
    float rounding;
    struct nk_vec2 padding;
    struct nk_vec2 image_padding;
    struct nk_vec2 touch_padding;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleChart

Layout


struct nk_style_chart {
    struct nk_style_item background;
    struct nk_color border_color;
    struct nk_color selected_color;
    struct nk_color color;
    float border;
    float rounding;
    struct nk_vec2 padding;
}
public class
NkStyleCombo

Layout


struct nk_style_combo {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_color label_normal;
    struct nk_color label_hover;
    struct nk_color label_active;
    struct nk_color symbol_normal;
    struct nk_color symbol_hover;
    struct nk_color symbol_active;
    struct nk_style_button button;
    enum nk_symbol_type sym_normal;
    enum nk_symbol_type sym_hover;
    enum nk_symbol_type sym_active;
    float border;
    float rounding;
    struct nk_vec2 content_padding;
    struct nk_vec2 button_padding;
    struct nk_vec2 spacing;
}
public class
NkStyleEdit

Layout


struct nk_style_edit {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_style_scrollbar scrollbar;
    struct nk_color cursor_normal;
    struct nk_color cursor_hover;
    struct nk_color cursor_text_normal;
    struct nk_color cursor_text_hover;
    struct nk_color text_normal;
    struct nk_color text_hover;
    struct nk_color text_active;
    struct nk_color selected_normal;
    struct nk_color selected_hover;
    struct nk_color selected_text_normal;
    struct nk_color selected_text_hover;
    float border;
    float rounding;
    float cursor_size;
    struct nk_vec2 scrollbar_size;
    struct nk_vec2 padding;
    float row_padding;
}
public class
NkStyleItem

Layout


struct nk_style_item {
    enum nk_style_item_type type;
    union nk_style_item_data data;
}
public class
NkStyleItemData

Layout


union nk_style_item_data {
    struct nk_color color;
    struct nk_image image;
    struct nk_nine_slice slice;
}
public class
NkStyleProgress

Layout


struct nk_style_progress {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_style_item cursor_normal;
    struct nk_style_item cursor_hover;
    struct nk_style_item cursor_active;
    struct nk_color cursor_border_color;
    float rounding;
    float border;
    float cursor_border;
    float cursor_rounding;
    struct nk_vec2 padding;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleProperty

Layout


struct nk_style_property {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_color label_normal;
    struct nk_color label_hover;
    struct nk_color label_active;
    enum nk_symbol_type sym_left;
    enum nk_symbol_type sym_right;
    float border;
    float rounding;
    struct nk_vec2 padding;
    struct nk_style_edit edit;
    struct nk_style_button inc_button;
    struct nk_style_button dec_button;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleScrollbar

Layout


struct nk_style_scrollbar {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_style_item cursor_normal;
    struct nk_style_item cursor_hover;
    struct nk_style_item cursor_active;
    struct nk_color cursor_border_color;
    float border;
    float rounding;
    float border_cursor;
    float rounding_cursor;
    struct nk_vec2 padding;
    int show_buttons;
    struct nk_style_button inc_button;
    struct nk_style_button dec_button;
    enum nk_symbol_type inc_symbol;
    enum nk_symbol_type dec_symbol;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleSelectable

Layout


struct nk_style_selectable {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item pressed;
    struct nk_style_item normal_active;
    struct nk_style_item hover_active;
    struct nk_style_item pressed_active;
    struct nk_color text_normal;
    struct nk_color text_hover;
    struct nk_color text_pressed;
    struct nk_color text_normal_active;
    struct nk_color text_hover_active;
    struct nk_color text_pressed_active;
    struct nk_color text_background;
    nk_flags text_alignment;
    float rounding;
    struct nk_vec2 padding;
    struct nk_vec2 touch_padding;
    struct nk_vec2 image_padding;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleSlider

Layout


struct nk_style_slider {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_color bar_normal;
    struct nk_color bar_hover;
    struct nk_color bar_active;
    struct nk_color bar_filled;
    struct nk_style_item cursor_normal;
    struct nk_style_item cursor_hover;
    struct nk_style_item cursor_active;
    float border;
    float rounding;
    float bar_height;
    struct nk_vec2 padding;
    struct nk_vec2 spacing;
    struct nk_vec2 cursor_size;
    int show_buttons;
    struct nk_style_button inc_button;
    struct nk_style_button dec_button;
    enum nk_symbol_type inc_symbol;
    enum nk_symbol_type dec_symbol;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleTab

Layout


struct nk_style_tab {
    struct nk_style_item background;
    struct nk_color border_color;
    struct nk_color text;
    struct nk_style_button tab_maximize_button;
    struct nk_style_button tab_minimize_button;
    struct nk_style_button node_maximize_button;
    struct nk_style_button node_minimize_button;
    enum nk_symbol_type sym_minimize;
    enum nk_symbol_type sym_maximize;
    float border;
    float rounding;
    float indent;
    struct nk_vec2 padding;
    struct nk_vec2 spacing;
}
public class
NkStyleText

Layout


struct nk_style_text {
    struct nk_color color;
    struct nk_vec2 padding;
}
public class
NkStyleToggle

Layout


struct nk_style_toggle {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_color border_color;
    struct nk_style_item cursor_normal;
    struct nk_style_item cursor_hover;
    struct nk_color text_normal;
    struct nk_color text_hover;
    struct nk_color text_active;
    struct nk_color text_background;
    nk_flags text_alignment;
    struct nk_vec2 padding;
    struct nk_vec2 touch_padding;
    float spacing;
    float border;
    nk_handle userdata;
    nk_draw_begin draw_begin;
    nk_draw_end draw_end;
}
public class
NkStyleWindow

Layout


struct nk_style_window {
    struct nk_style_window_header header;
    struct nk_style_item fixed_background;
    struct nk_color background;
    struct nk_color border_color;
    struct nk_color popup_border_color;
    struct nk_color combo_border_color;
    struct nk_color contextual_border_color;
    struct nk_color menu_border_color;
    struct nk_color group_border_color;
    struct nk_color tooltip_border_color;
    struct nk_style_item scaler;
    float border;
    float combo_border;
    float contextual_border;
    float menu_border;
    float group_border;
    float tooltip_border;
    float popup_border;
    float min_row_height_padding;
    float rounding;
    struct nk_vec2 spacing;
    struct nk_vec2 scrollbar_size;
    struct nk_vec2 min_size;
    struct nk_vec2 padding;
    struct nk_vec2 group_padding;
    struct nk_vec2 popup_padding;
    struct nk_vec2 combo_padding;
    struct nk_vec2 contextual_padding;
    struct nk_vec2 menu_padding;
    struct nk_vec2 tooltip_padding;
}
public class
NkStyleWindowHeader

Layout


struct nk_style_window_header {
    struct nk_style_item normal;
    struct nk_style_item hover;
    struct nk_style_item active;
    struct nk_style_button close_button;
    struct nk_style_button minimize_button;
    enum nk_symbol_type close_symbol;
    enum nk_symbol_type minimize_symbol;
    enum nk_symbol_type maximize_symbol;
    struct nk_color label_normal;
    struct nk_color label_hover;
    struct nk_color label_active;
    enum nk_style_header_align align;
    struct nk_vec2 padding;
    struct nk_vec2 label_padding;
    struct nk_vec2 spacing;
}
public class
NkTextEdit

Layout


struct nk_text_edit {
    struct nk_clipboard clip;
    struct nk_str string;
    nk_plugin_filter filter;
    struct nk_vec2 scrollbar;
    int cursor;
    int select_start;
    int select_end;
    unsigned char mode;
    bool cursor_at_end_of_line;
    bool initialized;
    bool has_preferred_x;
    bool single_line;
    bool active;
    char[1];
    float preferred_x;
    struct nk_text_undo_state undo;
}
public class
NkTextUndoRecord

Layout


struct nk_text_undo_record {
    int where;
    short insert_length;
    short delete_length;
    short char_storage;
}
public class
NkTextUndoState

Layout


struct nk_text_undo_state {
    struct nk_text_undo_record undo_rec[99];
    nk_rune undo_char[999];
    short undo_point;
    short redo_point;
    short undo_char_point;
    short redo_char_point;
}
public abstract class
NkTextWidthCallback

Instances of this class may be set to the NkUserFont struct.

public class
public class
NkUserFontGlyph

Layout


struct nk_user_font_glyph {
    struct nk_vec2 uv[2];
    struct nk_vec2 offset;
    float width;
    float height;
    float xadvance;
}
public abstract class
NkValueGetter

Instances of this class may be passed to the plot_function function.

public class
NkVec2

Layout


struct nk_vec2 {
    float x;
    float y;
}
public class
NkWindow

Layout


struct nk_window {
    unsigned int seq;
    nk_hash name;
    char name_string[NK_WINDOW_MAX_NAME];
    nk_flags flags;
    struct nk_rect bounds;
    struct nk_scroll scrollbar;
    struct nk_command_buffer buffer;
    struct nk_panel * layout;
    float scrollbar_hiding_timer;
    struct nk_property_state property;
    struct nk_popup_state popup;
    struct nk_edit_state edit;
    unsigned int scrolled;
    struct nk_table * tables;
    unsigned int table_count;
    struct nk_window * next;
    struct nk_window * prev;
    struct nk_window * parent;
}
public class
Nuklear

This is a minimal state immediate mode graphical user interface single header toolkit written in ANSI C and licensed under public domain.