add constructors and destructor

This commit is contained in:
sonoro1234
2018-10-17 20:08:40 +02:00
parent 5a9a20d139
commit 2a4dcaf2a2
7 changed files with 591 additions and 41 deletions

View File

@@ -5,6 +5,30 @@
#include "./imgui/imgui_internal.h"
CIMGUI_API ImVec2* ImVec2_ImVec2(void)
{
return IM_NEW(ImVec2)();
}
CIMGUI_API void ImVec2_destroy(ImVec2* self)
{
IM_DELETE(self);
}
CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y)
{
return IM_NEW(ImVec2)(_x,_y);
}
CIMGUI_API ImVec4* ImVec4_ImVec4(void)
{
return IM_NEW(ImVec4)();
}
CIMGUI_API void ImVec4_destroy(ImVec4* self)
{
IM_DELETE(self);
}
CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w)
{
return IM_NEW(ImVec4)(_x,_y,_z,_w);
}
CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas)
{
return ImGui::CreateContext(shared_font_atlas);
@@ -1374,6 +1398,14 @@ CIMGUI_API void igMemFree(void* ptr)
{
return ImGui::MemFree(ptr);
}
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void)
{
return IM_NEW(ImGuiStyle)();
}
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor)
{
return self->ScaleAllSizes(scale_factor);
@@ -1390,6 +1422,26 @@ CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
{
return self->ClearInputCharacters();
}
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{
return IM_NEW(ImGuiIO)();
}
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void)
{
return IM_NEW(ImGuiOnceUponAFrame)();
}
CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter)
{
return IM_NEW(ImGuiTextFilter)(default_filter);
}
CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width)
{
return self->Draw(label,width);
@@ -1410,6 +1462,18 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
{
return self->IsActive();
}
CIMGUI_API TextRange* TextRange_TextRange(void)
{
return IM_NEW(TextRange)();
}
CIMGUI_API void TextRange_destroy(TextRange* self)
{
IM_DELETE(self);
}
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e)
{
return IM_NEW(TextRange)(_b,_e);
}
CIMGUI_API const char* TextRange_begin(TextRange* self)
{
return self->begin();
@@ -1426,6 +1490,14 @@ CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRang
{
return self->split(separator,out);
}
CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void)
{
return IM_NEW(ImGuiTextBuffer)();
}
CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self)
{
IM_DELETE(self);
}
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self)
{
return self->begin();
@@ -1458,6 +1530,18 @@ CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,v
{
return self->appendfv(fmt,args);
}
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i)
{
return IM_NEW(Pair)(_key,_val_i);
}
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f)
{
return IM_NEW(Pair)(_key,_val_f);
}
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p)
{
return IM_NEW(Pair)(_key,_val_p);
}
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
{
return self->Clear();
@@ -1518,6 +1602,14 @@ CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
{
return self->BuildSortByKey();
}
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void)
{
return IM_NEW(ImGuiInputTextCallbackData)();
}
CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count)
{
return self->DeleteChars(pos,bytes_count);
@@ -1530,6 +1622,14 @@ CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackDa
{
return self->HasSelection();
}
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void)
{
return IM_NEW(ImGuiPayload)();
}
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self)
{
return self->Clear();
@@ -1546,6 +1646,30 @@ CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
{
return self->IsDelivery();
}
CIMGUI_API ImColor* ImColor_ImColor(void)
{
return IM_NEW(ImColor)();
}
CIMGUI_API void ImColor_destroy(ImColor* self)
{
IM_DELETE(self);
}
CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a)
{
return IM_NEW(ImColor)(r,g,b,a);
}
CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba)
{
return IM_NEW(ImColor)(rgba);
}
CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a)
{
return IM_NEW(ImColor)(r,g,b,a);
}
CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col)
{
return IM_NEW(ImColor)(col);
}
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a)
{
return self->SetHSV(h,s,v,a);
@@ -1554,6 +1678,10 @@ CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a)
{
return self->HSV(h,s,v,a);
}
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
{
return IM_NEW(ImGuiListClipper)(items_count,items_height);
}
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{
return self->Step();
@@ -1566,6 +1694,18 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
{
return self->End();
}
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
{
return IM_NEW(ImDrawCmd)();
}
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self)
{
IM_DELETE(self);
}
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data)
{
return IM_NEW(ImDrawList)(shared_data);
}
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect)
{
return self->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
@@ -1770,6 +1910,14 @@ CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self)
{
return self->UpdateTextureID();
}
CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void)
{
return IM_NEW(ImDrawData)();
}
CIMGUI_API void ImDrawData_destroy(ImDrawData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImDrawData_Clear(ImDrawData* self)
{
return self->Clear();
@@ -1782,6 +1930,22 @@ CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc)
{
return self->ScaleClipRects(sc);
}
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void)
{
return IM_NEW(ImFontConfig)();
}
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self)
{
IM_DELETE(self);
}
CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void)
{
return IM_NEW(ImFontAtlas)();
}
CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self)
{
IM_DELETE(self);
}
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg)
{
return self->AddFont(font_cfg);
@@ -1870,6 +2034,14 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
{
return self->GetGlyphRangesThai();
}
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void)
{
return IM_NEW(GlyphRangesBuilder)();
}
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self)
{
IM_DELETE(self);
}
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n)
{
return self->GetBit(n);
@@ -1894,6 +2066,14 @@ CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector
{
return self->BuildRanges(out_ranges);
}
CIMGUI_API CustomRect* CustomRect_CustomRect(void)
{
return IM_NEW(CustomRect)();
}
CIMGUI_API void CustomRect_destroy(CustomRect* self)
{
IM_DELETE(self);
}
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self)
{
return self->IsPacked();
@@ -1918,6 +2098,14 @@ CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCu
{
return self->GetMouseCursorTexData(cursor,out_offset,out_size,out_uv_border,out_uv_fill);
}
CIMGUI_API ImFont* ImFont_ImFont(void)
{
return IM_NEW(ImFont)();
}
CIMGUI_API void ImFont_destroy(ImFont* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImFont_ClearOutputData(ImFont* self)
{
return self->ClearOutputData();
@@ -2252,11 +2440,4 @@ CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
{
p->~ImVector<ImWchar>();
}
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_create()
{
return IM_NEW(GlyphRangesBuilder)();
}
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* p)
{
IM_DELETE(p);
}

View File

@@ -834,13 +834,14 @@ typedef ImVector<TextRange> ImVector_TextRange;
typedef ImVector<ImWchar> ImVector_ImWchar;
#else //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef ImVector ImVector_TextRange;
//typedef ImVector ImVector_ImWchar;
typedef struct {
int Size;
int Capacity;
ImWchar * Data;
} ImVector_ImWchar;
typedef ImVector ImVector_ImWchar;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API ImVec2* ImVec2_ImVec2(void);
CIMGUI_API void ImVec2_destroy(ImVec2* self);
CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y);
CIMGUI_API ImVec4* ImVec4_ImVec4(void);
CIMGUI_API void ImVec4_destroy(ImVec4* self);
CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w);
CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas);
CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
CIMGUI_API ImGuiContext* igGetCurrentContext(void);
@@ -1174,19 +1175,31 @@ CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size);
CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);
CIMGUI_API void* igMemAlloc(size_t size);
CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,ImWchar c);
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void);
CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter);
CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width);
CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end);
CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self);
CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
CIMGUI_API TextRange* TextRange_TextRange(void);
CIMGUI_API void TextRange_destroy(TextRange* self);
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e);
CIMGUI_API const char* TextRange_begin(TextRange* self);
CIMGUI_API const char* TextRange_end(TextRange* self);
CIMGUI_API bool TextRange_empty(TextRange* self);
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRange* out);
CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void);
CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self);
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
@@ -1195,6 +1208,9 @@ CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity);
CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i);
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f);
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p);
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self);
CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val);
CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val);
@@ -1210,18 +1226,32 @@ CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float
CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
CIMGUI_API ImColor* ImColor_ImColor(void);
CIMGUI_API void ImColor_destroy(ImColor* self);
CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a);
CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba);
CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a);
CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col);
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
@@ -1273,9 +1303,15 @@ CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self);
CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void);
CIMGUI_API void ImDrawData_destroy(ImDrawData* self);
CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc);
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self);
CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void);
CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self);
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg);
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg);
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char* filename,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
@@ -1298,18 +1334,24 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* sel
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void);
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self);
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c);
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end);
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges);
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
CIMGUI_API CustomRect* CustomRect_CustomRect(void);
CIMGUI_API void CustomRect_destroy(CustomRect* self);
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self);
CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height);
CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
CIMGUI_API ImFont* ImFont_ImFont(void);
CIMGUI_API void ImFont_destroy(ImFont* self);
CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
@@ -1387,8 +1429,7 @@ CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_create();
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* p);

View File

@@ -41,3 +41,21 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
{
ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
}
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
{
return IM_NEW(ImVector<ImWchar>) ();
}
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* p)
{
IM_DELETE(p);
}
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
{
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
}
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
{
p->~ImVector<ImWchar>();
}

View File

@@ -82,5 +82,11 @@ CIMGUI_API float igGET_FLT_MAX();
CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v);
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);

View File

@@ -792,7 +792,7 @@ local function ADDnonUDT(FP)
defT2.retref = nil
defsT[t.cimguiname][#defsT[t.cimguiname] + 1] = defT2
defsT[t.cimguiname][t.signature.."nonUDT"] = defT2
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT",cimguiname=t.cimguiname,call_args=call_args,ret =ret,comment=comment})
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT",cimguiname=t.cimguiname,call_args=call_args,ret =t.ret,comment=comment})
--converting to Simple type----------------------------------------------------
local defT3 = {}
--first strings
@@ -813,7 +813,7 @@ local function ADDnonUDT(FP)
defT3.retref = nil
defsT[t.cimguiname][#defsT[t.cimguiname] + 1] = defT3
defsT[t.cimguiname][t.signature.."nonUDT2"] = defT3
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT2",cimguiname=t.cimguiname,call_args=call_args,ret =ret,comment=comment})
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT2",cimguiname=t.cimguiname,call_args=call_args,ret =t.ret,comment=comment})
end
end
end
@@ -1155,18 +1155,32 @@ local function func_header_generate(FP)
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
local manual = get_manuals(def)
if not manual and def.ret then --not constructor
local addcoment = def.comment or ""
if not manual then
local addcoment = def.comment or ""
local empty = def.args:match("^%(%)") --no args
if def.stname == "ImGui" or def.stname == "" then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
else
--local imgui_stname = embeded_structs[def.stname] or def.stname
local imgui_stname = def.stname
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args..";"..addcoment.."\n")
end
if def.ret then --not constructor
if def.stname == "ImGui" or def.stname == "" then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
else
--local imgui_stname = embeded_structs[def.stname] or def.stname
local imgui_stname = def.stname
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
table.insert(outtab,"CIMGUI_API "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args..";"..addcoment.."\n")
end
else --constructor
assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct")
if not def.funcname:match("~") then --constructor
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
if empty then
--make destructor also only once
local args = "("..def.stname.."* self)"
local fname = def.stname.."_destroy"
table.insert(outtab,"CIMGUI_API void "..fname..args..";"..addcoment.."\n")
end
else --destructor
--already done
end
end
end
else --not cimguiname
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
@@ -1226,13 +1240,13 @@ local function func_implementation(FP)
table.insert(outtab," return ret2;\n")
table.insert(outtab,"}\n")
end
else
else --standard ImGui
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..def.args.."\n")
table.insert(outtab,"{\n")
table.insert(outtab," return "..castret..ptret.."ImGui::"..def.funcname..def.call_args..";\n")
table.insert(outtab,"}\n")
end
else
else -- stname
local empty = def.args:match("^%(%)") --no args
--local imgui_stname = embeded_structs[def.stname] or def.stname
local imgui_stname = def.stname
@@ -1268,13 +1282,33 @@ local function func_implementation(FP)
table.insert(outtab," return ret2;\n")
table.insert(outtab,"}\n")
end
else
else --standard struct
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args.."\n")
table.insert(outtab,"{\n")
table.insert(outtab," return "..castret..ptret.."self->"..def.funcname..def.call_args..";\n")
table.insert(outtab,"}\n")
end
end
elseif not manual and not def.ret then --constructor and destructors
assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct")
local empty = def.args:match("^%(%)") --no args
if not def.funcname:match("~") then --constructor
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args).."\n")
table.insert(outtab,"{\n")
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
table.insert(outtab,"}\n")
if empty then
--do destructor only once
local args = "("..def.stname.."* self)"
local fname = def.stname.."_destroy"
table.insert(outtab,"CIMGUI_API void "..fname..args.."\n")
table.insert(outtab,"{\n")
table.insert(outtab," IM_DELETE(self);\n")
table.insert(outtab,"}\n")
end
else --destructor
--already done
end
end
until true
end
@@ -1504,7 +1538,7 @@ local function json_prepare(defs)
end
return defs
end
---[[
local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(pFP.defsT)))
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
@@ -1512,7 +1546,7 @@ save_data("./output/typedefs_dict.json",json.encode(typedefs_dict))
if iFP then
save_data("./output/impl_definitions.json",json.encode(json_prepare(iFP.defsT)))
end
--]]
copyfile("./output/cimgui.h", "../cimgui.h")
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
print"all done!!"
@@ -1520,26 +1554,37 @@ print"all done!!"
---dump some infos-----------------------------------------------------------------------
------------------------------------------------------------------------------------
print"//-------alltypes--------------------------------------------------------------------"
FP:dump_alltypes()
pFP:dump_alltypes()
print"//embeded_structs---------------------------------------------------------------------------"
for k,v in pairs(FP.embeded_structs) do
for k,v in pairs(pFP.embeded_structs) do
--print(k,v)
io.write("typedef ",v," ",k,";\n")
end
print"//templates---------------------------------------------------------------------------"
for k,v in pairs(FP.ImVector_templates) do
for k,v in pairs(pFP.ImVector_templates) do
--print(k,v)
io.write("typedef ImVector<",k,"> ImVector_",k,";\n")
end
for k,v in pairs(pSTP.ImVector_templates) do
--print(k,v)
io.write("typedef ImVector<",k,"> ImVector_",k,";\n")
end
require"anima.utils"
print"//constructors------------------------------------------------------------------"
for i,t in ipairs(FP.cdefs) do
for i,t in ipairs(pFP.cdefs) do
if t.cimguiname and not t.ret then
print(t.cimguiname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret)
local cimf = pFP.defsT[t.cimguiname]
local def = cimf[t.signature]
if not def.ret then
print(t.cimguiname,"\t",t.signature,t.ret)
else
print"constructor error"
prtable(def)
end
end
end
print"//-------------------------------------------------------------------------------------"
for i,t in ipairs(FP.cdefs) do
for i,t in ipairs(pFP.cdefs) do
--print(t.cimguiname," ",t.funcname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret)
end
---------------------------------------------------------------------------------------------

View File

@@ -5,6 +5,30 @@
#include "./imgui/imgui_internal.h"
CIMGUI_API ImVec2* ImVec2_ImVec2(void)
{
return IM_NEW(ImVec2)();
}
CIMGUI_API void ImVec2_destroy(ImVec2* self)
{
IM_DELETE(self);
}
CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y)
{
return IM_NEW(ImVec2)(_x,_y);
}
CIMGUI_API ImVec4* ImVec4_ImVec4(void)
{
return IM_NEW(ImVec4)();
}
CIMGUI_API void ImVec4_destroy(ImVec4* self)
{
IM_DELETE(self);
}
CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w)
{
return IM_NEW(ImVec4)(_x,_y,_z,_w);
}
CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas)
{
return ImGui::CreateContext(shared_font_atlas);
@@ -1374,6 +1398,14 @@ CIMGUI_API void igMemFree(void* ptr)
{
return ImGui::MemFree(ptr);
}
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void)
{
return IM_NEW(ImGuiStyle)();
}
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor)
{
return self->ScaleAllSizes(scale_factor);
@@ -1390,6 +1422,26 @@ CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
{
return self->ClearInputCharacters();
}
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{
return IM_NEW(ImGuiIO)();
}
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void)
{
return IM_NEW(ImGuiOnceUponAFrame)();
}
CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter)
{
return IM_NEW(ImGuiTextFilter)(default_filter);
}
CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width)
{
return self->Draw(label,width);
@@ -1410,6 +1462,18 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
{
return self->IsActive();
}
CIMGUI_API TextRange* TextRange_TextRange(void)
{
return IM_NEW(TextRange)();
}
CIMGUI_API void TextRange_destroy(TextRange* self)
{
IM_DELETE(self);
}
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e)
{
return IM_NEW(TextRange)(_b,_e);
}
CIMGUI_API const char* TextRange_begin(TextRange* self)
{
return self->begin();
@@ -1426,6 +1490,14 @@ CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRang
{
return self->split(separator,out);
}
CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void)
{
return IM_NEW(ImGuiTextBuffer)();
}
CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self)
{
IM_DELETE(self);
}
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self)
{
return self->begin();
@@ -1458,6 +1530,18 @@ CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,v
{
return self->appendfv(fmt,args);
}
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i)
{
return IM_NEW(Pair)(_key,_val_i);
}
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f)
{
return IM_NEW(Pair)(_key,_val_f);
}
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p)
{
return IM_NEW(Pair)(_key,_val_p);
}
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
{
return self->Clear();
@@ -1518,6 +1602,14 @@ CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
{
return self->BuildSortByKey();
}
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void)
{
return IM_NEW(ImGuiInputTextCallbackData)();
}
CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count)
{
return self->DeleteChars(pos,bytes_count);
@@ -1530,6 +1622,14 @@ CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackDa
{
return self->HasSelection();
}
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void)
{
return IM_NEW(ImGuiPayload)();
}
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self)
{
return self->Clear();
@@ -1546,6 +1646,30 @@ CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
{
return self->IsDelivery();
}
CIMGUI_API ImColor* ImColor_ImColor(void)
{
return IM_NEW(ImColor)();
}
CIMGUI_API void ImColor_destroy(ImColor* self)
{
IM_DELETE(self);
}
CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a)
{
return IM_NEW(ImColor)(r,g,b,a);
}
CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba)
{
return IM_NEW(ImColor)(rgba);
}
CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a)
{
return IM_NEW(ImColor)(r,g,b,a);
}
CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col)
{
return IM_NEW(ImColor)(col);
}
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a)
{
return self->SetHSV(h,s,v,a);
@@ -1554,6 +1678,10 @@ CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a)
{
return self->HSV(h,s,v,a);
}
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
{
return IM_NEW(ImGuiListClipper)(items_count,items_height);
}
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{
return self->Step();
@@ -1566,6 +1694,18 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
{
return self->End();
}
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
{
return IM_NEW(ImDrawCmd)();
}
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self)
{
IM_DELETE(self);
}
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data)
{
return IM_NEW(ImDrawList)(shared_data);
}
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect)
{
return self->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
@@ -1770,6 +1910,14 @@ CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self)
{
return self->UpdateTextureID();
}
CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void)
{
return IM_NEW(ImDrawData)();
}
CIMGUI_API void ImDrawData_destroy(ImDrawData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImDrawData_Clear(ImDrawData* self)
{
return self->Clear();
@@ -1782,6 +1930,22 @@ CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc)
{
return self->ScaleClipRects(sc);
}
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void)
{
return IM_NEW(ImFontConfig)();
}
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self)
{
IM_DELETE(self);
}
CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void)
{
return IM_NEW(ImFontAtlas)();
}
CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self)
{
IM_DELETE(self);
}
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg)
{
return self->AddFont(font_cfg);
@@ -1870,6 +2034,14 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
{
return self->GetGlyphRangesThai();
}
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void)
{
return IM_NEW(GlyphRangesBuilder)();
}
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self)
{
IM_DELETE(self);
}
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n)
{
return self->GetBit(n);
@@ -1894,6 +2066,14 @@ CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector
{
return self->BuildRanges(out_ranges);
}
CIMGUI_API CustomRect* CustomRect_CustomRect(void)
{
return IM_NEW(CustomRect)();
}
CIMGUI_API void CustomRect_destroy(CustomRect* self)
{
IM_DELETE(self);
}
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self)
{
return self->IsPacked();
@@ -1918,6 +2098,14 @@ CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCu
{
return self->GetMouseCursorTexData(cursor,out_offset,out_size,out_uv_border,out_uv_fill);
}
CIMGUI_API ImFont* ImFont_ImFont(void)
{
return IM_NEW(ImFont)();
}
CIMGUI_API void ImFont_destroy(ImFont* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImFont_ClearOutputData(ImFont* self)
{
return self->ClearOutputData();
@@ -2235,3 +2423,21 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
{
ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
}
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
{
return IM_NEW(ImVector<ImWchar>) ();
}
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* p)
{
IM_DELETE(p);
}
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
{
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
}
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
{
p->~ImVector<ImWchar>();
}

View File

@@ -836,6 +836,12 @@ typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector ImVector_TextRange;
typedef ImVector ImVector_ImWchar;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API ImVec2* ImVec2_ImVec2(void);
CIMGUI_API void ImVec2_destroy(ImVec2* self);
CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y);
CIMGUI_API ImVec4* ImVec4_ImVec4(void);
CIMGUI_API void ImVec4_destroy(ImVec4* self);
CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w);
CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas);
CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
CIMGUI_API ImGuiContext* igGetCurrentContext(void);
@@ -1169,19 +1175,31 @@ CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size);
CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);
CIMGUI_API void* igMemAlloc(size_t size);
CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,ImWchar c);
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void);
CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter);
CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width);
CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end);
CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self);
CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
CIMGUI_API TextRange* TextRange_TextRange(void);
CIMGUI_API void TextRange_destroy(TextRange* self);
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e);
CIMGUI_API const char* TextRange_begin(TextRange* self);
CIMGUI_API const char* TextRange_end(TextRange* self);
CIMGUI_API bool TextRange_empty(TextRange* self);
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRange* out);
CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void);
CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self);
CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
@@ -1190,6 +1208,9 @@ CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity);
CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i);
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f);
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p);
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self);
CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val);
CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val);
@@ -1205,18 +1226,32 @@ CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float
CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
CIMGUI_API ImColor* ImColor_ImColor(void);
CIMGUI_API void ImColor_destroy(ImColor* self);
CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a);
CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba);
CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a);
CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col);
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
@@ -1268,9 +1303,15 @@ CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self);
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self);
CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void);
CIMGUI_API void ImDrawData_destroy(ImDrawData* self);
CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc);
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self);
CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void);
CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self);
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg);
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg);
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char* filename,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
@@ -1293,18 +1334,24 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* sel
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void);
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self);
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n);
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c);
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end);
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges);
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
CIMGUI_API CustomRect* CustomRect_CustomRect(void);
CIMGUI_API void CustomRect_destroy(CustomRect* self);
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self);
CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height);
CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
CIMGUI_API const CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
CIMGUI_API ImFont* ImFont_ImFont(void);
CIMGUI_API void ImFont_destroy(ImFont* self);
CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
@@ -1378,5 +1425,11 @@ CIMGUI_API float igGET_FLT_MAX();
CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v);
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);