 Integer ImageToSlot0(Integer slot, Integer agk_img_id, Float x, Float y, Float w, Float h)
 Integer ImageToSlot1(Integer slot, Integer agk_img_id)
 Integer StyleMake(String name, String style_tag)
 Integer StyleMakeItem0(String name, Integer color)
 Integer StyleMakeItem1(String style_tag)
 Integer StyleMakeImage(String name, Integer agk_id)
 void StylePush(String style_name)
 void StylePop()
 void StyleSetContext(String style_name)
 Integer StyleSetContextProperty(String widget, String prop_name, String value)
 String StyleGetContextProperty(String widget, String prop_name)
 void StyleColorTableBegin(Integer flag)
 void StyleColorTableEnd()
 void StyleColorTablePush(Integer widget, Integer color)
 String StyleGetColorTableTags()
 String StyleGetColorTable()
 void StyleLoadFromString(String xml)
 void StyleLoadFromFile(String file)
 Integer StyleMakeCursor(String id_name,String item_name,Float width, Float height,Float offsetx, Float offsety)
 Integer StyleSetCursor(Integer cursor_style)
 void StyleShowCursor()
 void StyleHideCursor()
 void StyleReplaceCursor(Integer cursor_style, String cursor_name)



// ----------------------------------------------------------------------------
// Init
 Integer Init()
 void FontStashBegin()
 void FontStashEnd()
 void FontAddFromFile(String name, String file, Float height)
 void StyleSetFont(String font_name)
 void HandleInput()
 void Sync()
 void Render(Integer antialiasing)



// ----------------------------------------------------------------------------
// window
 Integer WindowBegin(String title, Float posx, Float posy, Float width, Float height, Integer flags)
 Integer WindowBegIntegeritled(String name, String title, Float posx, Float posy, Float width, Float height, Integer flags)
 void WindowEnd()
 void WindowStore(Integer slot, String name)
 String WindowGetPosition()
 String WindowGetSize()
 Float WindowGetWidth()
 Float WindowGetHeight()
 String WindowGetContentRegion()
 String WindowGetContentRegionMin()
 String WindowGetContentRegionMax()
 String WindowGetContentRegionSize()
 void WindowStoreCanvas(Integer slot)
 String WindowGetScroll()
 Integer WindowHasFocus()
 Integer WindowIsCollapsed(String name)
 Integer WindowIsClosed(String name)
 Integer WindowIsHidden(String name)
 Integer WindowIsActive(String name)
 Integer WindowIsHovered()
 Integer WindowIsAnyHovered()
 Integer WindowIsAnyActive()
 void WindowStorePanel(Integer slot)
 String WindowGetPanelBounds()
 String WindowGetBounds()
 Float WindowGetBoundX()
 Float WindowGetBoundY()
 Float WindowGetBoundWidth()
 Float WindowGetBoundHeight()
 Float WindowGetContentRegionX()
 Float WindowGetContentRegionY()
 Float WindowGetContentRegionWidth()
 Float WindowGetContentRegionHeight()
 void WindowSetBounds(String name, Float x, Float y, Float w, Float h)
 void WindowSetPosition(String name, Float x, Float y)
 void WindowSetSize(String name, Float x, Float y)
 void WindowSetFocus(String name)
 void WindowSetScroll(Integer x, Integer y)
 void WindowClose(String name)
 void WindowCollapse(String name, Integer state)
 void WindowCollapseIf(String name, Integer state, Integer cond)
 void WindowShow(String name, Integer state)
 void WindowShowIf(String name, Integer state, Integer cond)



