Compare commits

...

13 Commits

Author SHA1 Message Date
Victor Bombi
97113ef7ad Merge pull request #73 from sonoro1234/GlyphRanges
Glyph ranges
2018-10-17 20:11:39 +02:00
sonoro1234
2a4dcaf2a2 add constructors and destructor 2018-10-17 20:08:40 +02:00
sonoro1234
5a9a20d139 GlyphRanges test 2018-10-17 12:14:22 +02:00
sonoro1234
7ee838ae2d include stdint.h 2018-10-16 11:56:31 +02:00
sonoro1234
3091435042 explain template_type 2018-10-14 17:51:10 +02:00
sonoro1234
804acdcecd add template_type for ImVector templates in structs_and_enums 2018-10-14 17:47:38 +02:00
sonoro1234
51f02dca4d add igGetIDRange to overloads table 2018-10-14 10:09:04 +02:00
sonoro1234
84a9656889 dont assert in virtual preprocessor, just warn 2018-10-13 19:13:52 +02:00
sonoro1234
553df3da32 type error 2018-10-13 13:56:11 +02:00
sonoro1234
04d4a19beb update link to odin-imgui 2018-10-13 13:08:30 +02:00
sonoro1234
3b9c53b2a2 more robust nocompiler option, can assert on unknown preprocesor conditions 2018-10-13 11:56:35 +02:00
sonoro1234
6f9e3db1d1 structs and enums in README.md 2018-10-10 14:23:41 +02:00
sonoro1234
d3eb876266 definitions in README.md 2018-10-10 14:05:08 +02:00
13 changed files with 787 additions and 94 deletions

View File

@@ -33,10 +33,32 @@ Notes:
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info.
# generate binding
* with your prefered languaje from lua or json files as in:
* with your prefered language you can use the lua or json files generated as in:
* https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/class_gen.lua)
* https://github.com/mellinoe/ImGui.NET/tree/autogen/src/CodeGenerator
### definitions description
* It is a collection in which key is the cimgui name that would result without overloadings and the value is an array of overloadings (may be only one overloading)
* Each overloading is a collection. Some relevant keys and values are:
* stname : the name of the struct the function belongs to (may be ImGui if it is top level in ImGui namespace)
* ov_cimguiname : the overloaded cimgui name (if absent it would be taken from cimguiname)
* cimguiname : the name without overloading (this should be used if there is not ov_cimguiname)
* call_args : a string with the argument names separated by commas
* args : the same as above but with types
* ret : the return type
* argsT : an array of collections (each one with type: argument type and name: the argument name)
* defaults : a collection in which key is argument name and value is the default value.
* manual : will be true if this function is hand-written (not generated)
* nonUDT : if present can be 1 or 2 (explained meaning in usage) if return type was a user defined type
### structs_and_enums description
* Is is a collection with two items:
* under key enums we get the enums collection in which each key is the enum tagname and the value is an array of the ordered values represented as a collection with keys
* name : the name of this enum value
* value : the C string
* calc_value : the numeric value corresponding to value
* under key structs we get the structs collection in which the key is the struct name and the value is an array of the struct members. Each one given as a collection with keys
* type : the type of the struct member
* template_type : if type has a template argument (as ImVector) here will be
* name : the name of the struct member
# usage
* use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig`
@@ -52,5 +74,5 @@ Notes:
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
* [imgui-pas](https://github.com/dpethes/imgui-pas)
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
* [LuaJIT-imgui](https://github.com/sonoro1234/LuaJIT-ImGui)

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);
@@ -477,7 +501,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id)
{
return ImGui::GetID(str_id);
}
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end)
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end)
{
return ImGui::GetID(str_id_begin,str_id_end);
}
@@ -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

@@ -1,7 +1,7 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.65" from Dear ImGui https://github.com/ocornut/imgui
#include <stdio.h>
#include <stdint.h>
#if defined _WIN32 || defined __CYGWIN__
#ifdef CIMGUI_NO_EXPORT
#define API
@@ -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);
@@ -954,7 +960,7 @@ CIMGUI_API void igPushIDPtr(const void* ptr_id);
CIMGUI_API void igPushIDInt(int int_id);
CIMGUI_API void igPopID(void);
CIMGUI_API ImGuiID igGetIDStr(const char* str_id);
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end);
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end);
CIMGUI_API ImGuiID igGetIDPtr(const void* ptr_id);
CIMGUI_API void igTextUnformatted(const char* text,const char* text_end);
CIMGUI_API void igText(const char* fmt,...);
@@ -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);

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

@@ -1,6 +1,6 @@
#include <stdio.h>
#include <stdint.h>
#if defined _WIN32 || defined __CYGWIN__
#ifdef CIMGUI_NO_EXPORT
#define API
@@ -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

@@ -62,6 +62,9 @@ local cimgui_overloads = {
--["(const void*)"] = "igPushIDPtr",
--["(int)"] = "igPushIDInt"
},
igGetID = {
["(const char*,const char*)"] = "igGetIDRange",
},
ImDrawList_AddText = {
["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText",
},
@@ -96,27 +99,86 @@ local gdefines = {} --for FLT_MAX and others
--------------------------------------------------------------------------
--helper functions
--------------------------------------------------------------------------
local function split_comment(line)
local comment = line:match("(%s*//.*)") or ""
line = line:gsub("%s*//.*","")
line = line:gsub("%s*$","")
return line,comment
end
--minimal preprocessor
local function filelines(file,locats)
local iflevels = {}
--generated known prepros
local prepro = {
["#if"]={
[ "defined(__clang__) || defined(__GNUC__)" ]=false,
[ "defined(__clang__)" ]=false,
[ "defined(_MSC_VER) && !defined(__clang__)" ]=false,
[ "!defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)" ]=false,
[ "!defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \\" ]=false,
},
["#elif"]={
[ "defined(__GNUC__) && __GNUC__ >= 8" ]=false,
[ "(defined(__clang__) || defined(__GNUC__)) && (__cplusplus < 201100)" ]=false,
},
["#ifdef"]={
[ "IM_VEC4_CLASS_EXTRA" ]=false,
[ "IMGUI_USER_CONFIG" ]=false,
[ "IMGUI_INCLUDE_IMGUI_USER_H" ]=false,
[ "IMGUI_USE_BGRA_PACKED_COLOR" ]=false,
[ "IM_VEC2_CLASS_EXTRA" ]=false,
},
["#ifndef"]={
[ "IMGUI_API" ]=false,
[ "IMGUI_IMPL_API" ]=false,
[ "IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT" ]=true,
[ "IM_ASSERT" ]=false,
[ "ImTextureID" ]=true,
[ "ImDrawIdx" ]=true,
[ "IMGUI_DISABLE_OBSOLETE_FUNCTIONS" ]=false,
},
}
--only one case is true
local function prepro_boolif(line)
local function prepro_boolifBAK(line)
local ma = line:match("#ifndef%s+IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT") or line:match("#ifndef%s+ImTextureID")
return not (ma==nil)
end
local function prepro_boolif(pre,cond)
local conds = prepro[pre]
assert(conds,pre.." has no conds-----------------------------")
local res = conds[cond]
--assert(type(res)~="nil",cond.." not found")
if type(res)=="nil" then
print(pre,cond,"not found in precompiler database, returning false.")
res = false
end
return res
end
local function location_it()
repeat
local line = file:read"*l"
if not line then return nil end
if line:sub(1,1) == "#" then
--if line:sub(1,1) == "#" then
if line:match("^%s*#") then
line,_ = split_comment(line)
local pre,cond = line:match("^%s*(#%S*)%s+(.*)%s*$")
if line:match("#if") then
iflevels[#iflevels +1 ] = prepro_boolif(line)
iflevels[#iflevels +1 ] = prepro_boolif(pre,cond)
elseif line:match("#endif") then
iflevels[#iflevels] = nil
elseif line:match("#elseif") then
iflevels[#iflevels] = false -- all false now
elseif line:match("#elif") then
if not iflevels[#iflevels] then
iflevels[#iflevels] = prepro_boolif(pre,cond)
else --was true
iflevels[#iflevels] = false
end
elseif line:match("#else") then
iflevels[#iflevels] = not iflevels[#iflevels]
else
if not (pre:match("#define") or pre:match"#include" or pre:match"#pragma") then
print("not expected preprocessor directive ",pre)
end
end
-- skip
elseif #iflevels == 0 or iflevels[#iflevels] then
@@ -294,12 +356,6 @@ local function clean_spaces(cad)
cad = cad:gsub("%s*([%(%),=])%s*","%1") --not spaces with ( , )
return cad
end
local function split_comment(line)
local comment = line:match("(%s*//.*)") or ""
line = line:gsub("%s*//.*","")
line = line:gsub("%s*$","")
return line,comment
end
local function get_manuals(def)
return cimgui_manuals[def.ov_cimguiname] or cimgui_manuals[def.cimguiname]
end
@@ -327,7 +383,9 @@ local function struct_parser()
local in_functionst = false
local structcdefs = {}
local ImVector_templates = {}
local STP = {}
STP.ImVector_templates = ImVector_templates
STP.lines = structcdefs
function STP.insert(line,comment)
@@ -360,6 +418,10 @@ local function struct_parser()
--nothing
else
local linea = line:gsub("%S+",{class="struct",mutable=""})
local template = linea:match("ImVector<([%w_]+)>")
if template then
ImVector_templates[template] = true
end
linea = linea:gsub("(%b<>)","/*%1*/") --comment template parameters
table.insert(structcdefs,linea..comment)
end
@@ -730,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
@@ -751,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
@@ -867,8 +929,10 @@ local function gen_structs_and_enums_table(cdefs)
end
--split type name1,name2; in several lines
local typen,rest = line:match("([^,]+)%s(%S+[,;])")
local template_type = typen:match("/%*<(.+)>%*/")
if template_type then typen = typen:match("(.+)/%*") end
for name in rest:gmatch("([^%s,;]+)%s?[,;]") do
table.insert(outtab.structs[structnames[#structnames]],{type=typen,name=name})
table.insert(outtab.structs[structnames[#structnames]],{type=typen,template_type=template_type,name=name})
end
end
end
@@ -1091,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
@@ -1162,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
@@ -1204,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
@@ -1362,6 +1460,7 @@ local iterator = (HAVE_COMPILER and location) or filelines
for line in iterator(pipe,{"imgui"}) do
local line, comment = split_comment(line)
--line = clean_spaces(line)
--comment = ""
pSTP.insert(line,comment)
pFP.insert(line,comment)
end
@@ -1439,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))
@@ -1447,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!!"
@@ -1455,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);
@@ -477,7 +501,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id)
{
return ImGui::GetID(str_id);
}
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end)
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end)
{
return ImGui::GetID(str_id_begin,str_id_end);
}
@@ -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

@@ -1,7 +1,7 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.65" from Dear ImGui https://github.com/ocornut/imgui
#include <stdio.h>
#include <stdint.h>
#if defined _WIN32 || defined __CYGWIN__
#ifdef CIMGUI_NO_EXPORT
#define API
@@ -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);
@@ -954,7 +960,7 @@ CIMGUI_API void igPushIDPtr(const void* ptr_id);
CIMGUI_API void igPushIDInt(int int_id);
CIMGUI_API void igPopID(void);
CIMGUI_API ImGuiID igGetIDStr(const char* str_id);
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end);
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end);
CIMGUI_API ImGuiID igGetIDPtr(const void* ptr_id);
CIMGUI_API void igTextUnformatted(const char* text,const char* text_end);
CIMGUI_API void igText(const char* fmt,...);
@@ -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);

File diff suppressed because one or more lines are too long

View File

@@ -4135,7 +4135,7 @@ defs["igGetID"][2]["argsT"][1]["name"] = "str_id_begin"
defs["igGetID"][2]["argsT"][2] = {}
defs["igGetID"][2]["argsT"][2]["type"] = "const char*"
defs["igGetID"][2]["argsT"][2]["name"] = "str_id_end"
defs["igGetID"][2]["ov_cimguiname"] = "igGetIDStrStr"
defs["igGetID"][2]["ov_cimguiname"] = "igGetIDRange"
defs["igGetID"][2]["defaults"] = {}
defs["igGetID"][2]["signature"] = "(const char*,const char*)"
defs["igGetID"][2]["cimguiname"] = "igGetID"

View File

@@ -43,7 +43,7 @@ igMenuItem 2
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
igGetID 3
1 ImGuiID igGetIDStr (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*)
2 ImGuiID igGetIDRange (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*)
igListBoxHeader 2
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)

File diff suppressed because one or more lines are too long

View File

@@ -1191,13 +1191,16 @@ defs["structs"]["ImDrawVert"][3]["type"] = "ImU32"
defs["structs"]["ImDrawVert"][3]["name"] = "col"
defs["structs"]["ImDrawList"] = {}
defs["structs"]["ImDrawList"][1] = {}
defs["structs"]["ImDrawList"][1]["type"] = "ImVector/*<ImDrawCmd>*/"
defs["structs"]["ImDrawList"][1]["type"] = "ImVector"
defs["structs"]["ImDrawList"][1]["template_type"] = "ImDrawCmd"
defs["structs"]["ImDrawList"][1]["name"] = "CmdBuffer"
defs["structs"]["ImDrawList"][2] = {}
defs["structs"]["ImDrawList"][2]["type"] = "ImVector/*<ImDrawIdx>*/"
defs["structs"]["ImDrawList"][2]["type"] = "ImVector"
defs["structs"]["ImDrawList"][2]["template_type"] = "ImDrawIdx"
defs["structs"]["ImDrawList"][2]["name"] = "IdxBuffer"
defs["structs"]["ImDrawList"][3] = {}
defs["structs"]["ImDrawList"][3]["type"] = "ImVector/*<ImDrawVert>*/"
defs["structs"]["ImDrawList"][3]["type"] = "ImVector"
defs["structs"]["ImDrawList"][3]["template_type"] = "ImDrawVert"
defs["structs"]["ImDrawList"][3]["name"] = "VtxBuffer"
defs["structs"]["ImDrawList"][4] = {}
defs["structs"]["ImDrawList"][4]["type"] = "ImDrawListFlags"
@@ -1218,13 +1221,16 @@ defs["structs"]["ImDrawList"][9] = {}
defs["structs"]["ImDrawList"][9]["type"] = "ImDrawIdx*"
defs["structs"]["ImDrawList"][9]["name"] = "_IdxWritePtr"
defs["structs"]["ImDrawList"][10] = {}
defs["structs"]["ImDrawList"][10]["type"] = "ImVector/*<ImVec4>*/"
defs["structs"]["ImDrawList"][10]["type"] = "ImVector"
defs["structs"]["ImDrawList"][10]["template_type"] = "ImVec4"
defs["structs"]["ImDrawList"][10]["name"] = "_ClipRectStack"
defs["structs"]["ImDrawList"][11] = {}
defs["structs"]["ImDrawList"][11]["type"] = "ImVector/*<ImTextureID>*/"
defs["structs"]["ImDrawList"][11]["type"] = "ImVector"
defs["structs"]["ImDrawList"][11]["template_type"] = "ImTextureID"
defs["structs"]["ImDrawList"][11]["name"] = "_TextureIdStack"
defs["structs"]["ImDrawList"][12] = {}
defs["structs"]["ImDrawList"][12]["type"] = "ImVector/*<ImVec2>*/"
defs["structs"]["ImDrawList"][12]["type"] = "ImVector"
defs["structs"]["ImDrawList"][12]["template_type"] = "ImVec2"
defs["structs"]["ImDrawList"][12]["name"] = "_Path"
defs["structs"]["ImDrawList"][13] = {}
defs["structs"]["ImDrawList"][13]["type"] = "int"
@@ -1233,7 +1239,8 @@ defs["structs"]["ImDrawList"][14] = {}
defs["structs"]["ImDrawList"][14]["type"] = "int"
defs["structs"]["ImDrawList"][14]["name"] = "_ChannelsCount"
defs["structs"]["ImDrawList"][15] = {}
defs["structs"]["ImDrawList"][15]["type"] = "ImVector/*<ImDrawChannel>*/"
defs["structs"]["ImDrawList"][15]["type"] = "ImVector"
defs["structs"]["ImDrawList"][15]["template_type"] = "ImDrawChannel"
defs["structs"]["ImDrawList"][15]["name"] = "_Channels"
defs["structs"]["Pair"] = {}
defs["structs"]["Pair"][1] = {}
@@ -1253,13 +1260,16 @@ defs["structs"]["ImFont"][3] = {}
defs["structs"]["ImFont"][3]["type"] = "ImVec2"
defs["structs"]["ImFont"][3]["name"] = "DisplayOffset"
defs["structs"]["ImFont"][4] = {}
defs["structs"]["ImFont"][4]["type"] = "ImVector/*<ImFontGlyph>*/"
defs["structs"]["ImFont"][4]["type"] = "ImVector"
defs["structs"]["ImFont"][4]["template_type"] = "ImFontGlyph"
defs["structs"]["ImFont"][4]["name"] = "Glyphs"
defs["structs"]["ImFont"][5] = {}
defs["structs"]["ImFont"][5]["type"] = "ImVector/*<float>*/"
defs["structs"]["ImFont"][5]["type"] = "ImVector"
defs["structs"]["ImFont"][5]["template_type"] = "float"
defs["structs"]["ImFont"][5]["name"] = "IndexAdvanceX"
defs["structs"]["ImFont"][6] = {}
defs["structs"]["ImFont"][6]["type"] = "ImVector/*<unsigned short>*/"
defs["structs"]["ImFont"][6]["type"] = "ImVector"
defs["structs"]["ImFont"][6]["template_type"] = "unsigned short"
defs["structs"]["ImFont"][6]["name"] = "IndexLookup"
defs["structs"]["ImFont"][7] = {}
defs["structs"]["ImFont"][7]["type"] = "const ImFontGlyph*"
@@ -1350,11 +1360,13 @@ defs["structs"]["ImVec4"][4]["type"] = "float"
defs["structs"]["ImVec4"][4]["name"] = "w"
defs["structs"]["GlyphRangesBuilder"] = {}
defs["structs"]["GlyphRangesBuilder"][1] = {}
defs["structs"]["GlyphRangesBuilder"][1]["type"] = "ImVector/*<unsigned char>*/"
defs["structs"]["GlyphRangesBuilder"][1]["type"] = "ImVector"
defs["structs"]["GlyphRangesBuilder"][1]["template_type"] = "unsigned char"
defs["structs"]["GlyphRangesBuilder"][1]["name"] = "UsedChars"
defs["structs"]["ImGuiStorage"] = {}
defs["structs"]["ImGuiStorage"][1] = {}
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector/*<Pair>*/"
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector"
defs["structs"]["ImGuiStorage"][1]["template_type"] = "Pair"
defs["structs"]["ImGuiStorage"][1]["name"] = "Data"
defs["structs"]["ImFontAtlas"] = {}
defs["structs"]["ImFontAtlas"][1] = {}
@@ -1391,18 +1403,21 @@ defs["structs"]["ImFontAtlas"][11] = {}
defs["structs"]["ImFontAtlas"][11]["type"] = "ImVec2"
defs["structs"]["ImFontAtlas"][11]["name"] = "TexUvWhitePixel"
defs["structs"]["ImFontAtlas"][12] = {}
defs["structs"]["ImFontAtlas"][12]["type"] = "ImVector/*<ImFont*>*/"
defs["structs"]["ImFontAtlas"][12]["type"] = "ImVector"
defs["structs"]["ImFontAtlas"][12]["template_type"] = "ImFont*"
defs["structs"]["ImFontAtlas"][12]["name"] = "Fonts"
defs["structs"]["ImFontAtlas"][13] = {}
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector/*<CustomRect>*/"
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector"
defs["structs"]["ImFontAtlas"][13]["template_type"] = "CustomRect"
defs["structs"]["ImFontAtlas"][13]["name"] = "CustomRects"
defs["structs"]["ImFontAtlas"][14] = {}
defs["structs"]["ImFontAtlas"][14]["type"] = "ImVector/*<ImFontConfig>*/"
defs["structs"]["ImFontAtlas"][14]["type"] = "ImVector"
defs["structs"]["ImFontAtlas"][14]["template_type"] = "ImFontConfig"
defs["structs"]["ImFontAtlas"][14]["name"] = "ConfigData"
defs["structs"]["ImFontAtlas"][15] = {}
defs["structs"]["ImFontAtlas"][15]["type"] = "int"
defs["structs"]["ImFontAtlas"][15]["name"] = "CustomRectIds[1]"
defs["structs"]["ImFontAtlas"][15]["size"] = 1
defs["structs"]["ImFontAtlas"][15]["name"] = "CustomRectIds[1]"
defs["structs"]["ImFontGlyph"] = {}
defs["structs"]["ImFontGlyph"][1] = {}
defs["structs"]["ImFontGlyph"][1]["type"] = "ImWchar"
@@ -1485,8 +1500,8 @@ defs["structs"]["ImFontConfig"][16]["type"] = "float"
defs["structs"]["ImFontConfig"][16]["name"] = "RasterizerMultiply"
defs["structs"]["ImFontConfig"][17] = {}
defs["structs"]["ImFontConfig"][17]["type"] = "char"
defs["structs"]["ImFontConfig"][17]["name"] = "Name[40]"
defs["structs"]["ImFontConfig"][17]["size"] = 40
defs["structs"]["ImFontConfig"][17]["name"] = "Name[40]"
defs["structs"]["ImFontConfig"][18] = {}
defs["structs"]["ImFontConfig"][18]["type"] = "ImFont*"
defs["structs"]["ImFontConfig"][18]["name"] = "DstFont"
@@ -1514,7 +1529,8 @@ defs["structs"]["ImDrawData"][7]["type"] = "ImVec2"
defs["structs"]["ImDrawData"][7]["name"] = "DisplaySize"
defs["structs"]["ImGuiTextBuffer"] = {}
defs["structs"]["ImGuiTextBuffer"][1] = {}
defs["structs"]["ImGuiTextBuffer"][1]["type"] = "ImVector/*<char>*/"
defs["structs"]["ImGuiTextBuffer"][1]["type"] = "ImVector"
defs["structs"]["ImGuiTextBuffer"][1]["template_type"] = "char"
defs["structs"]["ImGuiTextBuffer"][1]["name"] = "Buf"
defs["structs"]["ImGuiStyle"] = {}
defs["structs"]["ImGuiStyle"][1] = {}
@@ -1606,14 +1622,16 @@ defs["structs"]["ImGuiStyle"][29]["type"] = "float"
defs["structs"]["ImGuiStyle"][29]["name"] = "CurveTessellationTol"
defs["structs"]["ImGuiStyle"][30] = {}
defs["structs"]["ImGuiStyle"][30]["type"] = "ImVec4"
defs["structs"]["ImGuiStyle"][30]["name"] = "Colors[ImGuiCol_COUNT]"
defs["structs"]["ImGuiStyle"][30]["size"] = 43
defs["structs"]["ImGuiStyle"][30]["name"] = "Colors[ImGuiCol_COUNT]"
defs["structs"]["ImDrawChannel"] = {}
defs["structs"]["ImDrawChannel"][1] = {}
defs["structs"]["ImDrawChannel"][1]["type"] = "ImVector/*<ImDrawCmd>*/"
defs["structs"]["ImDrawChannel"][1]["type"] = "ImVector"
defs["structs"]["ImDrawChannel"][1]["template_type"] = "ImDrawCmd"
defs["structs"]["ImDrawChannel"][1]["name"] = "CmdBuffer"
defs["structs"]["ImDrawChannel"][2] = {}
defs["structs"]["ImDrawChannel"][2]["type"] = "ImVector/*<ImDrawIdx>*/"
defs["structs"]["ImDrawChannel"][2]["type"] = "ImVector"
defs["structs"]["ImDrawChannel"][2]["template_type"] = "ImDrawIdx"
defs["structs"]["ImDrawChannel"][2]["name"] = "IdxBuffer"
defs["structs"]["ImDrawCmd"] = {}
defs["structs"]["ImDrawCmd"][1] = {}
@@ -1676,8 +1694,8 @@ defs["structs"]["ImGuiIO"][10]["type"] = "float"
defs["structs"]["ImGuiIO"][10]["name"] = "MouseDragThreshold"
defs["structs"]["ImGuiIO"][11] = {}
defs["structs"]["ImGuiIO"][11]["type"] = "int"
defs["structs"]["ImGuiIO"][11]["name"] = "KeyMap[ImGuiKey_COUNT]"
defs["structs"]["ImGuiIO"][11]["size"] = 21
defs["structs"]["ImGuiIO"][11]["name"] = "KeyMap[ImGuiKey_COUNT]"
defs["structs"]["ImGuiIO"][12] = {}
defs["structs"]["ImGuiIO"][12]["type"] = "float"
defs["structs"]["ImGuiIO"][12]["name"] = "KeyRepeatDelay"
@@ -1743,8 +1761,8 @@ defs["structs"]["ImGuiIO"][32]["type"] = "ImVec2"
defs["structs"]["ImGuiIO"][32]["name"] = "MousePos"
defs["structs"]["ImGuiIO"][33] = {}
defs["structs"]["ImGuiIO"][33]["type"] = "bool"
defs["structs"]["ImGuiIO"][33]["name"] = "MouseDown[5]"
defs["structs"]["ImGuiIO"][33]["size"] = 5
defs["structs"]["ImGuiIO"][33]["name"] = "MouseDown[5]"
defs["structs"]["ImGuiIO"][34] = {}
defs["structs"]["ImGuiIO"][34]["type"] = "float"
defs["structs"]["ImGuiIO"][34]["name"] = "MouseWheel"
@@ -1765,16 +1783,16 @@ defs["structs"]["ImGuiIO"][39]["type"] = "bool"
defs["structs"]["ImGuiIO"][39]["name"] = "KeySuper"
defs["structs"]["ImGuiIO"][40] = {}
defs["structs"]["ImGuiIO"][40]["type"] = "bool"
defs["structs"]["ImGuiIO"][40]["name"] = "KeysDown[512]"
defs["structs"]["ImGuiIO"][40]["size"] = 512
defs["structs"]["ImGuiIO"][40]["name"] = "KeysDown[512]"
defs["structs"]["ImGuiIO"][41] = {}
defs["structs"]["ImGuiIO"][41]["type"] = "ImWchar"
defs["structs"]["ImGuiIO"][41]["name"] = "InputCharacters[16+1]"
defs["structs"]["ImGuiIO"][41]["size"] = 17
defs["structs"]["ImGuiIO"][41]["name"] = "InputCharacters[16+1]"
defs["structs"]["ImGuiIO"][42] = {}
defs["structs"]["ImGuiIO"][42]["type"] = "float"
defs["structs"]["ImGuiIO"][42]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiIO"][42]["size"] = 21
defs["structs"]["ImGuiIO"][42]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiIO"][43] = {}
defs["structs"]["ImGuiIO"][43]["type"] = "bool"
defs["structs"]["ImGuiIO"][43]["name"] = "WantCaptureMouse"
@@ -1822,60 +1840,60 @@ defs["structs"]["ImGuiIO"][57]["type"] = "ImVec2"
defs["structs"]["ImGuiIO"][57]["name"] = "MousePosPrev"
defs["structs"]["ImGuiIO"][58] = {}
defs["structs"]["ImGuiIO"][58]["type"] = "ImVec2"
defs["structs"]["ImGuiIO"][58]["name"] = "MouseClickedPos[5]"
defs["structs"]["ImGuiIO"][58]["size"] = 5
defs["structs"]["ImGuiIO"][58]["name"] = "MouseClickedPos[5]"
defs["structs"]["ImGuiIO"][59] = {}
defs["structs"]["ImGuiIO"][59]["type"] = "double"
defs["structs"]["ImGuiIO"][59]["name"] = "MouseClickedTime[5]"
defs["structs"]["ImGuiIO"][59]["size"] = 5
defs["structs"]["ImGuiIO"][59]["name"] = "MouseClickedTime[5]"
defs["structs"]["ImGuiIO"][60] = {}
defs["structs"]["ImGuiIO"][60]["type"] = "bool"
defs["structs"]["ImGuiIO"][60]["name"] = "MouseClicked[5]"
defs["structs"]["ImGuiIO"][60]["size"] = 5
defs["structs"]["ImGuiIO"][60]["name"] = "MouseClicked[5]"
defs["structs"]["ImGuiIO"][61] = {}
defs["structs"]["ImGuiIO"][61]["type"] = "bool"
defs["structs"]["ImGuiIO"][61]["name"] = "MouseDoubleClicked[5]"
defs["structs"]["ImGuiIO"][61]["size"] = 5
defs["structs"]["ImGuiIO"][61]["name"] = "MouseDoubleClicked[5]"
defs["structs"]["ImGuiIO"][62] = {}
defs["structs"]["ImGuiIO"][62]["type"] = "bool"
defs["structs"]["ImGuiIO"][62]["name"] = "MouseReleased[5]"
defs["structs"]["ImGuiIO"][62]["size"] = 5
defs["structs"]["ImGuiIO"][62]["name"] = "MouseReleased[5]"
defs["structs"]["ImGuiIO"][63] = {}
defs["structs"]["ImGuiIO"][63]["type"] = "bool"
defs["structs"]["ImGuiIO"][63]["name"] = "MouseDownOwned[5]"
defs["structs"]["ImGuiIO"][63]["size"] = 5
defs["structs"]["ImGuiIO"][63]["name"] = "MouseDownOwned[5]"
defs["structs"]["ImGuiIO"][64] = {}
defs["structs"]["ImGuiIO"][64]["type"] = "float"
defs["structs"]["ImGuiIO"][64]["name"] = "MouseDownDuration[5]"
defs["structs"]["ImGuiIO"][64]["size"] = 5
defs["structs"]["ImGuiIO"][64]["name"] = "MouseDownDuration[5]"
defs["structs"]["ImGuiIO"][65] = {}
defs["structs"]["ImGuiIO"][65]["type"] = "float"
defs["structs"]["ImGuiIO"][65]["name"] = "MouseDownDurationPrev[5]"
defs["structs"]["ImGuiIO"][65]["size"] = 5
defs["structs"]["ImGuiIO"][65]["name"] = "MouseDownDurationPrev[5]"
defs["structs"]["ImGuiIO"][66] = {}
defs["structs"]["ImGuiIO"][66]["type"] = "ImVec2"
defs["structs"]["ImGuiIO"][66]["name"] = "MouseDragMaxDistanceAbs[5]"
defs["structs"]["ImGuiIO"][66]["size"] = 5
defs["structs"]["ImGuiIO"][66]["name"] = "MouseDragMaxDistanceAbs[5]"
defs["structs"]["ImGuiIO"][67] = {}
defs["structs"]["ImGuiIO"][67]["type"] = "float"
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDragMaxDistanceSqr[5]"
defs["structs"]["ImGuiIO"][67]["size"] = 5
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDragMaxDistanceSqr[5]"
defs["structs"]["ImGuiIO"][68] = {}
defs["structs"]["ImGuiIO"][68]["type"] = "float"
defs["structs"]["ImGuiIO"][68]["name"] = "KeysDownDuration[512]"
defs["structs"]["ImGuiIO"][68]["size"] = 512
defs["structs"]["ImGuiIO"][68]["name"] = "KeysDownDuration[512]"
defs["structs"]["ImGuiIO"][69] = {}
defs["structs"]["ImGuiIO"][69]["type"] = "float"
defs["structs"]["ImGuiIO"][69]["name"] = "KeysDownDurationPrev[512]"
defs["structs"]["ImGuiIO"][69]["size"] = 512
defs["structs"]["ImGuiIO"][69]["name"] = "KeysDownDurationPrev[512]"
defs["structs"]["ImGuiIO"][70] = {}
defs["structs"]["ImGuiIO"][70]["type"] = "float"
defs["structs"]["ImGuiIO"][70]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiIO"][70]["size"] = 21
defs["structs"]["ImGuiIO"][70]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiIO"][71] = {}
defs["structs"]["ImGuiIO"][71]["type"] = "float"
defs["structs"]["ImGuiIO"][71]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiIO"][71]["size"] = 21
defs["structs"]["ImGuiIO"][71]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
defs["structs"]["ImGuiPayload"] = {}
defs["structs"]["ImGuiPayload"][1] = {}
defs["structs"]["ImGuiPayload"][1]["type"] = "void*"
@@ -1894,8 +1912,8 @@ defs["structs"]["ImGuiPayload"][5]["type"] = "int"
defs["structs"]["ImGuiPayload"][5]["name"] = "DataFrameCount"
defs["structs"]["ImGuiPayload"][6] = {}
defs["structs"]["ImGuiPayload"][6]["type"] = "char"
defs["structs"]["ImGuiPayload"][6]["name"] = "DataType[32+1]"
defs["structs"]["ImGuiPayload"][6]["size"] = 33
defs["structs"]["ImGuiPayload"][6]["name"] = "DataType[32+1]"
defs["structs"]["ImGuiPayload"][7] = {}
defs["structs"]["ImGuiPayload"][7]["type"] = "bool"
defs["structs"]["ImGuiPayload"][7]["name"] = "Preview"
@@ -1922,10 +1940,11 @@ defs["structs"]["ImGuiSizeCallbackData"][4]["name"] = "DesiredSize"
defs["structs"]["ImGuiTextFilter"] = {}
defs["structs"]["ImGuiTextFilter"][1] = {}
defs["structs"]["ImGuiTextFilter"][1]["type"] = "char"
defs["structs"]["ImGuiTextFilter"][1]["name"] = "InputBuf[256]"
defs["structs"]["ImGuiTextFilter"][1]["size"] = 256
defs["structs"]["ImGuiTextFilter"][1]["name"] = "InputBuf[256]"
defs["structs"]["ImGuiTextFilter"][2] = {}
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector/*<TextRange>*/"
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector"
defs["structs"]["ImGuiTextFilter"][2]["template_type"] = "TextRange"
defs["structs"]["ImGuiTextFilter"][2]["name"] = "Filters"
defs["structs"]["ImGuiTextFilter"][3] = {}
defs["structs"]["ImGuiTextFilter"][3]["type"] = "int"