21 auto& lua = core::ServiceLocator<sol::state>::ref();
23 auto nui_type = lua.new_usertype<
ui::NuklearUI>(
"NuklearUI", sol::no_constructor);
34 lua.new_enum<nk_heading>(
"nk_heading",
37 {
"NK_RIGHT", NK_RIGHT},
42 lua.new_enum<
enum nk_button_behavior>(
"nk_button_behavior",
44 {
"NK_BUTTON_DEFAULT", NK_BUTTON_DEFAULT},
45 {
"NK_BUTTON_REPEATER", NK_BUTTON_REPEATER}
48 lua.new_enum<nk_modify>(
"nk_modify",
50 {
"NK_FIXED", NK_FIXED},
51 {
"NK_MODIFIABLE", NK_MODIFIABLE}
54 lua.new_enum<nk_orientation>(
"nk_orientation",
56 {
"NK_VERTICAL", NK_VERTICAL},
57 {
"NK_HORIZONTAL", NK_HORIZONTAL}
60 lua.new_enum<nk_collapse_states>(
"nk_collapse_states",
62 {
"NK_MINIMIZED", NK_MINIMIZED},
63 {
"NK_MAXIMIZED", NK_MAXIMIZED}
66 lua.new_enum<nk_show_states>(
"nk_show_states",
68 {
"NK_HIDDEN", NK_HIDDEN},
69 {
"NK_SHOWN", NK_SHOWN}
72 lua.new_enum<nk_chart_type>(
"nk_chart_type",
74 {
"NK_CHART_LINES", NK_CHART_LINES},
75 {
"NK_CHART_COLUMN", NK_CHART_COLUMN},
76 {
"NK_CHART_MAX", NK_CHART_MAX}
79 lua.new_enum<nk_chart_event>(
"nk_chart_event",
81 {
"NK_CHART_HOVERING", NK_CHART_HOVERING},
82 {
"NK_CHART_CLICKED", NK_CHART_CLICKED}
85 lua.new_enum<nk_color_format>(
"nk_color_format",
91 lua.new_enum<nk_popup_type>(
"nk_popup_type",
93 {
"NK_POPUP_STATIC", NK_POPUP_STATIC},
94 {
"NK_POPUP_DYNAMIC", NK_POPUP_DYNAMIC}
97 lua.new_enum<nk_layout_format>(
"nk_layout_format",
99 {
"NK_DYNAMIC", NK_DYNAMIC},
100 {
"NK_STATIC", NK_STATIC}
103 lua.new_enum<nk_tree_type>(
"nk_tree_type",
105 {
"NK_TREE_NODE", NK_TREE_NODE},
106 {
"NK_TREE_TAB", NK_TREE_TAB}
109 lua.new_enum<nk_symbol_type>(
"nk_symbol_type",
111 {
"NK_SYMBOL_NONE", NK_SYMBOL_NONE},
112 {
"NK_SYMBOL_X", NK_SYMBOL_X},
113 {
"NK_SYMBOL_UNDERSCORE", NK_SYMBOL_UNDERSCORE},
114 {
"NK_SYMBOL_CIRCLE_SOLID", NK_SYMBOL_CIRCLE_SOLID},
115 {
"NK_SYMBOL_CIRCLE_OUTLINE", NK_SYMBOL_CIRCLE_OUTLINE},
116 {
"NK_SYMBOL_RECT_SOLID", NK_SYMBOL_RECT_SOLID},
117 {
"NK_SYMBOL_RECT_OUTLINE", NK_SYMBOL_RECT_OUTLINE},
118 {
"NK_SYMBOL_TRIANGLE_UP", NK_SYMBOL_TRIANGLE_UP},
119 {
"NK_SYMBOL_TRIANGLE_DOWN", NK_SYMBOL_TRIANGLE_DOWN},
120 {
"NK_SYMBOL_TRIANGLE_LEFT", NK_SYMBOL_TRIANGLE_LEFT},
121 {
"NK_SYMBOL_TRIANGLE_RIGHT", NK_SYMBOL_TRIANGLE_RIGHT},
122 {
"NK_SYMBOL_PLUS", NK_SYMBOL_PLUS},
123 {
"NK_SYMBOL_MINUS", NK_SYMBOL_MINUS},
124 {
"NK_SYMBOL_MAX", NK_SYMBOL_MAX}
127 lua.new_enum<nk_keys>(
"nk_keys",
129 {
"NK_KEY_NONE", NK_KEY_NONE},
130 {
"NK_KEY_SHIFT", NK_KEY_SHIFT},
131 {
"NK_KEY_CTRL", NK_KEY_CTRL},
132 {
"NK_KEY_DEL", NK_KEY_DEL},
133 {
"NK_KEY_ENTER", NK_KEY_ENTER},
134 {
"NK_KEY_TAB", NK_KEY_TAB},
135 {
"NK_KEY_BACKSPACE", NK_KEY_BACKSPACE},
136 {
"NK_KEY_COPY", NK_KEY_COPY},
137 {
"NK_KEY_CUT", NK_KEY_CUT},
138 {
"NK_KEY_PASTE", NK_KEY_PASTE},
139 {
"NK_KEY_UP", NK_KEY_UP},
140 {
"NK_KEY_DOWN", NK_KEY_DOWN},
141 {
"NK_KEY_LEFT", NK_KEY_LEFT},
142 {
"NK_KEY_RIGHT", NK_KEY_RIGHT},
143 {
"NK_KEY_TEXT_INSERT_MODE", NK_KEY_TEXT_INSERT_MODE},
144 {
"NK_KEY_TEXT_REPLACE_MODE", NK_KEY_TEXT_REPLACE_MODE},
145 {
"NK_KEY_TEXT_RESET_MODE", NK_KEY_TEXT_RESET_MODE},
146 {
"NK_KEY_TEXT_LINE_START", NK_KEY_TEXT_LINE_START},
147 {
"NK_KEY_TEXT_LINE_END", NK_KEY_TEXT_LINE_END},
148 {
"NK_KEY_TEXT_START", NK_KEY_TEXT_START},
149 {
"NK_KEY_TEXT_END", NK_KEY_TEXT_END},
150 {
"NK_KEY_TEXT_UNDO", NK_KEY_TEXT_UNDO},
151 {
"NK_KEY_TEXT_REDO", NK_KEY_TEXT_REDO},
152 {
"NK_KEY_TEXT_SELECT_ALL", NK_KEY_TEXT_SELECT_ALL},
153 {
"NK_KEY_TEXT_WORD_LEFT", NK_KEY_TEXT_WORD_LEFT},
154 {
"NK_KEY_TEXT_WORD_RIGHT", NK_KEY_TEXT_WORD_RIGHT},
155 {
"NK_KEY_SCROLL_START", NK_KEY_SCROLL_START},
156 {
"NK_KEY_SCROLL_END", NK_KEY_SCROLL_END},
157 {
"NK_KEY_SCROLL_DOWN", NK_KEY_SCROLL_DOWN},
158 {
"NK_KEY_SCROLL_UP", NK_KEY_SCROLL_UP},
159 {
"NK_KEY_MAX", NK_KEY_MAX}
162 lua.new_enum<nk_buttons>(
"nk_buttons",
164 {
"NK_BUTTON_LEFT", NK_BUTTON_LEFT},
165 {
"NK_BUTTON_MIDDLE", NK_BUTTON_MIDDLE},
166 {
"NK_BUTTON_RIGHT", NK_BUTTON_RIGHT},
167 {
"NK_BUTTON_DOUBLE", NK_BUTTON_DOUBLE},
168 {
"NK_BUTTON_MAX", NK_BUTTON_MAX}
171 lua.new_enum<nk_anti_aliasing>(
"nk_anti_aliasing",
173 {
"NK_ANTI_ALIASING_OFF", NK_ANTI_ALIASING_OFF},
174 {
"NK_ANTI_ALIASING_ON", NK_ANTI_ALIASING_ON}
177 lua.new_enum<nk_convert_result>(
"nk_convert_result",
179 {
"NK_CONVERT_SUCCESS", NK_CONVERT_SUCCESS},
180 {
"NK_CONVERT_INVALID_PARAM", NK_CONVERT_INVALID_PARAM},
181 {
"NK_CONVERT_COMMAND_BUFFER_FULL", NK_CONVERT_COMMAND_BUFFER_FULL},
182 {
"NK_CONVERT_VERTEX_BUFFER_FULL", NK_CONVERT_VERTEX_BUFFER_FULL},
183 {
"NK_CONVERT_ELEMENT_BUFFER_FULL", NK_CONVERT_ELEMENT_BUFFER_FULL}
186 lua.new_enum<nk_panel_flags>(
"nk_panel_flags",
188 {
"NK_WINDOW_BORDER", NK_WINDOW_BORDER},
189 {
"NK_WINDOW_MOVABLE", NK_WINDOW_MOVABLE},
190 {
"NK_WINDOW_SCALABLE", NK_WINDOW_SCALABLE},
191 {
"NK_WINDOW_CLOSABLE", NK_WINDOW_CLOSABLE},
192 {
"NK_WINDOW_MINIMIZABLE", NK_WINDOW_MINIMIZABLE},
193 {
"NK_WINDOW_NO_SCROLLBAR", NK_WINDOW_NO_SCROLLBAR},
194 {
"NK_WINDOW_TITLE", NK_WINDOW_TITLE},
195 {
"NK_WINDOW_SCROLL_AUTO_HIDE", NK_WINDOW_SCROLL_AUTO_HIDE},
196 {
"NK_WINDOW_BACKGROUND", NK_WINDOW_BACKGROUND},
197 {
"NK_WINDOW_SCALE_LEFT", NK_WINDOW_SCALE_LEFT},
198 {
"NK_WINDOW_NO_INPUT", NK_WINDOW_NO_INPUT}
201 lua.new_enum<nk_widget_layout_states>(
"nk_widget_layout_states",
203 {
"NK_WIDGET_INVALID", NK_WIDGET_INVALID},
204 {
"NK_WIDGET_VALID", NK_WIDGET_VALID},
205 {
"NK_WIDGET_ROM", NK_WIDGET_ROM}
208 lua.new_enum<nk_widget_states>(
"nk_widget_states",
210 {
"NK_WIDGET_STATE_MODIFIED", NK_WIDGET_STATE_MODIFIED},
211 {
"NK_WIDGET_STATE_INACTIVE", NK_WIDGET_STATE_INACTIVE},
212 {
"NK_WIDGET_STATE_ENTERED", NK_WIDGET_STATE_ENTERED},
213 {
"NK_WIDGET_STATE_HOVER", NK_WIDGET_STATE_HOVER},
214 {
"NK_WIDGET_STATE_ACTIVED", NK_WIDGET_STATE_ACTIVED},
215 {
"NK_WIDGET_STATE_LEFT", NK_WIDGET_STATE_LEFT},
216 {
"NK_WIDGET_STATE_HOVERED", NK_WIDGET_STATE_HOVERED},
217 {
"NK_WIDGET_STATE_ACTIVE", NK_WIDGET_STATE_ACTIVE}
220 lua.new_enum<nk_text_align>(
"nk_text_align",
222 {
"NK_TEXT_ALIGN_LEFT", NK_TEXT_ALIGN_LEFT},
223 {
"NK_TEXT_ALIGN_CENTERED", NK_TEXT_ALIGN_CENTERED},
224 {
"NK_TEXT_ALIGN_RIGHT", NK_TEXT_ALIGN_RIGHT},
225 {
"NK_TEXT_ALIGN_TOP", NK_TEXT_ALIGN_TOP},
226 {
"NK_TEXT_ALIGN_MIDDLE", NK_TEXT_ALIGN_MIDDLE},
227 {
"NK_TEXT_ALIGN_BOTTOM", NK_TEXT_ALIGN_BOTTOM}
230 lua.new_enum<nk_text_alignment>(
"nk_text_alignment",
232 {
"NK_TEXT_LEFT", NK_TEXT_LEFT},
233 {
"NK_TEXT_CENTERED", NK_TEXT_CENTERED},
234 {
"NK_TEXT_RIGHT", NK_TEXT_RIGHT}
237 lua.new_enum<nk_edit_flags>(
"nk_edit_flags",
239 {
"NK_EDIT_DEFAULT", NK_EDIT_DEFAULT},
240 {
"NK_EDIT_READ_ONLY", NK_EDIT_READ_ONLY},
241 {
"NK_EDIT_AUTO_SELECT", NK_EDIT_AUTO_SELECT},
242 {
"NK_EDIT_SIG_ENTER", NK_EDIT_SIG_ENTER},
243 {
"NK_EDIT_ALLOW_TAB", NK_EDIT_ALLOW_TAB},
244 {
"NK_EDIT_NO_CURSOR", NK_EDIT_NO_CURSOR},
245 {
"NK_EDIT_SELECTABLE", NK_EDIT_SELECTABLE},
246 {
"NK_EDIT_CLIPBOARD", NK_EDIT_CLIPBOARD},
247 {
"NK_EDIT_CTRL_ENTER_NEWLINE", NK_EDIT_CTRL_ENTER_NEWLINE},
248 {
"NK_EDIT_NO_HORIZONTAL_SCROLL", NK_EDIT_NO_HORIZONTAL_SCROLL},
249 {
"NK_EDIT_ALWAYS_INSERT_MODE", NK_EDIT_ALWAYS_INSERT_MODE},
250 {
"NK_EDIT_MULTILINE", NK_EDIT_MULTILINE},
251 {
"NK_EDIT_GOTO_END_ON_ACTIVATE", NK_EDIT_GOTO_END_ON_ACTIVATE}
254 lua.new_enum<nk_edit_types>(
"nk_edit_types",
256 {
"NK_EDIT_SIMPLE", NK_EDIT_SIMPLE},
257 {
"NK_EDIT_FIELD", NK_EDIT_FIELD},
258 {
"NK_EDIT_BOX", NK_EDIT_BOX},
259 {
"NK_EDIT_EDITOR", NK_EDIT_EDITOR}
262 lua.new_enum<nk_edit_events>(
"nk_edit_events",
264 {
"NK_EDIT_ACTIVE", NK_EDIT_ACTIVE},
265 {
"NK_EDIT_INACTIVE", NK_EDIT_INACTIVE},
266 {
"NK_EDIT_ACTIVATED", NK_EDIT_ACTIVATED},
267 {
"NK_EDIT_DEACTIVATED", NK_EDIT_DEACTIVATED},
268 {
"NK_EDIT_COMMITED", NK_EDIT_COMMITED}
271 lua.new_enum<nk_style_colors>(
"nk_style_colors",
273 {
"NK_COLOR_TEXT", NK_COLOR_TEXT},
274 {
"NK_COLOR_WINDOW", NK_COLOR_WINDOW},
275 {
"NK_COLOR_HEADER", NK_COLOR_HEADER},
276 {
"NK_COLOR_BORDER", NK_COLOR_BORDER},
277 {
"NK_COLOR_BUTTON", NK_COLOR_BUTTON},
278 {
"NK_COLOR_BUTTON_HOVER", NK_COLOR_BUTTON_HOVER},
279 {
"NK_COLOR_BUTTON_ACTIVE", NK_COLOR_BUTTON_ACTIVE},
280 {
"NK_COLOR_TOGGLE", NK_COLOR_TOGGLE},
281 {
"NK_COLOR_TOGGLE_HOVER", NK_COLOR_TOGGLE_HOVER},
282 {
"NK_COLOR_TOGGLE_CURSOR", NK_COLOR_TOGGLE_CURSOR},
283 {
"NK_COLOR_SELECT", NK_COLOR_SELECT},
284 {
"NK_COLOR_SELECT_ACTIVE", NK_COLOR_SELECT_ACTIVE},
285 {
"NK_COLOR_SLIDER", NK_COLOR_SLIDER},
286 {
"NK_COLOR_SLIDER_CURSOR", NK_COLOR_SLIDER_CURSOR},
287 {
"NK_COLOR_SLIDER_CURSOR_HOVER", NK_COLOR_SLIDER_CURSOR_HOVER},
288 {
"NK_COLOR_SLIDER_CURSOR_ACTIVE", NK_COLOR_SLIDER_CURSOR_ACTIVE},
289 {
"NK_COLOR_PROPERTY", NK_COLOR_PROPERTY},
290 {
"NK_COLOR_EDIT", NK_COLOR_EDIT},
291 {
"NK_COLOR_EDIT_CURSOR", NK_COLOR_EDIT_CURSOR},
292 {
"NK_COLOR_COMBO", NK_COLOR_COMBO},
293 {
"NK_COLOR_CHART", NK_COLOR_CHART},
294 {
"NK_COLOR_CHART_COLOR", NK_COLOR_CHART_COLOR},
295 {
"NK_COLOR_CHART_COLOR_HIGHLIGHT", NK_COLOR_CHART_COLOR_HIGHLIGHT},
296 {
"NK_COLOR_SCROLLBAR", NK_COLOR_SCROLLBAR},
297 {
"NK_COLOR_SCROLLBAR_CURSOR", NK_COLOR_SCROLLBAR_CURSOR},
298 {
"NK_COLOR_SCROLLBAR_CURSOR_HOVER", NK_COLOR_SCROLLBAR_CURSOR_HOVER},
299 {
"NK_COLOR_SCROLLBAR_CURSOR_ACTIVE", NK_COLOR_SCROLLBAR_CURSOR_ACTIVE},
300 {
"NK_COLOR_TAB_HEADER", NK_COLOR_TAB_HEADER},
301 {
"NK_COLOR_COUNT", NK_COLOR_COUNT}
304 lua.new_enum<nk_style_cursor>(
"nk_style_cursor",
306 {
"NK_CURSOR_ARROW", NK_CURSOR_ARROW},
307 {
"NK_CURSOR_TEXT", NK_CURSOR_TEXT},
308 {
"NK_CURSOR_MOVE", NK_CURSOR_MOVE},
309 {
"NK_CURSOR_RESIZE_VERTICAL", NK_CURSOR_RESIZE_VERTICAL},
310 {
"NK_CURSOR_RESIZE_HORIZONTAL", NK_CURSOR_RESIZE_HORIZONTAL},
311 {
"NK_CURSOR_RESIZE_TOP_LEFT_DOWN_RIGHT", NK_CURSOR_RESIZE_TOP_LEFT_DOWN_RIGHT},
312 {
"NK_CURSOR_RESIZE_TOP_RIGHT_DOWN_LEFT", NK_CURSOR_RESIZE_TOP_RIGHT_DOWN_LEFT},
313 {
"NK_CURSOR_COUNT", NK_CURSOR_COUNT}
316 lua.new_enum<nk_font_coord_type>(
"nk_font_coord_type",
318 {
"NK_COORD_UV", NK_COORD_UV},
319 {
"NK_COORD_PIXEL", NK_COORD_PIXEL}
322 lua.new_enum<nk_font_atlas_format>(
"nk_font_atlas_format",
324 {
"NK_FONT_ATLAS_ALPHA8", NK_FONT_ATLAS_ALPHA8},
325 {
"NK_FONT_ATLAS_RGBA32", NK_FONT_ATLAS_RGBA32}
328 lua.new_enum<nk_allocation_type>(
"nk_allocation_type",
330 {
"NK_BUFFER_FIXED", NK_BUFFER_FIXED},
331 {
"NK_BUFFER_DYNAMIC", NK_BUFFER_DYNAMIC}
334 lua.new_enum<nk_buffer_allocation_type>(
"nk_buffer_allocation_type",
336 {
"NK_BUFFER_FRONT", NK_BUFFER_FRONT},
337 {
"NK_BUFFER_BACK", NK_BUFFER_BACK},
338 {
"NK_BUFFER_MAX", NK_BUFFER_MAX}
341 lua.new_enum<nk_text_edit_type>(
"nk_text_edit_type",
343 {
"NK_TEXT_EDIT_SINGLE_LINE", NK_TEXT_EDIT_SINGLE_LINE},
344 {
"NK_TEXT_EDIT_MULTI_LINE", NK_TEXT_EDIT_MULTI_LINE}
347 lua.new_enum<nk_text_edit_mode>(
"nk_text_edit_mode",
349 {
"NK_TEXT_EDIT_MODE_VIEW", NK_TEXT_EDIT_MODE_VIEW},
350 {
"NK_TEXT_EDIT_MODE_INSERT", NK_TEXT_EDIT_MODE_INSERT},
351 {
"NK_TEXT_EDIT_MODE_REPLACE", NK_TEXT_EDIT_MODE_REPLACE}
354 lua.new_enum<nk_command_type>(
"nk_command_type",
356 {
"NK_COMMAND_NOP,", NK_COMMAND_NOP},
357 {
"NK_COMMAND_SCISSOR,", NK_COMMAND_SCISSOR},
358 {
"NK_COMMAND_LINE,", NK_COMMAND_LINE},
359 {
"NK_COMMAND_CURVE,", NK_COMMAND_CURVE},
360 {
"NK_COMMAND_RECT,", NK_COMMAND_RECT},
361 {
"NK_COMMAND_RECT_FILLED,", NK_COMMAND_RECT_FILLED},
362 {
"NK_COMMAND_RECT_MULTI_COLOR,", NK_COMMAND_RECT_MULTI_COLOR},
363 {
"NK_COMMAND_CIRCLE,", NK_COMMAND_CIRCLE},
364 {
"NK_COMMAND_CIRCLE_FILLED,", NK_COMMAND_CIRCLE_FILLED},
365 {
"NK_COMMAND_ARC,", NK_COMMAND_ARC},
366 {
"NK_COMMAND_ARC_FILLED,", NK_COMMAND_ARC_FILLED},
367 {
"NK_COMMAND_TRIANGLE,", NK_COMMAND_TRIANGLE},
368 {
"NK_COMMAND_TRIANGLE_FILLED,", NK_COMMAND_TRIANGLE_FILLED},
369 {
"NK_COMMAND_POLYGON,", NK_COMMAND_POLYGON},
370 {
"NK_COMMAND_POLYGON_FILLED,", NK_COMMAND_POLYGON_FILLED},
371 {
"NK_COMMAND_POLYLINE,", NK_COMMAND_POLYLINE},
372 {
"NK_COMMAND_TEXT,", NK_COMMAND_TEXT},
373 {
"NK_COMMAND_IMAGE,", NK_COMMAND_IMAGE},
374 {
"NK_COMMAND_CUSTOM", NK_COMMAND_CUSTOM}
377 lua.new_enum<nk_command_clipping>(
"nk_command_clipping",
379 {
"NK_CLIPPING_OFF", NK_CLIPPING_OFF},
380 {
"NK_CLIPPING_ON", NK_CLIPPING_ON}
383 lua.new_enum<nk_draw_list_stroke>(
"nk_draw_list_stroke",
385 {
"NK_STROKE_OPEN", NK_STROKE_OPEN},
386 {
"NK_STROKE_CLOSED", NK_STROKE_CLOSED}
389 lua.new_enum<nk_draw_vertex_layout_attribute>(
"nk_draw_vertex_layout_attribute",
391 {
"NK_VERTEX_POSITION", NK_VERTEX_POSITION},
392 {
"NK_VERTEX_COLOR", NK_VERTEX_COLOR},
393 {
"NK_VERTEX_TEXCOORD", NK_VERTEX_TEXCOORD},
394 {
"NK_VERTEX_ATTRIBUTE_COUNT", NK_VERTEX_ATTRIBUTE_COUNT}
397 lua.new_enum<nk_draw_vertex_layout_format>(
"nk_draw_vertex_layout_format",
399 {
"NK_FORMAT_SCHAR", NK_FORMAT_SCHAR},
400 {
"NK_FORMAT_SSHORT", NK_FORMAT_SSHORT},
401 {
"NK_FORMAT_SINT", NK_FORMAT_SINT},
402 {
"NK_FORMAT_UCHAR", NK_FORMAT_UCHAR},
403 {
"NK_FORMAT_USHORT", NK_FORMAT_USHORT},
404 {
"NK_FORMAT_UINT", NK_FORMAT_UINT},
405 {
"NK_FORMAT_FLOAT", NK_FORMAT_FLOAT},
406 {
"NK_FORMAT_DOUBLE", NK_FORMAT_DOUBLE},
407 {
"NK_FORMAT_COLOR_BEGIN", NK_FORMAT_COLOR_BEGIN},
408 {
"NK_FORMAT_R8G8B8", NK_FORMAT_R8G8B8},
409 {
"NK_FORMAT_R16G15B16", NK_FORMAT_R16G15B16},
410 {
"NK_FORMAT_R32G32B32", NK_FORMAT_R32G32B32},
411 {
"NK_FORMAT_R8G8B8A8", NK_FORMAT_R8G8B8A8},
412 {
"NK_FORMAT_B8G8R8A8", NK_FORMAT_B8G8R8A8},
413 {
"NK_FORMAT_R16G15B16A16", NK_FORMAT_R16G15B16A16},
414 {
"NK_FORMAT_R32G32B32A32", NK_FORMAT_R32G32B32A32},
415 {
"NK_FORMAT_R32G32B32A32_FLOAT", NK_FORMAT_R32G32B32A32_FLOAT},
416 {
"NK_FORMAT_R32G32B32A32_DOUBLE", NK_FORMAT_R32G32B32A32_DOUBLE},
417 {
"NK_FORMAT_RGB32", NK_FORMAT_RGB32},
418 {
"NK_FORMAT_RGBA32", NK_FORMAT_RGBA32},
419 {
"NK_FORMAT_COLOR_END", NK_FORMAT_COLOR_END},
420 {
"NK_FORMAT_COUNT", NK_FORMAT_COUNT}
423 lua.new_enum<nk_style_item_type>(
"nk_style_item_type",
425 {
"NK_STYLE_ITEM_COLOR", NK_STYLE_ITEM_COLOR},
426 {
"NK_STYLE_ITEM_IMAGE", NK_STYLE_ITEM_IMAGE},
427 {
"NK_STYLE_ITEM_NINE_SLICE", NK_STYLE_ITEM_NINE_SLICE}
430 lua.new_enum<nk_style_header_align>(
"nk_style_header_align",
432 {
"NK_HEADER_LEFT", NK_HEADER_LEFT},
433 {
"NK_HEADER_RIGHT", NK_HEADER_RIGHT}
436 lua.new_enum<nk_panel_type>(
"nk_panel_type",
438 {
"NK_PANEL_NONE", NK_PANEL_NONE},
439 {
"NK_PANEL_WINDOW", NK_PANEL_WINDOW},
440 {
"NK_PANEL_GROUP", NK_PANEL_GROUP},
441 {
"NK_PANEL_POPUP", NK_PANEL_POPUP},
442 {
"NK_PANEL_CONTEXTUAL", NK_PANEL_CONTEXTUAL},
443 {
"NK_PANEL_COMBO", NK_PANEL_COMBO},
444 {
"NK_PANEL_MENU", NK_PANEL_MENU},
445 {
"NK_PANEL_TOOLTIP", NK_PANEL_TOOLTIP}
448 lua.new_enum<nk_panel_set>(
"nk_panel_set",
450 {
"NK_PANEL_SET_NONBLOCK", NK_PANEL_SET_NONBLOCK},
451 {
"NK_PANEL_SET_POPUP", NK_PANEL_SET_POPUP},
452 {
"NK_PANEL_SET_SUB", NK_PANEL_SET_SUB}
455 lua.new_enum<nk_panel_row_layout_type>(
"nk_panel_row_layout_type",
457 {
"NK_LAYOUT_DYNAMIC_FIXED", NK_LAYOUT_DYNAMIC_FIXED},
458 {
"NK_LAYOUT_DYNAMIC_ROW", NK_LAYOUT_DYNAMIC_ROW},
459 {
"NK_LAYOUT_DYNAMIC_FREE", NK_LAYOUT_DYNAMIC_FREE},
460 {
"NK_LAYOUT_DYNAMIC", NK_LAYOUT_DYNAMIC},
461 {
"NK_LAYOUT_STATIC_FIXED", NK_LAYOUT_STATIC_FIXED},
462 {
"NK_LAYOUT_STATIC_ROW", NK_LAYOUT_STATIC_ROW},
463 {
"NK_LAYOUT_STATIC_FREE", NK_LAYOUT_STATIC_FREE},
464 {
"NK_LAYOUT_STATIC", NK_LAYOUT_STATIC},
465 {
"NK_LAYOUT_TEMPLATE", NK_LAYOUT_TEMPLATE},
466 {
"NK_LAYOUT_COUNT", NK_LAYOUT_COUNT}
469 lua.new_enum<nk_window_flags>(
"nk_window_flags",
471 {
"NK_WINDOW_PRIVATE", NK_WINDOW_PRIVATE},
472 {
"NK_WINDOW_DYNAMIC", NK_WINDOW_DYNAMIC},
473 {
"NK_WINDOW_ROM", NK_WINDOW_ROM},
474 {
"NK_WINDOW_NOT_INTERACTIVE", NK_WINDOW_NOT_INTERACTIVE},
475 {
"NK_WINDOW_HIDDEN", NK_WINDOW_HIDDEN},
476 {
"NK_WINDOW_CLOSED", NK_WINDOW_CLOSED},
477 {
"NK_WINDOW_MINIMIZED", NK_WINDOW_MINIMIZED},
478 {
"NK_WINDOW_REMOVE_ROM", NK_WINDOW_REMOVE_ROM}
482 lua.new_usertype<nk_context>(
"nk_context", sol::no_constructor);
483 lua.new_usertype<nk_style_item_data>(
"nk_style_item_data", sol::default_constructor);
485 auto nkrect_type = lua.new_usertype<
struct nk_rect>(
"nk_rect", sol::default_constructor);
486 nkrect_type["x"] = &nk_rect::x;
487 nkrect_type["y"] = &nk_rect::y;
488 nkrect_type["w"] = &nk_rect::w;
489 nkrect_type["h"] = &nk_rect::h;
491 auto nknineslice_type = lua.new_usertype<nk_nine_slice>("nk_nine_slice", sol::default_constructor);
492 nknineslice_type["img"] = &nk_nine_slice::img;
493 nknineslice_type["r"] = &nk_nine_slice::r;
494 nknineslice_type["b"] = &nk_nine_slice::b;
495 nknineslice_type["l"] = &nk_nine_slice::l;
496 nknineslice_type["t"] = &nk_nine_slice::t;
498 auto nkimage_type = lua.new_usertype<struct nk_image>("nk_image", sol::default_constructor);
499 nkimage_type["w"] = &nk_image::w;
500 nkimage_type["h"] = &nk_image::h;
502 auto nkstyleitem_type = lua.new_usertype<nk_style_item>("nk_style_item", sol::default_constructor);
503 nkstyleitem_type["data"] = &nk_style_item::data;
504 nkstyleitem_type["type"] = &nk_style_item::type;
506 auto nkcolor_type = lua.new_usertype<nk_color>("nk_color", sol::default_constructor);
507 nkcolor_type["r"] = &nk_color::r;
508 nkcolor_type["g"] = &nk_color::g;
509 nkcolor_type["b"] = &nk_color::b;
510 nkcolor_type["a"] = &nk_color::a;
512 lua.set_function("nk_rect", &nk_rect);
513 lua.set_function("nk_begin", &nk_begin);
514 lua.set_function("nk_end", &nk_end);
515 lua.set_function("nk_layout_row_static", &nk_layout_row_static);
516 lua.set_function("nk_layout_row_dynamic", &nk_layout_row_dynamic);
517 lua.set_function("nk_layout_row_begin", &nk_layout_row_begin);
518 lua.set_function("nk_layout_row_end", &nk_layout_row_end);
519 lua.set_function("nk_image", &nk_image);
520 lua.set_function("nk_style_item_color", &nk_style_item_color);
521 lua.set_function("nk_rgb", &nk_rgb);
522 lua.set_function("nk_style_item_hide", &nk_style_item_hide);
523 lua.set_function("nk_style_item_image", &nk_style_item_image);