// ----------------------------------------------------------------------------
// layout
 void LayoutSetMinRowHeight(Float height)
 void LayoutResetMinRowHeight()
 String LayoutWidgetBounds()
 Float LayoutRatioFromPixel(Float pixel_width)
 void LayoutRowStatic(Float height, Integer item_width, Integer cols)
 void LayoutRowDynamic(Float height, Integer cols)
 void LayoutRowBegin(Integer format, Float height, Integer cols)
 void LayoutRowEnd()
 void LayoutRow(Integer fmt, Float height, String ratio)
 void LayoutRowPush(Float width_ratio)
 void LayoutRowTemplateBegin(Float height)
 void LayoutRowTemplatePushDynamic()
 void LayoutRowTemplatePushVariable(Float min_width)
 void LayoutRowTemplatePushStatic(Float width)
 void LayoutRowTemplateEnd()
 void LayoutSpaceBegin(Integer format, Float height, Integer count)
 void LayoutSpaceEnd()
 String LayoutSpaceBounds()
 void LayoutSpacePush(Float x, Float y, Float w, Float h)
 String LayoutSpaceToScreen(Float x, Float y)
 String LayoutSpaceToLocal(Float x, Float y)
 String LayoutSpaceRectToScreen(Float x, Float y, Float w, Float h)
 String LayoutSpaceRectToLocal(Float x, Float y, Float w, Float h)



// ----------------------------------------------------------------------------
// group
 Integer GroupBegin(String title, Integer flags)
 void GroupEnd()
 Integer GroupBgIntegeritled(String id, String title, Integer flags)



// ----------------------------------------------------------------------------
// button
 Integer ButtonText(String title, Integer len)
 Integer ButtonLabel(String title)
 Integer ButtonColor(Integer color)
 Integer ButtonSymbol(Integer symbol)
 Integer ButtonImage(Integer image_slot)
 Integer ButtonSymbolLabel(Integer symbol, String label, Integer align)
 Integer ButtonSymbolText(Integer symbol, String label, Integer len, Integer align)
 Integer ButtonImageLabel(Integer image_slot, String label, Integer align)
 Integer ButtonImageText(Integer image_slot, String label, Integer len, Integer align)
 Integer ButtonTextStyled(String style_name, String title, Integer len)
 Integer ButtonLabelStyled(String style_name, String title)
 Integer ButtonSymbolStyled(String style_name, Integer symbol)
 Integer ButtonImageStyled(String style_name, Integer image_slot)
 Integer ButtonSymbolTextStyled(String style_name, Integer symbol, String title, Integer len, Integer align)
 Integer ButtonSymbolLabelStyled(String style_name, Integer symbol, String title, Integer align)
 Integer ButtonImageLabelStyled(String style_name, Integer image_slot, String title, Integer align)
 Integer ButtonImageTextStyled(String style_name, Integer image_slot, String title, Integer len, Integer align)
 void ButtonSetBehavior(Integer behavior)
 Integer ButtonPushBehavior(Integer behavior)
 Integer ButtonPopBehavior()



// ----------------------------------------------------------------------------
// option
 Integer OptionLabel(String label, Integer active)
 Integer OptionText(String text, Integer len, Integer active)



// ----------------------------------------------------------------------------
// property
 Integer PropertyInteger(String label, Integer min, Integer value, Integer max, Integer step, Float inc_per_pixel)
 Float PropertyFloat(String label, Float min, Float value, Float max, Float step, Float inc_per_pixel)



// ----------------------------------------------------------------------------
// text / label
 void Text(String text, Integer len, Integer align)
 void TextColored(String text, Integer len, Integer align, Integer color)
 void TextWrap(String text, Integer len)
 void TextWrapColored(String text, Integer len, Integer color)
 void Label(String label, Integer alignment)
 void LabelColored(String label, nk_flags align, Integer color)
 void LabelWrap(String label)
 void LabelColoredWrap(String label, Integer color)
 void Image(Integer image_slot)
 void ImageColor(Integer image_slot, Integer color)



