Skip to content

Instantly share code, notes, and snippets.

@zacharycarter
Created January 21, 2017 04:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zacharycarter/5f49108595fee8437a82ae78a0f614c2 to your computer and use it in GitHub Desktop.
Save zacharycarter/5f49108595fee8437a82ae78a0f614c2 to your computer and use it in GitHub Desktop.
➜ nuklear git:(master) ✗ nim c nuklear.nim
Hint: used config file '/Users/zachcarter/projects/Nim/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: nuklear [Processing]
nuklear.nim(281, 128) Error: type mismatch: got (nk_widget_states, nk_widget_states)
but expected one of:
proc `or`(x, y: bool): bool
proc `or`(x, y: int): int
proc `or`(x, y: int16): int16
proc `or`[T: SomeUnsignedInt](x, y: T): T
proc `or`(x, y: int64): int64
proc `or`(x, y: int32): int32
proc `or`(x, y: int8): int8
#ifdef C2NIM
# cdecl
#mangle _dummy_array407 dummy_array407
#mangle _dummy_array408 dummy_array408
#mangle _dummy_array409 dummy_array409
#mangle _dummy_array410 dummy_array410
#mangle _dummy_array411 dummy_array411
#mangle _dummy_array412 dummy_array412
#mangle _dummy_array413 dummy_array413
#mangle _dummy_array414 dummy_array414
#mangle _dummy_array415 dummy_array415
#endif
# 1 "nuklear.h"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 330 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "nuklear.h" 2
# 390 "nuklear.h"
typedef char nk_char;
typedef unsigned char nk_uchar;
typedef unsigned char nk_byte;
typedef signed short nk_short;
typedef unsigned short nk_ushort;
typedef signed int nk_int;
typedef unsigned int nk_uint;
typedef unsigned long nk_size;
typedef unsigned long nk_ptr;
typedef nk_uint nk_hash;
typedef nk_uint nk_flags;
typedef nk_uint nk_rune;
typedef char _dummy_array407[(sizeof(nk_short) == 2)?1:-1];
typedef char _dummy_array408[(sizeof(nk_ushort) == 2)?1:-1];
typedef char _dummy_array409[(sizeof(nk_uint) == 4)?1:-1];
typedef char _dummy_array410[(sizeof(nk_int) == 4)?1:-1];
typedef char _dummy_array411[(sizeof(nk_byte) == 1)?1:-1];
typedef char _dummy_array412[(sizeof(nk_flags) >= 4)?1:-1];
typedef char _dummy_array413[(sizeof(nk_rune) >= 4)?1:-1];
typedef char _dummy_array414[(sizeof(nk_size) >= sizeof(void*))?1:-1];
typedef char _dummy_array415[(sizeof(nk_ptr) >= sizeof(void*))?1:-1];
struct nk_buffer;
struct nk_command_buffer;
struct nk_draw_command;
struct nk_style_item;
struct nk_text_edit;
struct nk_draw_list;
struct nk_user_font;
struct nk_panel;
struct nk_context;
struct nk_draw_vertex_layout_element;
struct nk_style_button;
struct nk_style_toggle;
struct nk_style_selectable;
struct nk_style_slide;
struct nk_style_progress;
struct nk_style_scrollbar;
struct nk_style_edit;
struct nk_style_property;
struct nk_style_chart;
struct nk_style_combo;
struct nk_style_tab;
struct nk_style_window_header;
struct nk_style_window;
enum {nk_false, nk_true};
struct nk_color {nk_byte r,g,b,a;};
struct nk_colorf {float r,g,b,a;};
struct nk_vec2 {float x,y;};
struct nk_vec2i {short x, y;};
struct nk_rect {float x,y,w,h;};
struct nk_recti {short x,y,w,h;};
typedef char nk_glyph[4];
typedef union {void *ptr; int id;} nk_handle;
struct nk_image {nk_handle handle;unsigned short w,h;unsigned short region[4];};
struct nk_cursor {struct nk_image img; struct nk_vec2 size, offset;};
struct nk_scroll {nk_uint x, y;};
enum nk_heading {NK_UP, NK_RIGHT, NK_DOWN, NK_LEFT};
enum nk_button_behavior {NK_BUTTON_DEFAULT, NK_BUTTON_REPEATER};
enum nk_modify {NK_FIXED = nk_false, NK_MODIFIABLE = nk_true};
enum nk_orientation {NK_VERTICAL, NK_HORIZONTAL};
enum nk_collapse_states {NK_MINIMIZED = nk_false, NK_MAXIMIZED = nk_true};
enum nk_show_states {NK_HIDDEN = nk_false, NK_SHOWN = nk_true};
enum nk_chart_type {NK_CHART_LINES, NK_CHART_COLUMN, NK_CHART_MAX};
enum nk_chart_event {NK_CHART_HOVERING = 0x01, NK_CHART_CLICKED = 0x02};
enum nk_color_format {NK_RGB, NK_RGBA};
enum nk_popup_type {NK_POPUP_STATIC, NK_POPUP_DYNAMIC};
enum nk_layout_format {NK_DYNAMIC, NK_STATIC};
enum nk_tree_type {NK_TREE_NODE, NK_TREE_TAB};
enum nk_anti_aliasing {NK_ANTI_ALIASING_OFF, NK_ANTI_ALIASING_ON};
typedef void*(*nk_plugin_alloc)(nk_handle, void *old, nk_size);
typedef void (*nk_plugin_free)(nk_handle, void *old);
typedef int(*nk_plugin_filter)(const struct nk_text_edit*, nk_rune unicode);
typedef void(*nk_plugin_paste)(nk_handle, struct nk_text_edit*);
typedef void(*nk_plugin_copy)(nk_handle, const char*, int len);
struct nk_allocator {
nk_handle userdata;
nk_plugin_alloc alloc;
nk_plugin_free free;
};
struct nk_draw_null_texture {
nk_handle texture;
struct nk_vec2 uv;
};
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 null;
const struct nk_draw_vertex_layout_element *vertex_layout;
nk_size vertex_size;
nk_size vertex_alignment;
};
struct nk_list_view {
int begin, end, count;
int total_height;
struct nk_context *ctx;
nk_uint *scroll_pointer;
nk_uint scroll_value;
};
enum nk_symbol_type {
NK_SYMBOL_NONE,
NK_SYMBOL_X,
NK_SYMBOL_UNDERSCORE,
NK_SYMBOL_CIRCLE_SOLID,
NK_SYMBOL_CIRCLE_OUTLINE,
NK_SYMBOL_RECT_SOLID,
NK_SYMBOL_RECT_OUTLINE,
NK_SYMBOL_TRIANGLE_UP,
NK_SYMBOL_TRIANGLE_DOWN,
NK_SYMBOL_TRIANGLE_LEFT,
NK_SYMBOL_TRIANGLE_RIGHT,
NK_SYMBOL_PLUS,
NK_SYMBOL_MINUS,
NK_SYMBOL_MAX
};
enum nk_keys {
NK_KEY_NONE,
NK_KEY_SHIFT,
NK_KEY_CTRL,
NK_KEY_DEL,
NK_KEY_ENTER,
NK_KEY_TAB,
NK_KEY_BACKSPACE,
NK_KEY_COPY,
NK_KEY_CUT,
NK_KEY_PASTE,
NK_KEY_UP,
NK_KEY_DOWN,
NK_KEY_LEFT,
NK_KEY_RIGHT,
NK_KEY_TEXT_INSERT_MODE,
NK_KEY_TEXT_REPLACE_MODE,
NK_KEY_TEXT_RESET_MODE,
NK_KEY_TEXT_LINE_START,
NK_KEY_TEXT_LINE_END,
NK_KEY_TEXT_START,
NK_KEY_TEXT_END,
NK_KEY_TEXT_UNDO,
NK_KEY_TEXT_REDO,
NK_KEY_TEXT_SELECT_ALL,
NK_KEY_TEXT_WORD_LEFT,
NK_KEY_TEXT_WORD_RIGHT,
NK_KEY_SCROLL_START,
NK_KEY_SCROLL_END,
NK_KEY_SCROLL_DOWN,
NK_KEY_SCROLL_UP,
NK_KEY_MAX
};
enum nk_buttons {
NK_BUTTON_LEFT,
NK_BUTTON_MIDDLE,
NK_BUTTON_RIGHT,
NK_BUTTON_MAX
};
enum nk_style_colors {
NK_COLOR_TEXT,
NK_COLOR_WINDOW,
NK_COLOR_HEADER,
NK_COLOR_BORDER,
NK_COLOR_BUTTON,
NK_COLOR_BUTTON_HOVER,
NK_COLOR_BUTTON_ACTIVE,
NK_COLOR_TOGGLE,
NK_COLOR_TOGGLE_HOVER,
NK_COLOR_TOGGLE_CURSOR,
NK_COLOR_SELECT,
NK_COLOR_SELECT_ACTIVE,
NK_COLOR_SLIDER,
NK_COLOR_SLIDER_CURSOR,
NK_COLOR_SLIDER_CURSOR_HOVER,
NK_COLOR_SLIDER_CURSOR_ACTIVE,
NK_COLOR_PROPERTY,
NK_COLOR_EDIT,
NK_COLOR_EDIT_CURSOR,
NK_COLOR_COMBO,
NK_COLOR_CHART,
NK_COLOR_CHART_COLOR,
NK_COLOR_CHART_COLOR_HIGHLIGHT,
NK_COLOR_SCROLLBAR,
NK_COLOR_SCROLLBAR_CURSOR,
NK_COLOR_SCROLLBAR_CURSOR_HOVER,
NK_COLOR_SCROLLBAR_CURSOR_ACTIVE,
NK_COLOR_TAB_HEADER,
NK_COLOR_COUNT
};
enum nk_style_cursor {
NK_CURSOR_ARROW,
NK_CURSOR_TEXT,
NK_CURSOR_MOVE,
NK_CURSOR_RESIZE_VERTICAL,
NK_CURSOR_RESIZE_HORIZONTAL,
NK_CURSOR_RESIZE_TOP_LEFT_DOWN_RIGHT,
NK_CURSOR_RESIZE_TOP_RIGHT_DOWN_LEFT,
NK_CURSOR_COUNT
};
enum nk_widget_layout_states {
NK_WIDGET_INVALID,
NK_WIDGET_VALID,
NK_WIDGET_ROM
};
enum nk_widget_states {
NK_WIDGET_STATE_MODIFIED = (1 << (1)),
NK_WIDGET_STATE_INACTIVE = (1 << (2)),
NK_WIDGET_STATE_ENTERED = (1 << (3)),
NK_WIDGET_STATE_HOVER = (1 << (4)),
NK_WIDGET_STATE_ACTIVED = (1 << (5)),
NK_WIDGET_STATE_LEFT = (1 << (6)),
NK_WIDGET_STATE_HOVERED = NK_WIDGET_STATE_HOVER|NK_WIDGET_STATE_MODIFIED,
NK_WIDGET_STATE_ACTIVE = NK_WIDGET_STATE_ACTIVED|NK_WIDGET_STATE_MODIFIED
};
enum nk_text_align {
NK_TEXT_ALIGN_LEFT = 0x01,
NK_TEXT_ALIGN_CENTERED = 0x02,
NK_TEXT_ALIGN_RIGHT = 0x04,
NK_TEXT_ALIGN_TOP = 0x08,
NK_TEXT_ALIGN_MIDDLE = 0x10,
NK_TEXT_ALIGN_BOTTOM = 0x20
};
enum nk_text_alignment {
NK_TEXT_LEFT = NK_TEXT_ALIGN_MIDDLE|NK_TEXT_ALIGN_LEFT,
NK_TEXT_CENTERED = NK_TEXT_ALIGN_MIDDLE|NK_TEXT_ALIGN_CENTERED,
NK_TEXT_RIGHT = NK_TEXT_ALIGN_MIDDLE|NK_TEXT_ALIGN_RIGHT
};
enum nk_edit_flags {
NK_EDIT_DEFAULT = 0,
NK_EDIT_READ_ONLY = (1 << (0)),
NK_EDIT_AUTO_SELECT = (1 << (1)),
NK_EDIT_SIG_ENTER = (1 << (2)),
NK_EDIT_ALLOW_TAB = (1 << (3)),
NK_EDIT_NO_CURSOR = (1 << (4)),
NK_EDIT_SELECTABLE = (1 << (5)),
NK_EDIT_CLIPBOARD = (1 << (6)),
NK_EDIT_CTRL_ENTER_NEWLINE = (1 << (7)),
NK_EDIT_NO_HORIZONTAL_SCROLL = (1 << (8)),
NK_EDIT_ALWAYS_INSERT_MODE = (1 << (9)),
NK_EDIT_MULTILINE = (1 << (11)),
NK_EDIT_GOTO_END_ON_ACTIVATE = (1 << (12))
};
enum nk_edit_types {
NK_EDIT_SIMPLE = NK_EDIT_ALWAYS_INSERT_MODE,
NK_EDIT_FIELD = NK_EDIT_SIMPLE|NK_EDIT_SELECTABLE|NK_EDIT_CLIPBOARD,
NK_EDIT_BOX = NK_EDIT_ALWAYS_INSERT_MODE| NK_EDIT_SELECTABLE| NK_EDIT_MULTILINE|NK_EDIT_ALLOW_TAB|NK_EDIT_CLIPBOARD,
NK_EDIT_EDITOR = NK_EDIT_SELECTABLE|NK_EDIT_MULTILINE|NK_EDIT_ALLOW_TAB| NK_EDIT_CLIPBOARD
};
enum nk_edit_events {
NK_EDIT_ACTIVE = (1 << (0)),
NK_EDIT_INACTIVE = (1 << (1)),
NK_EDIT_ACTIVATED = (1 << (2)),
NK_EDIT_DEACTIVATED = (1 << (3)),
NK_EDIT_COMMITED = (1 << (4))
};
enum nk_panel_flags {
NK_WINDOW_BORDER = (1 << (0)),
NK_WINDOW_MOVABLE = (1 << (1)),
NK_WINDOW_SCALABLE = (1 << (2)),
NK_WINDOW_CLOSABLE = (1 << (3)),
NK_WINDOW_MINIMIZABLE = (1 << (4)),
NK_WINDOW_NO_SCROLLBAR = (1 << (5)),
NK_WINDOW_TITLE = (1 << (6)),
NK_WINDOW_SCROLL_AUTO_HIDE = (1 << (7)),
NK_WINDOW_BACKGROUND = (1 << (8)),
NK_WINDOW_SCALE_LEFT = (1 << (9)),
};
extern int nk_init_fixed(struct nk_context*, void *memory, nk_size size, const struct nk_user_font*);
extern int nk_init(struct nk_context*, struct nk_allocator*, const struct nk_user_font*);
extern int nk_init_custom(struct nk_context*, struct nk_buffer *cmds, struct nk_buffer *pool, const struct nk_user_font*);
extern void nk_clear(struct nk_context*);
extern void nk_free(struct nk_context*);
extern int nk_begin(struct nk_context*, const char *title, struct nk_rect bounds, nk_flags flags);
extern int nk_begin_titled(struct nk_context*, const char *name, const char *title, struct nk_rect bounds, nk_flags flags);
extern void nk_end(struct nk_context*);
extern struct nk_window* nk_window_find(struct nk_context *ctx, const char *name);
extern struct nk_rect nk_window_get_bounds(const struct nk_context*);
extern struct nk_vec2 nk_window_get_position(const struct nk_context*);
extern struct nk_vec2 nk_window_get_size(const struct nk_context*);
extern float nk_window_get_width(const struct nk_context*);
extern float nk_window_get_height(const struct nk_context*);
extern struct nk_panel* nk_window_get_panel(struct nk_context*);
extern struct nk_rect nk_window_get_content_region(struct nk_context*);
extern struct nk_vec2 nk_window_get_content_region_min(struct nk_context*);
extern struct nk_vec2 nk_window_get_content_region_max(struct nk_context*);
extern struct nk_vec2 nk_window_get_content_region_size(struct nk_context*);
extern struct nk_command_buffer* nk_window_get_canvas(struct nk_context*);
extern int nk_window_has_focus(const struct nk_context*);
extern int nk_window_is_collapsed(struct nk_context*, const char*);
extern int nk_window_is_closed(struct nk_context*, const char*);
extern int nk_window_is_hidden(struct nk_context*, const char*);
extern int nk_window_is_active(struct nk_context*, const char*);
extern int nk_window_is_hovered(struct nk_context*);
extern int nk_window_is_any_hovered(struct nk_context*);
extern int nk_item_is_any_active(struct nk_context*);
extern void nk_window_set_bounds(struct nk_context*, struct nk_rect);
extern void nk_window_set_position(struct nk_context*, struct nk_vec2);
extern void nk_window_set_size(struct nk_context*, struct nk_vec2);
extern void nk_window_set_focus(struct nk_context*, const char *name);
extern void nk_window_close(struct nk_context *ctx, const char *name);
extern void nk_window_collapse(struct nk_context*, const char *name, enum nk_collapse_states);
extern void nk_window_collapse_if(struct nk_context*, const char *name, enum nk_collapse_states, int cond);
extern void nk_window_show(struct nk_context*, const char *name, enum nk_show_states);
extern void nk_window_show_if(struct nk_context*, const char *name, enum nk_show_states, int cond);
extern void nk_layout_row_dynamic(struct nk_context*, float height, int cols);
extern void nk_layout_row_static(struct nk_context*, float height, int item_width, int cols);
extern void nk_layout_row_begin(struct nk_context*, enum nk_layout_format, float row_height, int cols);
extern void nk_layout_row_push(struct nk_context*, float value);
extern void nk_layout_row_end(struct nk_context*);
extern void nk_layout_row(struct nk_context*, enum nk_layout_format, float height, int cols, const float *ratio);
extern void nk_layout_row_template_begin(struct nk_context*, float height);
extern void nk_layout_row_template_push_dynamic(struct nk_context*);
extern void nk_layout_row_template_push_variable(struct nk_context*, float min_width);
extern void nk_layout_row_template_push_static(struct nk_context*, float width);
extern void nk_layout_row_template_end(struct nk_context*);
extern void nk_layout_space_begin(struct nk_context*, enum nk_layout_format, float height, int widget_count);
extern void nk_layout_space_push(struct nk_context*, struct nk_rect);
extern void nk_layout_space_end(struct nk_context*);
extern struct nk_rect nk_layout_space_bounds(struct nk_context*);
extern struct nk_vec2 nk_layout_space_to_screen(struct nk_context*, struct nk_vec2);
extern struct nk_vec2 nk_layout_space_to_local(struct nk_context*, struct nk_vec2);
extern struct nk_rect nk_layout_space_rect_to_screen(struct nk_context*, struct nk_rect);
extern struct nk_rect nk_layout_space_rect_to_local(struct nk_context*, struct nk_rect);
extern float nk_layout_ratio_from_pixel(struct nk_context*, float pixel_width);
extern int nk_group_begin(struct nk_context*, const char *title, nk_flags);
extern int nk_group_scrolled_offset_begin(struct nk_context*, nk_uint *x_offset, nk_uint *y_offset, const char*, nk_flags);
extern int nk_group_scrolled_begin(struct nk_context*, struct nk_scroll*, const char *title, nk_flags);
extern void nk_group_scrolled_end(struct nk_context*);
extern void nk_group_end(struct nk_context*);
extern int nk_list_view_begin(struct nk_context*, struct nk_list_view *out, const char *id, nk_flags, int row_height, int row_count);
extern void nk_list_view_end(struct nk_list_view*);
extern int nk_tree_push_hashed(struct nk_context*, enum nk_tree_type, const char *title, enum nk_collapse_states initial_state, const char *hash, int len,int seed);
extern int nk_tree_image_push_hashed(struct nk_context*, enum nk_tree_type, struct nk_image, const char *title, enum nk_collapse_states initial_state, const char *hash, int len,int seed);
extern void nk_tree_pop(struct nk_context*);
extern int nk_tree_state_push(struct nk_context*, enum nk_tree_type, const char *title, enum nk_collapse_states *state);
extern int nk_tree_state_image_push(struct nk_context*, enum nk_tree_type, struct nk_image, const char *title, enum nk_collapse_states *state);
extern void nk_tree_state_pop(struct nk_context*);
extern void nk_text(struct nk_context*, const char*, int, nk_flags);
extern void nk_text_colored(struct nk_context*, const char*, int, nk_flags, struct nk_color);
extern void nk_text_wrap(struct nk_context*, const char*, int);
extern void nk_text_wrap_colored(struct nk_context*, const char*, int, struct nk_color);
extern void nk_label(struct nk_context*, const char*, nk_flags align);
extern void nk_label_colored(struct nk_context*, const char*, nk_flags align, struct nk_color);
extern void nk_label_wrap(struct nk_context*, const char*);
extern void nk_label_colored_wrap(struct nk_context*, const char*, struct nk_color);
extern void nk_image(struct nk_context*, struct nk_image);
# 823 "nuklear.h"
extern void nk_button_set_behavior(struct nk_context*, enum nk_button_behavior);
extern int nk_button_push_behavior(struct nk_context*, enum nk_button_behavior);
extern int nk_button_pop_behavior(struct nk_context*);
extern int nk_button_text(struct nk_context*, const char *title, int len);
extern int nk_button_label(struct nk_context*, const char *title);
extern int nk_button_color(struct nk_context*, struct nk_color);
extern int nk_button_symbol(struct nk_context*, enum nk_symbol_type);
extern int nk_button_image(struct nk_context*, struct nk_image img);
extern int nk_button_symbol_label(struct nk_context*, enum nk_symbol_type, const char*, nk_flags text_alignment);
extern int nk_button_symbol_text(struct nk_context*, enum nk_symbol_type, const char*, int, nk_flags alignment);
extern int nk_button_image_label(struct nk_context*, struct nk_image img, const char*, nk_flags text_alignment);
extern int nk_button_image_text(struct nk_context*, struct nk_image img, const char*, int, nk_flags alignment);
extern int nk_button_text_styled(struct nk_context*, const struct nk_style_button*, const char *title, int len);
extern int nk_button_label_styled(struct nk_context*, const struct nk_style_button*, const char *title);
extern int nk_button_symbol_styled(struct nk_context*, const struct nk_style_button*, enum nk_symbol_type);
extern int nk_button_image_styled(struct nk_context*, const struct nk_style_button*, struct nk_image img);
extern int nk_button_symbol_label_styled(struct nk_context*,const struct nk_style_button*, enum nk_symbol_type, const char*, nk_flags text_alignment);
extern int nk_button_symbol_text_styled(struct nk_context*,const struct nk_style_button*, enum nk_symbol_type, const char*, int, nk_flags alignment);
extern int nk_button_image_label_styled(struct nk_context*,const struct nk_style_button*, struct nk_image img, const char*, nk_flags text_alignment);
extern int nk_button_image_text_styled(struct nk_context*,const struct nk_style_button*, struct nk_image img, const char*, int, nk_flags alignment);
extern int nk_check_label(struct nk_context*, const char*, int active);
extern int nk_check_text(struct nk_context*, const char*, int,int active);
extern unsigned nk_check_flags_label(struct nk_context*, const char*, unsigned int flags, unsigned int value);
extern unsigned nk_check_flags_text(struct nk_context*, const char*, int, unsigned int flags, unsigned int value);
extern int nk_checkbox_label(struct nk_context*, const char*, int *active);
extern int nk_checkbox_text(struct nk_context*, const char*, int, int *active);
extern int nk_checkbox_flags_label(struct nk_context*, const char*, unsigned int *flags, unsigned int value);
extern int nk_checkbox_flags_text(struct nk_context*, const char*, int, unsigned int *flags, unsigned int value);
extern int nk_radio_label(struct nk_context*, const char*, int *active);
extern int nk_radio_text(struct nk_context*, const char*, int, int *active);
extern int nk_option_label(struct nk_context*, const char*, int active);
extern int nk_option_text(struct nk_context*, const char*, int, int active);
extern int nk_selectable_label(struct nk_context*, const char*, nk_flags align, int *value);
extern int nk_selectable_text(struct nk_context*, const char*, int, nk_flags align, int *value);
extern int nk_selectable_image_label(struct nk_context*,struct nk_image, const char*, nk_flags align, int *value);
extern int nk_selectable_image_text(struct nk_context*,struct nk_image, const char*, int, nk_flags align, int *value);
extern int nk_select_label(struct nk_context*, const char*, nk_flags align, int value);
extern int nk_select_text(struct nk_context*, const char*, int, nk_flags align, int value);
extern int nk_select_image_label(struct nk_context*, struct nk_image,const char*, nk_flags align, int value);
extern int nk_select_image_text(struct nk_context*, struct nk_image,const char*, int, nk_flags align, int value);
extern float nk_slide_float(struct nk_context*, float min, float val, float max, float step);
extern int nk_slide_int(struct nk_context*, int min, int val, int max, int step);
extern int nk_slider_float(struct nk_context*, float min, float *val, float max, float step);
extern int nk_slider_int(struct nk_context*, int min, int *val, int max, int step);
extern int nk_progress(struct nk_context*, nk_size *cur, nk_size max, int modifyable);
extern nk_size nk_prog(struct nk_context*, nk_size cur, nk_size max, int modifyable);
extern struct nk_color nk_color_picker(struct nk_context*, struct nk_color, enum nk_color_format);
extern int nk_color_pick(struct nk_context*, struct nk_color*, enum nk_color_format);
extern void nk_property_int(struct nk_context*, const char *name, int min, int *val, int max, int step, float inc_per_pixel);
extern void nk_property_float(struct nk_context*, const char *name, float min, float *val, float max, float step, float inc_per_pixel);
extern void nk_property_double(struct nk_context*, const char *name, double min, double *val, double max, double step, float inc_per_pixel);
extern int nk_propertyi(struct nk_context*, const char *name, int min, int val, int max, int step, float inc_per_pixel);
extern float nk_propertyf(struct nk_context*, const char *name, float min, float val, float max, float step, float inc_per_pixel);
extern double nk_propertyd(struct nk_context*, const char *name, double min, double val, double max, double step, float inc_per_pixel);
extern void nk_edit_focus(struct nk_context *ctx, nk_flags flags);
extern nk_flags nk_edit_string(struct nk_context*, nk_flags, char *buffer, int *len, int max, nk_plugin_filter);
extern nk_flags nk_edit_buffer(struct nk_context*, nk_flags, struct nk_text_edit*, nk_plugin_filter);
extern nk_flags nk_edit_string_zero_terminated(struct nk_context*, nk_flags, char *buffer, int max, nk_plugin_filter);
extern int nk_chart_begin(struct nk_context*, enum nk_chart_type, int num, float min, float max);
extern int nk_chart_begin_colored(struct nk_context*, enum nk_chart_type, struct nk_color, struct nk_color active, int num, float min, float max);
extern void nk_chart_add_slot(struct nk_context *ctx, const enum nk_chart_type, int count, float min_value, float max_value);
extern void nk_chart_add_slot_colored(struct nk_context *ctx, const enum nk_chart_type, struct nk_color, struct nk_color active, int count, float min_value, float max_value);
extern nk_flags nk_chart_push(struct nk_context*, float);
extern nk_flags nk_chart_push_slot(struct nk_context*, float, int);
extern void nk_chart_end(struct nk_context*);
extern void nk_plot(struct nk_context*, enum nk_chart_type, const float *values, int count, int offset);
extern void nk_plot_function(struct nk_context*, enum nk_chart_type, void *userdata, float(*value_getter)(void* user, int index), int count, int offset);
extern int nk_popup_begin(struct nk_context*, enum nk_popup_type, const char*, nk_flags, struct nk_rect bounds);
extern void nk_popup_close(struct nk_context*);
extern void nk_popup_end(struct nk_context*);
extern int nk_combo(struct nk_context*, const char **items, int count, int selected, int item_height, struct nk_vec2 size);
extern int nk_combo_separator(struct nk_context*, const char *items_separated_by_separator, int separator, int selected, int count, int item_height, struct nk_vec2 size);
extern int nk_combo_string(struct nk_context*, const char *items_separated_by_zeros, int selected, int count, int item_height, struct nk_vec2 size);
extern int nk_combo_callback(struct nk_context*, void(*item_getter)(void*, int, const char**), void *userdata, int selected, int count, int item_height, struct nk_vec2 size);
extern void nk_combobox(struct nk_context*, const char **items, int count, int *selected, int item_height, struct nk_vec2 size);
extern void nk_combobox_string(struct nk_context*, const char *items_separated_by_zeros, int *selected, int count, int item_height, struct nk_vec2 size);
extern void nk_combobox_separator(struct nk_context*, const char *items_separated_by_separator, int separator,int *selected, int count, int item_height, struct nk_vec2 size);
extern void nk_combobox_callback(struct nk_context*, void(*item_getter)(void*, int, const char**), void*, int *selected, int count, int item_height, struct nk_vec2 size);
extern int nk_combo_begin_text(struct nk_context*, const char *selected, int, struct nk_vec2 size);
extern int nk_combo_begin_label(struct nk_context*, const char *selected, struct nk_vec2 size);
extern int nk_combo_begin_color(struct nk_context*, struct nk_color color, struct nk_vec2 size);
extern int nk_combo_begin_symbol(struct nk_context*, enum nk_symbol_type, struct nk_vec2 size);
extern int nk_combo_begin_symbol_label(struct nk_context*, const char *selected, enum nk_symbol_type, struct nk_vec2 size);
extern int nk_combo_begin_symbol_text(struct nk_context*, const char *selected, int, enum nk_symbol_type, struct nk_vec2 size);
extern int nk_combo_begin_image(struct nk_context*, struct nk_image img, struct nk_vec2 size);
extern int nk_combo_begin_image_label(struct nk_context*, const char *selected, struct nk_image, struct nk_vec2 size);
extern int nk_combo_begin_image_text(struct nk_context*, const char *selected, int, struct nk_image, struct nk_vec2 size);
extern int nk_combo_item_label(struct nk_context*, const char*, nk_flags alignment);
extern int nk_combo_item_text(struct nk_context*, const char*,int, nk_flags alignment);
extern int nk_combo_item_image_label(struct nk_context*, struct nk_image, const char*, nk_flags alignment);
extern int nk_combo_item_image_text(struct nk_context*, struct nk_image, const char*, int,nk_flags alignment);
extern int nk_combo_item_symbol_label(struct nk_context*, enum nk_symbol_type, const char*, nk_flags alignment);
extern int nk_combo_item_symbol_text(struct nk_context*, enum nk_symbol_type, const char*, int, nk_flags alignment);
extern void nk_combo_close(struct nk_context*);
extern void nk_combo_end(struct nk_context*);
extern int nk_contextual_begin(struct nk_context*, nk_flags, struct nk_vec2, struct nk_rect trigger_bounds);
extern int nk_contextual_item_text(struct nk_context*, const char*, int,nk_flags align);
extern int nk_contextual_item_label(struct nk_context*, const char*, nk_flags align);
extern int nk_contextual_item_image_label(struct nk_context*, struct nk_image, const char*, nk_flags alignment);
extern int nk_contextual_item_image_text(struct nk_context*, struct nk_image, const char*, int len, nk_flags alignment);
extern int nk_contextual_item_symbol_label(struct nk_context*, enum nk_symbol_type, const char*, nk_flags alignment);
extern int nk_contextual_item_symbol_text(struct nk_context*, enum nk_symbol_type, const char*, int, nk_flags alignment);
extern void nk_contextual_close(struct nk_context*);
extern void nk_contextual_end(struct nk_context*);
extern void nk_tooltip(struct nk_context*, const char*);
extern int nk_tooltip_begin(struct nk_context*, float width);
extern void nk_tooltip_end(struct nk_context*);
extern void nk_menubar_begin(struct nk_context*);
extern void nk_menubar_end(struct nk_context*);
extern int nk_menu_begin_text(struct nk_context*, const char* title, int title_len, nk_flags align, struct nk_vec2 size);
extern int nk_menu_begin_label(struct nk_context*, const char*, nk_flags align, struct nk_vec2 size);
extern int nk_menu_begin_image(struct nk_context*, const char*, struct nk_image, struct nk_vec2 size);
extern int nk_menu_begin_image_text(struct nk_context*, const char*, int,nk_flags align,struct nk_image, struct nk_vec2 size);
extern int nk_menu_begin_image_label(struct nk_context*, const char*, nk_flags align,struct nk_image, struct nk_vec2 size);
extern int nk_menu_begin_symbol(struct nk_context*, const char*, enum nk_symbol_type, struct nk_vec2 size);
extern int nk_menu_begin_symbol_text(struct nk_context*, const char*, int,nk_flags align,enum nk_symbol_type, struct nk_vec2 size);
extern int nk_menu_begin_symbol_label(struct nk_context*, const char*, nk_flags align,enum nk_symbol_type, struct nk_vec2 size);
extern int nk_menu_item_text(struct nk_context*, const char*, int,nk_flags align);
extern int nk_menu_item_label(struct nk_context*, const char*, nk_flags alignment);
extern int nk_menu_item_image_label(struct nk_context*, struct nk_image, const char*, nk_flags alignment);
extern int nk_menu_item_image_text(struct nk_context*, struct nk_image, const char*, int len, nk_flags alignment);
extern int nk_menu_item_symbol_text(struct nk_context*, enum nk_symbol_type, const char*, int, nk_flags alignment);
extern int nk_menu_item_symbol_label(struct nk_context*, enum nk_symbol_type, const char*, nk_flags alignment);
extern void nk_menu_close(struct nk_context*);
extern void nk_menu_end(struct nk_context*);
# 995 "nuklear.h"
extern void nk_input_begin(struct nk_context*);
extern void nk_input_motion(struct nk_context*, int x, int y);
extern void nk_input_key(struct nk_context*, enum nk_keys, int down);
extern void nk_input_button(struct nk_context*, enum nk_buttons, int x, int y, int down);
extern void nk_input_scroll(struct nk_context*, float y);
extern void nk_input_char(struct nk_context*, char);
extern void nk_input_glyph(struct nk_context*, const nk_glyph);
extern void nk_input_unicode(struct nk_context*, nk_rune);
extern void nk_input_end(struct nk_context*);
extern void nk_style_default(struct nk_context*);
extern void nk_style_from_table(struct nk_context*, const struct nk_color*);
extern void nk_style_load_cursor(struct nk_context*, enum nk_style_cursor, const struct nk_cursor*);
extern void nk_style_load_all_cursors(struct nk_context*, struct nk_cursor*);
extern const char* nk_style_get_color_by_name(enum nk_style_colors);
extern void nk_style_set_font(struct nk_context*, const struct nk_user_font*);
extern int nk_style_set_cursor(struct nk_context*, enum nk_style_cursor);
extern void nk_style_show_cursor(struct nk_context*);
extern void nk_style_hide_cursor(struct nk_context*);
extern int nk_style_push_font(struct nk_context*, struct nk_user_font*);
extern int nk_style_push_float(struct nk_context*, float*, float);
extern int nk_style_push_vec2(struct nk_context*, struct nk_vec2*, struct nk_vec2);
extern int nk_style_push_style_item(struct nk_context*, struct nk_style_item*, struct nk_style_item);
extern int nk_style_push_flags(struct nk_context*, nk_flags*, nk_flags);
extern int nk_style_push_color(struct nk_context*, struct nk_color*, struct nk_color);
extern int nk_style_pop_font(struct nk_context*);
extern int nk_style_pop_float(struct nk_context*);
extern int nk_style_pop_vec2(struct nk_context*);
extern int nk_style_pop_style_item(struct nk_context*);
extern int nk_style_pop_flags(struct nk_context*);
extern int nk_style_pop_color(struct nk_context*);
extern struct nk_rect nk_widget_bounds(struct nk_context*);
extern struct nk_vec2 nk_widget_position(struct nk_context*);
extern struct nk_vec2 nk_widget_size(struct nk_context*);
extern float nk_widget_width(struct nk_context*);
extern float nk_widget_height(struct nk_context*);
extern int nk_widget_is_hovered(struct nk_context*);
extern int nk_widget_is_mouse_clicked(struct nk_context*, enum nk_buttons);
extern int nk_widget_has_mouse_click_down(struct nk_context*, enum nk_buttons, int down);
extern void nk_spacing(struct nk_context*, int cols);
extern enum nk_widget_layout_states nk_widget(struct nk_rect*, const struct nk_context*);
extern enum nk_widget_layout_states nk_widget_fitting(struct nk_rect*, struct nk_context*, struct nk_vec2);
extern struct nk_color nk_rgb(int r, int g, int b);
extern struct nk_color nk_rgb_iv(const int *rgb);
extern struct nk_color nk_rgb_bv(const nk_byte* rgb);
extern struct nk_color nk_rgb_f(float r, float g, float b);
extern struct nk_color nk_rgb_fv(const float *rgb);
extern struct nk_color nk_rgb_hex(const char *rgb);
extern struct nk_color nk_rgba(int r, int g, int b, int a);
extern struct nk_color nk_rgba_u32(nk_uint);
extern struct nk_color nk_rgba_iv(const int *rgba);
extern struct nk_color nk_rgba_bv(const nk_byte *rgba);
extern struct nk_color nk_rgba_f(float r, float g, float b, float a);
extern struct nk_color nk_rgba_fv(const float *rgba);
extern struct nk_color nk_rgba_hex(const char *rgb);
extern struct nk_color nk_hsv(int h, int s, int v);
extern struct nk_color nk_hsv_iv(const int *hsv);
extern struct nk_color nk_hsv_bv(const nk_byte *hsv);
extern struct nk_color nk_hsv_f(float h, float s, float v);
extern struct nk_color nk_hsv_fv(const float *hsv);
extern struct nk_color nk_hsva(int h, int s, int v, int a);
extern struct nk_color nk_hsva_iv(const int *hsva);
extern struct nk_color nk_hsva_bv(const nk_byte *hsva);
extern struct nk_color nk_hsva_f(float h, float s, float v, float a);
extern struct nk_color nk_hsva_fv(const float *hsva);
extern void nk_color_f(float *r, float *g, float *b, float *a, struct nk_color);
extern void nk_color_fv(float *rgba_out, struct nk_color);
extern void nk_color_d(double *r, double *g, double *b, double *a, struct nk_color);
extern void nk_color_dv(double *rgba_out, struct nk_color);
extern nk_uint nk_color_u32(struct nk_color);
extern void nk_color_hex_rgba(char *output, struct nk_color);
extern void nk_color_hex_rgb(char *output, struct nk_color);
extern void nk_color_hsv_i(int *out_h, int *out_s, int *out_v, struct nk_color);
extern void nk_color_hsv_b(nk_byte *out_h, nk_byte *out_s, nk_byte *out_v, struct nk_color);
extern void nk_color_hsv_iv(int *hsv_out, struct nk_color);
extern void nk_color_hsv_bv(nk_byte *hsv_out, struct nk_color);
extern void nk_color_hsv_f(float *out_h, float *out_s, float *out_v, struct nk_color);
extern void nk_color_hsv_fv(float *hsv_out, struct nk_color);
extern void nk_color_hsva_i(int *h, int *s, int *v, int *a, struct nk_color);
extern void nk_color_hsva_b(nk_byte *h, nk_byte *s, nk_byte *v, nk_byte *a, struct nk_color);
extern void nk_color_hsva_iv(int *hsva_out, struct nk_color);
extern void nk_color_hsva_bv(nk_byte *hsva_out, struct nk_color);
extern void nk_color_hsva_f(float *out_h, float *out_s, float *out_v, float *out_a, struct nk_color);
extern void nk_color_hsva_fv(float *hsva_out, struct nk_color);
extern nk_handle nk_handle_ptr(void*);
extern nk_handle nk_handle_id(int);
extern struct nk_image nk_image_handle(nk_handle);
extern struct nk_image nk_image_ptr(void*);
extern struct nk_image nk_image_id(int);
extern int nk_image_is_subimage(const struct nk_image* img);
extern struct nk_image nk_subimage_ptr(void*, unsigned short w, unsigned short h, struct nk_rect sub_region);
extern struct nk_image nk_subimage_id(int, unsigned short w, unsigned short h, struct nk_rect sub_region);
extern struct nk_image nk_subimage_handle(nk_handle, unsigned short w, unsigned short h, struct nk_rect sub_region);
extern nk_hash nk_murmur_hash(const void *key, int len, nk_hash seed);
extern void nk_triangle_from_direction(struct nk_vec2 *result, struct nk_rect r, float pad_x, float pad_y, enum nk_heading);
extern struct nk_vec2 nk_vec2(float x, float y);
extern struct nk_vec2 nk_vec2i(int x, int y);
extern struct nk_vec2 nk_vec2v(const float *xy);
extern struct nk_vec2 nk_vec2iv(const int *xy);
extern struct nk_rect nk_get_null_rect(void);
extern struct nk_rect nk_rect(float x, float y, float w, float h);
extern struct nk_rect nk_recti(int x, int y, int w, int h);
extern struct nk_rect nk_recta(struct nk_vec2 pos, struct nk_vec2 size);
extern struct nk_rect nk_rectv(const float *xywh);
extern struct nk_rect nk_rectiv(const int *xywh);
extern struct nk_vec2 nk_rect_pos(struct nk_rect);
extern struct nk_vec2 nk_rect_size(struct nk_rect);
extern int nk_strlen(const char *str);
extern int nk_stricmp(const char *s1, const char *s2);
extern int nk_stricmpn(const char *s1, const char *s2, int n);
extern int nk_strtoi(const char *str, char **endptr);
extern float nk_strtof(const char *str, char **endptr);
extern double nk_strtod(const char *str, char **endptr);
extern int nk_strfilter(const char *text, const char *regexp);
extern int nk_strmatch_fuzzy_string(char const *str, char const *pattern, int *out_score);
extern int nk_strmatch_fuzzy_text(const char *txt, int txt_len, const char *pattern, int *out_score);
extern int nk_utf_decode(const char*, nk_rune*, int);
extern int nk_utf_encode(nk_rune, char*, int);
extern int nk_utf_len(const char*, int byte_len);
extern const char* nk_utf_at(const char *buffer, int length, int index, nk_rune *unicode, int *len);
# 1293 "nuklear.h"
struct nk_user_font_glyph;
typedef float(*nk_text_width_f)(nk_handle, float h, const char*, int len);
typedef void(*nk_query_font_glyph_f)(nk_handle handle, float font_height,
struct nk_user_font_glyph *glyph,
nk_rune codepoint, nk_rune next_codepoint);
# 1312 "nuklear.h"
struct nk_user_font {
nk_handle userdata;
float height;
nk_text_width_f width;
};
# 1487 "nuklear.h"
struct nk_memory_status {
void *memory;
unsigned int type;
nk_size size;
nk_size allocated;
nk_size needed;
nk_size calls;
};
enum nk_allocation_type {
NK_BUFFER_FIXED,
NK_BUFFER_DYNAMIC
};
enum nk_buffer_allocation_type {
NK_BUFFER_FRONT,
NK_BUFFER_BACK,
NK_BUFFER_MAX
};
struct nk_buffer_marker {
int active;
nk_size offset;
};
struct nk_memory {void *ptr;nk_size size;};
struct nk_buffer {
struct nk_buffer_marker marker[NK_BUFFER_MAX];
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;
};
extern void nk_buffer_init(struct nk_buffer*, const struct nk_allocator*, nk_size size);
extern void nk_buffer_init_fixed(struct nk_buffer*, void *memory, nk_size size);
extern void nk_buffer_info(struct nk_memory_status*, struct nk_buffer*);
extern void nk_buffer_push(struct nk_buffer*, enum nk_buffer_allocation_type type, const void *memory, nk_size size, nk_size align);
extern void nk_buffer_mark(struct nk_buffer*, enum nk_buffer_allocation_type type);
extern void nk_buffer_reset(struct nk_buffer*, enum nk_buffer_allocation_type type);
extern void nk_buffer_clear(struct nk_buffer*);
extern void nk_buffer_free(struct nk_buffer*);
extern void *nk_buffer_memory(struct nk_buffer*);
extern const void *nk_buffer_memory_const(const struct nk_buffer*);
extern nk_size nk_buffer_total(struct nk_buffer*);
# 1559 "nuklear.h"
struct nk_str {
struct nk_buffer buffer;
int len;
};
extern void nk_str_init(struct nk_str*, const struct nk_allocator*, nk_size size);
extern void nk_str_init_fixed(struct nk_str*, void *memory, nk_size size);
extern void nk_str_clear(struct nk_str*);
extern void nk_str_free(struct nk_str*);
extern int nk_str_append_text_char(struct nk_str*, const char*, int);
extern int nk_str_append_str_char(struct nk_str*, const char*);
extern int nk_str_append_text_utf8(struct nk_str*, const char*, int);
extern int nk_str_append_str_utf8(struct nk_str*, const char*);
extern int nk_str_append_text_runes(struct nk_str*, const nk_rune*, int);
extern int nk_str_append_str_runes(struct nk_str*, const nk_rune*);
extern int nk_str_insert_at_char(struct nk_str*, int pos, const char*, int);
extern int nk_str_insert_at_rune(struct nk_str*, int pos, const char*, int);
extern int nk_str_insert_text_char(struct nk_str*, int pos, const char*, int);
extern int nk_str_insert_str_char(struct nk_str*, int pos, const char*);
extern int nk_str_insert_text_utf8(struct nk_str*, int pos, const char*, int);
extern int nk_str_insert_str_utf8(struct nk_str*, int pos, const char*);
extern int nk_str_insert_text_runes(struct nk_str*, int pos, const nk_rune*, int);
extern int nk_str_insert_str_runes(struct nk_str*, int pos, const nk_rune*);
extern void nk_str_remove_chars(struct nk_str*, int len);
extern void nk_str_remove_runes(struct nk_str *str, int len);
extern void nk_str_delete_chars(struct nk_str*, int pos, int len);
extern void nk_str_delete_runes(struct nk_str*, int pos, int len);
extern char *nk_str_at_char(struct nk_str*, int pos);
extern char *nk_str_at_rune(struct nk_str*, int pos, nk_rune *unicode, int *len);
extern nk_rune nk_str_rune_at(const struct nk_str*, int pos);
extern const char *nk_str_at_char_const(const struct nk_str*, int pos);
extern const char *nk_str_at_const(const struct nk_str*, int pos, nk_rune *unicode, int *len);
extern char *nk_str_get(struct nk_str*);
extern const char *nk_str_get_const(const struct nk_str*);
extern int nk_str_len(struct nk_str*);
extern int nk_str_len_char(struct nk_str*);
# 1641 "nuklear.h"
struct nk_text_edit;
struct nk_clipboard {
nk_handle userdata;
nk_plugin_paste paste;
nk_plugin_copy copy;
};
struct nk_text_undo_record {
int where;
short insert_length;
short delete_length;
short char_storage;
};
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;
};
enum nk_text_edit_type {
NK_TEXT_EDIT_SINGLE_LINE,
NK_TEXT_EDIT_MULTI_LINE
};
enum nk_text_edit_mode {
NK_TEXT_EDIT_MODE_VIEW,
NK_TEXT_EDIT_MODE_INSERT,
NK_TEXT_EDIT_MODE_REPLACE
};
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;
unsigned char cursor_at_end_of_line;
unsigned char initialized;
unsigned char has_preferred_x;
unsigned char single_line;
unsigned char active;
unsigned char padding1;
float preferred_x;
struct nk_text_undo_state undo;
};
extern int nk_filter_default(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_ascii(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_float(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_decimal(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_hex(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_oct(const struct nk_text_edit*, nk_rune unicode);
extern int nk_filter_binary(const struct nk_text_edit*, nk_rune unicode);
extern void nk_textedit_init(struct nk_text_edit*, struct nk_allocator*, nk_size size);
extern void nk_textedit_init_fixed(struct nk_text_edit*, void *memory, nk_size size);
extern void nk_textedit_free(struct nk_text_edit*);
extern void nk_textedit_text(struct nk_text_edit*, const char*, int total_len);
extern void nk_textedit_delete(struct nk_text_edit*, int where, int len);
extern void nk_textedit_delete_selection(struct nk_text_edit*);
extern void nk_textedit_select_all(struct nk_text_edit*);
extern int nk_textedit_cut(struct nk_text_edit*);
extern int nk_textedit_paste(struct nk_text_edit*, char const*, int len);
extern void nk_textedit_undo(struct nk_text_edit*);
extern void nk_textedit_redo(struct nk_text_edit*);
# 1769 "nuklear.h"
enum nk_command_type {
NK_COMMAND_NOP,
NK_COMMAND_SCISSOR,
NK_COMMAND_LINE,
NK_COMMAND_CURVE,
NK_COMMAND_RECT,
NK_COMMAND_RECT_FILLED,
NK_COMMAND_RECT_MULTI_COLOR,
NK_COMMAND_CIRCLE,
NK_COMMAND_CIRCLE_FILLED,
NK_COMMAND_ARC,
NK_COMMAND_ARC_FILLED,
NK_COMMAND_TRIANGLE,
NK_COMMAND_TRIANGLE_FILLED,
NK_COMMAND_POLYGON,
NK_COMMAND_POLYGON_FILLED,
NK_COMMAND_POLYLINE,
NK_COMMAND_TEXT,
NK_COMMAND_IMAGE
};
struct nk_command {
enum nk_command_type type;
nk_size next;
};
struct nk_command_scissor {
struct nk_command header;
short x, y;
unsigned short w, h;
};
struct nk_command_line {
struct nk_command header;
unsigned short line_thickness;
struct nk_vec2i begin;
struct nk_vec2i end;
struct nk_color color;
};
struct nk_command_curve {
struct nk_command header;
unsigned short line_thickness;
struct nk_vec2i begin;
struct nk_vec2i end;
struct nk_vec2i ctrl[2];
struct nk_color color;
};
struct nk_command_rect {
struct nk_command header;
unsigned short rounding;
unsigned short line_thickness;
short x, y;
unsigned short w, h;
struct nk_color color;
};
struct nk_command_rect_filled {
struct nk_command header;
unsigned short rounding;
short x, y;
unsigned short w, h;
struct nk_color color;
};
struct nk_command_rect_multi_color {
struct nk_command header;
short x, y;
unsigned short w, h;
struct nk_color left;
struct nk_color top;
struct nk_color bottom;
struct nk_color right;
};
struct nk_command_triangle {
struct nk_command header;
unsigned short line_thickness;
struct nk_vec2i a;
struct nk_vec2i b;
struct nk_vec2i c;
struct nk_color color;
};
struct nk_command_triangle_filled {
struct nk_command header;
struct nk_vec2i a;
struct nk_vec2i b;
struct nk_vec2i c;
struct nk_color color;
};
struct nk_command_circle {
struct nk_command header;
short x, y;
unsigned short line_thickness;
unsigned short w, h;
struct nk_color color;
};
struct nk_command_circle_filled {
struct nk_command header;
short x, y;
unsigned short w, h;
struct nk_color color;
};
struct nk_command_arc {
struct nk_command header;
short cx, cy;
unsigned short r;
unsigned short line_thickness;
float a[2];
struct nk_color color;
};
struct nk_command_arc_filled {
struct nk_command header;
short cx, cy;
unsigned short r;
float a[2];
struct nk_color color;
};
struct nk_command_polygon {
struct nk_command header;
struct nk_color color;
unsigned short line_thickness;
unsigned short point_count;
struct nk_vec2i points[1];
};
struct nk_command_polygon_filled {
struct nk_command header;
struct nk_color color;
unsigned short point_count;
struct nk_vec2i points[1];
};
struct nk_command_polyline {
struct nk_command header;
struct nk_color color;
unsigned short line_thickness;
unsigned short point_count;
struct nk_vec2i points[1];
};
struct nk_command_image {
struct nk_command header;
short x, y;
unsigned short w, h;
struct nk_image img;
struct nk_color col;
};
struct nk_command_text {
struct nk_command header;
const struct nk_user_font *font;
struct nk_color background;
struct nk_color foreground;
short x, y;
unsigned short w, h;
float height;
int length;
char string[1];
};
enum nk_command_clipping {
NK_CLIPPING_OFF = nk_false,
NK_CLIPPING_ON = nk_true
};
struct nk_command_buffer {
struct nk_buffer *base;
struct nk_rect clip;
int use_clipping;
nk_handle userdata;
nk_size begin, end, last;
};
extern void nk_stroke_line(struct nk_command_buffer *b, float x0, float y0, float x1, float y1, float line_thickness, struct nk_color);
extern void nk_stroke_curve(struct nk_command_buffer*, float, float, float, float, float, float, float, float, float line_thickness, struct nk_color);
extern void nk_stroke_rect(struct nk_command_buffer*, struct nk_rect, float rounding, float line_thickness, struct nk_color);
extern void nk_stroke_circle(struct nk_command_buffer*, struct nk_rect, float line_thickness, struct nk_color);
extern void nk_stroke_arc(struct nk_command_buffer*, float cx, float cy, float radius, float a_min, float a_max, float line_thickness, struct nk_color);
extern void nk_stroke_triangle(struct nk_command_buffer*, float, float, float, float, float, float, float line_thichness, struct nk_color);
extern void nk_stroke_polyline(struct nk_command_buffer*, float *points, int point_count, float line_thickness, struct nk_color col);
extern void nk_stroke_polygon(struct nk_command_buffer*, float*, int point_count, float line_thickness, struct nk_color);
extern void nk_fill_rect(struct nk_command_buffer*, struct nk_rect, float rounding, struct nk_color);
extern void nk_fill_rect_multi_color(struct nk_command_buffer*, struct nk_rect, struct nk_color left, struct nk_color top, struct nk_color right, struct nk_color bottom);
extern void nk_fill_circle(struct nk_command_buffer*, struct nk_rect, struct nk_color);
extern void nk_fill_arc(struct nk_command_buffer*, float cx, float cy, float radius, float a_min, float a_max, struct nk_color);
extern void nk_fill_triangle(struct nk_command_buffer*, float x0, float y0, float x1, float y1, float x2, float y2, struct nk_color);
extern void nk_fill_polygon(struct nk_command_buffer*, float*, int point_count, struct nk_color);
extern void nk_push_scissor(struct nk_command_buffer*, struct nk_rect);
extern void nk_draw_image(struct nk_command_buffer*, struct nk_rect, const struct nk_image*, struct nk_color);
extern void nk_draw_text(struct nk_command_buffer*, struct nk_rect, const char *text, int len, const struct nk_user_font*, struct nk_color, struct nk_color);
extern const struct nk_command* nk__next(struct nk_context*, const struct nk_command*);
extern const struct nk_command* nk__begin(struct nk_context*);
struct nk_mouse_button {
int down;
unsigned int clicked;
struct nk_vec2 clicked_pos;
};
struct nk_mouse {
struct nk_mouse_button buttons[NK_BUTTON_MAX];
struct nk_vec2 pos;
struct nk_vec2 prev;
struct nk_vec2 delta;
float scroll_delta;
unsigned char grab;
unsigned char grabbed;
unsigned char ungrab;
};
struct nk_key {
int down;
unsigned int clicked;
};
struct nk_keyboard {
struct nk_key keys[NK_KEY_MAX];
char text[16];
int text_len;
};
struct nk_input {
struct nk_keyboard keyboard;
struct nk_mouse mouse;
};
extern int nk_input_has_mouse_click(const struct nk_input*, enum nk_buttons);
extern int nk_input_has_mouse_click_in_rect(const struct nk_input*, enum nk_buttons, struct nk_rect);
extern int nk_input_has_mouse_click_down_in_rect(const struct nk_input*, enum nk_buttons, struct nk_rect, int down);
extern int nk_input_is_mouse_click_in_rect(const struct nk_input*, enum nk_buttons, struct nk_rect);
extern int nk_input_is_mouse_click_down_in_rect(const struct nk_input *i, enum nk_buttons id, struct nk_rect b, int down);
extern int nk_input_any_mouse_click_in_rect(const struct nk_input*, struct nk_rect);
extern int nk_input_is_mouse_prev_hovering_rect(const struct nk_input*, struct nk_rect);
extern int nk_input_is_mouse_hovering_rect(const struct nk_input*, struct nk_rect);
extern int nk_input_mouse_clicked(const struct nk_input*, enum nk_buttons, struct nk_rect);
extern int nk_input_is_mouse_down(const struct nk_input*, enum nk_buttons);
extern int nk_input_is_mouse_pressed(const struct nk_input*, enum nk_buttons);
extern int nk_input_is_mouse_released(const struct nk_input*, enum nk_buttons);
extern int nk_input_is_key_pressed(const struct nk_input*, enum nk_keys);
extern int nk_input_is_key_released(const struct nk_input*, enum nk_keys);
extern int nk_input_is_key_down(const struct nk_input*, enum nk_keys);
# 2184 "nuklear.h"
enum nk_style_item_type {
NK_STYLE_ITEM_COLOR,
NK_STYLE_ITEM_IMAGE
};
union nk_style_item_data {
struct nk_image image;
struct nk_color color;
};
struct nk_style_item {
enum nk_style_item_type type;
union nk_style_item_data data;
};
struct nk_style_text {
struct nk_color color;
struct nk_vec2 padding;
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle userdata);
void(*draw_end)(struct nk_command_buffer*, nk_handle userdata);
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
};
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;
void(*draw_begin)(struct nk_command_buffer*, nk_handle);
void(*draw_end)(struct nk_command_buffer*, nk_handle);
};
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;
};
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;
};
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;
};
enum nk_style_header_align {
NK_HEADER_LEFT,
NK_HEADER_RIGHT
};
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;
};
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 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;
};
struct nk_style {
const struct nk_user_font *font;
const struct nk_cursor *cursors[NK_CURSOR_COUNT];
const struct nk_cursor *cursor_active;
struct nk_cursor *cursor_last;
int cursor_visible;
struct nk_style_text text;
struct nk_style_button button;
struct nk_style_button contextual_button;
struct nk_style_button menu_button;
struct nk_style_toggle option;
struct nk_style_toggle checkbox;
struct nk_style_selectable selectable;
struct nk_style_slider slider;
struct nk_style_progress progress;
struct nk_style_property property;
struct nk_style_edit edit;
struct nk_style_chart chart;
struct nk_style_scrollbar scrollh;
struct nk_style_scrollbar scrollv;
struct nk_style_tab tab;
struct nk_style_combo combo;
struct nk_style_window window;
};
extern struct nk_style_item nk_style_item_image(struct nk_image img);
extern struct nk_style_item nk_style_item_color(struct nk_color);
extern struct nk_style_item nk_style_item_hide(void);
# 2630 "nuklear.h"
enum nk_panel_type {
NK_PANEL_WINDOW = (1 << (0)),
NK_PANEL_GROUP = (1 << (1)),
NK_PANEL_POPUP = (1 << (2)),
NK_PANEL_CONTEXTUAL = (1 << (4)),
NK_PANEL_COMBO = (1 << (5)),
NK_PANEL_MENU = (1 << (6)),
NK_PANEL_TOOLTIP = (1 << (7))
};
enum nk_panel_set {
NK_PANEL_SET_NONBLOCK = NK_PANEL_CONTEXTUAL|NK_PANEL_COMBO|NK_PANEL_MENU|NK_PANEL_TOOLTIP,
NK_PANEL_SET_POPUP = NK_PANEL_SET_NONBLOCK|NK_PANEL_POPUP,
NK_PANEL_SET_SUB = NK_PANEL_SET_POPUP|NK_PANEL_GROUP
};
struct nk_chart_slot {
enum nk_chart_type type;
struct nk_color color;
struct nk_color highlight;
float min, max, range;
int count;
struct nk_vec2 last;
int index;
};
struct nk_chart {
int slot;
float x, y, w, h;
struct nk_chart_slot slots[4];
};
enum nk_panel_row_layout_type {
NK_LAYOUT_DYNAMIC_FIXED = 0,
NK_LAYOUT_DYNAMIC_ROW,
NK_LAYOUT_DYNAMIC_FREE,
NK_LAYOUT_DYNAMIC,
NK_LAYOUT_STATIC_FIXED,
NK_LAYOUT_STATIC_ROW,
NK_LAYOUT_STATIC_FREE,
NK_LAYOUT_STATIC,
NK_LAYOUT_TEMPLATE,
NK_LAYOUT_COUNT
};
struct nk_row_layout {
enum nk_panel_row_layout_type type;
int index;
float height;
int columns;
const float *ratio;
float item_width;
float item_height;
float item_offset;
float filled;
struct nk_rect item;
int tree_depth;
float templates[16];
};
struct nk_popup_buffer {
nk_size begin;
nk_size parent;
nk_size last;
nk_size end;
int active;
};
struct nk_menu_state {
float x, y, w, h;
struct nk_scroll offset;
};
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, at_y, 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_popup_buffer popup_buffer;
struct nk_command_buffer *buffer;
struct nk_panel *parent;
};
# 2728 "nuklear.h"
struct nk_table;
enum nk_window_flags {
NK_WINDOW_PRIVATE = (1 << (10)),
NK_WINDOW_DYNAMIC = NK_WINDOW_PRIVATE,
NK_WINDOW_ROM = (1 << (11)),
NK_WINDOW_HIDDEN = (1 << (12)),
NK_WINDOW_CLOSED = (1 << (13)),
NK_WINDOW_MINIMIZED = (1 << (14)),
NK_WINDOW_REMOVE_ROM = (1 << (15))
};
struct nk_popup_state {
struct nk_window *win;
enum nk_panel_type type;
nk_hash name;
int active;
unsigned combo_count;
unsigned con_count, con_old;
unsigned active_con;
struct nk_rect header;
};
struct nk_edit_state {
nk_hash name;
unsigned int seq;
unsigned int old;
int active, prev;
int cursor;
int sel_start;
int sel_end;
struct nk_scroll scrollbar;
unsigned char mode;
unsigned char single_line;
};
struct nk_property_state {
int active, prev;
char buffer[64];
int length;
int cursor;
nk_hash name;
unsigned int seq;
unsigned int old;
int state;
};
struct nk_window {
unsigned int seq;
nk_hash name;
char name_string[64];
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 short table_count;
unsigned short table_size;
struct nk_window *next;
struct nk_window *prev;
struct nk_window *parent;
};
# 2873 "nuklear.h"
struct nk_config_stack_style_item_element { struct nk_style_item *address; struct nk_style_item old_value; };
struct nk_config_stack_float_element { float *address; float old_value; };
struct nk_config_stack_vec2_element { struct nk_vec2 *address; struct nk_vec2 old_value; };
struct nk_config_stack_flags_element { nk_flags *address; nk_flags old_value; };
struct nk_config_stack_color_element { struct nk_color *address; struct nk_color old_value; };
struct nk_config_stack_user_font_element { const struct nk_user_font* *address; const struct nk_user_font* old_value; };
struct nk_config_stack_button_behavior_element { enum nk_button_behavior *address; enum nk_button_behavior old_value; };
struct nk_config_stack_style_item { int head; struct nk_config_stack_style_item_element elements[16]; };
struct nk_config_stack_float { int head; struct nk_config_stack_float_element elements[32]; };
struct nk_config_stack_vec2 { int head; struct nk_config_stack_vec2_element elements[16]; };
struct nk_config_stack_flags { int head; struct nk_config_stack_flags_element elements[32]; };
struct nk_config_stack_color { int head; struct nk_config_stack_color_element elements[32]; };
struct nk_config_stack_user_font { int head; struct nk_config_stack_user_font_element elements[8]; };
struct nk_config_stack_button_behavior { int head; struct nk_config_stack_button_behavior_element elements[8]; };
struct nk_configuration_stacks {
struct nk_config_stack_style_item style_items;
struct nk_config_stack_float floats;
struct nk_config_stack_vec2 vectors;
struct nk_config_stack_flags flags;
struct nk_config_stack_color colors;
struct nk_config_stack_user_font fonts;
struct nk_config_stack_button_behavior button_behaviors;
};
struct nk_table {
unsigned int seq;
nk_hash keys[((((sizeof(struct nk_window)) < (sizeof(struct nk_panel)) ? (sizeof(struct nk_panel)) : (sizeof(struct nk_window))) / sizeof(nk_uint)) / 2)];
nk_uint values[((((sizeof(struct nk_window)) < (sizeof(struct nk_panel)) ? (sizeof(struct nk_panel)) : (sizeof(struct nk_window))) / sizeof(nk_uint)) / 2)];
struct nk_table *next, *prev;
};
union nk_page_data {
struct nk_table tbl;
struct nk_panel pan;
struct nk_window win;
};
struct nk_page_element {
union nk_page_data data;
struct nk_page_element *next;
struct nk_page_element *prev;
};
struct nk_page {
unsigned int size;
struct nk_page *next;
struct nk_page_element win[1];
};
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;
};
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;
# 2965 "nuklear.h"
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;
};
type
nk_char* = char
nk_uchar* = cuchar
nk_byte* = cuchar
nk_short* = cshort
nk_ushort* = cushort
nk_int* = cint
nk_uint* = cuint
nk_size* = culong
nk_ptr* = culong
nk_hash* = nk_uint
nk_flags* = nk_uint
nk_rune* = nk_uint
dummy_array407* = array[if (sizeof((nk_short)) == 2): 1 else: - 1, char]
dummy_array408* = array[if (sizeof((nk_ushort)) == 2): 1 else: - 1, char]
dummy_array409* = array[if (sizeof((nk_uint)) == 4): 1 else: - 1, char]
dummy_array410* = array[if (sizeof((nk_int)) == 4): 1 else: - 1, char]
dummy_array411* = array[if (sizeof((nk_byte)) == 1): 1 else: - 1, char]
dummy_array412* = array[if (sizeof((nk_flags)) >= 4): 1 else: - 1, char]
dummy_array413* = array[if (sizeof((nk_rune)) >= 4): 1 else: - 1, char]
dummy_array414* = array[if (sizeof((nk_size)) >= sizeof(pointer)): 1 else: - 1, char]
dummy_array415* = array[if (sizeof((nk_ptr)) >= sizeof(pointer)): 1 else: - 1, char]
nk_buffer* = object
nk_command_buffer* = object
nk_draw_command* = object
nk_style_item* = object
nk_text_edit* = object
nk_draw_list* = object
nk_user_font* = object
nk_panel* = object
nk_context* = object
nk_draw_vertex_layout_element* = object
nk_style_button* = object
nk_style_toggle* = object
nk_style_selectable* = object
nk_style_slide* = object
nk_style_progress* = object
nk_style_scrollbar* = object
nk_style_edit* = object
nk_style_property* = object
nk_style_chart* = object
nk_style_combo* = object
nk_style_tab* = object
nk_style_window_header* = object
nk_style_window* = object
const
nk_false* = 0
nk_true* = 1
type
nk_color* = object
r*: nk_byte
g*: nk_byte
b*: nk_byte
a*: nk_byte
nk_colorf* = object
r*: cfloat
g*: cfloat
b*: cfloat
a*: cfloat
nk_vec2* = object
x*: cfloat
y*: cfloat
nk_vec2i* = object
x*: cshort
y*: cshort
nk_rect* = object
x*: cfloat
y*: cfloat
w*: cfloat
h*: cfloat
nk_recti* = object
x*: cshort
y*: cshort
w*: cshort
h*: cshort
nk_glyph* = array[4, char]
nk_handle* = object {.union.}
`ptr`*: pointer
id*: cint
nk_image* = object
handle*: nk_handle
w*: cushort
h*: cushort
region*: array[4, cushort]
nk_cursor* = object
img*: nk_image
size*: nk_vec2
offset*: nk_vec2
nk_scroll* = object
x*: nk_uint
y*: nk_uint
nk_heading* = enum
NK_UP, NK_RIGHT, NK_DOWN, NK_LEFT
type
nk_button_behavior* = enum
NK_BUTTON_DEFAULT, NK_BUTTON_REPEATER
type
nk_modify* = enum
NK_FIXED = nk_false, NK_MODIFIABLE = nk_true
type
nk_orientation* = enum
NK_VERTICAL, NK_HORIZONTAL
type
nk_collapse_states* = enum
NK_MINIMIZED = nk_false, NK_MAXIMIZED = nk_true
type
nk_show_states* = enum
NK_HIDDEN = nk_false, NK_SHOWN = nk_true
type
nk_chart_type* = enum
NK_CHART_LINES, NK_CHART_COLUMN, NK_CHART_MAX
type
nk_chart_event* = enum
NK_CHART_HOVERING = 0x00000001, NK_CHART_CLICKED = 0x00000002
type
nk_color_format* = enum
NK_RGB, NK_RGBA
type
nk_popup_type* = enum
NK_POPUP_STATIC, NK_POPUP_DYNAMIC
type
nk_layout_format* = enum
NK_DYNAMIC, NK_STATIC
type
nk_tree_type* = enum
NK_TREE_NODE, NK_TREE_TAB
type
nk_anti_aliasing* = enum
NK_ANTI_ALIASING_OFF, NK_ANTI_ALIASING_ON
type
nk_plugin_alloc* = proc (a2: nk_handle; old: pointer; a4: nk_size): pointer {.cdecl.}
nk_plugin_free* = proc (a2: nk_handle; old: pointer) {.cdecl.}
nk_plugin_filter* = proc (a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
nk_plugin_paste* = proc (a2: nk_handle; a3: ptr nk_text_edit) {.cdecl.}
nk_plugin_copy* = proc (a2: nk_handle; a3: cstring; len: cint) {.cdecl.}
nk_allocator* = object
userdata*: nk_handle
alloc*: nk_plugin_alloc
free*: nk_plugin_free
nk_draw_null_texture* = object
texture*: nk_handle
uv*: nk_vec2
nk_convert_config* = object
global_alpha*: cfloat
line_AA*: nk_anti_aliasing
shape_AA*: nk_anti_aliasing
circle_segment_count*: cuint
arc_segment_count*: cuint
curve_segment_count*: cuint
null*: nk_draw_null_texture
vertex_layout*: ptr nk_draw_vertex_layout_element
vertex_size*: nk_size
vertex_alignment*: nk_size
nk_list_view* = object
begin*: cint
`end`*: cint
count*: cint
total_height*: cint
ctx*: ptr nk_context
scroll_pointer*: ptr nk_uint
scroll_value*: nk_uint
nk_symbol_type* = enum
NK_SYMBOL_NONE, NK_SYMBOL_X, NK_SYMBOL_UNDERSCORE, NK_SYMBOL_CIRCLE_SOLID,
NK_SYMBOL_CIRCLE_OUTLINE, NK_SYMBOL_RECT_SOLID, NK_SYMBOL_RECT_OUTLINE,
NK_SYMBOL_TRIANGLE_UP, NK_SYMBOL_TRIANGLE_DOWN, NK_SYMBOL_TRIANGLE_LEFT,
NK_SYMBOL_TRIANGLE_RIGHT, NK_SYMBOL_PLUS, NK_SYMBOL_MINUS, NK_SYMBOL_MAX
type
nk_keys* = enum
NK_KEY_NONE, NK_KEY_SHIFT, NK_KEY_CTRL, NK_KEY_DEL, NK_KEY_ENTER, NK_KEY_TAB,
NK_KEY_BACKSPACE, NK_KEY_COPY, NK_KEY_CUT, NK_KEY_PASTE, NK_KEY_UP, NK_KEY_DOWN,
NK_KEY_LEFT, NK_KEY_RIGHT, NK_KEY_TEXT_INSERT_MODE, NK_KEY_TEXT_REPLACE_MODE,
NK_KEY_TEXT_RESET_MODE, NK_KEY_TEXT_LINE_START, NK_KEY_TEXT_LINE_END,
NK_KEY_TEXT_START, NK_KEY_TEXT_END, NK_KEY_TEXT_UNDO, NK_KEY_TEXT_REDO,
NK_KEY_TEXT_SELECT_ALL, NK_KEY_TEXT_WORD_LEFT, NK_KEY_TEXT_WORD_RIGHT,
NK_KEY_SCROLL_START, NK_KEY_SCROLL_END, NK_KEY_SCROLL_DOWN, NK_KEY_SCROLL_UP,
NK_KEY_MAX
type
nk_buttons* = enum
NK_BUTTON_LEFT, NK_BUTTON_MIDDLE, NK_BUTTON_RIGHT, NK_BUTTON_MAX
type
nk_style_colors* = enum
NK_COLOR_TEXT, NK_COLOR_WINDOW, NK_COLOR_HEADER, NK_COLOR_BORDER,
NK_COLOR_BUTTON, NK_COLOR_BUTTON_HOVER, NK_COLOR_BUTTON_ACTIVE,
NK_COLOR_TOGGLE, NK_COLOR_TOGGLE_HOVER, NK_COLOR_TOGGLE_CURSOR,
NK_COLOR_SELECT, NK_COLOR_SELECT_ACTIVE, NK_COLOR_SLIDER,
NK_COLOR_SLIDER_CURSOR, NK_COLOR_SLIDER_CURSOR_HOVER,
NK_COLOR_SLIDER_CURSOR_ACTIVE, NK_COLOR_PROPERTY, NK_COLOR_EDIT,
NK_COLOR_EDIT_CURSOR, NK_COLOR_COMBO, NK_COLOR_CHART, NK_COLOR_CHART_COLOR,
NK_COLOR_CHART_COLOR_HIGHLIGHT, NK_COLOR_SCROLLBAR, NK_COLOR_SCROLLBAR_CURSOR,
NK_COLOR_SCROLLBAR_CURSOR_HOVER, NK_COLOR_SCROLLBAR_CURSOR_ACTIVE,
NK_COLOR_TAB_HEADER, NK_COLOR_COUNT
type
nk_style_cursor* = enum
NK_CURSOR_ARROW, NK_CURSOR_TEXT, NK_CURSOR_MOVE, NK_CURSOR_RESIZE_VERTICAL,
NK_CURSOR_RESIZE_HORIZONTAL, NK_CURSOR_RESIZE_TOP_LEFT_DOWN_RIGHT,
NK_CURSOR_RESIZE_TOP_RIGHT_DOWN_LEFT, NK_CURSOR_COUNT
type
nk_widget_layout_states* = enum
NK_WIDGET_INVALID, NK_WIDGET_VALID, NK_WIDGET_ROM
type
nk_widget_states* = enum
NK_WIDGET_STATE_MODIFIED = (1 shl (1)), NK_WIDGET_STATE_INACTIVE = (1 shl (2)),
NK_WIDGET_STATE_ENTERED = (1 shl (3)), NK_WIDGET_STATE_HOVER = (1 shl (4)),
NK_WIDGET_STATE_ACTIVED = (1 shl (5)), NK_WIDGET_STATE_LEFT = (1 shl (6)), NK_WIDGET_STATE_HOVERED = NK_WIDGET_STATE_HOVER or
NK_WIDGET_STATE_MODIFIED, NK_WIDGET_STATE_ACTIVE = NK_WIDGET_STATE_ACTIVED or
NK_WIDGET_STATE_MODIFIED
type
nk_text_align* = enum
NK_TEXT_ALIGN_LEFT = 0x00000001, NK_TEXT_ALIGN_CENTERED = 0x00000002,
NK_TEXT_ALIGN_RIGHT = 0x00000004, NK_TEXT_ALIGN_TOP = 0x00000008,
NK_TEXT_ALIGN_MIDDLE = 0x00000010, NK_TEXT_ALIGN_BOTTOM = 0x00000020
type
nk_text_alignment* = enum
NK_TEXT_LEFT = NK_TEXT_ALIGN_MIDDLE or NK_TEXT_ALIGN_LEFT,
NK_TEXT_CENTERED = NK_TEXT_ALIGN_MIDDLE or NK_TEXT_ALIGN_CENTERED,
NK_TEXT_RIGHT = NK_TEXT_ALIGN_MIDDLE or NK_TEXT_ALIGN_RIGHT
type
nk_edit_flags* = enum
NK_EDIT_DEFAULT = 0, NK_EDIT_READ_ONLY = (1 shl (0)),
NK_EDIT_AUTO_SELECT = (1 shl (1)), NK_EDIT_SIG_ENTER = (1 shl (2)),
NK_EDIT_ALLOW_TAB = (1 shl (3)), NK_EDIT_NO_CURSOR = (1 shl (4)),
NK_EDIT_SELECTABLE = (1 shl (5)), NK_EDIT_CLIPBOARD = (1 shl (6)),
NK_EDIT_CTRL_ENTER_NEWLINE = (1 shl (7)),
NK_EDIT_NO_HORIZONTAL_SCROLL = (1 shl (8)),
NK_EDIT_ALWAYS_INSERT_MODE = (1 shl (9)), NK_EDIT_MULTILINE = (1 shl (11)),
NK_EDIT_GOTO_END_ON_ACTIVATE = (1 shl (12))
type
nk_edit_types* = enum
NK_EDIT_SIMPLE = NK_EDIT_ALWAYS_INSERT_MODE,
NK_EDIT_FIELD = NK_EDIT_SIMPLE or NK_EDIT_SELECTABLE or NK_EDIT_CLIPBOARD, NK_EDIT_BOX = NK_EDIT_ALWAYS_INSERT_MODE or
NK_EDIT_SELECTABLE or NK_EDIT_MULTILINE or NK_EDIT_ALLOW_TAB or
NK_EDIT_CLIPBOARD, NK_EDIT_EDITOR = NK_EDIT_SELECTABLE or
NK_EDIT_MULTILINE or NK_EDIT_ALLOW_TAB or NK_EDIT_CLIPBOARD
type
nk_edit_events* = enum
NK_EDIT_ACTIVE = (1 shl (0)), NK_EDIT_INACTIVE = (1 shl (1)),
NK_EDIT_ACTIVATED = (1 shl (2)), NK_EDIT_DEACTIVATED = (1 shl (3)),
NK_EDIT_COMMITED = (1 shl (4))
type
nk_panel_flags* = enum
NK_WINDOW_BORDER = (1 shl (0)), NK_WINDOW_MOVABLE = (1 shl (1)),
NK_WINDOW_SCALABLE = (1 shl (2)), NK_WINDOW_CLOSABLE = (1 shl (3)),
NK_WINDOW_MINIMIZABLE = (1 shl (4)), NK_WINDOW_NO_SCROLLBAR = (1 shl (5)),
NK_WINDOW_TITLE = (1 shl (6)), NK_WINDOW_SCROLL_AUTO_HIDE = (1 shl (7)),
NK_WINDOW_BACKGROUND = (1 shl (8)), NK_WINDOW_SCALE_LEFT = (1 shl (9))
proc nk_init_fixed*(a2: ptr nk_context; memory: pointer; size: nk_size;
a5: ptr nk_user_font): cint {.cdecl.}
proc nk_init*(a2: ptr nk_context; a3: ptr nk_allocator; a4: ptr nk_user_font): cint {.cdecl.}
proc nk_init_custom*(a2: ptr nk_context; cmds: ptr nk_buffer; pool: ptr nk_buffer;
a5: ptr nk_user_font): cint {.cdecl.}
proc nk_clear*(a2: ptr nk_context) {.cdecl.}
proc nk_free*(a2: ptr nk_context) {.cdecl.}
proc nk_begin*(a2: ptr nk_context; title: cstring; bounds: nk_rect; flags: nk_flags): cint {.
cdecl.}
proc nk_begin_titled*(a2: ptr nk_context; name: cstring; title: cstring;
bounds: nk_rect; flags: nk_flags): cint {.cdecl.}
proc nk_end*(a2: ptr nk_context) {.cdecl.}
proc nk_window_find*(ctx: ptr nk_context; name: cstring): ptr nk_window {.cdecl.}
proc nk_window_get_bounds*(a2: ptr nk_context): nk_rect {.cdecl.}
proc nk_window_get_position*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_window_get_size*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_window_get_width*(a2: ptr nk_context): cfloat {.cdecl.}
proc nk_window_get_height*(a2: ptr nk_context): cfloat {.cdecl.}
proc nk_window_get_panel*(a2: ptr nk_context): ptr nk_panel {.cdecl.}
proc nk_window_get_content_region*(a2: ptr nk_context): nk_rect {.cdecl.}
proc nk_window_get_content_region_min*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_window_get_content_region_max*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_window_get_content_region_size*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_window_get_canvas*(a2: ptr nk_context): ptr nk_command_buffer {.cdecl.}
proc nk_window_has_focus*(a2: ptr nk_context): cint {.cdecl.}
proc nk_window_is_collapsed*(a2: ptr nk_context; a3: cstring): cint {.cdecl.}
proc nk_window_is_closed*(a2: ptr nk_context; a3: cstring): cint {.cdecl.}
proc nk_window_is_hidden*(a2: ptr nk_context; a3: cstring): cint {.cdecl.}
proc nk_window_is_active*(a2: ptr nk_context; a3: cstring): cint {.cdecl.}
proc nk_window_is_hovered*(a2: ptr nk_context): cint {.cdecl.}
proc nk_window_is_any_hovered*(a2: ptr nk_context): cint {.cdecl.}
proc nk_item_is_any_active*(a2: ptr nk_context): cint {.cdecl.}
proc nk_window_set_bounds*(a2: ptr nk_context; a3: nk_rect) {.cdecl.}
proc nk_window_set_position*(a2: ptr nk_context; a3: nk_vec2) {.cdecl.}
proc nk_window_set_size*(a2: ptr nk_context; a3: nk_vec2) {.cdecl.}
proc nk_window_set_focus*(a2: ptr nk_context; name: cstring) {.cdecl.}
proc nk_window_close*(ctx: ptr nk_context; name: cstring) {.cdecl.}
proc nk_window_collapse*(a2: ptr nk_context; name: cstring; a4: nk_collapse_states) {.
cdecl.}
proc nk_window_collapse_if*(a2: ptr nk_context; name: cstring; a4: nk_collapse_states;
cond: cint) {.cdecl.}
proc nk_window_show*(a2: ptr nk_context; name: cstring; a4: nk_show_states) {.cdecl.}
proc nk_window_show_if*(a2: ptr nk_context; name: cstring; a4: nk_show_states;
cond: cint) {.cdecl.}
proc nk_layout_row_dynamic*(a2: ptr nk_context; height: cfloat; cols: cint) {.cdecl.}
proc nk_layout_row_static*(a2: ptr nk_context; height: cfloat; item_width: cint;
cols: cint) {.cdecl.}
proc nk_layout_row_begin*(a2: ptr nk_context; a3: nk_layout_format;
row_height: cfloat; cols: cint) {.cdecl.}
proc nk_layout_row_push*(a2: ptr nk_context; value: cfloat) {.cdecl.}
proc nk_layout_row_end*(a2: ptr nk_context) {.cdecl.}
proc nk_layout_row*(a2: ptr nk_context; a3: nk_layout_format; height: cfloat;
cols: cint; ratio: ptr cfloat) {.cdecl.}
proc nk_layout_row_template_begin*(a2: ptr nk_context; height: cfloat) {.cdecl.}
proc nk_layout_row_template_push_dynamic*(a2: ptr nk_context) {.cdecl.}
proc nk_layout_row_template_push_variable*(a2: ptr nk_context; min_width: cfloat) {.
cdecl.}
proc nk_layout_row_template_push_static*(a2: ptr nk_context; width: cfloat) {.cdecl.}
proc nk_layout_row_template_end*(a2: ptr nk_context) {.cdecl.}
proc nk_layout_space_begin*(a2: ptr nk_context; a3: nk_layout_format; height: cfloat;
widget_count: cint) {.cdecl.}
proc nk_layout_space_push*(a2: ptr nk_context; a3: nk_rect) {.cdecl.}
proc nk_layout_space_end*(a2: ptr nk_context) {.cdecl.}
proc nk_layout_space_bounds*(a2: ptr nk_context): nk_rect {.cdecl.}
proc nk_layout_space_to_screen*(a2: ptr nk_context; a3: nk_vec2): nk_vec2 {.cdecl.}
proc nk_layout_space_to_local*(a2: ptr nk_context; a3: nk_vec2): nk_vec2 {.cdecl.}
proc nk_layout_space_rect_to_screen*(a2: ptr nk_context; a3: nk_rect): nk_rect {.cdecl.}
proc nk_layout_space_rect_to_local*(a2: ptr nk_context; a3: nk_rect): nk_rect {.cdecl.}
proc nk_layout_ratio_from_pixel*(a2: ptr nk_context; pixel_width: cfloat): cfloat {.
cdecl.}
proc nk_group_begin*(a2: ptr nk_context; title: cstring; a4: nk_flags): cint {.cdecl.}
proc nk_group_scrolled_offset_begin*(a2: ptr nk_context; x_offset: ptr nk_uint;
y_offset: ptr nk_uint; a5: cstring; a6: nk_flags): cint {.
cdecl.}
proc nk_group_scrolled_begin*(a2: ptr nk_context; a3: ptr nk_scroll; title: cstring;
a5: nk_flags): cint {.cdecl.}
proc nk_group_scrolled_end*(a2: ptr nk_context) {.cdecl.}
proc nk_group_end*(a2: ptr nk_context) {.cdecl.}
proc nk_list_view_begin*(a2: ptr nk_context; `out`: ptr nk_list_view; id: cstring;
a5: nk_flags; row_height: cint; row_count: cint): cint {.cdecl.}
proc nk_list_view_end*(a2: ptr nk_list_view) {.cdecl.}
proc nk_tree_push_hashed*(a2: ptr nk_context; a3: nk_tree_type; title: cstring;
initial_state: nk_collapse_states; hash: cstring;
len: cint; seed: cint): cint {.cdecl.}
proc nk_tree_image_push_hashed*(a2: ptr nk_context; a3: nk_tree_type; a4: nk_image;
title: cstring; initial_state: nk_collapse_states;
hash: cstring; len: cint; seed: cint): cint {.cdecl.}
proc nk_tree_pop*(a2: ptr nk_context) {.cdecl.}
proc nk_tree_state_push*(a2: ptr nk_context; a3: nk_tree_type; title: cstring;
state: ptr nk_collapse_states): cint {.cdecl.}
proc nk_tree_state_image_push*(a2: ptr nk_context; a3: nk_tree_type; a4: nk_image;
title: cstring; state: ptr nk_collapse_states): cint {.
cdecl.}
proc nk_tree_state_pop*(a2: ptr nk_context) {.cdecl.}
proc nk_text*(a2: ptr nk_context; a3: cstring; a4: cint; a5: nk_flags) {.cdecl.}
proc nk_text_colored*(a2: ptr nk_context; a3: cstring; a4: cint; a5: nk_flags;
a6: nk_color) {.cdecl.}
proc nk_text_wrap*(a2: ptr nk_context; a3: cstring; a4: cint) {.cdecl.}
proc nk_text_wrap_colored*(a2: ptr nk_context; a3: cstring; a4: cint; a5: nk_color) {.
cdecl.}
proc nk_label*(a2: ptr nk_context; a3: cstring; align: nk_flags) {.cdecl.}
proc nk_label_colored*(a2: ptr nk_context; a3: cstring; align: nk_flags; a5: nk_color) {.
cdecl.}
proc nk_label_wrap*(a2: ptr nk_context; a3: cstring) {.cdecl.}
proc nk_label_colored_wrap*(a2: ptr nk_context; a3: cstring; a4: nk_color) {.cdecl.}
proc nk_image*(a2: ptr nk_context; a3: nk_image) {.cdecl.}
proc nk_button_set_behavior*(a2: ptr nk_context; a3: nk_button_behavior) {.cdecl.}
proc nk_button_push_behavior*(a2: ptr nk_context; a3: nk_button_behavior): cint {.cdecl.}
proc nk_button_pop_behavior*(a2: ptr nk_context): cint {.cdecl.}
proc nk_button_text*(a2: ptr nk_context; title: cstring; len: cint): cint {.cdecl.}
proc nk_button_label*(a2: ptr nk_context; title: cstring): cint {.cdecl.}
proc nk_button_color*(a2: ptr nk_context; a3: nk_color): cint {.cdecl.}
proc nk_button_symbol*(a2: ptr nk_context; a3: nk_symbol_type): cint {.cdecl.}
proc nk_button_image*(a2: ptr nk_context; img: nk_image): cint {.cdecl.}
proc nk_button_symbol_label*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
text_alignment: nk_flags): cint {.cdecl.}
proc nk_button_symbol_text*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
a5: cint; alignment: nk_flags): cint {.cdecl.}
proc nk_button_image_label*(a2: ptr nk_context; img: nk_image; a4: cstring;
text_alignment: nk_flags): cint {.cdecl.}
proc nk_button_image_text*(a2: ptr nk_context; img: nk_image; a4: cstring; a5: cint;
alignment: nk_flags): cint {.cdecl.}
proc nk_button_text_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
title: cstring; len: cint): cint {.cdecl.}
proc nk_button_label_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
title: cstring): cint {.cdecl.}
proc nk_button_symbol_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
a4: nk_symbol_type): cint {.cdecl.}
proc nk_button_image_styled*(a2: ptr nk_context; a3: ptr nk_style_button; img: nk_image): cint {.
cdecl.}
proc nk_button_symbol_label_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
a4: nk_symbol_type; a5: cstring;
text_alignment: nk_flags): cint {.cdecl.}
proc nk_button_symbol_text_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
a4: nk_symbol_type; a5: cstring; a6: cint;
alignment: nk_flags): cint {.cdecl.}
proc nk_button_image_label_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
img: nk_image; a5: cstring;
text_alignment: nk_flags): cint {.cdecl.}
proc nk_button_image_text_styled*(a2: ptr nk_context; a3: ptr nk_style_button;
img: nk_image; a5: cstring; a6: cint;
alignment: nk_flags): cint {.cdecl.}
proc nk_check_label*(a2: ptr nk_context; a3: cstring; active: cint): cint {.cdecl.}
proc nk_check_text*(a2: ptr nk_context; a3: cstring; a4: cint; active: cint): cint {.cdecl.}
proc nk_check_flags_label*(a2: ptr nk_context; a3: cstring; flags: cuint; value: cuint): cuint {.
cdecl.}
proc nk_check_flags_text*(a2: ptr nk_context; a3: cstring; a4: cint; flags: cuint;
value: cuint): cuint {.cdecl.}
proc nk_checkbox_label*(a2: ptr nk_context; a3: cstring; active: ptr cint): cint {.cdecl.}
proc nk_checkbox_text*(a2: ptr nk_context; a3: cstring; a4: cint; active: ptr cint): cint {.
cdecl.}
proc nk_checkbox_flags_label*(a2: ptr nk_context; a3: cstring; flags: ptr cuint;
value: cuint): cint {.cdecl.}
proc nk_checkbox_flags_text*(a2: ptr nk_context; a3: cstring; a4: cint;
flags: ptr cuint; value: cuint): cint {.cdecl.}
proc nk_radio_label*(a2: ptr nk_context; a3: cstring; active: ptr cint): cint {.cdecl.}
proc nk_radio_text*(a2: ptr nk_context; a3: cstring; a4: cint; active: ptr cint): cint {.
cdecl.}
proc nk_option_label*(a2: ptr nk_context; a3: cstring; active: cint): cint {.cdecl.}
proc nk_option_text*(a2: ptr nk_context; a3: cstring; a4: cint; active: cint): cint {.cdecl.}
proc nk_selectable_label*(a2: ptr nk_context; a3: cstring; align: nk_flags;
value: ptr cint): cint {.cdecl.}
proc nk_selectable_text*(a2: ptr nk_context; a3: cstring; a4: cint; align: nk_flags;
value: ptr cint): cint {.cdecl.}
proc nk_selectable_image_label*(a2: ptr nk_context; a3: nk_image; a4: cstring;
align: nk_flags; value: ptr cint): cint {.cdecl.}
proc nk_selectable_image_text*(a2: ptr nk_context; a3: nk_image; a4: cstring; a5: cint;
align: nk_flags; value: ptr cint): cint {.cdecl.}
proc nk_select_label*(a2: ptr nk_context; a3: cstring; align: nk_flags; value: cint): cint {.
cdecl.}
proc nk_select_text*(a2: ptr nk_context; a3: cstring; a4: cint; align: nk_flags;
value: cint): cint {.cdecl.}
proc nk_select_image_label*(a2: ptr nk_context; a3: nk_image; a4: cstring;
align: nk_flags; value: cint): cint {.cdecl.}
proc nk_select_image_text*(a2: ptr nk_context; a3: nk_image; a4: cstring; a5: cint;
align: nk_flags; value: cint): cint {.cdecl.}
proc nk_slide_float*(a2: ptr nk_context; min: cfloat; val: cfloat; max: cfloat;
step: cfloat): cfloat {.cdecl.}
proc nk_slide_int*(a2: ptr nk_context; min: cint; val: cint; max: cint; step: cint): cint {.
cdecl.}
proc nk_slider_float*(a2: ptr nk_context; min: cfloat; val: ptr cfloat; max: cfloat;
step: cfloat): cint {.cdecl.}
proc nk_slider_int*(a2: ptr nk_context; min: cint; val: ptr cint; max: cint; step: cint): cint {.
cdecl.}
proc nk_progress*(a2: ptr nk_context; cur: ptr nk_size; max: nk_size; modifyable: cint): cint {.
cdecl.}
proc nk_prog*(a2: ptr nk_context; cur: nk_size; max: nk_size; modifyable: cint): nk_size {.
cdecl.}
proc nk_color_picker*(a2: ptr nk_context; a3: nk_color; a4: nk_color_format): nk_color {.
cdecl.}
proc nk_color_pick*(a2: ptr nk_context; a3: ptr nk_color; a4: nk_color_format): cint {.
cdecl.}
proc nk_property_int*(a2: ptr nk_context; name: cstring; min: cint; val: ptr cint;
max: cint; step: cint; inc_per_pixel: cfloat) {.cdecl.}
proc nk_property_float*(a2: ptr nk_context; name: cstring; min: cfloat; val: ptr cfloat;
max: cfloat; step: cfloat; inc_per_pixel: cfloat) {.cdecl.}
proc nk_property_double*(a2: ptr nk_context; name: cstring; min: cdouble;
val: ptr cdouble; max: cdouble; step: cdouble;
inc_per_pixel: cfloat) {.cdecl.}
proc nk_propertyi*(a2: ptr nk_context; name: cstring; min: cint; val: cint; max: cint;
step: cint; inc_per_pixel: cfloat): cint {.cdecl.}
proc nk_propertyf*(a2: ptr nk_context; name: cstring; min: cfloat; val: cfloat;
max: cfloat; step: cfloat; inc_per_pixel: cfloat): cfloat {.cdecl.}
proc nk_propertyd*(a2: ptr nk_context; name: cstring; min: cdouble; val: cdouble;
max: cdouble; step: cdouble; inc_per_pixel: cfloat): cdouble {.cdecl.}
proc nk_edit_focus*(ctx: ptr nk_context; flags: nk_flags) {.cdecl.}
proc nk_edit_string*(a2: ptr nk_context; a3: nk_flags; buffer: cstring; len: ptr cint;
max: cint; a7: nk_plugin_filter): nk_flags {.cdecl.}
proc nk_edit_buffer*(a2: ptr nk_context; a3: nk_flags; a4: ptr nk_text_edit;
a5: nk_plugin_filter): nk_flags {.cdecl.}
proc nk_edit_string_zero_terminated*(a2: ptr nk_context; a3: nk_flags;
buffer: cstring; max: cint; a6: nk_plugin_filter): nk_flags {.
cdecl.}
proc nk_chart_begin*(a2: ptr nk_context; a3: nk_chart_type; num: cint; min: cfloat;
max: cfloat): cint {.cdecl.}
proc nk_chart_begin_colored*(a2: ptr nk_context; a3: nk_chart_type; a4: nk_color;
active: nk_color; num: cint; min: cfloat; max: cfloat): cint {.
cdecl.}
proc nk_chart_add_slot*(ctx: ptr nk_context; a3: nk_chart_type; count: cint;
min_value: cfloat; max_value: cfloat) {.cdecl.}
proc nk_chart_add_slot_colored*(ctx: ptr nk_context; a3: nk_chart_type; a4: nk_color;
active: nk_color; count: cint; min_value: cfloat;
max_value: cfloat) {.cdecl.}
proc nk_chart_push*(a2: ptr nk_context; a3: cfloat): nk_flags {.cdecl.}
proc nk_chart_push_slot*(a2: ptr nk_context; a3: cfloat; a4: cint): nk_flags {.cdecl.}
proc nk_chart_end*(a2: ptr nk_context) {.cdecl.}
proc nk_plot*(a2: ptr nk_context; a3: nk_chart_type; values: ptr cfloat; count: cint;
offset: cint) {.cdecl.}
proc nk_plot_function*(a2: ptr nk_context; a3: nk_chart_type; userdata: pointer;
value_getter: proc (user: pointer; index: cint): cfloat {.cdecl.}; count: cint;
offset: cint) {.cdecl.}
proc nk_popup_begin*(a2: ptr nk_context; a3: nk_popup_type; a4: cstring; a5: nk_flags;
bounds: nk_rect): cint {.cdecl.}
proc nk_popup_close*(a2: ptr nk_context) {.cdecl.}
proc nk_popup_end*(a2: ptr nk_context) {.cdecl.}
proc nk_combo*(a2: ptr nk_context; items: cstringArray; count: cint; selected: cint;
item_height: cint; size: nk_vec2): cint {.cdecl.}
proc nk_combo_separator*(a2: ptr nk_context; items_separated_by_separator: cstring;
separator: cint; selected: cint; count: cint;
item_height: cint; size: nk_vec2): cint {.cdecl.}
proc nk_combo_string*(a2: ptr nk_context; items_separated_by_zeros: cstring;
selected: cint; count: cint; item_height: cint; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_callback*(a2: ptr nk_context; item_getter: proc (a2: pointer; a3: cint;
a4: cstringArray) {.cdecl.}; userdata: pointer; selected: cint; count: cint;
item_height: cint; size: nk_vec2): cint {.cdecl.}
proc nk_combobox*(a2: ptr nk_context; items: cstringArray; count: cint;
selected: ptr cint; item_height: cint; size: nk_vec2) {.cdecl.}
proc nk_combobox_string*(a2: ptr nk_context; items_separated_by_zeros: cstring;
selected: ptr cint; count: cint; item_height: cint;
size: nk_vec2) {.cdecl.}
proc nk_combobox_separator*(a2: ptr nk_context;
items_separated_by_separator: cstring; separator: cint;
selected: ptr cint; count: cint; item_height: cint;
size: nk_vec2) {.cdecl.}
proc nk_combobox_callback*(a2: ptr nk_context; item_getter: proc (a2: pointer; a3: cint;
a4: cstringArray) {.cdecl.}; a4: pointer; selected: ptr cint; count: cint;
item_height: cint; size: nk_vec2) {.cdecl.}
proc nk_combo_begin_text*(a2: ptr nk_context; selected: cstring; a4: cint; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_begin_label*(a2: ptr nk_context; selected: cstring; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_begin_color*(a2: ptr nk_context; color: nk_color; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_begin_symbol*(a2: ptr nk_context; a3: nk_symbol_type; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_begin_symbol_label*(a2: ptr nk_context; selected: cstring;
a4: nk_symbol_type; size: nk_vec2): cint {.cdecl.}
proc nk_combo_begin_symbol_text*(a2: ptr nk_context; selected: cstring; a4: cint;
a5: nk_symbol_type; size: nk_vec2): cint {.cdecl.}
proc nk_combo_begin_image*(a2: ptr nk_context; img: nk_image; size: nk_vec2): cint {.
cdecl.}
proc nk_combo_begin_image_label*(a2: ptr nk_context; selected: cstring; a4: nk_image;
size: nk_vec2): cint {.cdecl.}
proc nk_combo_begin_image_text*(a2: ptr nk_context; selected: cstring; a4: cint;
a5: nk_image; size: nk_vec2): cint {.cdecl.}
proc nk_combo_item_label*(a2: ptr nk_context; a3: cstring; alignment: nk_flags): cint {.
cdecl.}
proc nk_combo_item_text*(a2: ptr nk_context; a3: cstring; a4: cint; alignment: nk_flags): cint {.
cdecl.}
proc nk_combo_item_image_label*(a2: ptr nk_context; a3: nk_image; a4: cstring;
alignment: nk_flags): cint {.cdecl.}
proc nk_combo_item_image_text*(a2: ptr nk_context; a3: nk_image; a4: cstring; a5: cint;
alignment: nk_flags): cint {.cdecl.}
proc nk_combo_item_symbol_label*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
alignment: nk_flags): cint {.cdecl.}
proc nk_combo_item_symbol_text*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
a5: cint; alignment: nk_flags): cint {.cdecl.}
proc nk_combo_close*(a2: ptr nk_context) {.cdecl.}
proc nk_combo_end*(a2: ptr nk_context) {.cdecl.}
proc nk_contextual_begin*(a2: ptr nk_context; a3: nk_flags; a4: nk_vec2;
trigger_bounds: nk_rect): cint {.cdecl.}
proc nk_contextual_item_text*(a2: ptr nk_context; a3: cstring; a4: cint; align: nk_flags): cint {.
cdecl.}
proc nk_contextual_item_label*(a2: ptr nk_context; a3: cstring; align: nk_flags): cint {.
cdecl.}
proc nk_contextual_item_image_label*(a2: ptr nk_context; a3: nk_image; a4: cstring;
alignment: nk_flags): cint {.cdecl.}
proc nk_contextual_item_image_text*(a2: ptr nk_context; a3: nk_image; a4: cstring;
len: cint; alignment: nk_flags): cint {.cdecl.}
proc nk_contextual_item_symbol_label*(a2: ptr nk_context; a3: nk_symbol_type;
a4: cstring; alignment: nk_flags): cint {.cdecl.}
proc nk_contextual_item_symbol_text*(a2: ptr nk_context; a3: nk_symbol_type;
a4: cstring; a5: cint; alignment: nk_flags): cint {.
cdecl.}
proc nk_contextual_close*(a2: ptr nk_context) {.cdecl.}
proc nk_contextual_end*(a2: ptr nk_context) {.cdecl.}
proc nk_tooltip*(a2: ptr nk_context; a3: cstring) {.cdecl.}
proc nk_tooltip_begin*(a2: ptr nk_context; width: cfloat): cint {.cdecl.}
proc nk_tooltip_end*(a2: ptr nk_context) {.cdecl.}
proc nk_menubar_begin*(a2: ptr nk_context) {.cdecl.}
proc nk_menubar_end*(a2: ptr nk_context) {.cdecl.}
proc nk_menu_begin_text*(a2: ptr nk_context; title: cstring; title_len: cint;
align: nk_flags; size: nk_vec2): cint {.cdecl.}
proc nk_menu_begin_label*(a2: ptr nk_context; a3: cstring; align: nk_flags;
size: nk_vec2): cint {.cdecl.}
proc nk_menu_begin_image*(a2: ptr nk_context; a3: cstring; a4: nk_image; size: nk_vec2): cint {.
cdecl.}
proc nk_menu_begin_image_text*(a2: ptr nk_context; a3: cstring; a4: cint;
align: nk_flags; a6: nk_image; size: nk_vec2): cint {.
cdecl.}
proc nk_menu_begin_image_label*(a2: ptr nk_context; a3: cstring; align: nk_flags;
a5: nk_image; size: nk_vec2): cint {.cdecl.}
proc nk_menu_begin_symbol*(a2: ptr nk_context; a3: cstring; a4: nk_symbol_type;
size: nk_vec2): cint {.cdecl.}
proc nk_menu_begin_symbol_text*(a2: ptr nk_context; a3: cstring; a4: cint;
align: nk_flags; a6: nk_symbol_type; size: nk_vec2): cint {.
cdecl.}
proc nk_menu_begin_symbol_label*(a2: ptr nk_context; a3: cstring; align: nk_flags;
a5: nk_symbol_type; size: nk_vec2): cint {.cdecl.}
proc nk_menu_item_text*(a2: ptr nk_context; a3: cstring; a4: cint; align: nk_flags): cint {.
cdecl.}
proc nk_menu_item_label*(a2: ptr nk_context; a3: cstring; alignment: nk_flags): cint {.
cdecl.}
proc nk_menu_item_image_label*(a2: ptr nk_context; a3: nk_image; a4: cstring;
alignment: nk_flags): cint {.cdecl.}
proc nk_menu_item_image_text*(a2: ptr nk_context; a3: nk_image; a4: cstring; len: cint;
alignment: nk_flags): cint {.cdecl.}
proc nk_menu_item_symbol_text*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
a5: cint; alignment: nk_flags): cint {.cdecl.}
proc nk_menu_item_symbol_label*(a2: ptr nk_context; a3: nk_symbol_type; a4: cstring;
alignment: nk_flags): cint {.cdecl.}
proc nk_menu_close*(a2: ptr nk_context) {.cdecl.}
proc nk_menu_end*(a2: ptr nk_context) {.cdecl.}
proc nk_input_begin*(a2: ptr nk_context) {.cdecl.}
proc nk_input_motion*(a2: ptr nk_context; x: cint; y: cint) {.cdecl.}
proc nk_input_key*(a2: ptr nk_context; a3: nk_keys; down: cint) {.cdecl.}
proc nk_input_button*(a2: ptr nk_context; a3: nk_buttons; x: cint; y: cint; down: cint) {.
cdecl.}
proc nk_input_scroll*(a2: ptr nk_context; y: cfloat) {.cdecl.}
proc nk_input_char*(a2: ptr nk_context; a3: char) {.cdecl.}
proc nk_input_glyph*(a2: ptr nk_context; a3: nk_glyph) {.cdecl.}
proc nk_input_unicode*(a2: ptr nk_context; a3: nk_rune) {.cdecl.}
proc nk_input_end*(a2: ptr nk_context) {.cdecl.}
proc nk_style_default*(a2: ptr nk_context) {.cdecl.}
proc nk_style_from_table*(a2: ptr nk_context; a3: ptr nk_color) {.cdecl.}
proc nk_style_load_cursor*(a2: ptr nk_context; a3: nk_style_cursor; a4: ptr nk_cursor) {.
cdecl.}
proc nk_style_load_all_cursors*(a2: ptr nk_context; a3: ptr nk_cursor) {.cdecl.}
proc nk_style_get_color_by_name*(a2: nk_style_colors): cstring {.cdecl.}
proc nk_style_set_font*(a2: ptr nk_context; a3: ptr nk_user_font) {.cdecl.}
proc nk_style_set_cursor*(a2: ptr nk_context; a3: nk_style_cursor): cint {.cdecl.}
proc nk_style_show_cursor*(a2: ptr nk_context) {.cdecl.}
proc nk_style_hide_cursor*(a2: ptr nk_context) {.cdecl.}
proc nk_style_push_font*(a2: ptr nk_context; a3: ptr nk_user_font): cint {.cdecl.}
proc nk_style_push_float*(a2: ptr nk_context; a3: ptr cfloat; a4: cfloat): cint {.cdecl.}
proc nk_style_push_vec2*(a2: ptr nk_context; a3: ptr nk_vec2; a4: nk_vec2): cint {.cdecl.}
proc nk_style_push_style_item*(a2: ptr nk_context; a3: ptr nk_style_item;
a4: nk_style_item): cint {.cdecl.}
proc nk_style_push_flags*(a2: ptr nk_context; a3: ptr nk_flags; a4: nk_flags): cint {.
cdecl.}
proc nk_style_push_color*(a2: ptr nk_context; a3: ptr nk_color; a4: nk_color): cint {.
cdecl.}
proc nk_style_pop_font*(a2: ptr nk_context): cint {.cdecl.}
proc nk_style_pop_float*(a2: ptr nk_context): cint {.cdecl.}
proc nk_style_pop_vec2*(a2: ptr nk_context): cint {.cdecl.}
proc nk_style_pop_style_item*(a2: ptr nk_context): cint {.cdecl.}
proc nk_style_pop_flags*(a2: ptr nk_context): cint {.cdecl.}
proc nk_style_pop_color*(a2: ptr nk_context): cint {.cdecl.}
proc nk_widget_bounds*(a2: ptr nk_context): nk_rect {.cdecl.}
proc nk_widget_position*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_widget_size*(a2: ptr nk_context): nk_vec2 {.cdecl.}
proc nk_widget_width*(a2: ptr nk_context): cfloat {.cdecl.}
proc nk_widget_height*(a2: ptr nk_context): cfloat {.cdecl.}
proc nk_widget_is_hovered*(a2: ptr nk_context): cint {.cdecl.}
proc nk_widget_is_mouse_clicked*(a2: ptr nk_context; a3: nk_buttons): cint {.cdecl.}
proc nk_widget_has_mouse_click_down*(a2: ptr nk_context; a3: nk_buttons; down: cint): cint {.
cdecl.}
proc nk_spacing*(a2: ptr nk_context; cols: cint) {.cdecl.}
proc nk_widget*(a2: ptr nk_rect; a3: ptr nk_context): nk_widget_layout_states {.cdecl.}
proc nk_widget_fitting*(a2: ptr nk_rect; a3: ptr nk_context; a4: nk_vec2): nk_widget_layout_states {.
cdecl.}
proc nk_rgb*(r: cint; g: cint; b: cint): nk_color {.cdecl.}
proc nk_rgb_iv*(rgb: ptr cint): nk_color {.cdecl.}
proc nk_rgb_bv*(rgb: ptr nk_byte): nk_color {.cdecl.}
proc nk_rgb_f*(r: cfloat; g: cfloat; b: cfloat): nk_color {.cdecl.}
proc nk_rgb_fv*(rgb: ptr cfloat): nk_color {.cdecl.}
proc nk_rgb_hex*(rgb: cstring): nk_color {.cdecl.}
proc nk_rgba*(r: cint; g: cint; b: cint; a: cint): nk_color {.cdecl.}
proc nk_rgba_u32*(a2: nk_uint): nk_color {.cdecl.}
proc nk_rgba_iv*(rgba: ptr cint): nk_color {.cdecl.}
proc nk_rgba_bv*(rgba: ptr nk_byte): nk_color {.cdecl.}
proc nk_rgba_f*(r: cfloat; g: cfloat; b: cfloat; a: cfloat): nk_color {.cdecl.}
proc nk_rgba_fv*(rgba: ptr cfloat): nk_color {.cdecl.}
proc nk_rgba_hex*(rgb: cstring): nk_color {.cdecl.}
proc nk_hsv*(h: cint; s: cint; v: cint): nk_color {.cdecl.}
proc nk_hsv_iv*(hsv: ptr cint): nk_color {.cdecl.}
proc nk_hsv_bv*(hsv: ptr nk_byte): nk_color {.cdecl.}
proc nk_hsv_f*(h: cfloat; s: cfloat; v: cfloat): nk_color {.cdecl.}
proc nk_hsv_fv*(hsv: ptr cfloat): nk_color {.cdecl.}
proc nk_hsva*(h: cint; s: cint; v: cint; a: cint): nk_color {.cdecl.}
proc nk_hsva_iv*(hsva: ptr cint): nk_color {.cdecl.}
proc nk_hsva_bv*(hsva: ptr nk_byte): nk_color {.cdecl.}
proc nk_hsva_f*(h: cfloat; s: cfloat; v: cfloat; a: cfloat): nk_color {.cdecl.}
proc nk_hsva_fv*(hsva: ptr cfloat): nk_color {.cdecl.}
proc nk_color_f*(r: ptr cfloat; g: ptr cfloat; b: ptr cfloat; a: ptr cfloat; a6: nk_color) {.
cdecl.}
proc nk_color_fv*(rgba_out: ptr cfloat; a3: nk_color) {.cdecl.}
proc nk_color_d*(r: ptr cdouble; g: ptr cdouble; b: ptr cdouble; a: ptr cdouble; a6: nk_color) {.
cdecl.}
proc nk_color_dv*(rgba_out: ptr cdouble; a3: nk_color) {.cdecl.}
proc nk_color_u32*(a2: nk_color): nk_uint {.cdecl.}
proc nk_color_hex_rgba*(output: cstring; a3: nk_color) {.cdecl.}
proc nk_color_hex_rgb*(output: cstring; a3: nk_color) {.cdecl.}
proc nk_color_hsv_i*(out_h: ptr cint; out_s: ptr cint; out_v: ptr cint; a5: nk_color) {.
cdecl.}
proc nk_color_hsv_b*(out_h: ptr nk_byte; out_s: ptr nk_byte; out_v: ptr nk_byte;
a5: nk_color) {.cdecl.}
proc nk_color_hsv_iv*(hsv_out: ptr cint; a3: nk_color) {.cdecl.}
proc nk_color_hsv_bv*(hsv_out: ptr nk_byte; a3: nk_color) {.cdecl.}
proc nk_color_hsv_f*(out_h: ptr cfloat; out_s: ptr cfloat; out_v: ptr cfloat; a5: nk_color) {.
cdecl.}
proc nk_color_hsv_fv*(hsv_out: ptr cfloat; a3: nk_color) {.cdecl.}
proc nk_color_hsva_i*(h: ptr cint; s: ptr cint; v: ptr cint; a: ptr cint; a6: nk_color) {.cdecl.}
proc nk_color_hsva_b*(h: ptr nk_byte; s: ptr nk_byte; v: ptr nk_byte; a: ptr nk_byte;
a6: nk_color) {.cdecl.}
proc nk_color_hsva_iv*(hsva_out: ptr cint; a3: nk_color) {.cdecl.}
proc nk_color_hsva_bv*(hsva_out: ptr nk_byte; a3: nk_color) {.cdecl.}
proc nk_color_hsva_f*(out_h: ptr cfloat; out_s: ptr cfloat; out_v: ptr cfloat;
out_a: ptr cfloat; a6: nk_color) {.cdecl.}
proc nk_color_hsva_fv*(hsva_out: ptr cfloat; a3: nk_color) {.cdecl.}
proc nk_handle_ptr*(a2: pointer): nk_handle {.cdecl.}
proc nk_handle_id*(a2: cint): nk_handle {.cdecl.}
proc nk_image_handle*(a2: nk_handle): nk_image {.cdecl.}
proc nk_image_ptr*(a2: pointer): nk_image {.cdecl.}
proc nk_image_id*(a2: cint): nk_image {.cdecl.}
proc nk_image_is_subimage*(img: ptr nk_image): cint {.cdecl.}
proc nk_subimage_ptr*(a2: pointer; w: cushort; h: cushort; sub_region: nk_rect): nk_image {.
cdecl.}
proc nk_subimage_id*(a2: cint; w: cushort; h: cushort; sub_region: nk_rect): nk_image {.
cdecl.}
proc nk_subimage_handle*(a2: nk_handle; w: cushort; h: cushort; sub_region: nk_rect): nk_image {.
cdecl.}
proc nk_murmur_hash*(key: pointer; len: cint; seed: nk_hash): nk_hash {.cdecl.}
proc nk_triangle_from_direction*(result: ptr nk_vec2; r: nk_rect; pad_x: cfloat;
pad_y: cfloat; a6: nk_heading) {.cdecl.}
proc nk_vec2*(x: cfloat; y: cfloat): nk_vec2 {.cdecl.}
proc nk_vec2i*(x: cint; y: cint): nk_vec2 {.cdecl.}
proc nk_vec2v*(xy: ptr cfloat): nk_vec2 {.cdecl.}
proc nk_vec2iv*(xy: ptr cint): nk_vec2 {.cdecl.}
proc nk_get_null_rect*(): nk_rect {.cdecl.}
proc nk_rect*(x: cfloat; y: cfloat; w: cfloat; h: cfloat): nk_rect {.cdecl.}
proc nk_recti*(x: cint; y: cint; w: cint; h: cint): nk_rect {.cdecl.}
proc nk_recta*(pos: nk_vec2; size: nk_vec2): nk_rect {.cdecl.}
proc nk_rectv*(xywh: ptr cfloat): nk_rect {.cdecl.}
proc nk_rectiv*(xywh: ptr cint): nk_rect {.cdecl.}
proc nk_rect_pos*(a2: nk_rect): nk_vec2 {.cdecl.}
proc nk_rect_size*(a2: nk_rect): nk_vec2 {.cdecl.}
proc nk_strlen*(str: cstring): cint {.cdecl.}
proc nk_stricmp*(s1: cstring; s2: cstring): cint {.cdecl.}
proc nk_stricmpn*(s1: cstring; s2: cstring; n: cint): cint {.cdecl.}
proc nk_strtoi*(str: cstring; endptr: cstringArray): cint {.cdecl.}
proc nk_strtof*(str: cstring; endptr: cstringArray): cfloat {.cdecl.}
proc nk_strtod*(str: cstring; endptr: cstringArray): cdouble {.cdecl.}
proc nk_strfilter*(text: cstring; regexp: cstring): cint {.cdecl.}
proc nk_strmatch_fuzzy_string*(str: cstring; pattern: cstring; out_score: ptr cint): cint {.
cdecl.}
proc nk_strmatch_fuzzy_text*(txt: cstring; txt_len: cint; pattern: cstring;
out_score: ptr cint): cint {.cdecl.}
proc nk_utf_decode*(a2: cstring; a3: ptr nk_rune; a4: cint): cint {.cdecl.}
proc nk_utf_encode*(a2: nk_rune; a3: cstring; a4: cint): cint {.cdecl.}
proc nk_utf_len*(a2: cstring; byte_len: cint): cint {.cdecl.}
proc nk_utf_at*(buffer: cstring; length: cint; index: cint; unicode: ptr nk_rune;
len: ptr cint): cstring {.cdecl.}
type
nk_user_font_glyph* = object
nk_text_width_f* = proc (a2: nk_handle; h: cfloat; a4: cstring; len: cint): cfloat {.cdecl.}
nk_query_font_glyph_f* = proc (handle: nk_handle; font_height: cfloat;
glyph: ptr nk_user_font_glyph; codepoint: nk_rune;
next_codepoint: nk_rune) {.cdecl.}
nk_user_font* = object
userdata*: nk_handle
height*: cfloat
width*: nk_text_width_f
nk_memory_status* = object
memory*: pointer
`type`*: cuint
size*: nk_size
allocated*: nk_size
needed*: nk_size
calls*: nk_size
nk_allocation_type* = enum
NK_BUFFER_FIXED, NK_BUFFER_DYNAMIC
type
nk_buffer_allocation_type* = enum
NK_BUFFER_FRONT, NK_BUFFER_BACK, NK_BUFFER_MAX
type
nk_buffer_marker* = object
active*: cint
offset*: nk_size
nk_memory* = object
`ptr`*: pointer
size*: nk_size
nk_buffer* = object
marker*: array[NK_BUFFER_MAX, nk_buffer_marker]
pool*: nk_allocator
`type`*: nk_allocation_type
memory*: nk_memory
grow_factor*: cfloat
allocated*: nk_size
needed*: nk_size
calls*: nk_size
size*: nk_size
proc nk_buffer_init*(a2: ptr nk_buffer; a3: ptr nk_allocator; size: nk_size) {.cdecl.}
proc nk_buffer_init_fixed*(a2: ptr nk_buffer; memory: pointer; size: nk_size) {.cdecl.}
proc nk_buffer_info*(a2: ptr nk_memory_status; a3: ptr nk_buffer) {.cdecl.}
proc nk_buffer_push*(a2: ptr nk_buffer; `type`: nk_buffer_allocation_type;
memory: pointer; size: nk_size; align: nk_size) {.cdecl.}
proc nk_buffer_mark*(a2: ptr nk_buffer; `type`: nk_buffer_allocation_type) {.cdecl.}
proc nk_buffer_reset*(a2: ptr nk_buffer; `type`: nk_buffer_allocation_type) {.cdecl.}
proc nk_buffer_clear*(a2: ptr nk_buffer) {.cdecl.}
proc nk_buffer_free*(a2: ptr nk_buffer) {.cdecl.}
proc nk_buffer_memory*(a2: ptr nk_buffer): pointer {.cdecl.}
proc nk_buffer_memory_const*(a2: ptr nk_buffer): pointer {.cdecl.}
proc nk_buffer_total*(a2: ptr nk_buffer): nk_size {.cdecl.}
type
nk_str* = object
buffer*: nk_buffer
len*: cint
proc nk_str_init*(a2: ptr nk_str; a3: ptr nk_allocator; size: nk_size) {.cdecl.}
proc nk_str_init_fixed*(a2: ptr nk_str; memory: pointer; size: nk_size) {.cdecl.}
proc nk_str_clear*(a2: ptr nk_str) {.cdecl.}
proc nk_str_free*(a2: ptr nk_str) {.cdecl.}
proc nk_str_append_text_char*(a2: ptr nk_str; a3: cstring; a4: cint): cint {.cdecl.}
proc nk_str_append_str_char*(a2: ptr nk_str; a3: cstring): cint {.cdecl.}
proc nk_str_append_text_utf8*(a2: ptr nk_str; a3: cstring; a4: cint): cint {.cdecl.}
proc nk_str_append_str_utf8*(a2: ptr nk_str; a3: cstring): cint {.cdecl.}
proc nk_str_append_text_runes*(a2: ptr nk_str; a3: ptr nk_rune; a4: cint): cint {.cdecl.}
proc nk_str_append_str_runes*(a2: ptr nk_str; a3: ptr nk_rune): cint {.cdecl.}
proc nk_str_insert_at_char*(a2: ptr nk_str; pos: cint; a4: cstring; a5: cint): cint {.cdecl.}
proc nk_str_insert_at_rune*(a2: ptr nk_str; pos: cint; a4: cstring; a5: cint): cint {.cdecl.}
proc nk_str_insert_text_char*(a2: ptr nk_str; pos: cint; a4: cstring; a5: cint): cint {.
cdecl.}
proc nk_str_insert_str_char*(a2: ptr nk_str; pos: cint; a4: cstring): cint {.cdecl.}
proc nk_str_insert_text_utf8*(a2: ptr nk_str; pos: cint; a4: cstring; a5: cint): cint {.
cdecl.}
proc nk_str_insert_str_utf8*(a2: ptr nk_str; pos: cint; a4: cstring): cint {.cdecl.}
proc nk_str_insert_text_runes*(a2: ptr nk_str; pos: cint; a4: ptr nk_rune; a5: cint): cint {.
cdecl.}
proc nk_str_insert_str_runes*(a2: ptr nk_str; pos: cint; a4: ptr nk_rune): cint {.cdecl.}
proc nk_str_remove_chars*(a2: ptr nk_str; len: cint) {.cdecl.}
proc nk_str_remove_runes*(str: ptr nk_str; len: cint) {.cdecl.}
proc nk_str_delete_chars*(a2: ptr nk_str; pos: cint; len: cint) {.cdecl.}
proc nk_str_delete_runes*(a2: ptr nk_str; pos: cint; len: cint) {.cdecl.}
proc nk_str_at_char*(a2: ptr nk_str; pos: cint): cstring {.cdecl.}
proc nk_str_at_rune*(a2: ptr nk_str; pos: cint; unicode: ptr nk_rune; len: ptr cint): cstring {.
cdecl.}
proc nk_str_rune_at*(a2: ptr nk_str; pos: cint): nk_rune {.cdecl.}
proc nk_str_at_char_const*(a2: ptr nk_str; pos: cint): cstring {.cdecl.}
proc nk_str_at_const*(a2: ptr nk_str; pos: cint; unicode: ptr nk_rune; len: ptr cint): cstring {.
cdecl.}
proc nk_str_get*(a2: ptr nk_str): cstring {.cdecl.}
proc nk_str_get_const*(a2: ptr nk_str): cstring {.cdecl.}
proc nk_str_len*(a2: ptr nk_str): cint {.cdecl.}
proc nk_str_len_char*(a2: ptr nk_str): cint {.cdecl.}
type
nk_text_edit* = object
nk_clipboard* = object
userdata*: nk_handle
paste*: nk_plugin_paste
copy*: nk_plugin_copy
nk_text_undo_record* = object
where*: cint
insert_length*: cshort
delete_length*: cshort
char_storage*: cshort
nk_text_undo_state* = object
undo_rec*: array[99, nk_text_undo_record]
undo_char*: array[999, nk_rune]
undo_point*: cshort
redo_point*: cshort
undo_char_point*: cshort
redo_char_point*: cshort
nk_text_edit_type* = enum
NK_TEXT_EDIT_SINGLE_LINE, NK_TEXT_EDIT_MULTI_LINE
type
nk_text_edit_mode* = enum
NK_TEXT_EDIT_MODE_VIEW, NK_TEXT_EDIT_MODE_INSERT, NK_TEXT_EDIT_MODE_REPLACE
type
nk_text_edit* = object
clip*: nk_clipboard
string*: nk_str
filter*: nk_plugin_filter
scrollbar*: nk_vec2
cursor*: cint
select_start*: cint
select_end*: cint
mode*: cuchar
cursor_at_end_of_line*: cuchar
initialized*: cuchar
has_preferred_x*: cuchar
single_line*: cuchar
active*: cuchar
padding1*: cuchar
preferred_x*: cfloat
undo*: nk_text_undo_state
proc nk_filter_default*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_ascii*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_float*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_decimal*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_hex*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_oct*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_filter_binary*(a2: ptr nk_text_edit; unicode: nk_rune): cint {.cdecl.}
proc nk_textedit_init*(a2: ptr nk_text_edit; a3: ptr nk_allocator; size: nk_size) {.cdecl.}
proc nk_textedit_init_fixed*(a2: ptr nk_text_edit; memory: pointer; size: nk_size) {.
cdecl.}
proc nk_textedit_free*(a2: ptr nk_text_edit) {.cdecl.}
proc nk_textedit_text*(a2: ptr nk_text_edit; a3: cstring; total_len: cint) {.cdecl.}
proc nk_textedit_delete*(a2: ptr nk_text_edit; where: cint; len: cint) {.cdecl.}
proc nk_textedit_delete_selection*(a2: ptr nk_text_edit) {.cdecl.}
proc nk_textedit_select_all*(a2: ptr nk_text_edit) {.cdecl.}
proc nk_textedit_cut*(a2: ptr nk_text_edit): cint {.cdecl.}
proc nk_textedit_paste*(a2: ptr nk_text_edit; a3: cstring; len: cint): cint {.cdecl.}
proc nk_textedit_undo*(a2: ptr nk_text_edit) {.cdecl.}
proc nk_textedit_redo*(a2: ptr nk_text_edit) {.cdecl.}
type
nk_command_type* = enum
NK_COMMAND_NOP, NK_COMMAND_SCISSOR, NK_COMMAND_LINE, NK_COMMAND_CURVE,
NK_COMMAND_RECT, NK_COMMAND_RECT_FILLED, NK_COMMAND_RECT_MULTI_COLOR,
NK_COMMAND_CIRCLE, NK_COMMAND_CIRCLE_FILLED, NK_COMMAND_ARC,
NK_COMMAND_ARC_FILLED, NK_COMMAND_TRIANGLE, NK_COMMAND_TRIANGLE_FILLED,
NK_COMMAND_POLYGON, NK_COMMAND_POLYGON_FILLED, NK_COMMAND_POLYLINE,
NK_COMMAND_TEXT, NK_COMMAND_IMAGE
type
nk_command* = object
`type`*: nk_command_type
next*: nk_size
nk_command_scissor* = object
header*: nk_command
x*: cshort
y*: cshort
w*: cushort
h*: cushort
nk_command_line* = object
header*: nk_command
line_thickness*: cushort
begin*: nk_vec2i
`end`*: nk_vec2i
color*: nk_color
nk_command_curve* = object
header*: nk_command
line_thickness*: cushort
begin*: nk_vec2i
`end`*: nk_vec2i
ctrl*: array[2, nk_vec2i]
color*: nk_color
nk_command_rect* = object
header*: nk_command
rounding*: cushort
line_thickness*: cushort
x*: cshort
y*: cshort
w*: cushort
h*: cushort
color*: nk_color
nk_command_rect_filled* = object
header*: nk_command
rounding*: cushort
x*: cshort
y*: cshort
w*: cushort
h*: cushort
color*: nk_color
nk_command_rect_multi_color* = object
header*: nk_command
x*: cshort
y*: cshort
w*: cushort
h*: cushort
left*: nk_color
top*: nk_color
bottom*: nk_color
right*: nk_color
nk_command_triangle* = object
header*: nk_command
line_thickness*: cushort
a*: nk_vec2i
b*: nk_vec2i
c*: nk_vec2i
color*: nk_color
nk_command_triangle_filled* = object
header*: nk_command
a*: nk_vec2i
b*: nk_vec2i
c*: nk_vec2i
color*: nk_color
nk_command_circle* = object
header*: nk_command
x*: cshort
y*: cshort
line_thickness*: cushort
w*: cushort
h*: cushort
color*: nk_color
nk_command_circle_filled* = object
header*: nk_command
x*: cshort
y*: cshort
w*: cushort
h*: cushort
color*: nk_color
nk_command_arc* = object
header*: nk_command
cx*: cshort
cy*: cshort
r*: cushort
line_thickness*: cushort
a*: array[2, cfloat]
color*: nk_color
nk_command_arc_filled* = object
header*: nk_command
cx*: cshort
cy*: cshort
r*: cushort
a*: array[2, cfloat]
color*: nk_color
nk_command_polygon* = object
header*: nk_command
color*: nk_color
line_thickness*: cushort
point_count*: cushort
points*: array[1, nk_vec2i]
nk_command_polygon_filled* = object
header*: nk_command
color*: nk_color
point_count*: cushort
points*: array[1, nk_vec2i]
nk_command_polyline* = object
header*: nk_command
color*: nk_color
line_thickness*: cushort
point_count*: cushort
points*: array[1, nk_vec2i]
nk_command_image* = object
header*: nk_command
x*: cshort
y*: cshort
w*: cushort
h*: cushort
img*: nk_image
col*: nk_color
nk_command_text* = object
header*: nk_command
font*: ptr nk_user_font
background*: nk_color
foreground*: nk_color
x*: cshort
y*: cshort
w*: cushort
h*: cushort
height*: cfloat
length*: cint
string*: array[1, char]
nk_command_clipping* = enum
NK_CLIPPING_OFF = nk_false, NK_CLIPPING_ON = nk_true
type
nk_command_buffer* = object
base*: ptr nk_buffer
clip*: nk_rect
use_clipping*: cint
userdata*: nk_handle
begin*: nk_size
`end`*: nk_size
last*: nk_size
proc nk_stroke_line*(b: ptr nk_command_buffer; x0: cfloat; y0: cfloat; x1: cfloat;
y1: cfloat; line_thickness: cfloat; a8: nk_color) {.cdecl.}
proc nk_stroke_curve*(a2: ptr nk_command_buffer; a3: cfloat; a4: cfloat; a5: cfloat;
a6: cfloat; a7: cfloat; a8: cfloat; a9: cfloat; a10: cfloat;
line_thickness: cfloat; a12: nk_color) {.cdecl.}
proc nk_stroke_rect*(a2: ptr nk_command_buffer; a3: nk_rect; rounding: cfloat;
line_thickness: cfloat; a6: nk_color) {.cdecl.}
proc nk_stroke_circle*(a2: ptr nk_command_buffer; a3: nk_rect; line_thickness: cfloat;
a5: nk_color) {.cdecl.}
proc nk_stroke_arc*(a2: ptr nk_command_buffer; cx: cfloat; cy: cfloat; radius: cfloat;
a_min: cfloat; a_max: cfloat; line_thickness: cfloat; a9: nk_color) {.
cdecl.}
proc nk_stroke_triangle*(a2: ptr nk_command_buffer; a3: cfloat; a4: cfloat; a5: cfloat;
a6: cfloat; a7: cfloat; a8: cfloat; line_thichness: cfloat;
a10: nk_color) {.cdecl.}
proc nk_stroke_polyline*(a2: ptr nk_command_buffer; points: ptr cfloat;
point_count: cint; line_thickness: cfloat; col: nk_color) {.
cdecl.}
proc nk_stroke_polygon*(a2: ptr nk_command_buffer; a3: ptr cfloat; point_count: cint;
line_thickness: cfloat; a6: nk_color) {.cdecl.}
proc nk_fill_rect*(a2: ptr nk_command_buffer; a3: nk_rect; rounding: cfloat;
a5: nk_color) {.cdecl.}
proc nk_fill_rect_multi_color*(a2: ptr nk_command_buffer; a3: nk_rect; left: nk_color;
top: nk_color; right: nk_color; bottom: nk_color) {.
cdecl.}
proc nk_fill_circle*(a2: ptr nk_command_buffer; a3: nk_rect; a4: nk_color) {.cdecl.}
proc nk_fill_arc*(a2: ptr nk_command_buffer; cx: cfloat; cy: cfloat; radius: cfloat;
a_min: cfloat; a_max: cfloat; a8: nk_color) {.cdecl.}
proc nk_fill_triangle*(a2: ptr nk_command_buffer; x0: cfloat; y0: cfloat; x1: cfloat;
y1: cfloat; x2: cfloat; y2: cfloat; a9: nk_color) {.cdecl.}
proc nk_fill_polygon*(a2: ptr nk_command_buffer; a3: ptr cfloat; point_count: cint;
a5: nk_color) {.cdecl.}
proc nk_push_scissor*(a2: ptr nk_command_buffer; a3: nk_rect) {.cdecl.}
proc nk_draw_image*(a2: ptr nk_command_buffer; a3: nk_rect; a4: ptr nk_image;
a5: nk_color) {.cdecl.}
proc nk_draw_text*(a2: ptr nk_command_buffer; a3: nk_rect; text: cstring; len: cint;
a6: ptr nk_user_font; a7: nk_color; a8: nk_color) {.cdecl.}
proc nk__next*(a2: ptr nk_context; a3: ptr nk_command): ptr nk_command {.cdecl.}
proc nk__begin*(a2: ptr nk_context): ptr nk_command {.cdecl.}
type
nk_mouse_button* = object
down*: cint
clicked*: cuint
clicked_pos*: nk_vec2
nk_mouse* = object
buttons*: array[NK_BUTTON_MAX, nk_mouse_button]
pos*: nk_vec2
prev*: nk_vec2
delta*: nk_vec2
scroll_delta*: cfloat
grab*: cuchar
grabbed*: cuchar
ungrab*: cuchar
nk_key* = object
down*: cint
clicked*: cuint
nk_keyboard* = object
keys*: array[NK_KEY_MAX, nk_key]
text*: array[16, char]
text_len*: cint
nk_input* = object
keyboard*: nk_keyboard
mouse*: nk_mouse
proc nk_input_has_mouse_click*(a2: ptr nk_input; a3: nk_buttons): cint {.cdecl.}
proc nk_input_has_mouse_click_in_rect*(a2: ptr nk_input; a3: nk_buttons; a4: nk_rect): cint {.
cdecl.}
proc nk_input_has_mouse_click_down_in_rect*(a2: ptr nk_input; a3: nk_buttons;
a4: nk_rect; down: cint): cint {.cdecl.}
proc nk_input_is_mouse_click_in_rect*(a2: ptr nk_input; a3: nk_buttons; a4: nk_rect): cint {.
cdecl.}
proc nk_input_is_mouse_click_down_in_rect*(i: ptr nk_input; id: nk_buttons;
b: nk_rect; down: cint): cint {.cdecl.}
proc nk_input_any_mouse_click_in_rect*(a2: ptr nk_input; a3: nk_rect): cint {.cdecl.}
proc nk_input_is_mouse_prev_hovering_rect*(a2: ptr nk_input; a3: nk_rect): cint {.cdecl.}
proc nk_input_is_mouse_hovering_rect*(a2: ptr nk_input; a3: nk_rect): cint {.cdecl.}
proc nk_input_mouse_clicked*(a2: ptr nk_input; a3: nk_buttons; a4: nk_rect): cint {.cdecl.}
proc nk_input_is_mouse_down*(a2: ptr nk_input; a3: nk_buttons): cint {.cdecl.}
proc nk_input_is_mouse_pressed*(a2: ptr nk_input; a3: nk_buttons): cint {.cdecl.}
proc nk_input_is_mouse_released*(a2: ptr nk_input; a3: nk_buttons): cint {.cdecl.}
proc nk_input_is_key_pressed*(a2: ptr nk_input; a3: nk_keys): cint {.cdecl.}
proc nk_input_is_key_released*(a2: ptr nk_input; a3: nk_keys): cint {.cdecl.}
proc nk_input_is_key_down*(a2: ptr nk_input; a3: nk_keys): cint {.cdecl.}
type
nk_style_item_type* = enum
NK_STYLE_ITEM_COLOR, NK_STYLE_ITEM_IMAGE
type
nk_style_item_data* = object {.union.}
image*: nk_image
color*: nk_color
nk_style_item* = object
`type`*: nk_style_item_type
data*: nk_style_item_data
nk_style_text* = object
color*: nk_color
padding*: nk_vec2
nk_style_button* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
text_background*: nk_color
text_normal*: nk_color
text_hover*: nk_color
text_active*: nk_color
text_alignment*: nk_flags
border*: cfloat
rounding*: cfloat
padding*: nk_vec2
image_padding*: nk_vec2
touch_padding*: nk_vec2
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; userdata: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; userdata: nk_handle) {.cdecl.}
nk_style_toggle* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
cursor_normal*: nk_style_item
cursor_hover*: nk_style_item
text_normal*: nk_color
text_hover*: nk_color
text_active*: nk_color
text_background*: nk_color
text_alignment*: nk_flags
padding*: nk_vec2
touch_padding*: nk_vec2
spacing*: cfloat
border*: cfloat
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_selectable* = object
normal*: nk_style_item
hover*: nk_style_item
pressed*: nk_style_item
normal_active*: nk_style_item
hover_active*: nk_style_item
pressed_active*: nk_style_item
text_normal*: nk_color
text_hover*: nk_color
text_pressed*: nk_color
text_normal_active*: nk_color
text_hover_active*: nk_color
text_pressed_active*: nk_color
text_background*: nk_color
text_alignment*: nk_flags
rounding*: cfloat
padding*: nk_vec2
touch_padding*: nk_vec2
image_padding*: nk_vec2
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_slider* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
bar_normal*: nk_color
bar_hover*: nk_color
bar_active*: nk_color
bar_filled*: nk_color
cursor_normal*: nk_style_item
cursor_hover*: nk_style_item
cursor_active*: nk_style_item
border*: cfloat
rounding*: cfloat
bar_height*: cfloat
padding*: nk_vec2
spacing*: nk_vec2
cursor_size*: nk_vec2
show_buttons*: cint
inc_button*: nk_style_button
dec_button*: nk_style_button
inc_symbol*: nk_symbol_type
dec_symbol*: nk_symbol_type
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_progress* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
cursor_normal*: nk_style_item
cursor_hover*: nk_style_item
cursor_active*: nk_style_item
cursor_border_color*: nk_color
rounding*: cfloat
border*: cfloat
cursor_border*: cfloat
cursor_rounding*: cfloat
padding*: nk_vec2
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_scrollbar* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
cursor_normal*: nk_style_item
cursor_hover*: nk_style_item
cursor_active*: nk_style_item
cursor_border_color*: nk_color
border*: cfloat
rounding*: cfloat
border_cursor*: cfloat
rounding_cursor*: cfloat
padding*: nk_vec2
show_buttons*: cint
inc_button*: nk_style_button
dec_button*: nk_style_button
inc_symbol*: nk_symbol_type
dec_symbol*: nk_symbol_type
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_edit* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
scrollbar*: nk_style_scrollbar
cursor_normal*: nk_color
cursor_hover*: nk_color
cursor_text_normal*: nk_color
cursor_text_hover*: nk_color
text_normal*: nk_color
text_hover*: nk_color
text_active*: nk_color
selected_normal*: nk_color
selected_hover*: nk_color
selected_text_normal*: nk_color
selected_text_hover*: nk_color
border*: cfloat
rounding*: cfloat
cursor_size*: cfloat
scrollbar_size*: nk_vec2
padding*: nk_vec2
row_padding*: cfloat
nk_style_property* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
label_normal*: nk_color
label_hover*: nk_color
label_active*: nk_color
sym_left*: nk_symbol_type
sym_right*: nk_symbol_type
border*: cfloat
rounding*: cfloat
padding*: nk_vec2
edit*: nk_style_edit
inc_button*: nk_style_button
dec_button*: nk_style_button
userdata*: nk_handle
draw_begin*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
draw_end*: proc (a2: ptr nk_command_buffer; a3: nk_handle) {.cdecl.}
nk_style_chart* = object
background*: nk_style_item
border_color*: nk_color
selected_color*: nk_color
color*: nk_color
border*: cfloat
rounding*: cfloat
padding*: nk_vec2
nk_style_combo* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
border_color*: nk_color
label_normal*: nk_color
label_hover*: nk_color
label_active*: nk_color
symbol_normal*: nk_color
symbol_hover*: nk_color
symbol_active*: nk_color
button*: nk_style_button
sym_normal*: nk_symbol_type
sym_hover*: nk_symbol_type
sym_active*: nk_symbol_type
border*: cfloat
rounding*: cfloat
content_padding*: nk_vec2
button_padding*: nk_vec2
spacing*: nk_vec2
nk_style_tab* = object
background*: nk_style_item
border_color*: nk_color
text*: nk_color
tab_maximize_button*: nk_style_button
tab_minimize_button*: nk_style_button
node_maximize_button*: nk_style_button
node_minimize_button*: nk_style_button
sym_minimize*: nk_symbol_type
sym_maximize*: nk_symbol_type
border*: cfloat
rounding*: cfloat
indent*: cfloat
padding*: nk_vec2
spacing*: nk_vec2
nk_style_header_align* = enum
NK_HEADER_LEFT, NK_HEADER_RIGHT
type
nk_style_window_header* = object
normal*: nk_style_item
hover*: nk_style_item
active*: nk_style_item
close_button*: nk_style_button
minimize_button*: nk_style_button
close_symbol*: nk_symbol_type
minimize_symbol*: nk_symbol_type
maximize_symbol*: nk_symbol_type
label_normal*: nk_color
label_hover*: nk_color
label_active*: nk_color
align*: nk_style_header_align
padding*: nk_vec2
label_padding*: nk_vec2
spacing*: nk_vec2
nk_style_window* = object
header*: nk_style_window_header
fixed_background*: nk_style_item
background*: nk_color
border_color*: nk_color
popup_border_color*: nk_color
combo_border_color*: nk_color
contextual_border_color*: nk_color
menu_border_color*: nk_color
group_border_color*: nk_color
tooltip_border_color*: nk_color
scaler*: nk_style_item
border*: cfloat
combo_border*: cfloat
contextual_border*: cfloat
menu_border*: cfloat
group_border*: cfloat
tooltip_border*: cfloat
popup_border*: cfloat
rounding*: cfloat
spacing*: nk_vec2
scrollbar_size*: nk_vec2
min_size*: nk_vec2
padding*: nk_vec2
group_padding*: nk_vec2
popup_padding*: nk_vec2
combo_padding*: nk_vec2
contextual_padding*: nk_vec2
menu_padding*: nk_vec2
tooltip_padding*: nk_vec2
nk_style* = object
font*: ptr nk_user_font
cursors*: array[NK_CURSOR_COUNT, ptr nk_cursor]
cursor_active*: ptr nk_cursor
cursor_last*: ptr nk_cursor
cursor_visible*: cint
text*: nk_style_text
button*: nk_style_button
contextual_button*: nk_style_button
menu_button*: nk_style_button
option*: nk_style_toggle
checkbox*: nk_style_toggle
selectable*: nk_style_selectable
slider*: nk_style_slider
progress*: nk_style_progress
property*: nk_style_property
edit*: nk_style_edit
chart*: nk_style_chart
scrollh*: nk_style_scrollbar
scrollv*: nk_style_scrollbar
tab*: nk_style_tab
combo*: nk_style_combo
window*: nk_style_window
proc nk_style_item_image*(img: nk_image): nk_style_item {.cdecl.}
proc nk_style_item_color*(a2: nk_color): nk_style_item {.cdecl.}
proc nk_style_item_hide*(): nk_style_item {.cdecl.}
type
nk_panel_type* = enum
NK_PANEL_WINDOW = (1 shl (0)), NK_PANEL_GROUP = (1 shl (1)),
NK_PANEL_POPUP = (1 shl (2)), NK_PANEL_CONTEXTUAL = (1 shl (4)),
NK_PANEL_COMBO = (1 shl (5)), NK_PANEL_MENU = (1 shl (6)),
NK_PANEL_TOOLTIP = (1 shl (7))
type
nk_panel_set* = enum
NK_PANEL_SET_NONBLOCK = NK_PANEL_CONTEXTUAL or NK_PANEL_COMBO or NK_PANEL_MENU or
NK_PANEL_TOOLTIP,
NK_PANEL_SET_POPUP = NK_PANEL_SET_NONBLOCK or NK_PANEL_POPUP,
NK_PANEL_SET_SUB = NK_PANEL_SET_POPUP or NK_PANEL_GROUP
type
nk_chart_slot* = object
`type`*: nk_chart_type
color*: nk_color
highlight*: nk_color
min*: cfloat
max*: cfloat
range*: cfloat
count*: cint
last*: nk_vec2
index*: cint
nk_chart* = object
slot*: cint
x*: cfloat
y*: cfloat
w*: cfloat
h*: cfloat
slots*: array[4, nk_chart_slot]
nk_panel_row_layout_type* = enum
NK_LAYOUT_DYNAMIC_FIXED = 0, NK_LAYOUT_DYNAMIC_ROW, NK_LAYOUT_DYNAMIC_FREE,
NK_LAYOUT_DYNAMIC, NK_LAYOUT_STATIC_FIXED, NK_LAYOUT_STATIC_ROW,
NK_LAYOUT_STATIC_FREE, NK_LAYOUT_STATIC, NK_LAYOUT_TEMPLATE, NK_LAYOUT_COUNT
type
nk_row_layout* = object
`type`*: nk_panel_row_layout_type
index*: cint
height*: cfloat
columns*: cint
ratio*: ptr cfloat
item_width*: cfloat
item_height*: cfloat
item_offset*: cfloat
filled*: cfloat
item*: nk_rect
tree_depth*: cint
templates*: array[16, cfloat]
nk_popup_buffer* = object
begin*: nk_size
parent*: nk_size
last*: nk_size
`end`*: nk_size
active*: cint
nk_menu_state* = object
x*: cfloat
y*: cfloat
w*: cfloat
h*: cfloat
offset*: nk_scroll
nk_panel* = object
`type`*: nk_panel_type
flags*: nk_flags
bounds*: nk_rect
offset_x*: ptr nk_uint
offset_y*: ptr nk_uint
at_x*: cfloat
at_y*: cfloat
max_x*: cfloat
footer_height*: cfloat
header_height*: cfloat
border*: cfloat
has_scrolling*: cuint
clip*: nk_rect
menu*: nk_menu_state
row*: nk_row_layout
chart*: nk_chart
popup_buffer*: nk_popup_buffer
buffer*: ptr nk_command_buffer
parent*: ptr nk_panel
nk_table* = object
nk_window_flags* = enum
NK_WINDOW_PRIVATE = (1 shl (10)), NK_WINDOW_ROM = (1 shl (11)),
NK_WINDOW_HIDDEN = (1 shl (12)), NK_WINDOW_CLOSED = (1 shl (13)),
NK_WINDOW_MINIMIZED = (1 shl (14)), NK_WINDOW_REMOVE_ROM = (1 shl (15))
const
NK_WINDOW_DYNAMIC = NK_WINDOW_PRIVATE
type
nk_popup_state* = object
win*: ptr nk_window
`type`*: nk_panel_type
name*: nk_hash
active*: cint
combo_count*: cuint
con_count*: cuint
con_old*: cuint
active_con*: cuint
header*: nk_rect
nk_edit_state* = object
name*: nk_hash
seq*: cuint
old*: cuint
active*: cint
prev*: cint
cursor*: cint
sel_start*: cint
sel_end*: cint
scrollbar*: nk_scroll
mode*: cuchar
single_line*: cuchar
nk_property_state* = object
active*: cint
prev*: cint
buffer*: array[64, char]
length*: cint
cursor*: cint
name*: nk_hash
seq*: cuint
old*: cuint
state*: cint
nk_window* = object
seq*: cuint
name*: nk_hash
name_string*: array[64, char]
flags*: nk_flags
bounds*: nk_rect
scrollbar*: nk_scroll
buffer*: nk_command_buffer
layout*: ptr nk_panel
scrollbar_hiding_timer*: cfloat
property*: nk_property_state
popup*: nk_popup_state
edit*: nk_edit_state
scrolled*: cuint
tables*: ptr nk_table
table_count*: cushort
table_size*: cushort
next*: ptr nk_window
prev*: ptr nk_window
parent*: ptr nk_window
nk_config_stack_style_item_element* = object
address*: ptr nk_style_item
old_value*: nk_style_item
nk_config_stack_float_element* = object
address*: ptr cfloat
old_value*: cfloat
nk_config_stack_vec2_element* = object
address*: ptr nk_vec2
old_value*: nk_vec2
nk_config_stack_flags_element* = object
address*: ptr nk_flags
old_value*: nk_flags
nk_config_stack_color_element* = object
address*: ptr nk_color
old_value*: nk_color
nk_config_stack_user_font_element* = object
address*: ptr ptr nk_user_font
old_value*: ptr nk_user_font
nk_config_stack_button_behavior_element* = object
address*: ptr nk_button_behavior
old_value*: nk_button_behavior
nk_config_stack_style_item* = object
head*: cint
elements*: array[16, nk_config_stack_style_item_element]
nk_config_stack_float* = object
head*: cint
elements*: array[32, nk_config_stack_float_element]
nk_config_stack_vec2* = object
head*: cint
elements*: array[16, nk_config_stack_vec2_element]
nk_config_stack_flags* = object
head*: cint
elements*: array[32, nk_config_stack_flags_element]
nk_config_stack_color* = object
head*: cint
elements*: array[32, nk_config_stack_color_element]
nk_config_stack_user_font* = object
head*: cint
elements*: array[8, nk_config_stack_user_font_element]
nk_config_stack_button_behavior* = object
head*: cint
elements*: array[8, nk_config_stack_button_behavior_element]
nk_configuration_stacks* = object
style_items*: nk_config_stack_style_item
floats*: nk_config_stack_float
vectors*: nk_config_stack_vec2
flags*: nk_config_stack_flags
colors*: nk_config_stack_color
fonts*: nk_config_stack_user_font
button_behaviors*: nk_config_stack_button_behavior
nk_table* = object
seq*: cuint
keys*: array[(((if (sizeof(nk_window)) < (sizeof(nk_panel)): (sizeof(nk_panel)) else: (
sizeof(nk_window))) div sizeof((nk_uint))) div 2), nk_hash]
values*: array[(((if (sizeof(nk_window)) < (sizeof(nk_panel)): (sizeof(nk_panel)) else: (
sizeof(nk_window))) div sizeof((nk_uint))) div 2), nk_uint]
next*: ptr nk_table
prev*: ptr nk_table
nk_page_data* = object {.union.}
tbl*: nk_table
pan*: nk_panel
win*: nk_window
nk_page_element* = object
data*: nk_page_data
next*: ptr nk_page_element
prev*: ptr nk_page_element
nk_page* = object
size*: cuint
next*: ptr nk_page
win*: array[1, nk_page_element]
nk_pool* = object
alloc*: nk_allocator
`type`*: nk_allocation_type
page_count*: cuint
pages*: ptr nk_page
freelist*: ptr nk_page_element
capacity*: cuint
size*: nk_size
cap*: nk_size
nk_context* = object
input*: nk_input
style*: nk_style
memory*: nk_buffer
clip*: nk_clipboard
last_widget_state*: nk_flags
button_behavior*: nk_button_behavior
stacks*: nk_configuration_stacks
delta_time_seconds*: cfloat
text_edit*: nk_text_edit
overlay*: nk_command_buffer
build*: cint
use_pool*: cint
pool*: nk_pool
begin*: ptr nk_window
`end`*: ptr nk_window
active*: ptr nk_window
current*: ptr nk_window
freelist*: ptr nk_page_element
count*: cuint
seq*: cuint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment