public static extern int nk_input_mouse_clicked(nk_input *inp, nk_buttons buttons, NkRect r);
public static extern nk_image nk_subimage_handle(NkHandle handle, ushort w, ushort h, NkRect sub_region);
public static extern nk_vec2 nk_rect_pos(NkRect r);
public static extern void nk_draw_list_add_image(nk_draw_list *dl, nk_image texture, NkRect rect, NkColor col);
public static extern nk_image nk_subimage_ptr(IntPtr ptr, ushort w, ushort h, NkRect sub_region);
public static extern void nk_push_custom(nk_command_buffer *cbuf, NkRect r, nk_command_custom_callback cb, NkHandle userdata);
public static extern void nk_draw_list_fill_rect(nk_draw_list *dl, NkRect rect, NkColor col, float rounding);
public static extern void nk_layout_space_push(nk_context *ctx, NkRect rect);
public static extern NkRect nk_layout_space_rect_to_local(nk_context *ctx, NkRect r);
public static extern int nk_popup_begin(nk_context *ctx, nk_popup_type type, byte *s, uint flags_nkflags, NkRect bounds);
public static extern int nk_contextual_begin(nk_context *ctx, uint flags_nkflags, nk_vec2 v, NkRect trigger_bounds);
public static extern void nk_window_set_bounds(nk_context *ctx, byte *name, NkRect bounds);
public abstract void Render(NkHandle Userdata, T Texture, NkRect ClipRect, uint Offset, uint Count);
public sealed override void Render(NkHandle Userdata, int Texture, NkRect ClipRect, uint Offset, uint Count) => Render(Userdata, Textures[Texture], ClipRect, Offset, Count);
public static extern void nk_draw_text(nk_command_buffer *cbuf, NkRect r, byte *text, int len, nk_user_font *userfont, NkColor col, NkColor col2);
public static extern int nk_begin(nk_context *context, byte *title, NkRect bounds, uint flags_nkflags);
public static extern void nk_push_scissor(nk_command_buffer *cbuf, NkRect r);
public static extern int nk_begin_titled(nk_context *context, string name, string title, NkRect bounds, uint flags_nkflags);
public static extern void nk_draw_list_stroke_rect(nk_draw_list *dl, NkRect rect, NkColor col, float rounding, float thickness);
public static extern void nk_stroke_circle(nk_command_buffer *cbuf, NkRect r, float line_thickness, NkColor col);
public static extern void nk_draw_list_fill_rect_multi_color(nk_draw_list *dl, NkRect rect, NkColor left, NkColor top, NkColor right, NkColor bottom);
public static extern void nk_fill_rect(nk_command_buffer *cbuf, NkRect r, float rounding, NkColor col);
public static extern void nk_draw_list_add_text(nk_draw_list *dl, nk_user_font *userfont, NkRect rect, byte *text, int len, float font_height, NkColor col);
public static extern void nk_fill_rect_multi_color(nk_command_buffer *cbuf, NkRect r, NkColor left, NkColor top, NkColor right, NkColor bottom);
public static extern nk_image nk_subimage_id(int id, ushort w, ushort h, NkRect sub_region);
public static extern void nk_fill_circle(nk_command_buffer *cbuf, NkRect r, NkColor col);
public static extern void nk_triangle_from_direction(nk_vec2 *result, NkRect r, float pad_x, float pad_y, nk_heading heading);
public static extern void nk_draw_image(nk_command_buffer *cbuf, NkRect r, nk_image *img, NkColor col);
public static extern nk_vec2 nk_rect_size(NkRect r);
public static extern int nk_input_is_mouse_hovering_rect(nk_input *inp, NkRect r);