// ----------------------------------------------------------------------------
// combo
 Integer ComboSeparator(String items_separated_by_separator, Integer separator, Integer selected, Integer count, Integer item_height, Float w, Float h)
 Integer ComboBegIntegerext(String selected, Integer len, Float w, Float h)
 Integer ComboBeginLabel(String selected, Float w, Float h)
 Integer ComboBeginColor0(Integer r, Integer g, Integer b, Integer a, Float width, Float height)
 Integer ComboBeginColor1(Integer rgba, Float width, Float height)
 Integer ComboBeginSymbol(Integer symbol, Float width, Float height)
 Integer ComboBeginSymbolLabel(String selected, Integer symbol, Float width, Float height)
 Integer ComboBeginSymbolText(String selected, Integer len, Integer symbol, Float width, Float height)
 Integer ComboBeginImage(Integer image_slot, Float width, Float height)
 Integer ComboBeginImageLabel(String selected, Integer image_slot, Float width, Float height)
 Integer ComboBeginImageText(String selected, Integer len, Integer image_slot, Float width, Float height)
 Integer ComboItemLabel(String label, Integer align)
 Integer ComboItemText(String text, Integer len, Integer align)
 Integer ComboItemImageLabel(Integer image_slot, String label, Integer align)
 Integer ComboItemImageText(Integer image_slot, String text, Integer len, Integer align)
 Integer ComboItemSymbolLabel(Integer symbol, String label, Integer align)
 Integer ComboItemSymbolText(Integer symbol, String text, Integer len, Integer align)
 void ComboClose()
 void ComboEnd()



// ----------------------------------------------------------------------------
// color picker
 Integer ColorPicker(Float r, Float g, Float b, Float a, Integer format)



// ----------------------------------------------------------------------------
// widget
 String Widget()
 String WidgetFitting(Float paddingx, Float paddingy)
 Integer WidgetGetLastState()
 String WidgetBounds()
 String WidgetPosition()
 String WidgetSize()
 Float WidgetWidth()
 Float WidgetHeight()
 Integer WidgetIsHovered()
 Integer WidgetIsMouseClicked(Integer btn)
 Integer WidgetHasMouseClickDown(Integer btn, Integer down)
 void Spacing(Integer cols)



// ----------------------------------------------------------------------------
// edit
 Integer GetLastEditEvent()
 String EditString(Integer flags, String text, Integer max, Integer filter)



// ----------------------------------------------------------------------------
// drawing
 void StrokeLine(Integer slot, Float x0, Float y0, Float x1, Float y1, Float thickness, Integer rgb)
 void StrokeCurve(Integer slot, Float ax, Float ay, Float ctrl0x, Float ctrl0y, Float ctrl1x, Float ctrl1y, Float bx, Float by, Float line_thickness, Integer col)
 void StrokeRect(Integer slot, Float x, Float y, Float w, Float h, Float rounding, Float line_thickness, Integer col)
 void FillRect(Integer slot, Float x, Float y, Float w, Float h, Float rounding, Integer col)
 void FillRectMultiColor(Integer slot, Float x, Float y, Float w, Float h, Integer col_left, Integer col_top, Integer col_right, Integer col_bottom)
 void StrokeCircle(Integer slot, Float x, Float y, Float w, Float h, Float line_thickness, Integer col)
 void FillCircle(Integer slot, Float x, Float y, Float w, Float h, Integer col)
 void StrokeArc(Integer slot, Float cx, Float cy, Float radius, Float a_min, Float a_max, Float line_thickness, Integer col)
 void FillArc(Integer slot, Float cx, Float cy, Float radius, Float a_min, Float a_max, Integer col)
 void StrokeTriangle(Integer slot, Float x0, Float y0, Float x1, Float y1, Float x2, Float y2, Float line_thickness, Integer col)
 void FillTriangle(Integer slot, Float x0, Float y0, Float x1, Float y1, Float x2, Float y2, Integer col)
 void DrawImage(Integer slot, Float x, Float y, Float w, Float h, Integer img_slot, Integer col)
 void DrawText(Integer slot, Float x, Float y, Float w, Float h, String text, String fnt_name, Integer colb, Integer colf)



// ----------------------------------------------------------------------------
// input
 Integer InputHasMouseClick(Integer id)
 Integer InputHasMouseClickInRect(Integer id, Float x, Float y, Float w, Float h)
 Integer InputHasMouseClickDownInRect(Integer id, Float x, Float y, Float w, Float h, Integer down)
 Integer InputIsMouseClickInRect(Integer id, Float x, Float y, Float w, Float h)
 Integer InputIsMouseClickDownInRect(Integer id, Float x, Float y, Float w, Float h, Integer down)
 Integer InputAnyMouseClickInRect(Float x, Float y, Float w, Float h)
 Integer InputIsMousePrevHoveringRect(Float x, Float y, Float w, Float h)
 Integer InputIsMouseHoveringRect(Float x, Float y, Float w, Float h)
 Integer InputMouseClicked(Integer id, Float x, Float y, Float w, Float h)
 Integer InputIsMouseDown(Integer id)
 Integer InputIsMousePressed(Integer id)
 Integer InputIsMouseReleased(Integer id)
 Integer InputIsKeyPressed(Integer key)
 Integer InputIsKeyReleased(Integer key)
 Integer InputIsKeyDown(Integer key)
 Float InputGetMouseDeltaX()
 Float InputGetMouseDeltaY()



// ----------------------------------------------------------------------------
// menu
 void MenubarBegin()
 void MenubarEnd()
 Integer MenuBegIntegerext(String title, Integer title_len, nk_flags align, Float width, Float height)
 Integer MenuBeginLabel(String label, nk_flags align, Float width, Float height)
 Integer MenuBeginImage(String id, Integer image_slot, Float width, Float height)
 Integer MenuBeginImageText(Stringtitle, Integer len, Integer align, Integer image_slot, Float width, Float height)
 Integer MenuBeginImageLabel(String title, nk_flags align, Integer image_slot, Float width, Float height)
 Integer MenuBeginSymbol(String id, Integer sym, Float width, Float height)
 Integer MenuBeginSymbolText(Stringtitle, Integer len, Integer align, Integer sym, Float width, Float height)
 Integer MenuBeginSymbolLabel(String title, Integer align, Integer sym, Float width, Float height)
 Integer MenuItemText(String title, Integer len, Integer align)
 Integer MenuItemLabel(String label, Integer align)
 Integer MenuItemImageLabel(Integer image_slot, String label, Integer align)
 Integer MenuItemImageText(Integer image_slot, String text, Integer len, nk_flags align)
 Integer MenuItemSymbolText(Integer sym, String text, Integer len, Integer align)
 Integer MenuItemSymbolLabel(Integer sym, String label, Integer align)
 void MenuClose()
 void MenuEnd()



// ----------------------------------------------------------------------------
// progress
 Integer Progress(Integer cur, Integer max, Integer modifyable)



// ----------------------------------------------------------------------------
// slider
 Float SlideFloat(Float min, Float val, Float max, Float step)
 Integer SlideIntegereger(Integer min, Integer val, Integer max, Integer step)



// ----------------------------------------------------------------------------
// checkbox
 Integer CheckLabel(Stringlabel, Integer active)
 Integer CheckText(String text, Integer len, Integer active)
 unsigned CheckFlagsLabel(Stringlabel, unsigned Integer flags, unsigned Integer value)
 unsigned CheckFlagsText(Stringtext, Integer len, unsigned Integer flags, unsigned Integer value)



// ----------------------------------------------------------------------------
// tree
 Integer TreePush(Integer type, String title, Integer state)
 Integer TreePushID(Integer type, String title, Integer state, Integer id)
 Integer TreePushHashed(Integer type, String title, Integer state, String hash, Integer len, Integer seed)
 Integer TreeImagePush(Integer type, Integer image_slot, String title, Integer state)
 Integer TreeImagePushID(Integer type, Integer image_slot, String title, Integer state, Integer id)
 Integer TreeImagePushHashed(Integer type, Integer image_slot, String title, Integer state, String hash, Integer len, Integer line)
 Integer TreeStatePush(Integer type, String title, Integer state)
 Integer TreeStateImagePush(Integer type, Integer image_slot, String title, Integer state)
 void TreeStatePop()
 Integer TreeElementPush(Integer type, String title, Integer state, Integer value)
 Integer TreeElementPushID(Integer type, String title, Integer state, Integer value, Integer id)
 Integer TreeElementPushHashed(Integer type, String title, Integer state, Integer value, String hash, Integer len, Integer seed)
 Integer TreeElementImagePush(Integer type, Integer image_slot, String title, Integer state, Integer value)
 Integer TreeElementImagePushID(Integer type, Integer image_slot, String title, Integer state, Integer value, Integer id)
 Integer TreeElementImagePushHashed(Integer type, Integer image_slot, String title, Integer state, Integer value, String hash, Integer len, Integer seed)
 Integer TreeGetLastElementValue()



// ----------------------------------------------------------------------------
// chart
 Integer ChartBegin(Integer type, Integer num, Float min, Float max)
 Integer ChartBeginColored(Integer type, Integer color, Integer active, Integer num, Float min, Float max)
 void ChartAddSlot(Integer type, Integer count, Float min_value, Float max_value)
 void ChartAddSlotColored(Integer type, Integer color, Integer active, Integer count, Float min_value, Float max_value)
 nk_flags ChartPush(Float value)
 nk_flags ChartPushSlot(Float value, Integer slot)
 void ChartEnd()



// ----------------------------------------------------------------------------
// popup
 Integer PopupBegin(Integer type, String title, Integer flags, Float x, Float y, Float w, Float h)
 void PopupClose()
 void PopupEnd()
 Integer PopupGetScrollX()
 Integer PopupGetScrollY()
 void PopupSetScroll(nk_uInteger offset_x, nk_uInteger offset_y)



// ----------------------------------------------------------------------------
// selectable
 Integer SelectLabel(String label, Integer align, Integer value)
 Integer SelectText(String text, Integer len, Integer align, Integer value)
 Integer SelectImageLabel(Integer image_slot, String label, Integer align, Integer value)
 Integer SelectImageText(Integer image_slot, String text, Integer len, Integer align, Integer value)
 Integer SelectSymbolLabel(Integer symbol, String label, Integer align, Integer value)
 Integer SelectSymbolText(Integer symbol, String text, Integer len, Integer align, Integer value)



// ----------------------------------------------------------------------------
// tooltip
 void Tooltip(String text)
 Integer TooltipBegin(Float width)
 void TooltipEnd()



// ----------------------------------------------------------------------------
// contextual
 Integer ContextualBegin(Integer flags, Float width, Float height, Float bx, Float by, Float bw, Float bh)
 Integer ContextualItemText(String text, Integer len, Integer align)
 Integer ContextualItemLabel(String label, Integer align)
 Integer ContextualItemImageLabel(Integer image_slot, String label, Integer align)
 Integer ContextualItemImageText(Integer image_slot, String text, Integer len, Integer align)
 Integer ContextualItemSymbolLabel(Integer symbol, Stringlabel, Integer align)
 Integer ContextualItemSymbolText(Integer symbol, String text, Integer len, Integer align)
 void ContextualClose()
 void ContextualEnd()



// ----------------------------------------------------------------------------
// font
 Float FontGetTextWidth(String text, Integer len)
 Float FontGetLabelWidth(String label)
 Float FontGetHeight()
 Integer FontAtlasAddFromFile(String font_id, String file, Float height)
 Integer FontAtlasAddAgkFont0(Integer agk_id, String font_id, String image_file)
 Integer FontAtlasAddAgkFont1(String font_id, String image_file)
 Integer FontAtlasAddFromSystem(String font_id, String file, Float height)
