diff --git a/README.md b/README.md index 77c9ba7..deb086f 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,10 @@ Initially cimgui was developed by Stephan Dilly as hand-written code but lately Notes: * currently this wrapper is based on version [1.75 of Dear ImGui] -* only functions, structs and enums from imgui.h are wrapped. +* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped. * if you are interested in imgui implementations you should look LuaJIT-ImGui project. -* overloaded function names try to be the most compatible with traditional cimgui names. So all naming is algorithmic except for those names that were in conflict with widely used cimgui names and were thus coded in a table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L58). Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt) +* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty. +* Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt) # compilation @@ -23,7 +24,7 @@ Notes: * git submodule update * compile * using makefile on linux/macOS/mingw (Or use CMake to generate project) - * or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build + * or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build # using generator @@ -31,15 +32,15 @@ Notes: * you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download * you can use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC) or not use a compiler (experimental nocompiler option) at all. (this repo was done with gcc) * update `imgui` folder to the version you desire. -* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, cl or nocompiler and to choose desired implementations and if imgui_internal is generated or not. -* edit config_generator.lua for adding includes needed by your chosen implementations. +* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, cl or nocompiler and to choose desired implementations and weather imgui_internal is generated or not. +* edit config_generator.lua for adding includes needed by your chosen implementations (vulkan needs that). * Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH. * 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 * C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS * 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/sonoro1234/LuaJIT-ImGui/blob/master/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master/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) @@ -59,7 +60,7 @@ Notes: * destructor : is set if the function is a destructor for a class * templated : is set if the function belongs to a templated class (ImVector) * templatedgen: is set if the function belongs to a struct generated from template (ImVector_ImWchar) - * nonUDT : if present can be 1 or 2 (explained meaning in usage) if return type was a user defined type + * nonUDT : if present the original function was returning a user defined type so that signature has been changed to accept a pointer to the UDT as first argument. ### 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 @@ -76,8 +77,7 @@ Notes: * 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` * methods have the same parameter list and return values (where possible) * functions that belong to a struct have an extra first argument with a pointer to the struct. -* where a function returns UDT (user defined type) by value some compilers complain so another function with the name `function_name_nonUDT` is generated accepting a pointer to the UDT type as the first argument. -* also is generated `function_name_nonUDT2` which instead of returning the UDT type returns a simple version (without functions) called `UDTType_Simple` (`ImVec2_Simple` for `ImVec2`) +* where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct). # example bindings based on cimgui diff --git a/cimgui.cpp b/cimgui.cpp index 8b7838b..6134794 100644 --- a/cimgui.cpp +++ b/cimgui.cpp @@ -7,7 +7,7 @@ -CIMGUI_API ImVec2* ImVec2_ImVec2(void) +CIMGUI_API ImVec2* ImVec2_ImVec2Nil(void) { return IM_NEW(ImVec2)(); } @@ -19,7 +19,7 @@ CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y) { return IM_NEW(ImVec2)(_x,_y); } -CIMGUI_API ImVec4* ImVec4_ImVec4(void) +CIMGUI_API ImVec4* ImVec4_ImVec4Nil(void) { return IM_NEW(ImVec4)(); } @@ -127,7 +127,7 @@ CIMGUI_API void igEnd() { return ImGui::End(); } -CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags) +CIMGUI_API bool igBeginChildStr(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags) { return ImGui::BeginChild(str_id,size,border,flags); } @@ -159,13 +159,13 @@ CIMGUI_API ImDrawList* igGetWindowDrawList() { return ImGui::GetWindowDrawList(); } -CIMGUI_API ImVec2 igGetWindowPos() +CIMGUI_API void igGetWindowPos(ImVec2 *pOut) { - return ImGui::GetWindowPos(); + *pOut = ImGui::GetWindowPos(); } -CIMGUI_API ImVec2 igGetWindowSize() +CIMGUI_API void igGetWindowSize(ImVec2 *pOut) { - return ImGui::GetWindowSize(); + *pOut = ImGui::GetWindowSize(); } CIMGUI_API float igGetWindowWidth() { @@ -215,7 +215,7 @@ CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond) { return ImGui::SetWindowCollapsed(collapsed,cond); } -CIMGUI_API void igSetWindowFocus() +CIMGUI_API void igSetWindowFocusNil() { return ImGui::SetWindowFocus(); } @@ -239,21 +239,21 @@ CIMGUI_API void igSetWindowFocusStr(const char* name) { return ImGui::SetWindowFocus(name); } -CIMGUI_API ImVec2 igGetContentRegionMax() +CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut) { - return ImGui::GetContentRegionMax(); + *pOut = ImGui::GetContentRegionMax(); } -CIMGUI_API ImVec2 igGetContentRegionAvail() +CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut) { - return ImGui::GetContentRegionAvail(); + *pOut = ImGui::GetContentRegionAvail(); } -CIMGUI_API ImVec2 igGetWindowContentRegionMin() +CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut) { - return ImGui::GetWindowContentRegionMin(); + *pOut = ImGui::GetWindowContentRegionMin(); } -CIMGUI_API ImVec2 igGetWindowContentRegionMax() +CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut) { - return ImGui::GetWindowContentRegionMax(); + *pOut = ImGui::GetWindowContentRegionMax(); } CIMGUI_API float igGetWindowContentRegionWidth() { @@ -311,7 +311,7 @@ CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col) { return ImGui::PushStyleColor(idx,col); } -CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col) +CIMGUI_API void igPushStyleColorVec4(ImGuiCol idx,const ImVec4 col) { return ImGui::PushStyleColor(idx,col); } @@ -343,11 +343,11 @@ CIMGUI_API float igGetFontSize() { return ImGui::GetFontSize(); } -CIMGUI_API ImVec2 igGetFontTexUvWhitePixel() +CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2 *pOut) { - return ImGui::GetFontTexUvWhitePixel(); + *pOut = ImGui::GetFontTexUvWhitePixel(); } -CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul) +CIMGUI_API ImU32 igGetColorU32Col(ImGuiCol idx,float alpha_mul) { return ImGui::GetColorU32(idx,alpha_mul); } @@ -435,9 +435,9 @@ CIMGUI_API void igEndGroup() { return ImGui::EndGroup(); } -CIMGUI_API ImVec2 igGetCursorPos() +CIMGUI_API void igGetCursorPos(ImVec2 *pOut) { - return ImGui::GetCursorPos(); + *pOut = ImGui::GetCursorPos(); } CIMGUI_API float igGetCursorPosX() { @@ -459,13 +459,13 @@ CIMGUI_API void igSetCursorPosY(float local_y) { return ImGui::SetCursorPosY(local_y); } -CIMGUI_API ImVec2 igGetCursorStartPos() +CIMGUI_API void igGetCursorStartPos(ImVec2 *pOut) { - return ImGui::GetCursorStartPos(); + *pOut = ImGui::GetCursorStartPos(); } -CIMGUI_API ImVec2 igGetCursorScreenPos() +CIMGUI_API void igGetCursorScreenPos(ImVec2 *pOut) { - return ImGui::GetCursorScreenPos(); + *pOut = ImGui::GetCursorScreenPos(); } CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos) { @@ -495,7 +495,7 @@ CIMGUI_API void igPushIDStr(const char* str_id) { return ImGui::PushID(str_id); } -CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end) +CIMGUI_API void igPushIDStrStr(const char* str_id_begin,const char* str_id_end) { return ImGui::PushID(str_id_begin,str_id_end); } @@ -515,7 +515,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id) { return ImGui::GetID(str_id); } -CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end) +CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end) { return ImGui::GetID(str_id_begin,str_id_end); } @@ -649,7 +649,7 @@ CIMGUI_API void igEndCombo() { return ImGui::EndCombo(); } -CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items) +CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items) { return ImGui::Combo(label,current_item,items,items_count,popup_max_height_in_items); } @@ -917,7 +917,7 @@ CIMGUI_API float igGetTreeNodeToLabelSpacing() { return ImGui::GetTreeNodeToLabelSpacing(); } -CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags) +CIMGUI_API bool igCollapsingHeaderTreeNodeFlags(const char* label,ImGuiTreeNodeFlags flags) { return ImGui::CollapsingHeader(label,flags); } @@ -929,7 +929,7 @@ CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond) { return ImGui::SetNextItemOpen(is_open,cond); } -CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size) +CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size) { return ImGui::Selectable(label,selected,flags,size); } @@ -957,7 +957,7 @@ CIMGUI_API void igListBoxFooter() { return ImGui::ListBoxFooter(); } -CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride) +CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride) { return ImGui::PlotLines(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride); } @@ -1248,23 +1248,23 @@ CIMGUI_API bool igIsAnyItemFocused() { return ImGui::IsAnyItemFocused(); } -CIMGUI_API ImVec2 igGetItemRectMin() +CIMGUI_API void igGetItemRectMin(ImVec2 *pOut) { - return ImGui::GetItemRectMin(); + *pOut = ImGui::GetItemRectMin(); } -CIMGUI_API ImVec2 igGetItemRectMax() +CIMGUI_API void igGetItemRectMax(ImVec2 *pOut) { - return ImGui::GetItemRectMax(); + *pOut = ImGui::GetItemRectMax(); } -CIMGUI_API ImVec2 igGetItemRectSize() +CIMGUI_API void igGetItemRectSize(ImVec2 *pOut) { - return ImGui::GetItemRectSize(); + *pOut = ImGui::GetItemRectSize(); } CIMGUI_API void igSetItemAllowOverlap() { return ImGui::SetItemAllowOverlap(); } -CIMGUI_API bool igIsRectVisible(const ImVec2 size) +CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size) { return ImGui::IsRectVisible(size); } @@ -1304,9 +1304,9 @@ CIMGUI_API ImGuiStorage* igGetStateStorage() { return ImGui::GetStateStorage(); } -CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) +CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) { - return ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); + *pOut = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); } CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end) { @@ -1320,9 +1320,9 @@ CIMGUI_API void igEndChildFrame() { return ImGui::EndChildFrame(); } -CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in) +CIMGUI_API void igColorConvertU32ToFloat4(ImVec4 *pOut,ImU32 in) { - return ImGui::ColorConvertU32ToFloat4(in); + *pOut = ImGui::ColorConvertU32ToFloat4(in); } CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in) { @@ -1380,21 +1380,21 @@ CIMGUI_API bool igIsAnyMouseDown() { return ImGui::IsAnyMouseDown(); } -CIMGUI_API ImVec2 igGetMousePos() +CIMGUI_API void igGetMousePos(ImVec2 *pOut) { - return ImGui::GetMousePos(); + *pOut = ImGui::GetMousePos(); } -CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup() +CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2 *pOut) { - return ImGui::GetMousePosOnOpeningCurrentPopup(); + *pOut = ImGui::GetMousePosOnOpeningCurrentPopup(); } CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button,float lock_threshold) { return ImGui::IsMouseDragging(button,lock_threshold); } -CIMGUI_API ImVec2 igGetMouseDragDelta(ImGuiMouseButton button,float lock_threshold) +CIMGUI_API void igGetMouseDragDelta(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold) { - return ImGui::GetMouseDragDelta(button,lock_threshold); + *pOut = ImGui::GetMouseDragDelta(button,lock_threshold); } CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button) { @@ -1560,7 +1560,7 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self) { return self->IsActive(); } -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void) +CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeNil(void) { return IM_NEW(ImGuiTextRange)(); } @@ -1720,7 +1720,7 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self) { return self->End(); } -CIMGUI_API ImColor* ImColor_ImColor(void) +CIMGUI_API ImColor* ImColor_ImColorNil(void) { return IM_NEW(ImColor)(); } @@ -1748,9 +1748,9 @@ CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a) { return self->SetHSV(h,s,v,a); } -CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a) +CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a) { - return self->HSV(h,s,v,a); + *pOut = self->HSV(h,s,v,a); } CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void) { @@ -1816,13 +1816,13 @@ CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self) { return self->PopTextureID(); } -CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self) +CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut,ImDrawList* self) { - return self->GetClipRectMin(); + *pOut = self->GetClipRectMin(); } -CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self) +CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut,ImDrawList* self) { - return self->GetClipRectMax(); + *pOut = self->GetClipRectMax(); } CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness) { @@ -1872,7 +1872,7 @@ CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,fl { return self->AddNgonFilled(center,radius,col,num_segments); } -CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end) +CIMGUI_API void ImDrawList_AddTextVec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end) { return self->AddText(pos,col,text_begin,text_end); } @@ -2236,9 +2236,9 @@ CIMGUI_API const char* ImFont_GetDebugName(ImFont* self) { return self->GetDebugName(); } -CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) +CIMGUI_API void ImFont_CalcTextSizeA(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) { - return self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); + *pOut = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); } CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width) { @@ -2276,226 +2276,6 @@ CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c) { return self->SetFallbackChar(c); } -CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowPos(); -} -CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowSize(); -} -CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowSize(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetContentRegionMax(); -} -CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetContentRegionMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetContentRegionAvail(); -} -CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2() -{ - ImVec2 ret = ImGui::GetContentRegionAvail(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowContentRegionMin(); -} -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowContentRegionMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowContentRegionMax(); -} -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowContentRegionMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetFontTexUvWhitePixel(); -} -CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2() -{ - ImVec2 ret = ImGui::GetFontTexUvWhitePixel(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorStartPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorStartPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorScreenPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorScreenPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectMin(); -} -CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectMax(); -} -CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectSize(); -} -CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectSize(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) -{ - *pOut = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); -} -CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) -{ - ImVec2 ret = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in) -{ - *pOut = ImGui::ColorConvertU32ToFloat4(in); -} -CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in) -{ - ImVec4 ret = ImGui::ColorConvertU32ToFloat4(in); - ImVec4_Simple ret2 = ImVec4ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetMousePos(); -} -CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2() -{ - ImVec2 ret = ImGui::GetMousePos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetMousePosOnOpeningCurrentPopup(); -} -CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2() -{ - ImVec2 ret = ImGui::GetMousePosOnOpeningCurrentPopup(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold) -{ - *pOut = ImGui::GetMouseDragDelta(button,lock_threshold); -} -CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(ImGuiMouseButton button,float lock_threshold) -{ - ImVec2 ret = ImGui::GetMouseDragDelta(button,lock_threshold); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a) -{ - *pOut = self->HSV(h,s,v,a); -} -CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a) -{ - ImColor ret = self->HSV(h,s,v,a); - ImColor_Simple ret2 = ImColorToSimple(ret); - return ret2; -} -CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self) -{ - *pOut = self->GetClipRectMin(); -} -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self) -{ - ImVec2 ret = self->GetClipRectMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self) -{ - *pOut = self->GetClipRectMax(); -} -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self) -{ - ImVec2 ret = self->GetClipRectMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) -{ - *pOut = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); -} -CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) -{ - ImVec2 ret = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} diff --git a/cimgui.h b/cimgui.h index 871e02c..f2645be 100644 --- a/cimgui.h +++ b/cimgui.h @@ -35,11 +35,6 @@ typedef unsigned __int64 ImU64; //typedef unsigned long long ImU64; #endif -//UDT stuff -typedef struct ImVec2_Simple { float x; float y; } ImVec2_Simple; -typedef struct ImVec4_Simple { float x; float y; float z; float w;} ImVec4_Simple; -typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple; - #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImGuiStoragePair ImGuiStoragePair; @@ -882,28 +877,6 @@ struct ImGuiStoragePair struct GLFWwindow; struct SDL_Window; typedef union SDL_Event SDL_Event; -inline ImVec2_Simple ImVec2ToSimple(ImVec2 vec) -{ - ImVec2_Simple result; - result.x = vec.x; - result.y = vec.y; - return result; -} -inline ImVec4_Simple ImVec4ToSimple(ImVec4 vec) -{ - ImVec4_Simple result; - result.x = vec.x; - result.y = vec.y; - result.z = vec.z; - result.w = vec.w; - return result; -} -inline ImColor_Simple ImColorToSimple(ImColor col) -{ - ImColor_Simple result; - result.Value = ImVec4ToSimple(col.Value); - return result; -} #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS @@ -927,10 +900,10 @@ typedef ImVector ImVector_ImVec4; typedef ImVector ImVector_ImDrawIdx; typedef ImVector ImVector_ImVec2; #endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS -CIMGUI_API ImVec2* ImVec2_ImVec2(void); +CIMGUI_API ImVec2* ImVec2_ImVec2Nil(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 ImVec4* ImVec4_ImVec4Nil(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); @@ -957,7 +930,7 @@ CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst); CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst); CIMGUI_API bool igBegin(const char* name,bool* p_open,ImGuiWindowFlags flags); CIMGUI_API void igEnd(void); -CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags); +CIMGUI_API bool igBeginChildStr(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags); CIMGUI_API bool igBeginChildID(ImGuiID id,const ImVec2 size,bool border,ImGuiWindowFlags flags); CIMGUI_API void igEndChild(void); CIMGUI_API bool igIsWindowAppearing(void); @@ -965,8 +938,8 @@ CIMGUI_API bool igIsWindowCollapsed(void); CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags); CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags); CIMGUI_API ImDrawList* igGetWindowDrawList(void); -CIMGUI_API ImVec2 igGetWindowPos(void); -CIMGUI_API ImVec2 igGetWindowSize(void); +CIMGUI_API void igGetWindowPos(ImVec2 *pOut); +CIMGUI_API void igGetWindowSize(ImVec2 *pOut); CIMGUI_API float igGetWindowWidth(void); CIMGUI_API float igGetWindowHeight(void); CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot); @@ -979,16 +952,16 @@ CIMGUI_API void igSetNextWindowBgAlpha(float alpha); CIMGUI_API void igSetWindowPosVec2(const ImVec2 pos,ImGuiCond cond); CIMGUI_API void igSetWindowSizeVec2(const ImVec2 size,ImGuiCond cond); CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond); -CIMGUI_API void igSetWindowFocus(void); +CIMGUI_API void igSetWindowFocusNil(void); CIMGUI_API void igSetWindowFontScale(float scale); CIMGUI_API void igSetWindowPosStr(const char* name,const ImVec2 pos,ImGuiCond cond); CIMGUI_API void igSetWindowSizeStr(const char* name,const ImVec2 size,ImGuiCond cond); CIMGUI_API void igSetWindowCollapsedStr(const char* name,bool collapsed,ImGuiCond cond); CIMGUI_API void igSetWindowFocusStr(const char* name); -CIMGUI_API ImVec2 igGetContentRegionMax(void); -CIMGUI_API ImVec2 igGetContentRegionAvail(void); -CIMGUI_API ImVec2 igGetWindowContentRegionMin(void); -CIMGUI_API ImVec2 igGetWindowContentRegionMax(void); +CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut); +CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut); +CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut); +CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut); CIMGUI_API float igGetWindowContentRegionWidth(void); CIMGUI_API float igGetScrollX(void); CIMGUI_API float igGetScrollY(void); @@ -1003,7 +976,7 @@ CIMGUI_API void igSetScrollFromPosY(float local_y,float center_y_ratio); CIMGUI_API void igPushFont(ImFont* font); CIMGUI_API void igPopFont(void); CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col); -CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col); +CIMGUI_API void igPushStyleColorVec4(ImGuiCol idx,const ImVec4 col); CIMGUI_API void igPopStyleColor(int count); CIMGUI_API void igPushStyleVarFloat(ImGuiStyleVar idx,float val); CIMGUI_API void igPushStyleVarVec2(ImGuiStyleVar idx,const ImVec2 val); @@ -1011,8 +984,8 @@ CIMGUI_API void igPopStyleVar(int count); CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx); CIMGUI_API ImFont* igGetFont(void); CIMGUI_API float igGetFontSize(void); -CIMGUI_API ImVec2 igGetFontTexUvWhitePixel(void); -CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul); +CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2 *pOut); +CIMGUI_API ImU32 igGetColorU32Col(ImGuiCol idx,float alpha_mul); CIMGUI_API ImU32 igGetColorU32Vec4(const ImVec4 col); CIMGUI_API ImU32 igGetColorU32U32(ImU32 col); CIMGUI_API void igPushItemWidth(float item_width); @@ -1034,14 +1007,14 @@ CIMGUI_API void igIndent(float indent_w); CIMGUI_API void igUnindent(float indent_w); CIMGUI_API void igBeginGroup(void); CIMGUI_API void igEndGroup(void); -CIMGUI_API ImVec2 igGetCursorPos(void); +CIMGUI_API void igGetCursorPos(ImVec2 *pOut); CIMGUI_API float igGetCursorPosX(void); CIMGUI_API float igGetCursorPosY(void); CIMGUI_API void igSetCursorPos(const ImVec2 local_pos); CIMGUI_API void igSetCursorPosX(float local_x); CIMGUI_API void igSetCursorPosY(float local_y); -CIMGUI_API ImVec2 igGetCursorStartPos(void); -CIMGUI_API ImVec2 igGetCursorScreenPos(void); +CIMGUI_API void igGetCursorStartPos(ImVec2 *pOut); +CIMGUI_API void igGetCursorScreenPos(ImVec2 *pOut); CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos); CIMGUI_API void igAlignTextToFramePadding(void); CIMGUI_API float igGetTextLineHeight(void); @@ -1049,12 +1022,12 @@ CIMGUI_API float igGetTextLineHeightWithSpacing(void); CIMGUI_API float igGetFrameHeight(void); CIMGUI_API float igGetFrameHeightWithSpacing(void); CIMGUI_API void igPushIDStr(const char* str_id); -CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end); +CIMGUI_API void igPushIDStrStr(const char* str_id_begin,const char* str_id_end); 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 igGetIDRange(const char* str_id_begin,const char* str_id_end); +CIMGUI_API ImGuiID igGetIDStrStr(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,...); @@ -1083,7 +1056,7 @@ CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* o CIMGUI_API void igBullet(void); CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags); CIMGUI_API void igEndCombo(void); -CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items); +CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items); CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items); CIMGUI_API bool igComboFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items); CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power); @@ -1146,17 +1119,17 @@ CIMGUI_API void igTreePushStr(const char* str_id); CIMGUI_API void igTreePushPtr(const void* ptr_id); CIMGUI_API void igTreePop(void); CIMGUI_API float igGetTreeNodeToLabelSpacing(void); -CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags); +CIMGUI_API bool igCollapsingHeaderTreeNodeFlags(const char* label,ImGuiTreeNodeFlags flags); CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_open,ImGuiTreeNodeFlags flags); CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond); -CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size); +CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items); CIMGUI_API bool igListBoxFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items); CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size); CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items); CIMGUI_API void igListBoxFooter(void); -CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); +CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotLinesFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotHistogramFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); @@ -1228,11 +1201,11 @@ CIMGUI_API bool igIsItemToggledOpen(void); CIMGUI_API bool igIsAnyItemHovered(void); CIMGUI_API bool igIsAnyItemActive(void); CIMGUI_API bool igIsAnyItemFocused(void); -CIMGUI_API ImVec2 igGetItemRectMin(void); -CIMGUI_API ImVec2 igGetItemRectMax(void); -CIMGUI_API ImVec2 igGetItemRectSize(void); +CIMGUI_API void igGetItemRectMin(ImVec2 *pOut); +CIMGUI_API void igGetItemRectMax(ImVec2 *pOut); +CIMGUI_API void igGetItemRectSize(ImVec2 *pOut); CIMGUI_API void igSetItemAllowOverlap(void); -CIMGUI_API bool igIsRectVisible(const ImVec2 size); +CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size); CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max); CIMGUI_API double igGetTime(void); CIMGUI_API int igGetFrameCount(void); @@ -1242,11 +1215,11 @@ CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void); CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx); CIMGUI_API void igSetStateStorage(ImGuiStorage* storage); CIMGUI_API ImGuiStorage* igGetStateStorage(void); -CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); +CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end); CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags); CIMGUI_API void igEndChildFrame(void); -CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in); +CIMGUI_API void igColorConvertU32ToFloat4(ImVec4 *pOut,ImU32 in); CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in); CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key); CIMGUI_API bool igIsKeyDown(int user_key_index); @@ -1261,10 +1234,10 @@ CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button); CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip); CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); CIMGUI_API bool igIsAnyMouseDown(void); -CIMGUI_API ImVec2 igGetMousePos(void); -CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup(void); +CIMGUI_API void igGetMousePos(ImVec2 *pOut); +CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2 *pOut); CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button,float lock_threshold); -CIMGUI_API ImVec2 igGetMouseDragDelta(ImGuiMouseButton button,float lock_threshold); +CIMGUI_API void igGetMouseDragDelta(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold); CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button); CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void); CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type); @@ -1306,7 +1279,7 @@ CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* tex CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self); CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self); CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self); -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void); +CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeNil(void); CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self); CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeStr(const char* _b,const char* _e); CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self); @@ -1346,14 +1319,14 @@ CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self); 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 ImColor* ImColor_ImColor(void); +CIMGUI_API ImColor* ImColor_ImColorNil(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 void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a); CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); @@ -1370,8 +1343,8 @@ CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self); CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self); CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id); CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self); -CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self); -CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self); +CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut,ImDrawList* self); +CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut,ImDrawList* self); CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness); CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners,float thickness); CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners); @@ -1384,7 +1357,7 @@ CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self,const ImVec2 center,float CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments); CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness); CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments); -CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end); +CIMGUI_API void ImDrawList_AddTextVec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end); CIMGUI_API void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect); CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness); CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col); @@ -1475,7 +1448,7 @@ CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c) CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c); CIMGUI_API bool ImFont_IsLoaded(ImFont* self); CIMGUI_API const char* ImFont_GetDebugName(ImFont* self); -CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); +CIMGUI_API void ImFont_CalcTextSizeA(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width); CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,ImWchar c); CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,const ImVec4 clip_rect,const char* text_begin,const char* text_end,float wrap_width,bool cpu_fine_clip); @@ -1485,50 +1458,6 @@ CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size); CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x); CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst); CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c); -CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2(void); -CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2(void); -CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2(void); -CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2(void); -CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2(void); -CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2(void); -CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2(void); -CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2(void); -CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2(void); -CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2(void); -CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2(void); -CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2(void); -CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2(void); -CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); -CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); -CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in); -CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in); -CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2(void); -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2(void); -CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold); -CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(ImGuiMouseButton button,float lock_threshold); -CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a); -CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a); -CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self); -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self); -CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self); -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self); -CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); -CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); /////////////////////////hand written functions diff --git a/generator/cimgui_template.h b/generator/cimgui_template.h index 8b47f61..e79c507 100644 --- a/generator/cimgui_template.h +++ b/generator/cimgui_template.h @@ -33,11 +33,6 @@ typedef unsigned __int64 ImU64; //typedef unsigned long long ImU64; #endif -//UDT stuff -typedef struct ImVec2_Simple { float x; float y; } ImVec2_Simple; -typedef struct ImVec4_Simple { float x; float y; float z; float w;} ImVec4_Simple; -typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple; - #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #include "imgui_structs.h" @@ -45,28 +40,6 @@ typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple; struct GLFWwindow; struct SDL_Window; typedef union SDL_Event SDL_Event; -inline ImVec2_Simple ImVec2ToSimple(ImVec2 vec) -{ - ImVec2_Simple result; - result.x = vec.x; - result.y = vec.y; - return result; -} -inline ImVec4_Simple ImVec4ToSimple(ImVec4 vec) -{ - ImVec4_Simple result; - result.x = vec.x; - result.y = vec.y; - result.z = vec.z; - result.w = vec.w; - return result; -} -inline ImColor_Simple ImColorToSimple(ImColor col) -{ - ImColor_Simple result; - result.Value = ImVec4ToSimple(col.Value); - return result; -} #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #include "auto_funcs.h" diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index d5f606f..246e0be 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -380,6 +380,8 @@ local function name_overloadsAlgo(v) end end end + --avoid empty postfix which will be reserved to generic + for i,v in ipairs(bb) do if v=="" then bb[i]="Nil" end end return aa,bb end local function typetoStr(typ) @@ -600,14 +602,16 @@ local function AdjustArguments(FP) end local function ADDnonUDT(FP) local defsT = FP.defsT - local newcdefs = {} - --for cimguiname,defs in pairs(defsT) do - --for i,defT in ipairs(defs) do - --local t = {cimguiname=cimguiname,signature=defT.signature,ret=defT.ret} + --local newcdefs = {} for numcdef,t in ipairs(FP.funcdefs) do if t.cimguiname then local cimf = defsT[t.cimguiname] local defT = cimf[t.signature] + --find index + local index + for ind,ddd in ipairs(cimf) do + if ddd == defT then index=ind; break end + end --if UDT return generate nonUDT version local isUDT = false for _,udt_ret in ipairs(FP.UDTs) do @@ -629,40 +633,25 @@ local function ADDnonUDT(FP) local comma = (#defT.argsT > 0) and "," or "" defT2.args = "("..defT.ret.." *pOut"..comma..defT.args:sub(2) defT2.ret = "void" - defT2.ov_cimguiname = (defT2.ov_cimguiname or defT2.cimguiname).."_nonUDT" + defT2.ov_cimguiname = (defT2.ov_cimguiname or defT2.cimguiname) --.."_nonUDT" defT2.nonUDT = 1 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 =t.ret}) - --converting to Simple type---------------------------------------------------- - local defT3 = {} - --first strings - for k,v in pairs(defT) do - defT3[k] = v - end - --then argsT table - defT3.argsT = {} - for k,v in ipairs(defT.argsT) do - table.insert(defT3.argsT,{type=v.type,name=v.name}) - end - local comma = (#defT.argsT > 0) and "," or "" - --defT3.args = "("..defT.ret.." *pOut"..comma..defT.args:sub(2) - defT3.ret = defT.ret.."_Simple" - defT3.retorig = defT.ret - defT3.ov_cimguiname = (defT3.ov_cimguiname or defT3.cimguiname).."_nonUDT2" - defT3.nonUDT = 2 - 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 =t.ret}) + + --replace + cimf[index] = defT2 + cimf[t.signature] = defT2 + FP.funcdefs[numcdef] = {stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature,cimguiname=t.cimguiname,call_args=call_args,ret =t.ret} + + -- 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 =t.ret}) end + else print("not cimguiname in");M.prtable(t) end - --end - end - for i,v in ipairs(newcdefs) do - table.insert(FP.funcdefs,v) end + -- for i,v in ipairs(newcdefs) do + -- table.insert(FP.funcdefs,v) + -- end end local function ADDdestructors(FP) @@ -1179,7 +1168,7 @@ function M.Parser() --take overloaded name from manual table or algorythm t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature) or k..typetoStr(post[i]) table.insert(strt,string.format("%d\t%s\t%s %s",i,t.ret,t.ov_cimguiname,t.signature)) - --prtable(typesc[i]) + --M.prtable(typesc[i],post) end --check not two names are equal (produced by bad cimguiname_overload) for i=1,#v-1 do diff --git a/generator/generator.lua b/generator/generator.lua index d8b1c7c..3ebfe29 100644 --- a/generator/generator.lua +++ b/generator/generator.lua @@ -58,54 +58,12 @@ local cimgui_manuals = { --desired name --------------------------------------------------------------------------- local cimgui_overloads = { - igPushID = { + --igPushID = { --["(const char*)"] = "igPushIDStr", - ["(const char*,const char*)"] = "igPushIDRange", + --["(const char*,const char*)"] = "igPushIDRange", --["(const void*)"] = "igPushIDPtr", --["(int)"] = "igPushIDInt" - }, - igGetID = { - ["(const char*,const char*)"] = "igGetIDRange", - }, - ImDrawList_AddText = { - ["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText", - }, - igGetColorU32 = { - ["(ImGuiCol,float)"] = "igGetColorU32", - }, - igCollapsingHeader = { - ["(const char*,ImGuiTreeNodeFlags)"] = "igCollapsingHeader", - }, - igCombo = { - ["(const char*,int*,const char* const[],int,int)"] = "igCombo", - }, - igPlotLines = { - ["(const char*,const float*,int,int,const char*,float,float,ImVec2,int)"] = "igPlotLines", - }, - igBeginChild = { - ["(const char*,const ImVec2,bool,ImGuiWindowFlags)"] = "igBeginChild", - }, - igSelectable = { - ["(const char*,bool,ImGuiSelectableFlags,const ImVec2)"] = "igSelectable" - }, - igPushStyleColor = { - ["(ImGuiCol,const ImVec4)"] = "igPushStyleColor" - }, - igSetScrollFromPosX = { - ["(float,float)"] = "igSetScrollFromPosX" - }, - igSetScrollFromPosY = { - ["(float,float)"] = "igSetScrollFromPosY" - }, - igSetScrollX = { - ["(float)"] = "igSetScrollX" - }, - igSetScrollY = { - ["(float)"] = "igSetScrollY" - }, - igIsPopupOpen ={ - ["(const char*)"] = "igIsPopupOpen" - }, + --}, } --------------------------header definitions @@ -319,10 +277,6 @@ local function ImGui_f_implementation(outtab,def) elseif def.nonUDT then if def.nonUDT == 1 then table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n") - else --nonUDT==2 - table.insert(outtab," "..def.retorig.." ret = "..namespace..def.funcname..def.call_args..";\n") - table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n") - table.insert(outtab," return ret2;\n") end else --standard ImGui table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n") @@ -353,10 +307,6 @@ local function struct_f_implementation(outtab,def) elseif def.nonUDT then if def.nonUDT == 1 then table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n") - else --nonUDT==2 - table.insert(outtab," "..def.retorig.." ret = self->"..def.funcname..def.call_args..";\n") - table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n") - table.insert(outtab," return ret2;\n") end else --standard struct table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n") diff --git a/generator/generator_old.bat b/generator/generator_old.bat deleted file mode 100644 index 10937a9..0000000 --- a/generator/generator_old.bat +++ /dev/null @@ -1,23 +0,0 @@ -:: this script must be executed in this directory -:: all the output goes to generator/output folder -:: .cpp and .h files: -:: cimgui.h and cimgui.cpp with gcc preprocess -:: cimgui_nopreprocess.h and cimgui_nopreprocess.cpp generated without preprocess -:: cimgui_impl.h with implementation function cdefs -:: lua and json files: -:: definitions.lua for function definitions -:: structs_and_enums.lua with struct and enum information-definitions -:: impl_definitions.lua for implementation function definitions - -:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example) -set PATH=%PATH%;C:\luaGL;C:\mingw32\bin; -:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin; -:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin; -::process files -:: arg[1] compiler name gcc, clang, cl or nocompiler -:: arg[2..n] name of implementations to generate -luajit ./generator_old.lua gcc glfw opengl3 opengl2 sdl - -::leave console open -cmd /k - diff --git a/generator/generator_old.lua b/generator/generator_old.lua deleted file mode 100644 index 1e2da1a..0000000 --- a/generator/generator_old.lua +++ /dev/null @@ -1,1682 +0,0 @@ --------------------------------------------------------------------------- ---script for auto_funcs.h and auto_funcs.cpp generation ---expects LuaJIT --------------------------------------------------------------------------- -assert(_VERSION=='Lua 5.1',"Must use LuaJIT") -assert(bit,"Must use LuaJIT") -local script_args = {...} -local COMPILER = script_args[1] -local CPRE,CTEST -if COMPILER == "gcc" or COMPILER == "clang" then - CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] - CTEST = COMPILER.." --version" -elseif COMPILER == "cl" then - CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] - CTEST = COMPILER -else - print("Working without compiler ") -end ---test compiler present -local HAVE_COMPILER = false -if CTEST then - local pipe,err = io.popen(CTEST,"r") - if pipe then - local str = pipe:read"*a" - print(str) - pipe:close() - if str=="" then - HAVE_COMPILER = false - else - HAVE_COMPILER = true - end - else - HAVE_COMPILER = false - print(err) - end - assert(HAVE_COMPILER,"gcc, clang or cl needed to run script") -end --CTEST - -print("HAVE_COMPILER",HAVE_COMPILER) ---get implementations -local implementations = {} -for i=2,#script_args do table.insert(implementations,script_args[i]) end - --------------------------------------------------------------------------- ---this table has the functions to be skipped in generation --------------------------------------------------------------------------- -local cimgui_manuals = { - igLogText = true, - ImGuiTextBuffer_appendf = true, - igColorConvertRGBtoHSV = true, - igColorConvertHSVtoRGB = true -} --------------------------------------------------------------------------- ---this table is a dictionary to force a naming of function overloading (instead of algorythmic generated) ---first level is cimguiname without postfix, second level is the signature of the function, value is the ---desired name ---------------------------------------------------------------------------- -local cimgui_overloads = { - igPushID = { - --["(const char*)"] = "igPushIDStr", - ["(const char*,const char*)"] = "igPushIDRange", - --["(const void*)"] = "igPushIDPtr", - --["(int)"] = "igPushIDInt" - }, - igGetID = { - ["(const char*,const char*)"] = "igGetIDRange", - }, - ImDrawList_AddText = { - ["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText", - }, - igGetColorU32 = { - ["(ImGuiCol,float)"] = "igGetColorU32", - }, - igCollapsingHeader = { - ["(const char*,ImGuiTreeNodeFlags)"] = "igCollapsingHeader", - }, - igCombo = { - ["(const char*,int*,const char* const[],int,int)"] = "igCombo", - }, - igPlotLines = { - ["(const char*,const float*,int,int,const char*,float,float,ImVec2,int)"] = "igPlotLines", - }, - igBeginChild = { - ["(const char*,const ImVec2,bool,ImGuiWindowFlags)"] = "igBeginChild", - }, - igSelectable = { - ["(const char*,bool,ImGuiSelectableFlags,const ImVec2)"] = "igSelectable" - }, - igPushStyleColor = { - ["(ImGuiCol,const ImVec4)"] = "igPushStyleColor" - } -} - ---------------------------header definitions -local cimgui_header = -[[//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui -//based on imgui.h file version XXX from Dear ImGui https://github.com/ocornut/imgui -]] -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, -}, -} - - 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: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(pre,cond) - elseif line:match("#endif") then - iflevels[#iflevels] = nil - 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 - -- drop IMGUI_APIX - line = line:gsub("IMGUI_IMPL_API","") - -- drop IMGUI_API - line = line:gsub("IMGUI_API","") - return line,locats[1] - end - until false - end - return location_it -end ---iterates lines from a gcc/clang -E in a specific location -local function location(file,locpathT) - local location_re - if COMPILER == "cl" then - location_re = '^#line (%d+) "([^"]*)"' - else --gcc, clang - location_re = '^# (%d+) "([^"]*)"' - end - local path_reT = {} - for i,locpath in ipairs(locpathT) do - table.insert(path_reT,'^(.*[\\/])('..locpath..')%.h$') - end - local in_location = false - local which_location = "" - local loc_num - local loc_num_incr - local lineold = "" - local which_locationold,loc_num_realold - local lastdumped = false - local function location_it() - repeat - local line = file:read"*l" - if not line then - if not lastdumped then - lastdumped = true - return lineold, which_locationold,loc_num_realold - else - return nil - end - end - if #line==0 then --nothing on emptyline - elseif not line:match("%S") then --nothing if only spaces - elseif line:sub(1,1) == "#" then - -- Is this a location pragma? - local loc_num_t,location_match = line:match(location_re) - if location_match then - in_location = false - for i,path_re in ipairs(path_reT) do - if location_match:match(path_re) then - in_location = true; - loc_num = loc_num_t - loc_num_incr = 0 - which_location = locpathT[i] - break - end - end - end - elseif in_location then - local loc_num_real = loc_num + loc_num_incr - loc_num_incr = loc_num_incr + 1 - if loc_num_realold and loc_num_realold < loc_num_real then - --old line complete - local lineR,which_locationR,loc_num_realR = lineold, which_locationold,loc_num_realold - lineold, which_locationold,loc_num_realold = line,which_location,loc_num_real - return lineR,which_locationR,loc_num_realR - else - lineold=lineold..line - which_locationold,loc_num_realold = which_location,loc_num_real - --return line,loc_num_real, which_location - end - end - until false --forever - end - return location_it -end -local function copyfile(src,dst,blocksize) - blocksize = blocksize or 1024*4 - print( "copyfile", src, dst) - local srcf, err = io.open(src,"rb") - if not srcf then error(err) end - local dstf, err = io.open(dst,"wb") - if not dstf then error(err) end - while true do - local data = srcf:read(blocksize) - if not data then break end - dstf:write(data) - end - srcf:close() - dstf:close() -end -------serializeTable("anyname",table) gives a string that recreates the table with dofile(generated_string) -local function serializeTable(name, value, saved) - - local function basicSerialize (o) - if type(o) == "number" or type(o)=="boolean" then - return tostring(o) - elseif type(o) == "string" then - return string.format("%q", o) - else - return "nil" - end - end - - local string_table = {} - if not saved then - table.insert(string_table, "local "..name.." = ") - else - table.insert(string_table, name.." = ") - end - - saved = saved or {} -- initial value - - if type(value) == "number" or type(value) == "string" or type(value)=="boolean" then - table.insert(string_table,basicSerialize(value).."\n") - elseif type(value) == "table" then - if saved[value] then -- value already saved? - table.insert(string_table,saved[value].."\n") - else - saved[value] = name -- save name for next time - table.insert(string_table, "{}\n") ----[[ - local ordered_keys = {} - for k,v in pairs(value) do - table.insert(ordered_keys,k) - end - local function sorter(a,b) - if type(a)==type(b) then - return a") - if template then - local te = template:gsub("%s","_") - te = te:gsub("%*","Ptr") - ImVector_templates[template] = true - linea = linea:gsub("(%b<>)","_"..te) --comment template parameters - end - --linea = linea:gsub("(%b<>)","/*%1*/") --comment template parameters - --linea = linea:gsub("<([%w_]+)>","_%1") --ImVector expand templates - table.insert(structcdefs,linea..comment) - end - return - end - return STP -end - -local function typetoStr(typ) - --typ = typ:gsub("[^%(%)]+%(%*?(.+)%).+","%1") -- funcs - typ = typ:gsub("[^%(%)]+%(%*?(.+)%).+","FnPtr") - typ = typ:gsub("[%w_]+%[(%d*)%]","arr%1") - typ = typ:gsub("%*","Ptr") - typ = typ:gsub("void","") - typ = typ:gsub("unsigned%s","u") - typ = typ:gsub("const%s","")--"c") - typ = typ:gsub("%s+","_") - typ = typ:gsub("charPtr","Str") - typ = typ:gsub("int","Int") - typ = typ:gsub("bool","Bool") - typ = typ:gsub("float","Float") - typ = typ:gsub("uInt","Uint") - typ = typ:gsub("ImGui","") - typ = typ:gsub("Im","") - typ = typ:gsub("[<>]","") - return typ -end -local function name_overloadsAlgo(v) - local aa = {} - local bb = {} - local done = {} - local maxnum = 0 - for i,t in ipairs(v) do - bb[i] = "" - local signature = t.signature:sub(2,-2) -- without parenthesis - aa[i] = {} - local num = 1 - --for typec in t.signature:gmatch(".-([^,%(%s]+)[,%)]") do - --for typec in t.signature:gmatch(".-([^,%(]+)[,%)]") do - --for typec in signature:gmatch(".-([^,]+),?") do - for typec in signature:gsub("(%(.-%))", function(x) return x:gsub(",","\0") end):gmatch(".-([^,]+),?") do - --typec = typec:gsub - aa[i][num] = typec:gsub("%z+", ",") - num = num + 1 - end - num = num - 1 - maxnum = (num > maxnum) and num or maxnum - end - - for l=1,maxnum do - local keys = {} - local diferent = true - local equal = true - for i=1,#v do - aa[i][l] = aa[i][l] or "nil" - keys[aa[i][l]] = 1 + (aa[i][l] and keys[aa[i][l]] or 0) - if not done[i] then - for j=i+1,#v do - if not done[j] then - if aa[i][l] == aa[j][l] then - diferent = false - else - equal = false - end - end - end - end - end - if not equal then -- not all the same - for i=1,#v do - if not done[i] then - bb[i] = bb[i]..(aa[i][l]=="nil" and "" or aa[i][l]) - if keys[aa[i][l]] == 1 then - done[i] = true - end - end - end - end - end - return aa,bb -end - -local function func_parser() - local function_closing_re = "}" - --local function_re = "(%a*%w+%b())" --"(%a*%w+%s+%w+%b())" - local function_re = "(%a*[%w%[%]]+%s*%b())" - local function_closed_re = "[;}]$" - local namespace_re = "namespace ([^%s]+)" - local namespace_closing_re = "^}" - local struct_re = "^struct%s+([^%s;]+)$" - local struct_closing_re = "};" - local struct_op_close_re = "%b{}" - local functype_re = "^%s*[%w%s]+(%(%*)[%w_]+(%)%([^%(%)]*%))" - - local in_function = false - local line_in_function - local in_namespace = false - local cdefs = {} - local structnames = {} - local embeded_structs = {} - local stname = "" - local defsT = {} - local ImVector_templates = {} - - - local FP = {} - FP.cdefs = cdefs - FP.embeded_structs = embeded_structs - FP.defsT = defsT - FP.ImVector_templates = ImVector_templates - - function FP.insert(line,comment,locat) - local lineorig = line - if line:match"template" then return end - line = line:gsub("%S+",{class="struct",mutable="",inline=""}) --class -> struct - line = clean_spaces(line) - - if in_function then - if line:match(function_closing_re) then - in_function = false - end - return --discard - end - if line:match(function_re) and not line:match("typedef.*%b().*%b().*") then - if not line:match(function_closed_re) then - in_function = true - line_in_function = lineorig - end - end - if line:match(namespace_re) then - in_namespace = true - stname = line:match(namespace_re) - end - if in_namespace then - if line:match(namespace_closing_re) then - in_namespace = false - stname = "" - end - end - structnames[#structnames + 1] = line:match(struct_re) - if #structnames > 0 then - if line:match(struct_closing_re) and not line:match(struct_op_close_re) then - structnames[#structnames] = nil - end - stname = structnames[#structnames] or "" - if #structnames > 1 then - local embeded_name = table.concat(structnames,"::") - embeded_structs[stname] = embeded_name - end - end - local func = line:match(function_re) - if func and not in_function and not line:match("typedef.*%b().*%b().*") - and not line:match(functype_re) - then - --if line:match(functype_re) then print("ft",line) end - if stname~="ImVectorNO" - --and stname~="GlyphRangesBuilder" and stname~="CustomRect" and stname~="TextRange" and stname~="Pair" - and not line:match("operator") then - - --clean implemetation - line = line:gsub("%s*%b{}","") - --clean attribute - line = line:gsub("%s*__attribute__%b()","") - --clean static - line = line:gsub("static","") - - local ret = line:match("([^%(%)]+[%*%s])%s?~?[_%w]+%b()") - local funcname, args = line:match("(~?[_%w]+)(%b())") - - local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1") - argscsinpars = argscsinpars:gsub("(=[^,%(%)]*)([,%)])","%2") - -- if argscsinpars:match("&") then - -- for arg in argscsinpars:gmatch("[%(,]*([^,%(%)]+)[%),]") do - -- if arg:match("&") and not arg:match("const") then - -- print(funcname,argscsinpars) - -- end - -- end - -- end - --argscsinpars = argscsinpars:gsub("&","") - - local template = argscsinpars:match("ImVector<(.+)>") - if template then - --template = template:gsub("%s","_") - --template = template:gsub("%*","Ptr") - ImVector_templates[template] = true - end - - argscsinpars = argscsinpars:gsub("<([%w_]+)>","_%1") --ImVector - - local argsArr = {} - local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" - local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))" - local functype_arg_rest = "^(%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)),*(.*)" - local rest = argscsinpars:sub(2,-2) --strip () - - while true do - --local tt = strsplit(rest,",") - --for ii,arg in ipairs(tt) do - --for arg in argscsinpars:gmatch("[%(,]*([^,%(%)]+)[%),]") do - local type,name,retf,sigf - local arg,restt = rest:match(functype_arg_rest) - if arg then - local t1,namef,t2 = arg:match(functype_reex) - type=t1.."(*)"..t2;name=namef - retf = t1 - sigf = t2 - rest = restt - else - arg,restt = rest:match(",*([^,%(%)]+),*(.*)") - if not arg then break end - rest = restt - if arg:match("&") and arg:match("const") then - arg = arg:gsub("&","") - end - if arg:match("%.%.%.") then - type="...";name="..." - else - type,name = arg:match("(.+)%s([^%s]+)") - end - if not type or not name then - print("failure arg detection",funcname,type,name,argscsinpars,arg) - print(lineorig) - print(line_in_function) - else - --float name[2] to float[2] name - local siz = name:match("(%[%d*%])") - if siz then - type = type..siz - name = name:gsub("(%[%d*%])","") - end - end - end - table.insert(argsArr,{type=type,name=name,ret=retf,signature=sigf}) - if arg:match("&") and not arg:match("const") then - --only post error if not manual - local cname = getcimguiname(stname,funcname) - if not cimgui_manuals[cname] then - print("reference to no const arg in",funcname,argscsinpars) - end - end - end - argscsinpars = argscsinpars:gsub("&","") - - local signature = argscsinpars:gsub("([%w%s%*_]+)%s[%w_]+%s*([,%)])","%1%2") - signature = signature:gsub("%s*([,%)])","%1") --space before , and ) - signature = signature:gsub(",%s*",",")--space after , - signature = signature:gsub("([%w_]+)%s[%w_]+(%[%d*%])","%1%2") -- float[2] - signature = signature:gsub("(%(%*)[%w_]+(%)%([^%(%)]*%))","%1%2") --func defs - - local call_args = argscsinpars:gsub("([%w_]+%s[%w_]+)%[%d*%]","%1") --float[2] - call_args = call_args:gsub("%(%*([%w_]+)%)%([^%(%)]*%)"," %1") --func type - call_args = call_args:gsub("[^%(].-([%w_]+)%s*([,%)])","%1%2") - - if not ret then --must be constructors - if not (stname == funcname or "~"..stname==funcname) then --break end - print("false constructor:",line); - print("b2:",ret,stname,funcname,args) - return --are function defs - end - end - - local cimguiname = getcimguiname(stname,funcname) - table.insert(cdefs,{stname=stname,funcname=funcname,args=args,argsc=argscsinpars,signature=signature,cimguiname=cimguiname,call_args=call_args,ret =ret,comment=comment}) - - defsT[cimguiname] = defsT[cimguiname] or {} - table.insert(defsT[cimguiname],{}) - local defT = defsT[cimguiname][#defsT[cimguiname]] - defT.defaults = {} - --for k,def in args:gmatch("([%w%s%*_]+)=([%w_%(%)%s,%*]+)[,%)]") do - --for k,def in args:gmatch("([%w_]+)=([%w_%(%)%s,%*%.%-]+)[,%)]") do - for k,def in args:gmatch('([%w_]+)=([%w_%(%)%s,%*%.%-%+%%"]+)[,%)]') do - defT.defaults[k]=def - end - defT.cimguiname = cimguiname - defT.stname = stname - defT.funcname = funcname - defT.argsoriginal = args - defT.args=argscsinpars - defT.signature = signature - defT.call_args = call_args - defT.isvararg = signature:match("%.%.%.%)$") - defT.location = locat - defT.comment = comment - defT.argsT = argsArr - if get_manuals(defT) then - defT.manual = true - end - if ret then - defT.ret = clean_spaces(ret:gsub("&","*")) - defT.retref = ret:match("&") - -- if defT.ret=="ImVec2" or defT.ret=="ImVec4" or defT.ret=="ImColor" then - -- defT.ret = defT.ret.."_Simple" - -- end - end - defsT[cimguiname][signature] = defT - end - elseif line=="" and stname~="" then -- not funcdef must be comment - table.insert(cdefs,{stname=stname,comment=comment}) - end - end - FP.alltypes = {} - local function get_types(v) - for i,t in ipairs(v) do - local signature = t.signature:sub(2,-2) -- without parenthesis - for typec in signature:gsub("(%(.-%))", function(x) return x:gsub(",","\0") end):gmatch(".-([^,]+),?") do - local key = typec:gsub("%z+", ",") - FP.alltypes[key] = true - end - end - end - function FP:dump_alltypes() - for k,v in pairs(self.alltypes) do print(k, typetoStr(k) ) end - end - function FP:compute_overloads() - local strt = {} - local numoverloaded = 0 - FP.alltypes = {} - table.insert(strt,"----------------overloadings---------------------------") - --require"anima.utils" - for k,v in pairs(FP.defsT) do - get_types(v) - if #v > 1 then - numoverloaded = numoverloaded + #v - --print(k,#v) - table.insert(strt,string.format("%s\t%d",k,#v)) - local typesc,post = name_overloadsAlgo(v) - for i,t in ipairs(v) do - --take overloaded name from manual table or algorythm - t.ov_cimguiname = getcimguiname_overload(t.stname,t.funcname,t.signature) or k..typetoStr(post[i]) - --print(i,t.signature,t.ret,t.ov_cimguiname)--,post[i])--,typetoStr(post[i])) - table.insert(strt,string.format("%d\t%s\t%s %s",i,t.ret,t.ov_cimguiname,t.signature)) - --prtable(typesc[i]) - end - --check not two names are equal (produced by bad cimguiname_overload) - for i=1,#v-1 do - for j=i+1,#v-1 do - if v[i].ov_cimguiname == v[j].ov_cimguiname then - local t,tj = v[i],v[j] - print("Error caused by Bad overloading "..t.ov_cimguiname.." of function ",t.funcname,t.signature,"conflicts with ",tj.funcname,tj.signature) - error("Bad overloading:"..t.ov_cimguiname) - end - end - end - end - end - --print(numoverloaded, "overloaded") - table.insert(strt,string.format("%d overloaded",numoverloaded)) - return table.concat(strt,"\n") - end - return FP -end -local function ADDdestructors(FP) - local defsT = FP.defsT - local newcdefs = {} - --TODO add constructor = true - for numcdef,t in ipairs(FP.cdefs) do - newcdefs[#newcdefs+1] = t - if t.cimguiname then - local defT = defsT[t.cimguiname] - --local defT = cimf[t.signature] - --for fname,defT in pairs(FP.defsT) do - if not defT[1].ret and not defT[1].constructor then --if constructor not processed - if defT[1].funcname:match("~") then - defsT[t.cimguiname] = nil --clear destructor - newcdefs[#newcdefs] = nil - else - for j,cons in ipairs(defT) do - cons.constructor = true - end - assert(defT[1].stname==defT[1].funcname) - local def = {} - def.stname = defT[1].stname - def.ret = "void" - def.ov_cimguiname = def.stname.."_destroy" - def.cimguiname = def.ov_cimguiname - def.destructor = true - def.args = "("..def.stname.."* self)" - def.call_args = "(self)" - def.signature = "("..def.stname.."*)" - def.defaults = {} - def.argsT = {{type=def.stname.."*",name="self"}} - defsT[def.ov_cimguiname] = {def} - defsT[def.ov_cimguiname][def.signature] = def - newcdefs[#newcdefs+1]={stname=def.stname,funcname=def.ov_cimguiname,args=def.args,signature=def.signature,cimguiname=def.cimguiname,call_args=def.call_args,ret =def.ret} - end - end - end - end - FP.cdefs = newcdefs -end -local function ADDnonUDT(FP) - --for cimguiname,defs in pairs(defsT) do - --for i,defT in ipairs(defs) do - local defsT = FP.defsT - local newcdefs = {} - for numcdef,t in ipairs(FP.cdefs) do - if t.cimguiname then - local cimf = defsT[t.cimguiname] - local defT = cimf[t.signature] - --if UDT return generate nonUDT version - if defT.ret=="ImVec2" or defT.ret=="ImVec4" or defT.ret=="ImColor" then - --passing as a pointer arg - local defT2 = {} - --first strings - for k,v in pairs(defT) do - defT2[k] = v - end - --then argsT table - defT2.argsT = {{type=defT.ret.."*",name="pOut"}} - for k,v in ipairs(defT.argsT) do - table.insert(defT2.argsT,{type=v.type,name=v.name}) - end - local comma = (#defT.argsT > 0) and "," or "" - defT2.args = "("..defT.ret.." *pOut"..comma..defT.args:sub(2) - defT2.ret = "void" - defT2.ov_cimguiname = (defT2.ov_cimguiname or defT2.cimguiname).."_nonUDT" - defT2.nonUDT = 1 - 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 =t.ret,comment=comment}) - --converting to Simple type---------------------------------------------------- - local defT3 = {} - --first strings - for k,v in pairs(defT) do - defT3[k] = v - end - --then argsT table - defT3.argsT = {} - for k,v in ipairs(defT.argsT) do - table.insert(defT3.argsT,{type=v.type,name=v.name}) - end - local comma = (#defT.argsT > 0) and "," or "" - --defT3.args = "("..defT.ret.." *pOut"..comma..defT.args:sub(2) - defT3.ret = defT.ret.."_Simple" - defT3.retorig = defT.ret - defT3.ov_cimguiname = (defT3.ov_cimguiname or defT3.cimguiname).."_nonUDT2" - defT3.nonUDT = 2 - 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 =t.ret,comment=comment}) - end - end - end - for i,v in ipairs(newcdefs) do - table.insert(FP.cdefs,v) - end -end - -local function gen_structs_and_enums_table(cdefs) - local function_closing_re = "}" - local namespace_re = "namespace" - local in_namespace = false - local struct_re = "^%s*struct%s+([^%s;]+)$" - local in_struct = false - local struct_closed_re = "^%s*struct%s+([^%s]+);$" - local struct_closing_re = "};" - local struct_op_close_re = "%b{}" - local structnames = {} - local enumnames = {} - local enums_re = "^%s*enum%s+([^%s;]+)" - local outtab = {structs={},enums={}} - local typedefs_dict = {} - - for i,line in ipairs(cdefs) do - repeat -- simulating continue with break - -- separate comments from code - local linecom = line - local line, comment = split_comment(line) - line = clean_spaces(line) - --typedefs dictionary - if line:match("typedef") then - local value,key = line:match("typedef%s+(.+)%s+([%w_]+);") - if key and value then - typedefs_dict[key] = value - else --try function typedef - local key = line:match("%(%*([%w_]+)%)%([^%(%)]*%)") - if key then - local linet = line - linet = linet:gsub("typedef ","") - linet = linet:gsub("%(%*("..key..")%)","(*)") - typedefs_dict[key] = linet - else - print(key,value,line) - end - end - end - if line:match(namespace_re) then - in_namespace = true - end - - local structbegin = line:match(struct_re) - if structbegin then - structnames[#structnames + 1] = structbegin - outtab.structs[structbegin] = outtab.structs[structbegin] or {} - break - end - - local enumname = line:match(enums_re) - if enumname then - enumnames[#enumnames + 1] = enumname - outtab.enums[enumname] = outtab.enums[enumname] or {} - break - end - - if in_namespace then - if line:match(function_closing_re) then - in_namespace = false - end - break -- dont write anything inside - end - - if (#enumnames > 0) then - assert(#structnames==0,"enum in struct") - -- if #structnames~=0 then - -- print(line,#line) - -- print(linecom,#linecom) - -- error"enuminstruct" - -- end - if line:match(struct_closing_re) and not line:match(struct_op_close_re) then - enumnames[#enumnames] = nil - break - end - if line=="" or line:match("^{") then - break - else - local name,value = line:match("%s*([%w_]+)%s*=%s*([^,]+)") - if value then - table.insert(outtab.enums[enumnames[#enumnames]],{name=name,value=value}) - else --increment by one - local name = line:match("%s*([^,]+)") - local enum_table = outtab.enums[enumnames[#enumnames]] - local value = enum_table[#enum_table] and (enum_table[#enum_table].value + 1) or 0 - table.insert(outtab.enums[enumnames[#enumnames]],{name=name,value=value}) - end - end - end - - if (#structnames > 0) then - if line:match(struct_closing_re) and not line:match(struct_op_close_re) then - structnames[#structnames] = nil - break - end - if line=="" or line:match("^{") then - break - elseif structnames[#structnames] ~="ImVectorNO" then --avoid ImVector - --local functype_re = "^%s*[%w%s%*]+(%(%*)[%w_]+(%)%([^%(%)]*%))" - local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" - local functype_reex = "^(%s*[%w%s%*]+%(%*)([%w_]+)(%)%([^%(%)]*%))" - if line:match(functype_re) then - local t1,name,t2 = line:match(functype_reex) - table.insert(outtab.structs[structnames[#structnames]],{type=t1..t2,name=name}) - break - end - --split type name1,name2; in several lines - local typen,rest = line:match("([^,]+)%s(%S+[,;])") - if not typen then -- Lets try Type*name - typen,rest = line:match("([^,]+%*)(%S+[,;])") - end - --local template_type = typen:match("/%*<(.+)>%*/") - --if template_type then typen = typen:match("(.+)/%*") end - local template_type = typen:match("ImVector_(.+)") - if template_type then - --typen = "ImVector" - template_type = template_type:gsub("_"," ") - template_type = template_type:gsub("Ptr","%*") - end - for name in rest:gmatch("([^%s,;]+)%s?[,;]") do - table.insert(outtab.structs[structnames[#structnames]],{type=typen,template_type=template_type,name=name}) - end - end - end - until true - end - --calcule size of name[16+1] [xxx_COUNT] - local allenums = {} - --first calc_value in enums - for enumname,enum in pairs(outtab.enums) do - for i,t in ipairs(enum) do - local val = tonumber(t.value) - if val then - t.calc_value = val - elseif t.value:match"<<" then - local v1,v2 = t.value:match("(%d+)%s*<<%s*(%d+)") - t.calc_value = bit.lshift(v1,v2) - elseif t.value:match"|" then --or several enums - local ens = t.value - ens = strsplit(ens,"|") - for i,v in ipairs(ens) do ens[i] = allenums[clean_spaces(v)] end - t.calc_value = bit.bor(unpack(ens)) - elseif allenums[t.value] then - t.calc_value = allenums[t.value] - else - print("Error unknown value in enums",t.value) - end - assert(t.calc_value) - allenums[t.name] = t.calc_value - end - end - --then calcsize in struct members - for stname,struct in pairs(outtab.structs) do - for i,t in ipairs(struct) do - local val = t.name:match"%[([^%[%]]+)%]" - if val then - if tonumber(val) then - t.size = tonumber(val) - elseif allenums[val] then - t.size = allenums[val] - elseif val:match"%+" then - local s1,s2 = val:match("(%d+)%s*%+%s*(%d+)") - t.size = s1+s2 - else - print("Error size is",val) - end - assert(t.size) - end - end - end - return outtab, typedefs_dict -end - -local function generate_templates(code,templates) - for k,v in pairs(templates) do - local te = k:gsub("%s","_") - te = te:gsub("%*","Ptr") - table.insert(code,"typedef struct ImVector_"..te.." {int Size;int Capacity;"..k.."* Data;} ImVector_"..te..";\n") - end -end - -local function gen_structs_and_enums(cdefs,templates) - local function_closing_re = "}" - local namespace_re = "namespace" - local in_namespace = false - local struct_re = "^%s*struct%s+([^%s;]+)$" - local struct_closed_re = "^%s*struct%s+([^%s]+);$" - local struct_closing_re = "};" - local struct_op_close_re = "%b{}" - local structnames = {} - local innerstructs = {} - local typedefs_table = {} - local typedefs_dict = {} - local outtab = {} - -- Output the file - --table.insert(outtab,"/////////////// BEGIN AUTOGENERATED SEGMENT\n") - - for i,line in ipairs(cdefs) do - repeat -- simulating continue with break - -- separate comments from code and try to add them with same tab - local line, comment = split_comment(line) - local linelen = #line - local desired_linelen = (linelen==0) and 0 or math.max(math.ceil(linelen/10)*10,40) - local spaces_to_add = 0 --desired_linelen - linelen - local linecom = line..string.rep(" ",spaces_to_add)..comment - - -- ImNewDummy drop for MSVC - if line:match"ImNewDummy" then break end - - if line:match(namespace_re) then - in_namespace = true - end - local structbegin = line:match(struct_re) - if structbegin then - structnames[#structnames + 1] = structbegin - if #structnames < 2 and structbegin~= "ImVectorNO" then --not inner and not ImVector - table.insert(outtab,linecom.."\n") - break - end - end - - -- ImVector special treatment - if structnames[#structnames] == "ImVector" then - if line:match(struct_closing_re) then - table.insert(outtab,[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n") - generate_templates(outtab,templates) - structnames[#structnames] = nil - end - break -- dont write - end - - if in_namespace then - if line:match(function_closing_re) then - in_namespace = false - end - break -- dont write anything inside - end - - if #structnames < 2 then -- not inner - if line:match("typedef") and line:match("ImDrawIdx") then --save typedefs of ImDrawIdx - table.insert(typedefs_table,line..";\n") - break - end - if (#structnames > 0) then - if line:match("typedef") then --dont allow inner typedefs - break --already saved - elseif not line:match("^{$") and not line:match(struct_closing_re) then --avoid tab { and }; - --line = " "..line - end - end - table.insert(outtab,linecom.."\n") - local struct_closed_name = line:match(struct_closed_re) - if struct_closed_name then - table.insert(typedefs_table,"typedef struct "..struct_closed_name.." "..struct_closed_name..";\n") - typedefs_dict[struct_closed_name] = "struct "..struct_closed_name - end - end - - if #structnames > 0 then - if #structnames > 1 then --inner structs - innerstructs[structnames[#structnames]] = innerstructs[structnames[#structnames]] or {} - local st = innerstructs[structnames[#structnames]] - -- if not line:match("struct") and not line:match("^{$") and not line:match(struct_closing_re) then --avoid tab in struct { and }; - --line = " "..line - -- end - st[#st + 1] = line - if line:match(struct_closing_re) and not line:match(struct_op_close_re) then - local structname = structnames[#structnames] - --st[#st + 1] = string.format("typedef struct %s %s;\n",structname,structname) - table.insert(typedefs_table,string.format("typedef struct %s %s;\n",structname,structname)) - typedefs_dict[structname] = "struct "..structname - structnames[#structnames] = nil - end - elseif line:match(struct_closing_re) and not line:match(struct_op_close_re) then - local structname = structnames[#structnames] - --table.insert(outtab,"typedef struct "..structname.." "..structname..";\n") - table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n") - typedefs_dict[structname] = "struct "..structname - structnames[#structnames] = nil - end - end - - - until true - end - for k,v in pairs(innerstructs) do - for i,line in ipairs(v) do - table.insert(outtab,line.."\n") - end - end - - --table.insert(outtab,"//////////////// END AUTOGENERATED SEGMENT \n") - local uniques = {} - for i,l in ipairs(typedefs_table) do - if not uniques[l] then - uniques[l] = true - table.insert(outtab,1,l) - end - end - --if templates then generate_templates(outtab,templates) end - local cstructsstr = table.concat(outtab) - cstructsstr = cstructsstr:gsub("\n+","\n") --several empty lines to one empty line - return cstructsstr, typedefs_dict -end - -local function func_header_impl_generate(FP) - - local outtab = {} - - for _,t in ipairs(FP.cdefs) do - if t.cimguiname then - local cimf = FP.defsT[t.cimguiname] - local def = cimf[t.signature] - if def.ret then --not constructor - local addcoment = def.comment or "" - if def.stname == "" then --ImGui namespace or top level - table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..def.args..";"..addcoment.."\n") - else - error("class function in implementations") - end - end - else --not cimguiname - table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub - end - end - local cfuncsstr = table.concat(outtab) - cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line - return cfuncsstr -end -local function func_header_generate(FP) - - local outtab = {} - table.insert(outtab,"#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") - for k,v in pairs(FP.embeded_structs) do - --print(k,v) - table.insert(outtab,"typedef "..v.." "..k..";\n") - end - for k,v in pairs(FP.ImVector_templates) do - table.insert(outtab,"typedef ImVector<"..k.."> ImVector_"..k..";\n") - end - -- table.insert(outtab,"#else //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") - -- for k,v in pairs(FP.ImVector_templates) do - -- table.insert(outtab,"typedef ImVector ImVector_"..k..";\n") - -- end - table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") - for _,t in ipairs(FP.cdefs) do - if t.cimguiname then - local cimf = FP.defsT[t.cimguiname] - local def = cimf[t.signature] - assert(def,t.signature..t.cimguiname) - local manual = get_manuals(def) - if not manual then - local addcoment = def.comment or "" - local empty = def.args:match("^%(%)") --no args - if def.constructor then - assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct") - table.insert(outtab,"CIMGUI_API "..def.stname.."* "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n") - elseif def.destructor then - table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n") - else --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)..def.args..";"..addcoment.."\n") - end - end - end - else --not cimguiname - table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub - end - end - - local cfuncsstr = table.concat(outtab) - cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line - return cfuncsstr -end -local function ImGui_f_implementation(outtab,def) - local ptret = def.retref and "&" or "" - table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..def.args.."\n") - table.insert(outtab,"{\n") - if def.isvararg then - local call_args = def.call_args:gsub("%.%.%.","args") - table.insert(outtab," va_list args;\n") - table.insert(outtab," va_start(args, fmt);\n") - if def.ret~="void" then - table.insert(outtab," "..def.ret.." ret = ImGui::"..def.funcname.."V"..call_args..";\n") - else - table.insert(outtab," ImGui::"..def.funcname.."V"..call_args..";\n") - end - table.insert(outtab," va_end(args);\n") - if def.ret~="void" then - table.insert(outtab," return ret;\n") - end - elseif def.nonUDT then - if def.nonUDT == 1 then - table.insert(outtab," *pOut = ImGui::"..def.funcname..def.call_args..";\n") - else --nonUDT==2 - table.insert(outtab," "..def.retorig.." ret = ImGui::"..def.funcname..def.call_args..";\n") - table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n") - table.insert(outtab," return ret2;\n") - end - else --standard ImGui - table.insert(outtab," return "..ptret.."ImGui::"..def.funcname..def.call_args..";\n") - end - table.insert(outtab,"}\n") -end -local function struct_f_implementation(outtab,def) - local empty = def.args:match("^%(%)") --no args - local ptret = def.retref and "&" or "" - --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)..def.args.."\n") - table.insert(outtab,"{\n") - if def.isvararg then - local call_args = def.call_args:gsub("%.%.%.","args") - table.insert(outtab," va_list args;\n") - table.insert(outtab," va_start(args, fmt);\n") - if def.ret~="void" then - table.insert(outtab," "..def.ret.." ret = self->"..def.funcname.."V"..call_args..";\n") - else - table.insert(outtab," self->"..def.funcname.."V"..call_args..";\n") - end - table.insert(outtab," va_end(args);\n") - if def.ret~="void" then - table.insert(outtab," return ret;\n") - end - elseif def.nonUDT then - if def.nonUDT == 1 then - table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n") - else --nonUDT==2 - table.insert(outtab," "..def.retorig.." ret = self->"..def.funcname..def.call_args..";\n") - table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n") - table.insert(outtab," return ret2;\n") - end - else --standard struct - table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n") - end - table.insert(outtab,"}\n") -end -local function func_implementation(FP) - - local outtab = {} - for _,t in ipairs(FP.cdefs) do - repeat -- continue simulation - if not t.cimguiname then break end - local cimf = FP.defsT[t.cimguiname] - local def = cimf[t.signature] - assert(def) - local manual = get_manuals(def) - if not manual then - if def.constructor then - assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct") - local empty = def.args:match("^%(%)") --no args - 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") - elseif def.destructor then - 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") - elseif def.stname == "ImGui" then - ImGui_f_implementation(outtab,def) - else -- stname - struct_f_implementation(outtab,def) - end - end - until true - end - return table.concat(outtab) -end ---only basic ending -local c_types = { - ["char"]=true, - ["int"]=true, - ["float"]=true, - ["double"]=true, - ["short"]=true, - ["long"]=true, - ["signed"]=true, - ["unsigned"]=true, - ["size_t"]=true, - ["ptrdiff_t"]=true, -} -local function check_arg_detection(fdefs,typedefs) - print"-----------------check arg detection---------------------------" - for k,defT in pairs(fdefs) do - for i,def in ipairs(defT) do - for j,arg in ipairs(def.argsT) do - --check name is not type, which happens in declaration without name - if arg.name=="*" or not arg.type or not arg.name or c_types[arg.name] or typedefs[arg.name] then - print("bad argument name",arg.name, "in",def.funcname,def.args) - end - end - end - end - print"-----------------end check arg detection-----------------------" -end -local function get_defines(t) - if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end - local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r") - local defines = {} - while true do - local line = pipe:read"*l" - if not line then break end - local key,value = line:match([[#define%s+(%S+)%s+(.+)]]) - if not key or not value then - --print(line) - else - defines[key]=value - end - end - pipe:close() - --require"anima.utils" - --prtable(defines) - --FLT_MAX - local ret = {} - for i,v in ipairs(t) do - local aa = defines[v] - while true do - local tmp = defines[aa] - if not tmp then - break - else - aa = tmp - end - end - ret[v] = aa - end - return ret -end ---subtitution of FLT_MAX value for FLT_MAX -local function set_defines(fdefs) - for k,defT in pairs(fdefs) do - for i,def in ipairs(defT) do - for name,default in pairs(def.defaults) do - if default == gdefines.FLT_MAX then - def.defaults[name] = "FLT_MAX" - end - end - end - end -end -local function DefsByStruct(FP) - local structs = {} - for fun,defs in pairs(FP.defsT) do - local stname = defs[1].stname - structs[stname] = structs[stname] or {} - table.insert(structs[stname],defs)--fun) - end - -- for st,funs in pairs(struct) do - -- struct[st] = table.sort(funs) - -- end - FP.defsBystruct = struct -end -local function AdjustArguments(FP) - for fun,defs in pairs(FP.defsT) do - --struct function but no constructors - if defs[1].stname~="ImGui" and defs[1].stname~="" and defs[1].ret then - --print("adjusting",fun) - for i,def in ipairs(defs) do - local empty = def.args:match("^%(%)") --no args - --local ptret = def.retref and "&" or "" - def.args = def.args:gsub("^%(","("..def.stname.."* self"..(empty and "" or ",")) - table.insert(def.argsT,1,{type=def.stname.."*",name="self"}) - end - end - end -end ---generate cimgui.cpp cimgui.h and auto versions depending on postfix -local function cimgui_generation(postfix,STP,FP) - --get all ImVector templates - local ImVector_templates = mergeT(STP.ImVector_templates,FP.ImVector_templates) - --merge it in cimgui_template.h to cimgui.h - local hfile = io.open("./cimgui_template.h","r") - local hstrfile = hfile:read"*a" - hfile:close() - local cstructsstr,typedefs_dict = gen_structs_and_enums(STP.lines,ImVector_templates) - --for not gcc parsing - if postfix == "_nopreprocess" then - cstructsstr = "typedef unsigned short ImDrawIdx;\ntypedef void* ImTextureID;\n"..cstructsstr - end - - hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr) - local cfuncsstr = func_header_generate(FP) - hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr) - save_data("./output/cimgui"..postfix..".h",cimgui_header,hstrfile) - - - --merge it in cimgui_template.cpp to cimgui.cpp - local cimplem = func_implementation(FP) - local hfile = io.open("./cimgui_template.cpp","r") - local hstrfile = hfile:read"*a" - hfile:close() - hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) - hstrfile = hstrfile:gsub([[#include "cimgui%.h"]],[[#include "cimgui]]..postfix..[[.h"]]) - save_data("./output/cimgui"..postfix..".cpp",cimgui_header,hstrfile) - return typedefs_dict -end --------------------------------------------------------- ------------------------------do it---------------------- --------------------------------------------------------- ---get imgui.h version-------------------------- -local pipe,err = io.open("../imgui/imgui.h","r") -if not pipe then - error("could not open file:"..err) -end -local imgui_version -while true do - local line = pipe:read"*l" - imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]]) - if imgui_version then break end -end -pipe:close() -cimgui_header = cimgui_header:gsub("XXX",imgui_version) -print("IMGUI_VERSION",imgui_version) ---get some defines---------------------------- -if HAVE_COMPILER then - gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"} -end - ---generation -print("------------------generation with "..COMPILER.."------------------------") -local pFP,pSTP,typedefs_dict2 - -local pipe,err -if HAVE_COMPILER then - pipe,err = io.popen(CPRE..[[../imgui/imgui.h]],"r") -else - pipe,err = io.open([[../imgui/imgui.h]],"r") -end - -if not pipe then - error("could not execute gcc "..err) -end - -pSTP = struct_parser() --overwrite -pFP = func_parser() --overwrite - -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 -pipe:close() - -local ovstr = pFP:compute_overloads() -AdjustArguments(pFP) -ADDnonUDT(pFP) -ADDdestructors(pFP) - -save_data("./output/overloads.txt",ovstr) -typedefs_dict2 = cimgui_generation("",pSTP,pFP) ---check arg detection failure if no name in function declaration -check_arg_detection(pFP.defsT,typedefs_dict2) - - -----------save fundefs in definitions.lua for using in bindings ---DefsByStruct(pFP) -set_defines(pFP.defsT) -save_data("./output/definitions.lua",serializeTable("defs",pFP.defsT),"\nreturn defs") - -----------save struct and enums lua table in structs_and_enums.lua for using in bindings -local structs_and_enums_table,typedefs_dict = gen_structs_and_enums_table(pSTP.lines) -save_data("./output/structs_and_enums.lua",serializeTable("defs",structs_and_enums_table),"\nreturn defs") -typedefs_dict = mergeT(typedefs_dict,typedefs_dict2) -save_data("./output/typedefs_dict.lua",serializeTable("defs",typedefs_dict),"\nreturn defs") ---=================================Now implementations - -local iFP,iSTP - -if #implementations > 0 then - - iFP = func_parser() - iSTP = struct_parser() - - for i,impl in ipairs(implementations) do - local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h " - local locati = [[imgui_impl_]].. impl - local pipe,err - if HAVE_COMPILER then - pipe,err = io.popen(CPRE..source,"r") - else - pipe,err = io.open(source,"r") - end - if not pipe then - error("could not get file: "..err) - end - - local iterator = (HAVE_COMPILER and location) or filelines - - for line,locat in iterator(pipe,{locati}) do - local line, comment = split_comment(line) - iSTP.insert(line,comment) - iFP.insert(line,comment,locat) - end - pipe:close() - end - - -- save ./cimgui_impl.h - local cfuncsstr = func_header_impl_generate(iFP) - local cstructstr = gen_structs_and_enums(iSTP.lines) - save_data("./output/cimgui_impl.h",cstructstr,cfuncsstr) - - ----------save fundefs in impl_definitions.lua for using in bindings - save_data("./output/impl_definitions.lua",serializeTable("defs",iFP.defsT),"\nreturn defs") - -end -- #implementations > 0 then - --------------------------------json saving ---avoid mixed tables (with string and integer keys) -local function json_prepare(defs) - --delete signatures in function - for k,def in pairs(defs) do - for k2,v in pairs(def) do - if type(k2)=="string" then - def[k2] = nil - end - end - 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)) -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!!" ---[[ ----dump some infos----------------------------------------------------------------------- ------------------------------------------------------------------------------------- -print"//-------alltypes--------------------------------------------------------------------" -pFP:dump_alltypes() -print"//embeded_structs---------------------------------------------------------------------------" -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(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(pFP.cdefs) do - if t.cimguiname and not t.ret then - 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(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 ---------------------------------------------------------------------------------------------- ---]] \ No newline at end of file diff --git a/generator/output/cimgui.cpp b/generator/output/cimgui.cpp index 8b7838b..6134794 100644 --- a/generator/output/cimgui.cpp +++ b/generator/output/cimgui.cpp @@ -7,7 +7,7 @@ -CIMGUI_API ImVec2* ImVec2_ImVec2(void) +CIMGUI_API ImVec2* ImVec2_ImVec2Nil(void) { return IM_NEW(ImVec2)(); } @@ -19,7 +19,7 @@ CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y) { return IM_NEW(ImVec2)(_x,_y); } -CIMGUI_API ImVec4* ImVec4_ImVec4(void) +CIMGUI_API ImVec4* ImVec4_ImVec4Nil(void) { return IM_NEW(ImVec4)(); } @@ -127,7 +127,7 @@ CIMGUI_API void igEnd() { return ImGui::End(); } -CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags) +CIMGUI_API bool igBeginChildStr(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags) { return ImGui::BeginChild(str_id,size,border,flags); } @@ -159,13 +159,13 @@ CIMGUI_API ImDrawList* igGetWindowDrawList() { return ImGui::GetWindowDrawList(); } -CIMGUI_API ImVec2 igGetWindowPos() +CIMGUI_API void igGetWindowPos(ImVec2 *pOut) { - return ImGui::GetWindowPos(); + *pOut = ImGui::GetWindowPos(); } -CIMGUI_API ImVec2 igGetWindowSize() +CIMGUI_API void igGetWindowSize(ImVec2 *pOut) { - return ImGui::GetWindowSize(); + *pOut = ImGui::GetWindowSize(); } CIMGUI_API float igGetWindowWidth() { @@ -215,7 +215,7 @@ CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond) { return ImGui::SetWindowCollapsed(collapsed,cond); } -CIMGUI_API void igSetWindowFocus() +CIMGUI_API void igSetWindowFocusNil() { return ImGui::SetWindowFocus(); } @@ -239,21 +239,21 @@ CIMGUI_API void igSetWindowFocusStr(const char* name) { return ImGui::SetWindowFocus(name); } -CIMGUI_API ImVec2 igGetContentRegionMax() +CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut) { - return ImGui::GetContentRegionMax(); + *pOut = ImGui::GetContentRegionMax(); } -CIMGUI_API ImVec2 igGetContentRegionAvail() +CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut) { - return ImGui::GetContentRegionAvail(); + *pOut = ImGui::GetContentRegionAvail(); } -CIMGUI_API ImVec2 igGetWindowContentRegionMin() +CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut) { - return ImGui::GetWindowContentRegionMin(); + *pOut = ImGui::GetWindowContentRegionMin(); } -CIMGUI_API ImVec2 igGetWindowContentRegionMax() +CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut) { - return ImGui::GetWindowContentRegionMax(); + *pOut = ImGui::GetWindowContentRegionMax(); } CIMGUI_API float igGetWindowContentRegionWidth() { @@ -311,7 +311,7 @@ CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col) { return ImGui::PushStyleColor(idx,col); } -CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col) +CIMGUI_API void igPushStyleColorVec4(ImGuiCol idx,const ImVec4 col) { return ImGui::PushStyleColor(idx,col); } @@ -343,11 +343,11 @@ CIMGUI_API float igGetFontSize() { return ImGui::GetFontSize(); } -CIMGUI_API ImVec2 igGetFontTexUvWhitePixel() +CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2 *pOut) { - return ImGui::GetFontTexUvWhitePixel(); + *pOut = ImGui::GetFontTexUvWhitePixel(); } -CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul) +CIMGUI_API ImU32 igGetColorU32Col(ImGuiCol idx,float alpha_mul) { return ImGui::GetColorU32(idx,alpha_mul); } @@ -435,9 +435,9 @@ CIMGUI_API void igEndGroup() { return ImGui::EndGroup(); } -CIMGUI_API ImVec2 igGetCursorPos() +CIMGUI_API void igGetCursorPos(ImVec2 *pOut) { - return ImGui::GetCursorPos(); + *pOut = ImGui::GetCursorPos(); } CIMGUI_API float igGetCursorPosX() { @@ -459,13 +459,13 @@ CIMGUI_API void igSetCursorPosY(float local_y) { return ImGui::SetCursorPosY(local_y); } -CIMGUI_API ImVec2 igGetCursorStartPos() +CIMGUI_API void igGetCursorStartPos(ImVec2 *pOut) { - return ImGui::GetCursorStartPos(); + *pOut = ImGui::GetCursorStartPos(); } -CIMGUI_API ImVec2 igGetCursorScreenPos() +CIMGUI_API void igGetCursorScreenPos(ImVec2 *pOut) { - return ImGui::GetCursorScreenPos(); + *pOut = ImGui::GetCursorScreenPos(); } CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos) { @@ -495,7 +495,7 @@ CIMGUI_API void igPushIDStr(const char* str_id) { return ImGui::PushID(str_id); } -CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end) +CIMGUI_API void igPushIDStrStr(const char* str_id_begin,const char* str_id_end) { return ImGui::PushID(str_id_begin,str_id_end); } @@ -515,7 +515,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id) { return ImGui::GetID(str_id); } -CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end) +CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end) { return ImGui::GetID(str_id_begin,str_id_end); } @@ -649,7 +649,7 @@ CIMGUI_API void igEndCombo() { return ImGui::EndCombo(); } -CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items) +CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items) { return ImGui::Combo(label,current_item,items,items_count,popup_max_height_in_items); } @@ -917,7 +917,7 @@ CIMGUI_API float igGetTreeNodeToLabelSpacing() { return ImGui::GetTreeNodeToLabelSpacing(); } -CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags) +CIMGUI_API bool igCollapsingHeaderTreeNodeFlags(const char* label,ImGuiTreeNodeFlags flags) { return ImGui::CollapsingHeader(label,flags); } @@ -929,7 +929,7 @@ CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond) { return ImGui::SetNextItemOpen(is_open,cond); } -CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size) +CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size) { return ImGui::Selectable(label,selected,flags,size); } @@ -957,7 +957,7 @@ CIMGUI_API void igListBoxFooter() { return ImGui::ListBoxFooter(); } -CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride) +CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride) { return ImGui::PlotLines(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride); } @@ -1248,23 +1248,23 @@ CIMGUI_API bool igIsAnyItemFocused() { return ImGui::IsAnyItemFocused(); } -CIMGUI_API ImVec2 igGetItemRectMin() +CIMGUI_API void igGetItemRectMin(ImVec2 *pOut) { - return ImGui::GetItemRectMin(); + *pOut = ImGui::GetItemRectMin(); } -CIMGUI_API ImVec2 igGetItemRectMax() +CIMGUI_API void igGetItemRectMax(ImVec2 *pOut) { - return ImGui::GetItemRectMax(); + *pOut = ImGui::GetItemRectMax(); } -CIMGUI_API ImVec2 igGetItemRectSize() +CIMGUI_API void igGetItemRectSize(ImVec2 *pOut) { - return ImGui::GetItemRectSize(); + *pOut = ImGui::GetItemRectSize(); } CIMGUI_API void igSetItemAllowOverlap() { return ImGui::SetItemAllowOverlap(); } -CIMGUI_API bool igIsRectVisible(const ImVec2 size) +CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size) { return ImGui::IsRectVisible(size); } @@ -1304,9 +1304,9 @@ CIMGUI_API ImGuiStorage* igGetStateStorage() { return ImGui::GetStateStorage(); } -CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) +CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) { - return ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); + *pOut = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); } CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end) { @@ -1320,9 +1320,9 @@ CIMGUI_API void igEndChildFrame() { return ImGui::EndChildFrame(); } -CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in) +CIMGUI_API void igColorConvertU32ToFloat4(ImVec4 *pOut,ImU32 in) { - return ImGui::ColorConvertU32ToFloat4(in); + *pOut = ImGui::ColorConvertU32ToFloat4(in); } CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in) { @@ -1380,21 +1380,21 @@ CIMGUI_API bool igIsAnyMouseDown() { return ImGui::IsAnyMouseDown(); } -CIMGUI_API ImVec2 igGetMousePos() +CIMGUI_API void igGetMousePos(ImVec2 *pOut) { - return ImGui::GetMousePos(); + *pOut = ImGui::GetMousePos(); } -CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup() +CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2 *pOut) { - return ImGui::GetMousePosOnOpeningCurrentPopup(); + *pOut = ImGui::GetMousePosOnOpeningCurrentPopup(); } CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button,float lock_threshold) { return ImGui::IsMouseDragging(button,lock_threshold); } -CIMGUI_API ImVec2 igGetMouseDragDelta(ImGuiMouseButton button,float lock_threshold) +CIMGUI_API void igGetMouseDragDelta(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold) { - return ImGui::GetMouseDragDelta(button,lock_threshold); + *pOut = ImGui::GetMouseDragDelta(button,lock_threshold); } CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button) { @@ -1560,7 +1560,7 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self) { return self->IsActive(); } -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void) +CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeNil(void) { return IM_NEW(ImGuiTextRange)(); } @@ -1720,7 +1720,7 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self) { return self->End(); } -CIMGUI_API ImColor* ImColor_ImColor(void) +CIMGUI_API ImColor* ImColor_ImColorNil(void) { return IM_NEW(ImColor)(); } @@ -1748,9 +1748,9 @@ CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a) { return self->SetHSV(h,s,v,a); } -CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a) +CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a) { - return self->HSV(h,s,v,a); + *pOut = self->HSV(h,s,v,a); } CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void) { @@ -1816,13 +1816,13 @@ CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self) { return self->PopTextureID(); } -CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self) +CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut,ImDrawList* self) { - return self->GetClipRectMin(); + *pOut = self->GetClipRectMin(); } -CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self) +CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut,ImDrawList* self) { - return self->GetClipRectMax(); + *pOut = self->GetClipRectMax(); } CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness) { @@ -1872,7 +1872,7 @@ CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,fl { return self->AddNgonFilled(center,radius,col,num_segments); } -CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end) +CIMGUI_API void ImDrawList_AddTextVec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end) { return self->AddText(pos,col,text_begin,text_end); } @@ -2236,9 +2236,9 @@ CIMGUI_API const char* ImFont_GetDebugName(ImFont* self) { return self->GetDebugName(); } -CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) +CIMGUI_API void ImFont_CalcTextSizeA(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) { - return self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); + *pOut = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); } CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width) { @@ -2276,226 +2276,6 @@ CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c) { return self->SetFallbackChar(c); } -CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowPos(); -} -CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowSize(); -} -CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowSize(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetContentRegionMax(); -} -CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetContentRegionMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetContentRegionAvail(); -} -CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2() -{ - ImVec2 ret = ImGui::GetContentRegionAvail(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowContentRegionMin(); -} -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowContentRegionMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetWindowContentRegionMax(); -} -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetWindowContentRegionMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetFontTexUvWhitePixel(); -} -CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2() -{ - ImVec2 ret = ImGui::GetFontTexUvWhitePixel(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorStartPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorStartPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetCursorScreenPos(); -} -CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2() -{ - ImVec2 ret = ImGui::GetCursorScreenPos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectMin(); -} -CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectMax(); -} -CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetItemRectSize(); -} -CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2() -{ - ImVec2 ret = ImGui::GetItemRectSize(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) -{ - *pOut = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); -} -CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width) -{ - ImVec2 ret = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in) -{ - *pOut = ImGui::ColorConvertU32ToFloat4(in); -} -CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in) -{ - ImVec4 ret = ImGui::ColorConvertU32ToFloat4(in); - ImVec4_Simple ret2 = ImVec4ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetMousePos(); -} -CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2() -{ - ImVec2 ret = ImGui::GetMousePos(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut) -{ - *pOut = ImGui::GetMousePosOnOpeningCurrentPopup(); -} -CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2() -{ - ImVec2 ret = ImGui::GetMousePosOnOpeningCurrentPopup(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold) -{ - *pOut = ImGui::GetMouseDragDelta(button,lock_threshold); -} -CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(ImGuiMouseButton button,float lock_threshold) -{ - ImVec2 ret = ImGui::GetMouseDragDelta(button,lock_threshold); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a) -{ - *pOut = self->HSV(h,s,v,a); -} -CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a) -{ - ImColor ret = self->HSV(h,s,v,a); - ImColor_Simple ret2 = ImColorToSimple(ret); - return ret2; -} -CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self) -{ - *pOut = self->GetClipRectMin(); -} -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self) -{ - ImVec2 ret = self->GetClipRectMin(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self) -{ - *pOut = self->GetClipRectMax(); -} -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self) -{ - ImVec2 ret = self->GetClipRectMax(); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} -CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) -{ - *pOut = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); -} -CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining) -{ - ImVec2 ret = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining); - ImVec2_Simple ret2 = ImVec2ToSimple(ret); - return ret2; -} diff --git a/generator/output/cimgui.h b/generator/output/cimgui.h index 871e02c..f2645be 100644 --- a/generator/output/cimgui.h +++ b/generator/output/cimgui.h @@ -35,11 +35,6 @@ typedef unsigned __int64 ImU64; //typedef unsigned long long ImU64; #endif -//UDT stuff -typedef struct ImVec2_Simple { float x; float y; } ImVec2_Simple; -typedef struct ImVec4_Simple { float x; float y; float z; float w;} ImVec4_Simple; -typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple; - #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImGuiStoragePair ImGuiStoragePair; @@ -882,28 +877,6 @@ struct ImGuiStoragePair struct GLFWwindow; struct SDL_Window; typedef union SDL_Event SDL_Event; -inline ImVec2_Simple ImVec2ToSimple(ImVec2 vec) -{ - ImVec2_Simple result; - result.x = vec.x; - result.y = vec.y; - return result; -} -inline ImVec4_Simple ImVec4ToSimple(ImVec4 vec) -{ - ImVec4_Simple result; - result.x = vec.x; - result.y = vec.y; - result.z = vec.z; - result.w = vec.w; - return result; -} -inline ImColor_Simple ImColorToSimple(ImColor col) -{ - ImColor_Simple result; - result.Value = ImVec4ToSimple(col.Value); - return result; -} #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS @@ -927,10 +900,10 @@ typedef ImVector ImVector_ImVec4; typedef ImVector ImVector_ImDrawIdx; typedef ImVector ImVector_ImVec2; #endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS -CIMGUI_API ImVec2* ImVec2_ImVec2(void); +CIMGUI_API ImVec2* ImVec2_ImVec2Nil(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 ImVec4* ImVec4_ImVec4Nil(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); @@ -957,7 +930,7 @@ CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst); CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst); CIMGUI_API bool igBegin(const char* name,bool* p_open,ImGuiWindowFlags flags); CIMGUI_API void igEnd(void); -CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags); +CIMGUI_API bool igBeginChildStr(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags); CIMGUI_API bool igBeginChildID(ImGuiID id,const ImVec2 size,bool border,ImGuiWindowFlags flags); CIMGUI_API void igEndChild(void); CIMGUI_API bool igIsWindowAppearing(void); @@ -965,8 +938,8 @@ CIMGUI_API bool igIsWindowCollapsed(void); CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags); CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags); CIMGUI_API ImDrawList* igGetWindowDrawList(void); -CIMGUI_API ImVec2 igGetWindowPos(void); -CIMGUI_API ImVec2 igGetWindowSize(void); +CIMGUI_API void igGetWindowPos(ImVec2 *pOut); +CIMGUI_API void igGetWindowSize(ImVec2 *pOut); CIMGUI_API float igGetWindowWidth(void); CIMGUI_API float igGetWindowHeight(void); CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot); @@ -979,16 +952,16 @@ CIMGUI_API void igSetNextWindowBgAlpha(float alpha); CIMGUI_API void igSetWindowPosVec2(const ImVec2 pos,ImGuiCond cond); CIMGUI_API void igSetWindowSizeVec2(const ImVec2 size,ImGuiCond cond); CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond); -CIMGUI_API void igSetWindowFocus(void); +CIMGUI_API void igSetWindowFocusNil(void); CIMGUI_API void igSetWindowFontScale(float scale); CIMGUI_API void igSetWindowPosStr(const char* name,const ImVec2 pos,ImGuiCond cond); CIMGUI_API void igSetWindowSizeStr(const char* name,const ImVec2 size,ImGuiCond cond); CIMGUI_API void igSetWindowCollapsedStr(const char* name,bool collapsed,ImGuiCond cond); CIMGUI_API void igSetWindowFocusStr(const char* name); -CIMGUI_API ImVec2 igGetContentRegionMax(void); -CIMGUI_API ImVec2 igGetContentRegionAvail(void); -CIMGUI_API ImVec2 igGetWindowContentRegionMin(void); -CIMGUI_API ImVec2 igGetWindowContentRegionMax(void); +CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut); +CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut); +CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut); +CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut); CIMGUI_API float igGetWindowContentRegionWidth(void); CIMGUI_API float igGetScrollX(void); CIMGUI_API float igGetScrollY(void); @@ -1003,7 +976,7 @@ CIMGUI_API void igSetScrollFromPosY(float local_y,float center_y_ratio); CIMGUI_API void igPushFont(ImFont* font); CIMGUI_API void igPopFont(void); CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col); -CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col); +CIMGUI_API void igPushStyleColorVec4(ImGuiCol idx,const ImVec4 col); CIMGUI_API void igPopStyleColor(int count); CIMGUI_API void igPushStyleVarFloat(ImGuiStyleVar idx,float val); CIMGUI_API void igPushStyleVarVec2(ImGuiStyleVar idx,const ImVec2 val); @@ -1011,8 +984,8 @@ CIMGUI_API void igPopStyleVar(int count); CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx); CIMGUI_API ImFont* igGetFont(void); CIMGUI_API float igGetFontSize(void); -CIMGUI_API ImVec2 igGetFontTexUvWhitePixel(void); -CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul); +CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2 *pOut); +CIMGUI_API ImU32 igGetColorU32Col(ImGuiCol idx,float alpha_mul); CIMGUI_API ImU32 igGetColorU32Vec4(const ImVec4 col); CIMGUI_API ImU32 igGetColorU32U32(ImU32 col); CIMGUI_API void igPushItemWidth(float item_width); @@ -1034,14 +1007,14 @@ CIMGUI_API void igIndent(float indent_w); CIMGUI_API void igUnindent(float indent_w); CIMGUI_API void igBeginGroup(void); CIMGUI_API void igEndGroup(void); -CIMGUI_API ImVec2 igGetCursorPos(void); +CIMGUI_API void igGetCursorPos(ImVec2 *pOut); CIMGUI_API float igGetCursorPosX(void); CIMGUI_API float igGetCursorPosY(void); CIMGUI_API void igSetCursorPos(const ImVec2 local_pos); CIMGUI_API void igSetCursorPosX(float local_x); CIMGUI_API void igSetCursorPosY(float local_y); -CIMGUI_API ImVec2 igGetCursorStartPos(void); -CIMGUI_API ImVec2 igGetCursorScreenPos(void); +CIMGUI_API void igGetCursorStartPos(ImVec2 *pOut); +CIMGUI_API void igGetCursorScreenPos(ImVec2 *pOut); CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos); CIMGUI_API void igAlignTextToFramePadding(void); CIMGUI_API float igGetTextLineHeight(void); @@ -1049,12 +1022,12 @@ CIMGUI_API float igGetTextLineHeightWithSpacing(void); CIMGUI_API float igGetFrameHeight(void); CIMGUI_API float igGetFrameHeightWithSpacing(void); CIMGUI_API void igPushIDStr(const char* str_id); -CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end); +CIMGUI_API void igPushIDStrStr(const char* str_id_begin,const char* str_id_end); 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 igGetIDRange(const char* str_id_begin,const char* str_id_end); +CIMGUI_API ImGuiID igGetIDStrStr(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,...); @@ -1083,7 +1056,7 @@ CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* o CIMGUI_API void igBullet(void); CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags); CIMGUI_API void igEndCombo(void); -CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items); +CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items); CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items); CIMGUI_API bool igComboFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items); CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power); @@ -1146,17 +1119,17 @@ CIMGUI_API void igTreePushStr(const char* str_id); CIMGUI_API void igTreePushPtr(const void* ptr_id); CIMGUI_API void igTreePop(void); CIMGUI_API float igGetTreeNodeToLabelSpacing(void); -CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags); +CIMGUI_API bool igCollapsingHeaderTreeNodeFlags(const char* label,ImGuiTreeNodeFlags flags); CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_open,ImGuiTreeNodeFlags flags); CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond); -CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size); +CIMGUI_API bool igSelectableBool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size); CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items); CIMGUI_API bool igListBoxFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items); CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size); CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items); CIMGUI_API void igListBoxFooter(void); -CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); +CIMGUI_API void igPlotLinesFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotLinesFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride); CIMGUI_API void igPlotHistogramFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size); @@ -1228,11 +1201,11 @@ CIMGUI_API bool igIsItemToggledOpen(void); CIMGUI_API bool igIsAnyItemHovered(void); CIMGUI_API bool igIsAnyItemActive(void); CIMGUI_API bool igIsAnyItemFocused(void); -CIMGUI_API ImVec2 igGetItemRectMin(void); -CIMGUI_API ImVec2 igGetItemRectMax(void); -CIMGUI_API ImVec2 igGetItemRectSize(void); +CIMGUI_API void igGetItemRectMin(ImVec2 *pOut); +CIMGUI_API void igGetItemRectMax(ImVec2 *pOut); +CIMGUI_API void igGetItemRectSize(ImVec2 *pOut); CIMGUI_API void igSetItemAllowOverlap(void); -CIMGUI_API bool igIsRectVisible(const ImVec2 size); +CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size); CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max); CIMGUI_API double igGetTime(void); CIMGUI_API int igGetFrameCount(void); @@ -1242,11 +1215,11 @@ CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void); CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx); CIMGUI_API void igSetStateStorage(ImGuiStorage* storage); CIMGUI_API ImGuiStorage* igGetStateStorage(void); -CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); +CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end); CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags); CIMGUI_API void igEndChildFrame(void); -CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in); +CIMGUI_API void igColorConvertU32ToFloat4(ImVec4 *pOut,ImU32 in); CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in); CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key); CIMGUI_API bool igIsKeyDown(int user_key_index); @@ -1261,10 +1234,10 @@ CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button); CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip); CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); CIMGUI_API bool igIsAnyMouseDown(void); -CIMGUI_API ImVec2 igGetMousePos(void); -CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup(void); +CIMGUI_API void igGetMousePos(ImVec2 *pOut); +CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2 *pOut); CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button,float lock_threshold); -CIMGUI_API ImVec2 igGetMouseDragDelta(ImGuiMouseButton button,float lock_threshold); +CIMGUI_API void igGetMouseDragDelta(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold); CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button); CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void); CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type); @@ -1306,7 +1279,7 @@ CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* tex CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self); CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self); CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self); -CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void); +CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeNil(void); CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self); CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeStr(const char* _b,const char* _e); CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self); @@ -1346,14 +1319,14 @@ CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self); 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 ImColor* ImColor_ImColor(void); +CIMGUI_API ImColor* ImColor_ImColorNil(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 void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a); CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void); CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self); CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void); @@ -1370,8 +1343,8 @@ CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self); CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self); CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id); CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self); -CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self); -CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self); +CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut,ImDrawList* self); +CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut,ImDrawList* self); CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness); CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners,float thickness); CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners); @@ -1384,7 +1357,7 @@ CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self,const ImVec2 center,float CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments); CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness); CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments); -CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end); +CIMGUI_API void ImDrawList_AddTextVec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end); CIMGUI_API void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect); CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness); CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col); @@ -1475,7 +1448,7 @@ CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c) CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c); CIMGUI_API bool ImFont_IsLoaded(ImFont* self); CIMGUI_API const char* ImFont_GetDebugName(ImFont* self); -CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); +CIMGUI_API void ImFont_CalcTextSizeA(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width); CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,ImWchar c); CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,const ImVec4 clip_rect,const char* text_begin,const char* text_end,float wrap_width,bool cpu_fine_clip); @@ -1485,50 +1458,6 @@ CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size); CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x); CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst); CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c); -CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2(void); -CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2(void); -CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2(void); -CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2(void); -CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2(void); -CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2(void); -CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2(void); -CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2(void); -CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2(void); -CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2(void); -CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2(void); -CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2(void); -CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2(void); -CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); -CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); -CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in); -CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in); -CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2(void); -CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut); -CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2(void); -CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold); -CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(ImGuiMouseButton button,float lock_threshold); -CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a); -CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a); -CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self); -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self); -CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self); -CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self); -CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); -CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining); /////////////////////////hand written functions diff --git a/generator/output/definitions.json b/generator/output/definitions.json index ebae936..0f97801 100644 --- a/generator/output/definitions.json +++ b/generator/output/definitions.json @@ -1,41 +1,5 @@ { "ImColor_HSV": [ - { - "args": "(ImColor* self,float h,float s,float v,float a)", - "argsT": [ - { - "name": "self", - "type": "ImColor*" - }, - { - "name": "h", - "type": "float" - }, - { - "name": "s", - "type": "float" - }, - { - "name": "v", - "type": "float" - }, - { - "name": "a", - "type": "float" - } - ], - "argsoriginal": "(float h,float s,float v,float a=1.0f)", - "call_args": "(h,s,v,a)", - "cimguiname": "ImColor_HSV", - "defaults": { - "a": "1.0f" - }, - "funcname": "HSV", - "ov_cimguiname": "ImColor_HSV", - "ret": "ImColor", - "signature": "(float,float,float,float)", - "stname": "ImColor" - }, { "args": "(ImColor *pOut,ImColor* self,float h,float s,float v,float a)", "argsT": [ @@ -72,48 +36,10 @@ }, "funcname": "HSV", "nonUDT": 1, - "ov_cimguiname": "ImColor_HSV_nonUDT", + "ov_cimguiname": "ImColor_HSV", "ret": "void", "signature": "(float,float,float,float)", "stname": "ImColor" - }, - { - "args": "(ImColor* self,float h,float s,float v,float a)", - "argsT": [ - { - "name": "self", - "type": "ImColor*" - }, - { - "name": "h", - "type": "float" - }, - { - "name": "s", - "type": "float" - }, - { - "name": "v", - "type": "float" - }, - { - "name": "a", - "type": "float" - } - ], - "argsoriginal": "(float h,float s,float v,float a=1.0f)", - "call_args": "(h,s,v,a)", - "cimguiname": "ImColor_HSV", - "defaults": { - "a": "1.0f" - }, - "funcname": "HSV", - "nonUDT": 2, - "ov_cimguiname": "ImColor_HSV_nonUDT2", - "ret": "ImColor_Simple", - "retorig": "ImColor", - "signature": "(float,float,float,float)", - "stname": "ImColor" } ], "ImColor_ImColor": [ @@ -126,7 +52,7 @@ "constructor": true, "defaults": [], "funcname": "ImColor", - "ov_cimguiname": "ImColor_ImColor", + "ov_cimguiname": "ImColor_ImColorNil", "signature": "()", "stname": "ImColor" }, @@ -1362,7 +1288,7 @@ "text_end": "((void*)0)" }, "funcname": "AddText", - "ov_cimguiname": "ImDrawList_AddText", + "ov_cimguiname": "ImDrawList_AddTextVec2", "ret": "void", "signature": "(const ImVec2,ImU32,const char*,const char*)", "stname": "ImDrawList" @@ -1629,24 +1555,6 @@ } ], "ImDrawList_GetClipRectMax": [ - { - "args": "(ImDrawList* self)", - "argsT": [ - { - "name": "self", - "type": "ImDrawList*" - } - ], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "ImDrawList_GetClipRectMax", - "defaults": [], - "funcname": "GetClipRectMax", - "ov_cimguiname": "ImDrawList_GetClipRectMax", - "ret": "ImVec2", - "signature": "()const", - "stname": "ImDrawList" - }, { "args": "(ImVec2 *pOut,ImDrawList* self)", "argsT": [ @@ -1665,51 +1573,13 @@ "defaults": [], "funcname": "GetClipRectMax", "nonUDT": 1, - "ov_cimguiname": "ImDrawList_GetClipRectMax_nonUDT", + "ov_cimguiname": "ImDrawList_GetClipRectMax", "ret": "void", "signature": "()const", "stname": "ImDrawList" - }, - { - "args": "(ImDrawList* self)", - "argsT": [ - { - "name": "self", - "type": "ImDrawList*" - } - ], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "ImDrawList_GetClipRectMax", - "defaults": [], - "funcname": "GetClipRectMax", - "nonUDT": 2, - "ov_cimguiname": "ImDrawList_GetClipRectMax_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()const", - "stname": "ImDrawList" } ], "ImDrawList_GetClipRectMin": [ - { - "args": "(ImDrawList* self)", - "argsT": [ - { - "name": "self", - "type": "ImDrawList*" - } - ], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "ImDrawList_GetClipRectMin", - "defaults": [], - "funcname": "GetClipRectMin", - "ov_cimguiname": "ImDrawList_GetClipRectMin", - "ret": "ImVec2", - "signature": "()const", - "stname": "ImDrawList" - }, { "args": "(ImVec2 *pOut,ImDrawList* self)", "argsT": [ @@ -1728,30 +1598,10 @@ "defaults": [], "funcname": "GetClipRectMin", "nonUDT": 1, - "ov_cimguiname": "ImDrawList_GetClipRectMin_nonUDT", + "ov_cimguiname": "ImDrawList_GetClipRectMin", "ret": "void", "signature": "()const", "stname": "ImDrawList" - }, - { - "args": "(ImDrawList* self)", - "argsT": [ - { - "name": "self", - "type": "ImDrawList*" - } - ], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "ImDrawList_GetClipRectMin", - "defaults": [], - "funcname": "GetClipRectMin", - "nonUDT": 2, - "ov_cimguiname": "ImDrawList_GetClipRectMin_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()const", - "stname": "ImDrawList" } ], "ImDrawList_ImDrawList": [ @@ -3713,51 +3563,6 @@ } ], "ImFont_CalcTextSizeA": [ - { - "args": "(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)", - "argsT": [ - { - "name": "self", - "type": "ImFont*" - }, - { - "name": "size", - "type": "float" - }, - { - "name": "max_width", - "type": "float" - }, - { - "name": "wrap_width", - "type": "float" - }, - { - "name": "text_begin", - "type": "const char*" - }, - { - "name": "text_end", - "type": "const char*" - }, - { - "name": "remaining", - "type": "const char**" - } - ], - "argsoriginal": "(float size,float max_width,float wrap_width,const char* text_begin,const char* text_end=((void*)0),const char** remaining=((void*)0))", - "call_args": "(size,max_width,wrap_width,text_begin,text_end,remaining)", - "cimguiname": "ImFont_CalcTextSizeA", - "defaults": { - "remaining": "((void*)0)", - "text_end": "((void*)0)" - }, - "funcname": "CalcTextSizeA", - "ov_cimguiname": "ImFont_CalcTextSizeA", - "ret": "ImVec2", - "signature": "(float,float,float,const char*,const char*,const char**)const", - "stname": "ImFont" - }, { "args": "(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)", "argsT": [ @@ -3803,57 +3608,10 @@ }, "funcname": "CalcTextSizeA", "nonUDT": 1, - "ov_cimguiname": "ImFont_CalcTextSizeA_nonUDT", + "ov_cimguiname": "ImFont_CalcTextSizeA", "ret": "void", "signature": "(float,float,float,const char*,const char*,const char**)const", "stname": "ImFont" - }, - { - "args": "(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)", - "argsT": [ - { - "name": "self", - "type": "ImFont*" - }, - { - "name": "size", - "type": "float" - }, - { - "name": "max_width", - "type": "float" - }, - { - "name": "wrap_width", - "type": "float" - }, - { - "name": "text_begin", - "type": "const char*" - }, - { - "name": "text_end", - "type": "const char*" - }, - { - "name": "remaining", - "type": "const char**" - } - ], - "argsoriginal": "(float size,float max_width,float wrap_width,const char* text_begin,const char* text_end=((void*)0),const char** remaining=((void*)0))", - "call_args": "(size,max_width,wrap_width,text_begin,text_end,remaining)", - "cimguiname": "ImFont_CalcTextSizeA", - "defaults": { - "remaining": "((void*)0)", - "text_end": "((void*)0)" - }, - "funcname": "CalcTextSizeA", - "nonUDT": 2, - "ov_cimguiname": "ImFont_CalcTextSizeA_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "(float,float,float,const char*,const char*,const char**)const", - "stname": "ImFont" } ], "ImFont_CalcWordWrapPositionA": [ @@ -5684,7 +5442,7 @@ "constructor": true, "defaults": [], "funcname": "ImGuiTextRange", - "ov_cimguiname": "ImGuiTextRange_ImGuiTextRange", + "ov_cimguiname": "ImGuiTextRange_ImGuiTextRangeNil", "signature": "()", "stname": "ImGuiTextRange" }, @@ -5788,7 +5546,7 @@ "constructor": true, "defaults": [], "funcname": "ImVec2", - "ov_cimguiname": "ImVec2_ImVec2", + "ov_cimguiname": "ImVec2_ImVec2Nil", "signature": "()", "stname": "ImVec2" }, @@ -5844,7 +5602,7 @@ "constructor": true, "defaults": [], "funcname": "ImVec4", - "ov_cimguiname": "ImVec4_ImVec4", + "ov_cimguiname": "ImVec4_ImVec4Nil", "signature": "()", "stname": "ImVec4" }, @@ -5908,7 +5666,7 @@ "constructor": true, "defaults": [], "funcname": "ImVector", - "ov_cimguiname": "ImVector_ImVector", + "ov_cimguiname": "ImVector_ImVectorNil", "signature": "()", "stname": "ImVector", "templated": true @@ -5972,7 +5730,7 @@ "cimguiname": "ImVector_back", "defaults": [], "funcname": "back", - "ov_cimguiname": "ImVector_back", + "ov_cimguiname": "ImVector_backNil", "ret": "T*", "retref": "&", "signature": "()", @@ -6014,7 +5772,7 @@ "cimguiname": "ImVector_begin", "defaults": [], "funcname": "begin", - "ov_cimguiname": "ImVector_begin", + "ov_cimguiname": "ImVector_beginNil", "ret": "T*", "signature": "()", "stname": "ImVector", @@ -6162,7 +5920,7 @@ "cimguiname": "ImVector_end", "defaults": [], "funcname": "end", - "ov_cimguiname": "ImVector_end", + "ov_cimguiname": "ImVector_endNil", "ret": "T*", "signature": "()", "stname": "ImVector", @@ -6206,7 +5964,7 @@ "cimguiname": "ImVector_erase", "defaults": [], "funcname": "erase", - "ov_cimguiname": "ImVector_erase", + "ov_cimguiname": "ImVector_eraseNil", "ret": "T*", "signature": "(const T*)", "stname": "ImVector", @@ -6283,7 +6041,7 @@ "cimguiname": "ImVector_find", "defaults": [], "funcname": "find", - "ov_cimguiname": "ImVector_find", + "ov_cimguiname": "ImVector_findNil", "ret": "T*", "signature": "(const T)", "stname": "ImVector", @@ -6377,7 +6135,7 @@ "cimguiname": "ImVector_front", "defaults": [], "funcname": "front", - "ov_cimguiname": "ImVector_front", + "ov_cimguiname": "ImVector_frontNil", "ret": "T*", "retref": "&", "signature": "()", @@ -6573,7 +6331,7 @@ "cimguiname": "ImVector_resize", "defaults": [], "funcname": "resize", - "ov_cimguiname": "ImVector_resize", + "ov_cimguiname": "ImVector_resizeNil", "ret": "void", "signature": "(int)", "stname": "ImVector", @@ -6830,7 +6588,7 @@ }, "funcname": "BeginChild", "namespace": "ImGui", - "ov_cimguiname": "igBeginChild", + "ov_cimguiname": "igBeginChildStr", "ret": "bool", "signature": "(const char*,const ImVec2,bool,ImGuiWindowFlags)", "stname": "" @@ -7414,41 +7172,6 @@ } ], "igCalcTextSize": [ - { - "args": "(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)", - "argsT": [ - { - "name": "text", - "type": "const char*" - }, - { - "name": "text_end", - "type": "const char*" - }, - { - "name": "hide_text_after_double_hash", - "type": "bool" - }, - { - "name": "wrap_width", - "type": "float" - } - ], - "argsoriginal": "(const char* text,const char* text_end=((void*)0),bool hide_text_after_double_hash=false,float wrap_width=-1.0f)", - "call_args": "(text,text_end,hide_text_after_double_hash,wrap_width)", - "cimguiname": "igCalcTextSize", - "defaults": { - "hide_text_after_double_hash": "false", - "text_end": "((void*)0)", - "wrap_width": "-1.0f" - }, - "funcname": "CalcTextSize", - "namespace": "ImGui", - "ov_cimguiname": "igCalcTextSize", - "ret": "ImVec2", - "signature": "(const char*,const char*,bool,float)", - "stname": "" - }, { "args": "(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)", "argsT": [ @@ -7484,47 +7207,10 @@ "funcname": "CalcTextSize", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igCalcTextSize_nonUDT", + "ov_cimguiname": "igCalcTextSize", "ret": "void", "signature": "(const char*,const char*,bool,float)", "stname": "" - }, - { - "args": "(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)", - "argsT": [ - { - "name": "text", - "type": "const char*" - }, - { - "name": "text_end", - "type": "const char*" - }, - { - "name": "hide_text_after_double_hash", - "type": "bool" - }, - { - "name": "wrap_width", - "type": "float" - } - ], - "argsoriginal": "(const char* text,const char* text_end=((void*)0),bool hide_text_after_double_hash=false,float wrap_width=-1.0f)", - "call_args": "(text,text_end,hide_text_after_double_hash,wrap_width)", - "cimguiname": "igCalcTextSize", - "defaults": { - "hide_text_after_double_hash": "false", - "text_end": "((void*)0)", - "wrap_width": "-1.0f" - }, - "funcname": "CalcTextSize", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igCalcTextSize_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "(const char*,const char*,bool,float)", - "stname": "" } ], "igCaptureKeyboardFromApp": [ @@ -7664,7 +7350,7 @@ }, "funcname": "CollapsingHeader", "namespace": "ImGui", - "ov_cimguiname": "igCollapsingHeader", + "ov_cimguiname": "igCollapsingHeaderTreeNodeFlags", "ret": "bool", "signature": "(const char*,ImGuiTreeNodeFlags)", "stname": "" @@ -7841,25 +7527,6 @@ } ], "igColorConvertU32ToFloat4": [ - { - "args": "(ImU32 in)", - "argsT": [ - { - "name": "in", - "type": "ImU32" - } - ], - "argsoriginal": "(ImU32 in)", - "call_args": "(in)", - "cimguiname": "igColorConvertU32ToFloat4", - "defaults": [], - "funcname": "ColorConvertU32ToFloat4", - "namespace": "ImGui", - "ov_cimguiname": "igColorConvertU32ToFloat4", - "ret": "ImVec4", - "signature": "(ImU32)", - "stname": "" - }, { "args": "(ImVec4 *pOut,ImU32 in)", "argsT": [ @@ -7879,31 +7546,10 @@ "funcname": "ColorConvertU32ToFloat4", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igColorConvertU32ToFloat4_nonUDT", + "ov_cimguiname": "igColorConvertU32ToFloat4", "ret": "void", "signature": "(ImU32)", "stname": "" - }, - { - "args": "(ImU32 in)", - "argsT": [ - { - "name": "in", - "type": "ImU32" - } - ], - "argsoriginal": "(ImU32 in)", - "call_args": "(in)", - "cimguiname": "igColorConvertU32ToFloat4", - "defaults": [], - "funcname": "ColorConvertU32ToFloat4", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igColorConvertU32ToFloat4_nonUDT2", - "ret": "ImVec4_Simple", - "retorig": "ImVec4", - "signature": "(ImU32)", - "stname": "" } ], "igColorEdit3": [ @@ -8101,7 +7747,7 @@ }, "funcname": "Combo", "namespace": "ImGui", - "ov_cimguiname": "igCombo", + "ov_cimguiname": "igComboStr_arr", "ret": "bool", "signature": "(const char*,int*,const char* const[],int,int)", "stname": "" @@ -9203,7 +8849,7 @@ }, "funcname": "GetColorU32", "namespace": "ImGui", - "ov_cimguiname": "igGetColorU32", + "ov_cimguiname": "igGetColorU32Col", "ret": "ImU32", "signature": "(ImGuiCol,float)", "stname": "" @@ -9326,20 +8972,6 @@ } ], "igGetContentRegionAvail": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetContentRegionAvail", - "defaults": [], - "funcname": "GetContentRegionAvail", - "namespace": "ImGui", - "ov_cimguiname": "igGetContentRegionAvail", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9355,43 +8987,13 @@ "funcname": "GetContentRegionAvail", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetContentRegionAvail_nonUDT", + "ov_cimguiname": "igGetContentRegionAvail", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetContentRegionAvail", - "defaults": [], - "funcname": "GetContentRegionAvail", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetContentRegionAvail_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetContentRegionMax": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetContentRegionMax", - "defaults": [], - "funcname": "GetContentRegionMax", - "namespace": "ImGui", - "ov_cimguiname": "igGetContentRegionMax", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9407,26 +9009,10 @@ "funcname": "GetContentRegionMax", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetContentRegionMax_nonUDT", + "ov_cimguiname": "igGetContentRegionMax", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetContentRegionMax", - "defaults": [], - "funcname": "GetContentRegionMax", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetContentRegionMax_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetCurrentContext": [ @@ -9446,20 +9032,6 @@ } ], "igGetCursorPos": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorPos", - "defaults": [], - "funcname": "GetCursorPos", - "namespace": "ImGui", - "ov_cimguiname": "igGetCursorPos", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9475,26 +9047,10 @@ "funcname": "GetCursorPos", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetCursorPos_nonUDT", + "ov_cimguiname": "igGetCursorPos", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorPos", - "defaults": [], - "funcname": "GetCursorPos", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetCursorPos_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetCursorPosX": [ @@ -9530,20 +9086,6 @@ } ], "igGetCursorScreenPos": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorScreenPos", - "defaults": [], - "funcname": "GetCursorScreenPos", - "namespace": "ImGui", - "ov_cimguiname": "igGetCursorScreenPos", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9559,43 +9101,13 @@ "funcname": "GetCursorScreenPos", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetCursorScreenPos_nonUDT", + "ov_cimguiname": "igGetCursorScreenPos", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorScreenPos", - "defaults": [], - "funcname": "GetCursorScreenPos", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetCursorScreenPos_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetCursorStartPos": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorStartPos", - "defaults": [], - "funcname": "GetCursorStartPos", - "namespace": "ImGui", - "ov_cimguiname": "igGetCursorStartPos", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9611,26 +9123,10 @@ "funcname": "GetCursorStartPos", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetCursorStartPos_nonUDT", + "ov_cimguiname": "igGetCursorStartPos", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetCursorStartPos", - "defaults": [], - "funcname": "GetCursorStartPos", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetCursorStartPos_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetDragDropPayload": [ @@ -9714,20 +9210,6 @@ } ], "igGetFontTexUvWhitePixel": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetFontTexUvWhitePixel", - "defaults": [], - "funcname": "GetFontTexUvWhitePixel", - "namespace": "ImGui", - "ov_cimguiname": "igGetFontTexUvWhitePixel", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9743,26 +9225,10 @@ "funcname": "GetFontTexUvWhitePixel", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetFontTexUvWhitePixel_nonUDT", + "ov_cimguiname": "igGetFontTexUvWhitePixel", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetFontTexUvWhitePixel", - "defaults": [], - "funcname": "GetFontTexUvWhitePixel", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetFontTexUvWhitePixel_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetForegroundDrawList": [ @@ -9867,7 +9333,7 @@ "defaults": [], "funcname": "GetID", "namespace": "ImGui", - "ov_cimguiname": "igGetIDRange", + "ov_cimguiname": "igGetIDStrStr", "ret": "ImGuiID", "signature": "(const char*,const char*)", "stname": "" @@ -9910,20 +9376,6 @@ } ], "igGetItemRectMax": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectMax", - "defaults": [], - "funcname": "GetItemRectMax", - "namespace": "ImGui", - "ov_cimguiname": "igGetItemRectMax", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9939,43 +9391,13 @@ "funcname": "GetItemRectMax", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetItemRectMax_nonUDT", + "ov_cimguiname": "igGetItemRectMax", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectMax", - "defaults": [], - "funcname": "GetItemRectMax", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetItemRectMax_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetItemRectMin": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectMin", - "defaults": [], - "funcname": "GetItemRectMin", - "namespace": "ImGui", - "ov_cimguiname": "igGetItemRectMin", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -9991,43 +9413,13 @@ "funcname": "GetItemRectMin", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetItemRectMin_nonUDT", + "ov_cimguiname": "igGetItemRectMin", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectMin", - "defaults": [], - "funcname": "GetItemRectMin", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetItemRectMin_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetItemRectSize": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectSize", - "defaults": [], - "funcname": "GetItemRectSize", - "namespace": "ImGui", - "ov_cimguiname": "igGetItemRectSize", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10043,26 +9435,10 @@ "funcname": "GetItemRectSize", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetItemRectSize_nonUDT", + "ov_cimguiname": "igGetItemRectSize", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetItemRectSize", - "defaults": [], - "funcname": "GetItemRectSize", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetItemRectSize_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetKeyIndex": [ @@ -10132,32 +9508,6 @@ } ], "igGetMouseDragDelta": [ - { - "args": "(ImGuiMouseButton button,float lock_threshold)", - "argsT": [ - { - "name": "button", - "type": "ImGuiMouseButton" - }, - { - "name": "lock_threshold", - "type": "float" - } - ], - "argsoriginal": "(ImGuiMouseButton button=0,float lock_threshold=-1.0f)", - "call_args": "(button,lock_threshold)", - "cimguiname": "igGetMouseDragDelta", - "defaults": { - "button": "0", - "lock_threshold": "-1.0f" - }, - "funcname": "GetMouseDragDelta", - "namespace": "ImGui", - "ov_cimguiname": "igGetMouseDragDelta", - "ret": "ImVec2", - "signature": "(ImGuiMouseButton,float)", - "stname": "" - }, { "args": "(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold)", "argsT": [ @@ -10184,55 +9534,13 @@ "funcname": "GetMouseDragDelta", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetMouseDragDelta_nonUDT", + "ov_cimguiname": "igGetMouseDragDelta", "ret": "void", "signature": "(ImGuiMouseButton,float)", "stname": "" - }, - { - "args": "(ImGuiMouseButton button,float lock_threshold)", - "argsT": [ - { - "name": "button", - "type": "ImGuiMouseButton" - }, - { - "name": "lock_threshold", - "type": "float" - } - ], - "argsoriginal": "(ImGuiMouseButton button=0,float lock_threshold=-1.0f)", - "call_args": "(button,lock_threshold)", - "cimguiname": "igGetMouseDragDelta", - "defaults": { - "button": "0", - "lock_threshold": "-1.0f" - }, - "funcname": "GetMouseDragDelta", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetMouseDragDelta_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "(ImGuiMouseButton,float)", - "stname": "" } ], "igGetMousePos": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetMousePos", - "defaults": [], - "funcname": "GetMousePos", - "namespace": "ImGui", - "ov_cimguiname": "igGetMousePos", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10248,43 +9556,13 @@ "funcname": "GetMousePos", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetMousePos_nonUDT", + "ov_cimguiname": "igGetMousePos", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetMousePos", - "defaults": [], - "funcname": "GetMousePos", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetMousePos_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetMousePosOnOpeningCurrentPopup": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetMousePosOnOpeningCurrentPopup", - "defaults": [], - "funcname": "GetMousePosOnOpeningCurrentPopup", - "namespace": "ImGui", - "ov_cimguiname": "igGetMousePosOnOpeningCurrentPopup", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10300,26 +9578,10 @@ "funcname": "GetMousePosOnOpeningCurrentPopup", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetMousePosOnOpeningCurrentPopup_nonUDT", + "ov_cimguiname": "igGetMousePosOnOpeningCurrentPopup", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetMousePosOnOpeningCurrentPopup", - "defaults": [], - "funcname": "GetMousePosOnOpeningCurrentPopup", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetMousePosOnOpeningCurrentPopup_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetScrollMaxX": [ @@ -10543,20 +9805,6 @@ } ], "igGetWindowContentRegionMax": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowContentRegionMax", - "defaults": [], - "funcname": "GetWindowContentRegionMax", - "namespace": "ImGui", - "ov_cimguiname": "igGetWindowContentRegionMax", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10572,43 +9820,13 @@ "funcname": "GetWindowContentRegionMax", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetWindowContentRegionMax_nonUDT", + "ov_cimguiname": "igGetWindowContentRegionMax", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowContentRegionMax", - "defaults": [], - "funcname": "GetWindowContentRegionMax", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetWindowContentRegionMax_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetWindowContentRegionMin": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowContentRegionMin", - "defaults": [], - "funcname": "GetWindowContentRegionMin", - "namespace": "ImGui", - "ov_cimguiname": "igGetWindowContentRegionMin", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10624,26 +9842,10 @@ "funcname": "GetWindowContentRegionMin", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetWindowContentRegionMin_nonUDT", + "ov_cimguiname": "igGetWindowContentRegionMin", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowContentRegionMin", - "defaults": [], - "funcname": "GetWindowContentRegionMin", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetWindowContentRegionMin_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetWindowContentRegionWidth": [ @@ -10695,20 +9897,6 @@ } ], "igGetWindowPos": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowPos", - "defaults": [], - "funcname": "GetWindowPos", - "namespace": "ImGui", - "ov_cimguiname": "igGetWindowPos", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10724,43 +9912,13 @@ "funcname": "GetWindowPos", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetWindowPos_nonUDT", + "ov_cimguiname": "igGetWindowPos", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowPos", - "defaults": [], - "funcname": "GetWindowPos", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetWindowPos_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetWindowSize": [ - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowSize", - "defaults": [], - "funcname": "GetWindowSize", - "namespace": "ImGui", - "ov_cimguiname": "igGetWindowSize", - "ret": "ImVec2", - "signature": "()", - "stname": "" - }, { "args": "(ImVec2 *pOut)", "argsT": [ @@ -10776,26 +9934,10 @@ "funcname": "GetWindowSize", "namespace": "ImGui", "nonUDT": 1, - "ov_cimguiname": "igGetWindowSize_nonUDT", + "ov_cimguiname": "igGetWindowSize", "ret": "void", "signature": "()", "stname": "" - }, - { - "args": "()", - "argsT": [], - "argsoriginal": "()", - "call_args": "()", - "cimguiname": "igGetWindowSize", - "defaults": [], - "funcname": "GetWindowSize", - "namespace": "ImGui", - "nonUDT": 2, - "ov_cimguiname": "igGetWindowSize_nonUDT2", - "ret": "ImVec2_Simple", - "retorig": "ImVec2", - "signature": "()", - "stname": "" } ], "igGetWindowWidth": [ @@ -12055,7 +11197,7 @@ "defaults": [], "funcname": "IsRectVisible", "namespace": "ImGui", - "ov_cimguiname": "igIsRectVisible", + "ov_cimguiname": "igIsRectVisibleNil", "ret": "bool", "signature": "(const ImVec2)", "stname": "" @@ -12938,7 +12080,7 @@ }, "funcname": "PlotLines", "namespace": "ImGui", - "ov_cimguiname": "igPlotLines", + "ov_cimguiname": "igPlotLinesFloatPtr", "ret": "void", "signature": "(const char*,const float*,int,int,const char*,float,float,ImVec2,int)", "stname": "" @@ -13323,7 +12465,7 @@ "defaults": [], "funcname": "PushID", "namespace": "ImGui", - "ov_cimguiname": "igPushIDRange", + "ov_cimguiname": "igPushIDStrStr", "ret": "void", "signature": "(const char*,const char*)", "stname": "" @@ -13430,7 +12572,7 @@ "defaults": [], "funcname": "PushStyleColor", "namespace": "ImGui", - "ov_cimguiname": "igPushStyleColor", + "ov_cimguiname": "igPushStyleColorVec4", "ret": "void", "signature": "(ImGuiCol,const ImVec4)", "stname": "" @@ -13701,7 +12843,7 @@ }, "funcname": "Selectable", "namespace": "ImGui", - "ov_cimguiname": "igSelectable", + "ov_cimguiname": "igSelectableBool", "ret": "bool", "signature": "(const char*,bool,ImGuiSelectableFlags,const ImVec2)", "stname": "" @@ -14629,7 +13771,7 @@ "defaults": [], "funcname": "SetWindowFocus", "namespace": "ImGui", - "ov_cimguiname": "igSetWindowFocus", + "ov_cimguiname": "igSetWindowFocusNil", "ret": "void", "signature": "()", "stname": "" diff --git a/generator/output/definitions.lua b/generator/output/definitions.lua index 2bb2ba2..fda3004 100644 --- a/generator/output/definitions.lua +++ b/generator/output/definitions.lua @@ -1,96 +1,38 @@ local defs = {} defs["ImColor_HSV"] = {} defs["ImColor_HSV"][1] = {} -defs["ImColor_HSV"][1]["args"] = "(ImColor* self,float h,float s,float v,float a)" +defs["ImColor_HSV"][1]["args"] = "(ImColor *pOut,ImColor* self,float h,float s,float v,float a)" defs["ImColor_HSV"][1]["argsT"] = {} defs["ImColor_HSV"][1]["argsT"][1] = {} -defs["ImColor_HSV"][1]["argsT"][1]["name"] = "self" +defs["ImColor_HSV"][1]["argsT"][1]["name"] = "pOut" defs["ImColor_HSV"][1]["argsT"][1]["type"] = "ImColor*" defs["ImColor_HSV"][1]["argsT"][2] = {} -defs["ImColor_HSV"][1]["argsT"][2]["name"] = "h" -defs["ImColor_HSV"][1]["argsT"][2]["type"] = "float" +defs["ImColor_HSV"][1]["argsT"][2]["name"] = "self" +defs["ImColor_HSV"][1]["argsT"][2]["type"] = "ImColor*" defs["ImColor_HSV"][1]["argsT"][3] = {} -defs["ImColor_HSV"][1]["argsT"][3]["name"] = "s" +defs["ImColor_HSV"][1]["argsT"][3]["name"] = "h" defs["ImColor_HSV"][1]["argsT"][3]["type"] = "float" defs["ImColor_HSV"][1]["argsT"][4] = {} -defs["ImColor_HSV"][1]["argsT"][4]["name"] = "v" +defs["ImColor_HSV"][1]["argsT"][4]["name"] = "s" defs["ImColor_HSV"][1]["argsT"][4]["type"] = "float" defs["ImColor_HSV"][1]["argsT"][5] = {} -defs["ImColor_HSV"][1]["argsT"][5]["name"] = "a" +defs["ImColor_HSV"][1]["argsT"][5]["name"] = "v" defs["ImColor_HSV"][1]["argsT"][5]["type"] = "float" +defs["ImColor_HSV"][1]["argsT"][6] = {} +defs["ImColor_HSV"][1]["argsT"][6]["name"] = "a" +defs["ImColor_HSV"][1]["argsT"][6]["type"] = "float" defs["ImColor_HSV"][1]["argsoriginal"] = "(float h,float s,float v,float a=1.0f)" defs["ImColor_HSV"][1]["call_args"] = "(h,s,v,a)" defs["ImColor_HSV"][1]["cimguiname"] = "ImColor_HSV" defs["ImColor_HSV"][1]["defaults"] = {} defs["ImColor_HSV"][1]["defaults"]["a"] = "1.0f" defs["ImColor_HSV"][1]["funcname"] = "HSV" +defs["ImColor_HSV"][1]["nonUDT"] = 1 defs["ImColor_HSV"][1]["ov_cimguiname"] = "ImColor_HSV" -defs["ImColor_HSV"][1]["ret"] = "ImColor" +defs["ImColor_HSV"][1]["ret"] = "void" defs["ImColor_HSV"][1]["signature"] = "(float,float,float,float)" defs["ImColor_HSV"][1]["stname"] = "ImColor" -defs["ImColor_HSV"][2] = {} -defs["ImColor_HSV"][2]["args"] = "(ImColor *pOut,ImColor* self,float h,float s,float v,float a)" -defs["ImColor_HSV"][2]["argsT"] = {} -defs["ImColor_HSV"][2]["argsT"][1] = {} -defs["ImColor_HSV"][2]["argsT"][1]["name"] = "pOut" -defs["ImColor_HSV"][2]["argsT"][1]["type"] = "ImColor*" -defs["ImColor_HSV"][2]["argsT"][2] = {} -defs["ImColor_HSV"][2]["argsT"][2]["name"] = "self" -defs["ImColor_HSV"][2]["argsT"][2]["type"] = "ImColor*" -defs["ImColor_HSV"][2]["argsT"][3] = {} -defs["ImColor_HSV"][2]["argsT"][3]["name"] = "h" -defs["ImColor_HSV"][2]["argsT"][3]["type"] = "float" -defs["ImColor_HSV"][2]["argsT"][4] = {} -defs["ImColor_HSV"][2]["argsT"][4]["name"] = "s" -defs["ImColor_HSV"][2]["argsT"][4]["type"] = "float" -defs["ImColor_HSV"][2]["argsT"][5] = {} -defs["ImColor_HSV"][2]["argsT"][5]["name"] = "v" -defs["ImColor_HSV"][2]["argsT"][5]["type"] = "float" -defs["ImColor_HSV"][2]["argsT"][6] = {} -defs["ImColor_HSV"][2]["argsT"][6]["name"] = "a" -defs["ImColor_HSV"][2]["argsT"][6]["type"] = "float" -defs["ImColor_HSV"][2]["argsoriginal"] = "(float h,float s,float v,float a=1.0f)" -defs["ImColor_HSV"][2]["call_args"] = "(h,s,v,a)" -defs["ImColor_HSV"][2]["cimguiname"] = "ImColor_HSV" -defs["ImColor_HSV"][2]["defaults"] = defs["ImColor_HSV"][1]["defaults"] -defs["ImColor_HSV"][2]["funcname"] = "HSV" -defs["ImColor_HSV"][2]["nonUDT"] = 1 -defs["ImColor_HSV"][2]["ov_cimguiname"] = "ImColor_HSV_nonUDT" -defs["ImColor_HSV"][2]["ret"] = "void" -defs["ImColor_HSV"][2]["signature"] = "(float,float,float,float)" -defs["ImColor_HSV"][2]["stname"] = "ImColor" -defs["ImColor_HSV"][3] = {} -defs["ImColor_HSV"][3]["args"] = "(ImColor* self,float h,float s,float v,float a)" -defs["ImColor_HSV"][3]["argsT"] = {} -defs["ImColor_HSV"][3]["argsT"][1] = {} -defs["ImColor_HSV"][3]["argsT"][1]["name"] = "self" -defs["ImColor_HSV"][3]["argsT"][1]["type"] = "ImColor*" -defs["ImColor_HSV"][3]["argsT"][2] = {} -defs["ImColor_HSV"][3]["argsT"][2]["name"] = "h" -defs["ImColor_HSV"][3]["argsT"][2]["type"] = "float" -defs["ImColor_HSV"][3]["argsT"][3] = {} -defs["ImColor_HSV"][3]["argsT"][3]["name"] = "s" -defs["ImColor_HSV"][3]["argsT"][3]["type"] = "float" -defs["ImColor_HSV"][3]["argsT"][4] = {} -defs["ImColor_HSV"][3]["argsT"][4]["name"] = "v" -defs["ImColor_HSV"][3]["argsT"][4]["type"] = "float" -defs["ImColor_HSV"][3]["argsT"][5] = {} -defs["ImColor_HSV"][3]["argsT"][5]["name"] = "a" -defs["ImColor_HSV"][3]["argsT"][5]["type"] = "float" -defs["ImColor_HSV"][3]["argsoriginal"] = "(float h,float s,float v,float a=1.0f)" -defs["ImColor_HSV"][3]["call_args"] = "(h,s,v,a)" -defs["ImColor_HSV"][3]["cimguiname"] = "ImColor_HSV" -defs["ImColor_HSV"][3]["defaults"] = defs["ImColor_HSV"][1]["defaults"] -defs["ImColor_HSV"][3]["funcname"] = "HSV" -defs["ImColor_HSV"][3]["nonUDT"] = 2 -defs["ImColor_HSV"][3]["ov_cimguiname"] = "ImColor_HSV_nonUDT2" -defs["ImColor_HSV"][3]["ret"] = "ImColor_Simple" -defs["ImColor_HSV"][3]["retorig"] = "ImColor" -defs["ImColor_HSV"][3]["signature"] = "(float,float,float,float)" -defs["ImColor_HSV"][3]["stname"] = "ImColor" defs["ImColor_HSV"]["(float,float,float,float)"] = defs["ImColor_HSV"][1] -defs["ImColor_HSV"]["(float,float,float,float)nonUDT"] = defs["ImColor_HSV"][2] -defs["ImColor_HSV"]["(float,float,float,float)nonUDT2"] = defs["ImColor_HSV"][3] defs["ImColor_ImColor"] = {} defs["ImColor_ImColor"][1] = {} defs["ImColor_ImColor"][1]["args"] = "()" @@ -101,7 +43,7 @@ defs["ImColor_ImColor"][1]["cimguiname"] = "ImColor_ImColor" defs["ImColor_ImColor"][1]["constructor"] = true defs["ImColor_ImColor"][1]["defaults"] = {} defs["ImColor_ImColor"][1]["funcname"] = "ImColor" -defs["ImColor_ImColor"][1]["ov_cimguiname"] = "ImColor_ImColor" +defs["ImColor_ImColor"][1]["ov_cimguiname"] = "ImColor_ImColorNil" defs["ImColor_ImColor"][1]["signature"] = "()" defs["ImColor_ImColor"][1]["stname"] = "ImColor" defs["ImColor_ImColor"][2] = {} @@ -1104,7 +1046,7 @@ defs["ImDrawList_AddText"][1]["cimguiname"] = "ImDrawList_AddText" defs["ImDrawList_AddText"][1]["defaults"] = {} defs["ImDrawList_AddText"][1]["defaults"]["text_end"] = "((void*)0)" defs["ImDrawList_AddText"][1]["funcname"] = "AddText" -defs["ImDrawList_AddText"][1]["ov_cimguiname"] = "ImDrawList_AddText" +defs["ImDrawList_AddText"][1]["ov_cimguiname"] = "ImDrawList_AddTextVec2" defs["ImDrawList_AddText"][1]["ret"] = "void" defs["ImDrawList_AddText"][1]["signature"] = "(const ImVec2,ImU32,const char*,const char*)" defs["ImDrawList_AddText"][1]["stname"] = "ImDrawList" @@ -1324,114 +1266,46 @@ defs["ImDrawList_CloneOutput"][1]["stname"] = "ImDrawList" defs["ImDrawList_CloneOutput"]["()const"] = defs["ImDrawList_CloneOutput"][1] defs["ImDrawList_GetClipRectMax"] = {} defs["ImDrawList_GetClipRectMax"][1] = {} -defs["ImDrawList_GetClipRectMax"][1]["args"] = "(ImDrawList* self)" +defs["ImDrawList_GetClipRectMax"][1]["args"] = "(ImVec2 *pOut,ImDrawList* self)" defs["ImDrawList_GetClipRectMax"][1]["argsT"] = {} defs["ImDrawList_GetClipRectMax"][1]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMax"][1]["argsT"][1]["name"] = "self" -defs["ImDrawList_GetClipRectMax"][1]["argsT"][1]["type"] = "ImDrawList*" +defs["ImDrawList_GetClipRectMax"][1]["argsT"][1]["name"] = "pOut" +defs["ImDrawList_GetClipRectMax"][1]["argsT"][1]["type"] = "ImVec2*" +defs["ImDrawList_GetClipRectMax"][1]["argsT"][2] = {} +defs["ImDrawList_GetClipRectMax"][1]["argsT"][2]["name"] = "self" +defs["ImDrawList_GetClipRectMax"][1]["argsT"][2]["type"] = "ImDrawList*" defs["ImDrawList_GetClipRectMax"][1]["argsoriginal"] = "()" defs["ImDrawList_GetClipRectMax"][1]["call_args"] = "()" defs["ImDrawList_GetClipRectMax"][1]["cimguiname"] = "ImDrawList_GetClipRectMax" defs["ImDrawList_GetClipRectMax"][1]["defaults"] = {} defs["ImDrawList_GetClipRectMax"][1]["funcname"] = "GetClipRectMax" +defs["ImDrawList_GetClipRectMax"][1]["nonUDT"] = 1 defs["ImDrawList_GetClipRectMax"][1]["ov_cimguiname"] = "ImDrawList_GetClipRectMax" -defs["ImDrawList_GetClipRectMax"][1]["ret"] = "ImVec2" +defs["ImDrawList_GetClipRectMax"][1]["ret"] = "void" defs["ImDrawList_GetClipRectMax"][1]["signature"] = "()const" defs["ImDrawList_GetClipRectMax"][1]["stname"] = "ImDrawList" -defs["ImDrawList_GetClipRectMax"][2] = {} -defs["ImDrawList_GetClipRectMax"][2]["args"] = "(ImVec2 *pOut,ImDrawList* self)" -defs["ImDrawList_GetClipRectMax"][2]["argsT"] = {} -defs["ImDrawList_GetClipRectMax"][2]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMax"][2]["argsT"][1]["name"] = "pOut" -defs["ImDrawList_GetClipRectMax"][2]["argsT"][1]["type"] = "ImVec2*" -defs["ImDrawList_GetClipRectMax"][2]["argsT"][2] = {} -defs["ImDrawList_GetClipRectMax"][2]["argsT"][2]["name"] = "self" -defs["ImDrawList_GetClipRectMax"][2]["argsT"][2]["type"] = "ImDrawList*" -defs["ImDrawList_GetClipRectMax"][2]["argsoriginal"] = "()" -defs["ImDrawList_GetClipRectMax"][2]["call_args"] = "()" -defs["ImDrawList_GetClipRectMax"][2]["cimguiname"] = "ImDrawList_GetClipRectMax" -defs["ImDrawList_GetClipRectMax"][2]["defaults"] = defs["ImDrawList_GetClipRectMax"][1]["defaults"] -defs["ImDrawList_GetClipRectMax"][2]["funcname"] = "GetClipRectMax" -defs["ImDrawList_GetClipRectMax"][2]["nonUDT"] = 1 -defs["ImDrawList_GetClipRectMax"][2]["ov_cimguiname"] = "ImDrawList_GetClipRectMax_nonUDT" -defs["ImDrawList_GetClipRectMax"][2]["ret"] = "void" -defs["ImDrawList_GetClipRectMax"][2]["signature"] = "()const" -defs["ImDrawList_GetClipRectMax"][2]["stname"] = "ImDrawList" -defs["ImDrawList_GetClipRectMax"][3] = {} -defs["ImDrawList_GetClipRectMax"][3]["args"] = "(ImDrawList* self)" -defs["ImDrawList_GetClipRectMax"][3]["argsT"] = {} -defs["ImDrawList_GetClipRectMax"][3]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMax"][3]["argsT"][1]["name"] = "self" -defs["ImDrawList_GetClipRectMax"][3]["argsT"][1]["type"] = "ImDrawList*" -defs["ImDrawList_GetClipRectMax"][3]["argsoriginal"] = "()" -defs["ImDrawList_GetClipRectMax"][3]["call_args"] = "()" -defs["ImDrawList_GetClipRectMax"][3]["cimguiname"] = "ImDrawList_GetClipRectMax" -defs["ImDrawList_GetClipRectMax"][3]["defaults"] = defs["ImDrawList_GetClipRectMax"][1]["defaults"] -defs["ImDrawList_GetClipRectMax"][3]["funcname"] = "GetClipRectMax" -defs["ImDrawList_GetClipRectMax"][3]["nonUDT"] = 2 -defs["ImDrawList_GetClipRectMax"][3]["ov_cimguiname"] = "ImDrawList_GetClipRectMax_nonUDT2" -defs["ImDrawList_GetClipRectMax"][3]["ret"] = "ImVec2_Simple" -defs["ImDrawList_GetClipRectMax"][3]["retorig"] = "ImVec2" -defs["ImDrawList_GetClipRectMax"][3]["signature"] = "()const" -defs["ImDrawList_GetClipRectMax"][3]["stname"] = "ImDrawList" defs["ImDrawList_GetClipRectMax"]["()const"] = defs["ImDrawList_GetClipRectMax"][1] -defs["ImDrawList_GetClipRectMax"]["()constnonUDT"] = defs["ImDrawList_GetClipRectMax"][2] -defs["ImDrawList_GetClipRectMax"]["()constnonUDT2"] = defs["ImDrawList_GetClipRectMax"][3] defs["ImDrawList_GetClipRectMin"] = {} defs["ImDrawList_GetClipRectMin"][1] = {} -defs["ImDrawList_GetClipRectMin"][1]["args"] = "(ImDrawList* self)" +defs["ImDrawList_GetClipRectMin"][1]["args"] = "(ImVec2 *pOut,ImDrawList* self)" defs["ImDrawList_GetClipRectMin"][1]["argsT"] = {} defs["ImDrawList_GetClipRectMin"][1]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMin"][1]["argsT"][1]["name"] = "self" -defs["ImDrawList_GetClipRectMin"][1]["argsT"][1]["type"] = "ImDrawList*" +defs["ImDrawList_GetClipRectMin"][1]["argsT"][1]["name"] = "pOut" +defs["ImDrawList_GetClipRectMin"][1]["argsT"][1]["type"] = "ImVec2*" +defs["ImDrawList_GetClipRectMin"][1]["argsT"][2] = {} +defs["ImDrawList_GetClipRectMin"][1]["argsT"][2]["name"] = "self" +defs["ImDrawList_GetClipRectMin"][1]["argsT"][2]["type"] = "ImDrawList*" defs["ImDrawList_GetClipRectMin"][1]["argsoriginal"] = "()" defs["ImDrawList_GetClipRectMin"][1]["call_args"] = "()" defs["ImDrawList_GetClipRectMin"][1]["cimguiname"] = "ImDrawList_GetClipRectMin" defs["ImDrawList_GetClipRectMin"][1]["defaults"] = {} defs["ImDrawList_GetClipRectMin"][1]["funcname"] = "GetClipRectMin" +defs["ImDrawList_GetClipRectMin"][1]["nonUDT"] = 1 defs["ImDrawList_GetClipRectMin"][1]["ov_cimguiname"] = "ImDrawList_GetClipRectMin" -defs["ImDrawList_GetClipRectMin"][1]["ret"] = "ImVec2" +defs["ImDrawList_GetClipRectMin"][1]["ret"] = "void" defs["ImDrawList_GetClipRectMin"][1]["signature"] = "()const" defs["ImDrawList_GetClipRectMin"][1]["stname"] = "ImDrawList" -defs["ImDrawList_GetClipRectMin"][2] = {} -defs["ImDrawList_GetClipRectMin"][2]["args"] = "(ImVec2 *pOut,ImDrawList* self)" -defs["ImDrawList_GetClipRectMin"][2]["argsT"] = {} -defs["ImDrawList_GetClipRectMin"][2]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMin"][2]["argsT"][1]["name"] = "pOut" -defs["ImDrawList_GetClipRectMin"][2]["argsT"][1]["type"] = "ImVec2*" -defs["ImDrawList_GetClipRectMin"][2]["argsT"][2] = {} -defs["ImDrawList_GetClipRectMin"][2]["argsT"][2]["name"] = "self" -defs["ImDrawList_GetClipRectMin"][2]["argsT"][2]["type"] = "ImDrawList*" -defs["ImDrawList_GetClipRectMin"][2]["argsoriginal"] = "()" -defs["ImDrawList_GetClipRectMin"][2]["call_args"] = "()" -defs["ImDrawList_GetClipRectMin"][2]["cimguiname"] = "ImDrawList_GetClipRectMin" -defs["ImDrawList_GetClipRectMin"][2]["defaults"] = defs["ImDrawList_GetClipRectMin"][1]["defaults"] -defs["ImDrawList_GetClipRectMin"][2]["funcname"] = "GetClipRectMin" -defs["ImDrawList_GetClipRectMin"][2]["nonUDT"] = 1 -defs["ImDrawList_GetClipRectMin"][2]["ov_cimguiname"] = "ImDrawList_GetClipRectMin_nonUDT" -defs["ImDrawList_GetClipRectMin"][2]["ret"] = "void" -defs["ImDrawList_GetClipRectMin"][2]["signature"] = "()const" -defs["ImDrawList_GetClipRectMin"][2]["stname"] = "ImDrawList" -defs["ImDrawList_GetClipRectMin"][3] = {} -defs["ImDrawList_GetClipRectMin"][3]["args"] = "(ImDrawList* self)" -defs["ImDrawList_GetClipRectMin"][3]["argsT"] = {} -defs["ImDrawList_GetClipRectMin"][3]["argsT"][1] = {} -defs["ImDrawList_GetClipRectMin"][3]["argsT"][1]["name"] = "self" -defs["ImDrawList_GetClipRectMin"][3]["argsT"][1]["type"] = "ImDrawList*" -defs["ImDrawList_GetClipRectMin"][3]["argsoriginal"] = "()" -defs["ImDrawList_GetClipRectMin"][3]["call_args"] = "()" -defs["ImDrawList_GetClipRectMin"][3]["cimguiname"] = "ImDrawList_GetClipRectMin" -defs["ImDrawList_GetClipRectMin"][3]["defaults"] = defs["ImDrawList_GetClipRectMin"][1]["defaults"] -defs["ImDrawList_GetClipRectMin"][3]["funcname"] = "GetClipRectMin" -defs["ImDrawList_GetClipRectMin"][3]["nonUDT"] = 2 -defs["ImDrawList_GetClipRectMin"][3]["ov_cimguiname"] = "ImDrawList_GetClipRectMin_nonUDT2" -defs["ImDrawList_GetClipRectMin"][3]["ret"] = "ImVec2_Simple" -defs["ImDrawList_GetClipRectMin"][3]["retorig"] = "ImVec2" -defs["ImDrawList_GetClipRectMin"][3]["signature"] = "()const" -defs["ImDrawList_GetClipRectMin"][3]["stname"] = "ImDrawList" defs["ImDrawList_GetClipRectMin"]["()const"] = defs["ImDrawList_GetClipRectMin"][1] -defs["ImDrawList_GetClipRectMin"]["()constnonUDT"] = defs["ImDrawList_GetClipRectMin"][2] -defs["ImDrawList_GetClipRectMin"]["()constnonUDT2"] = defs["ImDrawList_GetClipRectMin"][3] defs["ImDrawList_ImDrawList"] = {} defs["ImDrawList_ImDrawList"][1] = {} defs["ImDrawList_ImDrawList"][1]["args"] = "(const ImDrawListSharedData* shared_data)" @@ -3044,29 +2918,32 @@ defs["ImFont_BuildLookupTable"][1]["stname"] = "ImFont" defs["ImFont_BuildLookupTable"]["()"] = defs["ImFont_BuildLookupTable"][1] defs["ImFont_CalcTextSizeA"] = {} defs["ImFont_CalcTextSizeA"][1] = {} -defs["ImFont_CalcTextSizeA"][1]["args"] = "(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)" +defs["ImFont_CalcTextSizeA"][1]["args"] = "(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)" defs["ImFont_CalcTextSizeA"][1]["argsT"] = {} defs["ImFont_CalcTextSizeA"][1]["argsT"][1] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][1]["name"] = "self" -defs["ImFont_CalcTextSizeA"][1]["argsT"][1]["type"] = "ImFont*" +defs["ImFont_CalcTextSizeA"][1]["argsT"][1]["name"] = "pOut" +defs["ImFont_CalcTextSizeA"][1]["argsT"][1]["type"] = "ImVec2*" defs["ImFont_CalcTextSizeA"][1]["argsT"][2] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][2]["name"] = "size" -defs["ImFont_CalcTextSizeA"][1]["argsT"][2]["type"] = "float" +defs["ImFont_CalcTextSizeA"][1]["argsT"][2]["name"] = "self" +defs["ImFont_CalcTextSizeA"][1]["argsT"][2]["type"] = "ImFont*" defs["ImFont_CalcTextSizeA"][1]["argsT"][3] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][3]["name"] = "max_width" +defs["ImFont_CalcTextSizeA"][1]["argsT"][3]["name"] = "size" defs["ImFont_CalcTextSizeA"][1]["argsT"][3]["type"] = "float" defs["ImFont_CalcTextSizeA"][1]["argsT"][4] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][4]["name"] = "wrap_width" +defs["ImFont_CalcTextSizeA"][1]["argsT"][4]["name"] = "max_width" defs["ImFont_CalcTextSizeA"][1]["argsT"][4]["type"] = "float" defs["ImFont_CalcTextSizeA"][1]["argsT"][5] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][5]["name"] = "text_begin" -defs["ImFont_CalcTextSizeA"][1]["argsT"][5]["type"] = "const char*" +defs["ImFont_CalcTextSizeA"][1]["argsT"][5]["name"] = "wrap_width" +defs["ImFont_CalcTextSizeA"][1]["argsT"][5]["type"] = "float" defs["ImFont_CalcTextSizeA"][1]["argsT"][6] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][6]["name"] = "text_end" +defs["ImFont_CalcTextSizeA"][1]["argsT"][6]["name"] = "text_begin" defs["ImFont_CalcTextSizeA"][1]["argsT"][6]["type"] = "const char*" defs["ImFont_CalcTextSizeA"][1]["argsT"][7] = {} -defs["ImFont_CalcTextSizeA"][1]["argsT"][7]["name"] = "remaining" -defs["ImFont_CalcTextSizeA"][1]["argsT"][7]["type"] = "const char**" +defs["ImFont_CalcTextSizeA"][1]["argsT"][7]["name"] = "text_end" +defs["ImFont_CalcTextSizeA"][1]["argsT"][7]["type"] = "const char*" +defs["ImFont_CalcTextSizeA"][1]["argsT"][8] = {} +defs["ImFont_CalcTextSizeA"][1]["argsT"][8]["name"] = "remaining" +defs["ImFont_CalcTextSizeA"][1]["argsT"][8]["type"] = "const char**" defs["ImFont_CalcTextSizeA"][1]["argsoriginal"] = "(float size,float max_width,float wrap_width,const char* text_begin,const char* text_end=((void*)0),const char** remaining=((void*)0))" defs["ImFont_CalcTextSizeA"][1]["call_args"] = "(size,max_width,wrap_width,text_begin,text_end,remaining)" defs["ImFont_CalcTextSizeA"][1]["cimguiname"] = "ImFont_CalcTextSizeA" @@ -3074,85 +2951,12 @@ defs["ImFont_CalcTextSizeA"][1]["defaults"] = {} defs["ImFont_CalcTextSizeA"][1]["defaults"]["remaining"] = "((void*)0)" defs["ImFont_CalcTextSizeA"][1]["defaults"]["text_end"] = "((void*)0)" defs["ImFont_CalcTextSizeA"][1]["funcname"] = "CalcTextSizeA" +defs["ImFont_CalcTextSizeA"][1]["nonUDT"] = 1 defs["ImFont_CalcTextSizeA"][1]["ov_cimguiname"] = "ImFont_CalcTextSizeA" -defs["ImFont_CalcTextSizeA"][1]["ret"] = "ImVec2" +defs["ImFont_CalcTextSizeA"][1]["ret"] = "void" defs["ImFont_CalcTextSizeA"][1]["signature"] = "(float,float,float,const char*,const char*,const char**)const" defs["ImFont_CalcTextSizeA"][1]["stname"] = "ImFont" -defs["ImFont_CalcTextSizeA"][2] = {} -defs["ImFont_CalcTextSizeA"][2]["args"] = "(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)" -defs["ImFont_CalcTextSizeA"][2]["argsT"] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][1] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][1]["name"] = "pOut" -defs["ImFont_CalcTextSizeA"][2]["argsT"][1]["type"] = "ImVec2*" -defs["ImFont_CalcTextSizeA"][2]["argsT"][2] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][2]["name"] = "self" -defs["ImFont_CalcTextSizeA"][2]["argsT"][2]["type"] = "ImFont*" -defs["ImFont_CalcTextSizeA"][2]["argsT"][3] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][3]["name"] = "size" -defs["ImFont_CalcTextSizeA"][2]["argsT"][3]["type"] = "float" -defs["ImFont_CalcTextSizeA"][2]["argsT"][4] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][4]["name"] = "max_width" -defs["ImFont_CalcTextSizeA"][2]["argsT"][4]["type"] = "float" -defs["ImFont_CalcTextSizeA"][2]["argsT"][5] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][5]["name"] = "wrap_width" -defs["ImFont_CalcTextSizeA"][2]["argsT"][5]["type"] = "float" -defs["ImFont_CalcTextSizeA"][2]["argsT"][6] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][6]["name"] = "text_begin" -defs["ImFont_CalcTextSizeA"][2]["argsT"][6]["type"] = "const char*" -defs["ImFont_CalcTextSizeA"][2]["argsT"][7] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][7]["name"] = "text_end" -defs["ImFont_CalcTextSizeA"][2]["argsT"][7]["type"] = "const char*" -defs["ImFont_CalcTextSizeA"][2]["argsT"][8] = {} -defs["ImFont_CalcTextSizeA"][2]["argsT"][8]["name"] = "remaining" -defs["ImFont_CalcTextSizeA"][2]["argsT"][8]["type"] = "const char**" -defs["ImFont_CalcTextSizeA"][2]["argsoriginal"] = "(float size,float max_width,float wrap_width,const char* text_begin,const char* text_end=((void*)0),const char** remaining=((void*)0))" -defs["ImFont_CalcTextSizeA"][2]["call_args"] = "(size,max_width,wrap_width,text_begin,text_end,remaining)" -defs["ImFont_CalcTextSizeA"][2]["cimguiname"] = "ImFont_CalcTextSizeA" -defs["ImFont_CalcTextSizeA"][2]["defaults"] = defs["ImFont_CalcTextSizeA"][1]["defaults"] -defs["ImFont_CalcTextSizeA"][2]["funcname"] = "CalcTextSizeA" -defs["ImFont_CalcTextSizeA"][2]["nonUDT"] = 1 -defs["ImFont_CalcTextSizeA"][2]["ov_cimguiname"] = "ImFont_CalcTextSizeA_nonUDT" -defs["ImFont_CalcTextSizeA"][2]["ret"] = "void" -defs["ImFont_CalcTextSizeA"][2]["signature"] = "(float,float,float,const char*,const char*,const char**)const" -defs["ImFont_CalcTextSizeA"][2]["stname"] = "ImFont" -defs["ImFont_CalcTextSizeA"][3] = {} -defs["ImFont_CalcTextSizeA"][3]["args"] = "(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)" -defs["ImFont_CalcTextSizeA"][3]["argsT"] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][1] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][1]["name"] = "self" -defs["ImFont_CalcTextSizeA"][3]["argsT"][1]["type"] = "ImFont*" -defs["ImFont_CalcTextSizeA"][3]["argsT"][2] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][2]["name"] = "size" -defs["ImFont_CalcTextSizeA"][3]["argsT"][2]["type"] = "float" -defs["ImFont_CalcTextSizeA"][3]["argsT"][3] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][3]["name"] = "max_width" -defs["ImFont_CalcTextSizeA"][3]["argsT"][3]["type"] = "float" -defs["ImFont_CalcTextSizeA"][3]["argsT"][4] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][4]["name"] = "wrap_width" -defs["ImFont_CalcTextSizeA"][3]["argsT"][4]["type"] = "float" -defs["ImFont_CalcTextSizeA"][3]["argsT"][5] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][5]["name"] = "text_begin" -defs["ImFont_CalcTextSizeA"][3]["argsT"][5]["type"] = "const char*" -defs["ImFont_CalcTextSizeA"][3]["argsT"][6] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][6]["name"] = "text_end" -defs["ImFont_CalcTextSizeA"][3]["argsT"][6]["type"] = "const char*" -defs["ImFont_CalcTextSizeA"][3]["argsT"][7] = {} -defs["ImFont_CalcTextSizeA"][3]["argsT"][7]["name"] = "remaining" -defs["ImFont_CalcTextSizeA"][3]["argsT"][7]["type"] = "const char**" -defs["ImFont_CalcTextSizeA"][3]["argsoriginal"] = "(float size,float max_width,float wrap_width,const char* text_begin,const char* text_end=((void*)0),const char** remaining=((void*)0))" -defs["ImFont_CalcTextSizeA"][3]["call_args"] = "(size,max_width,wrap_width,text_begin,text_end,remaining)" -defs["ImFont_CalcTextSizeA"][3]["cimguiname"] = "ImFont_CalcTextSizeA" -defs["ImFont_CalcTextSizeA"][3]["defaults"] = defs["ImFont_CalcTextSizeA"][1]["defaults"] -defs["ImFont_CalcTextSizeA"][3]["funcname"] = "CalcTextSizeA" -defs["ImFont_CalcTextSizeA"][3]["nonUDT"] = 2 -defs["ImFont_CalcTextSizeA"][3]["ov_cimguiname"] = "ImFont_CalcTextSizeA_nonUDT2" -defs["ImFont_CalcTextSizeA"][3]["ret"] = "ImVec2_Simple" -defs["ImFont_CalcTextSizeA"][3]["retorig"] = "ImVec2" -defs["ImFont_CalcTextSizeA"][3]["signature"] = "(float,float,float,const char*,const char*,const char**)const" -defs["ImFont_CalcTextSizeA"][3]["stname"] = "ImFont" defs["ImFont_CalcTextSizeA"]["(float,float,float,const char*,const char*,const char**)const"] = defs["ImFont_CalcTextSizeA"][1] -defs["ImFont_CalcTextSizeA"]["(float,float,float,const char*,const char*,const char**)constnonUDT"] = defs["ImFont_CalcTextSizeA"][2] -defs["ImFont_CalcTextSizeA"]["(float,float,float,const char*,const char*,const char**)constnonUDT2"] = defs["ImFont_CalcTextSizeA"][3] defs["ImFont_CalcWordWrapPositionA"] = {} defs["ImFont_CalcWordWrapPositionA"][1] = {} defs["ImFont_CalcWordWrapPositionA"][1]["args"] = "(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width)" @@ -4678,7 +4482,7 @@ defs["ImGuiTextRange_ImGuiTextRange"][1]["cimguiname"] = "ImGuiTextRange_ImGuiTe defs["ImGuiTextRange_ImGuiTextRange"][1]["constructor"] = true defs["ImGuiTextRange_ImGuiTextRange"][1]["defaults"] = {} defs["ImGuiTextRange_ImGuiTextRange"][1]["funcname"] = "ImGuiTextRange" -defs["ImGuiTextRange_ImGuiTextRange"][1]["ov_cimguiname"] = "ImGuiTextRange_ImGuiTextRange" +defs["ImGuiTextRange_ImGuiTextRange"][1]["ov_cimguiname"] = "ImGuiTextRange_ImGuiTextRangeNil" defs["ImGuiTextRange_ImGuiTextRange"][1]["signature"] = "()" defs["ImGuiTextRange_ImGuiTextRange"][1]["stname"] = "ImGuiTextRange" defs["ImGuiTextRange_ImGuiTextRange"][2] = {} @@ -4767,7 +4571,7 @@ defs["ImVec2_ImVec2"][1]["cimguiname"] = "ImVec2_ImVec2" defs["ImVec2_ImVec2"][1]["constructor"] = true defs["ImVec2_ImVec2"][1]["defaults"] = {} defs["ImVec2_ImVec2"][1]["funcname"] = "ImVec2" -defs["ImVec2_ImVec2"][1]["ov_cimguiname"] = "ImVec2_ImVec2" +defs["ImVec2_ImVec2"][1]["ov_cimguiname"] = "ImVec2_ImVec2Nil" defs["ImVec2_ImVec2"][1]["signature"] = "()" defs["ImVec2_ImVec2"][1]["stname"] = "ImVec2" defs["ImVec2_ImVec2"][2] = {} @@ -4816,7 +4620,7 @@ defs["ImVec4_ImVec4"][1]["cimguiname"] = "ImVec4_ImVec4" defs["ImVec4_ImVec4"][1]["constructor"] = true defs["ImVec4_ImVec4"][1]["defaults"] = {} defs["ImVec4_ImVec4"][1]["funcname"] = "ImVec4" -defs["ImVec4_ImVec4"][1]["ov_cimguiname"] = "ImVec4_ImVec4" +defs["ImVec4_ImVec4"][1]["ov_cimguiname"] = "ImVec4_ImVec4Nil" defs["ImVec4_ImVec4"][1]["signature"] = "()" defs["ImVec4_ImVec4"][1]["stname"] = "ImVec4" defs["ImVec4_ImVec4"][2] = {} @@ -4871,7 +4675,7 @@ defs["ImVector_ImVector"][1]["cimguiname"] = "ImVector_ImVector" defs["ImVector_ImVector"][1]["constructor"] = true defs["ImVector_ImVector"][1]["defaults"] = {} defs["ImVector_ImVector"][1]["funcname"] = "ImVector" -defs["ImVector_ImVector"][1]["ov_cimguiname"] = "ImVector_ImVector" +defs["ImVector_ImVector"][1]["ov_cimguiname"] = "ImVector_ImVectorNil" defs["ImVector_ImVector"][1]["signature"] = "()" defs["ImVector_ImVector"][1]["stname"] = "ImVector" defs["ImVector_ImVector"][1]["templated"] = true @@ -4926,7 +4730,7 @@ defs["ImVector_back"][1]["call_args"] = "()" defs["ImVector_back"][1]["cimguiname"] = "ImVector_back" defs["ImVector_back"][1]["defaults"] = {} defs["ImVector_back"][1]["funcname"] = "back" -defs["ImVector_back"][1]["ov_cimguiname"] = "ImVector_back" +defs["ImVector_back"][1]["ov_cimguiname"] = "ImVector_backNil" defs["ImVector_back"][1]["ret"] = "T*" defs["ImVector_back"][1]["retref"] = "&" defs["ImVector_back"][1]["signature"] = "()" @@ -4963,7 +4767,7 @@ defs["ImVector_begin"][1]["call_args"] = "()" defs["ImVector_begin"][1]["cimguiname"] = "ImVector_begin" defs["ImVector_begin"][1]["defaults"] = {} defs["ImVector_begin"][1]["funcname"] = "begin" -defs["ImVector_begin"][1]["ov_cimguiname"] = "ImVector_begin" +defs["ImVector_begin"][1]["ov_cimguiname"] = "ImVector_beginNil" defs["ImVector_begin"][1]["ret"] = "T*" defs["ImVector_begin"][1]["signature"] = "()" defs["ImVector_begin"][1]["stname"] = "ImVector" @@ -5090,7 +4894,7 @@ defs["ImVector_end"][1]["call_args"] = "()" defs["ImVector_end"][1]["cimguiname"] = "ImVector_end" defs["ImVector_end"][1]["defaults"] = {} defs["ImVector_end"][1]["funcname"] = "end" -defs["ImVector_end"][1]["ov_cimguiname"] = "ImVector_end" +defs["ImVector_end"][1]["ov_cimguiname"] = "ImVector_endNil" defs["ImVector_end"][1]["ret"] = "T*" defs["ImVector_end"][1]["signature"] = "()" defs["ImVector_end"][1]["stname"] = "ImVector" @@ -5128,7 +4932,7 @@ defs["ImVector_erase"][1]["call_args"] = "(it)" defs["ImVector_erase"][1]["cimguiname"] = "ImVector_erase" defs["ImVector_erase"][1]["defaults"] = {} defs["ImVector_erase"][1]["funcname"] = "erase" -defs["ImVector_erase"][1]["ov_cimguiname"] = "ImVector_erase" +defs["ImVector_erase"][1]["ov_cimguiname"] = "ImVector_eraseNil" defs["ImVector_erase"][1]["ret"] = "T*" defs["ImVector_erase"][1]["signature"] = "(const T*)" defs["ImVector_erase"][1]["stname"] = "ImVector" @@ -5193,7 +4997,7 @@ defs["ImVector_find"][1]["call_args"] = "(v)" defs["ImVector_find"][1]["cimguiname"] = "ImVector_find" defs["ImVector_find"][1]["defaults"] = {} defs["ImVector_find"][1]["funcname"] = "find" -defs["ImVector_find"][1]["ov_cimguiname"] = "ImVector_find" +defs["ImVector_find"][1]["ov_cimguiname"] = "ImVector_findNil" defs["ImVector_find"][1]["ret"] = "T*" defs["ImVector_find"][1]["signature"] = "(const T)" defs["ImVector_find"][1]["stname"] = "ImVector" @@ -5273,7 +5077,7 @@ defs["ImVector_front"][1]["call_args"] = "()" defs["ImVector_front"][1]["cimguiname"] = "ImVector_front" defs["ImVector_front"][1]["defaults"] = {} defs["ImVector_front"][1]["funcname"] = "front" -defs["ImVector_front"][1]["ov_cimguiname"] = "ImVector_front" +defs["ImVector_front"][1]["ov_cimguiname"] = "ImVector_frontNil" defs["ImVector_front"][1]["ret"] = "T*" defs["ImVector_front"][1]["retref"] = "&" defs["ImVector_front"][1]["signature"] = "()" @@ -5439,7 +5243,7 @@ defs["ImVector_resize"][1]["call_args"] = "(new_size)" defs["ImVector_resize"][1]["cimguiname"] = "ImVector_resize" defs["ImVector_resize"][1]["defaults"] = {} defs["ImVector_resize"][1]["funcname"] = "resize" -defs["ImVector_resize"][1]["ov_cimguiname"] = "ImVector_resize" +defs["ImVector_resize"][1]["ov_cimguiname"] = "ImVector_resizeNil" defs["ImVector_resize"][1]["ret"] = "void" defs["ImVector_resize"][1]["signature"] = "(int)" defs["ImVector_resize"][1]["stname"] = "ImVector" @@ -5655,7 +5459,7 @@ defs["igBeginChild"][1]["defaults"]["flags"] = "0" defs["igBeginChild"][1]["defaults"]["size"] = "ImVec2(0,0)" defs["igBeginChild"][1]["funcname"] = "BeginChild" defs["igBeginChild"][1]["namespace"] = "ImGui" -defs["igBeginChild"][1]["ov_cimguiname"] = "igBeginChild" +defs["igBeginChild"][1]["ov_cimguiname"] = "igBeginChildStr" defs["igBeginChild"][1]["ret"] = "bool" defs["igBeginChild"][1]["signature"] = "(const char*,const ImVec2,bool,ImGuiWindowFlags)" defs["igBeginChild"][1]["stname"] = "" @@ -6148,20 +5952,23 @@ defs["igCalcListClipping"][1]["stname"] = "" defs["igCalcListClipping"]["(int,float,int*,int*)"] = defs["igCalcListClipping"][1] defs["igCalcTextSize"] = {} defs["igCalcTextSize"][1] = {} -defs["igCalcTextSize"][1]["args"] = "(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)" +defs["igCalcTextSize"][1]["args"] = "(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)" defs["igCalcTextSize"][1]["argsT"] = {} defs["igCalcTextSize"][1]["argsT"][1] = {} -defs["igCalcTextSize"][1]["argsT"][1]["name"] = "text" -defs["igCalcTextSize"][1]["argsT"][1]["type"] = "const char*" +defs["igCalcTextSize"][1]["argsT"][1]["name"] = "pOut" +defs["igCalcTextSize"][1]["argsT"][1]["type"] = "ImVec2*" defs["igCalcTextSize"][1]["argsT"][2] = {} -defs["igCalcTextSize"][1]["argsT"][2]["name"] = "text_end" +defs["igCalcTextSize"][1]["argsT"][2]["name"] = "text" defs["igCalcTextSize"][1]["argsT"][2]["type"] = "const char*" defs["igCalcTextSize"][1]["argsT"][3] = {} -defs["igCalcTextSize"][1]["argsT"][3]["name"] = "hide_text_after_double_hash" -defs["igCalcTextSize"][1]["argsT"][3]["type"] = "bool" +defs["igCalcTextSize"][1]["argsT"][3]["name"] = "text_end" +defs["igCalcTextSize"][1]["argsT"][3]["type"] = "const char*" defs["igCalcTextSize"][1]["argsT"][4] = {} -defs["igCalcTextSize"][1]["argsT"][4]["name"] = "wrap_width" -defs["igCalcTextSize"][1]["argsT"][4]["type"] = "float" +defs["igCalcTextSize"][1]["argsT"][4]["name"] = "hide_text_after_double_hash" +defs["igCalcTextSize"][1]["argsT"][4]["type"] = "bool" +defs["igCalcTextSize"][1]["argsT"][5] = {} +defs["igCalcTextSize"][1]["argsT"][5]["name"] = "wrap_width" +defs["igCalcTextSize"][1]["argsT"][5]["type"] = "float" defs["igCalcTextSize"][1]["argsoriginal"] = "(const char* text,const char* text_end=((void*)0),bool hide_text_after_double_hash=false,float wrap_width=-1.0f)" defs["igCalcTextSize"][1]["call_args"] = "(text,text_end,hide_text_after_double_hash,wrap_width)" defs["igCalcTextSize"][1]["cimguiname"] = "igCalcTextSize" @@ -6171,69 +5978,12 @@ defs["igCalcTextSize"][1]["defaults"]["text_end"] = "((void*)0)" defs["igCalcTextSize"][1]["defaults"]["wrap_width"] = "-1.0f" defs["igCalcTextSize"][1]["funcname"] = "CalcTextSize" defs["igCalcTextSize"][1]["namespace"] = "ImGui" +defs["igCalcTextSize"][1]["nonUDT"] = 1 defs["igCalcTextSize"][1]["ov_cimguiname"] = "igCalcTextSize" -defs["igCalcTextSize"][1]["ret"] = "ImVec2" +defs["igCalcTextSize"][1]["ret"] = "void" defs["igCalcTextSize"][1]["signature"] = "(const char*,const char*,bool,float)" defs["igCalcTextSize"][1]["stname"] = "" -defs["igCalcTextSize"][2] = {} -defs["igCalcTextSize"][2]["args"] = "(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)" -defs["igCalcTextSize"][2]["argsT"] = {} -defs["igCalcTextSize"][2]["argsT"][1] = {} -defs["igCalcTextSize"][2]["argsT"][1]["name"] = "pOut" -defs["igCalcTextSize"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igCalcTextSize"][2]["argsT"][2] = {} -defs["igCalcTextSize"][2]["argsT"][2]["name"] = "text" -defs["igCalcTextSize"][2]["argsT"][2]["type"] = "const char*" -defs["igCalcTextSize"][2]["argsT"][3] = {} -defs["igCalcTextSize"][2]["argsT"][3]["name"] = "text_end" -defs["igCalcTextSize"][2]["argsT"][3]["type"] = "const char*" -defs["igCalcTextSize"][2]["argsT"][4] = {} -defs["igCalcTextSize"][2]["argsT"][4]["name"] = "hide_text_after_double_hash" -defs["igCalcTextSize"][2]["argsT"][4]["type"] = "bool" -defs["igCalcTextSize"][2]["argsT"][5] = {} -defs["igCalcTextSize"][2]["argsT"][5]["name"] = "wrap_width" -defs["igCalcTextSize"][2]["argsT"][5]["type"] = "float" -defs["igCalcTextSize"][2]["argsoriginal"] = "(const char* text,const char* text_end=((void*)0),bool hide_text_after_double_hash=false,float wrap_width=-1.0f)" -defs["igCalcTextSize"][2]["call_args"] = "(text,text_end,hide_text_after_double_hash,wrap_width)" -defs["igCalcTextSize"][2]["cimguiname"] = "igCalcTextSize" -defs["igCalcTextSize"][2]["defaults"] = defs["igCalcTextSize"][1]["defaults"] -defs["igCalcTextSize"][2]["funcname"] = "CalcTextSize" -defs["igCalcTextSize"][2]["namespace"] = "ImGui" -defs["igCalcTextSize"][2]["nonUDT"] = 1 -defs["igCalcTextSize"][2]["ov_cimguiname"] = "igCalcTextSize_nonUDT" -defs["igCalcTextSize"][2]["ret"] = "void" -defs["igCalcTextSize"][2]["signature"] = "(const char*,const char*,bool,float)" -defs["igCalcTextSize"][2]["stname"] = "" -defs["igCalcTextSize"][3] = {} -defs["igCalcTextSize"][3]["args"] = "(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)" -defs["igCalcTextSize"][3]["argsT"] = {} -defs["igCalcTextSize"][3]["argsT"][1] = {} -defs["igCalcTextSize"][3]["argsT"][1]["name"] = "text" -defs["igCalcTextSize"][3]["argsT"][1]["type"] = "const char*" -defs["igCalcTextSize"][3]["argsT"][2] = {} -defs["igCalcTextSize"][3]["argsT"][2]["name"] = "text_end" -defs["igCalcTextSize"][3]["argsT"][2]["type"] = "const char*" -defs["igCalcTextSize"][3]["argsT"][3] = {} -defs["igCalcTextSize"][3]["argsT"][3]["name"] = "hide_text_after_double_hash" -defs["igCalcTextSize"][3]["argsT"][3]["type"] = "bool" -defs["igCalcTextSize"][3]["argsT"][4] = {} -defs["igCalcTextSize"][3]["argsT"][4]["name"] = "wrap_width" -defs["igCalcTextSize"][3]["argsT"][4]["type"] = "float" -defs["igCalcTextSize"][3]["argsoriginal"] = "(const char* text,const char* text_end=((void*)0),bool hide_text_after_double_hash=false,float wrap_width=-1.0f)" -defs["igCalcTextSize"][3]["call_args"] = "(text,text_end,hide_text_after_double_hash,wrap_width)" -defs["igCalcTextSize"][3]["cimguiname"] = "igCalcTextSize" -defs["igCalcTextSize"][3]["defaults"] = defs["igCalcTextSize"][1]["defaults"] -defs["igCalcTextSize"][3]["funcname"] = "CalcTextSize" -defs["igCalcTextSize"][3]["namespace"] = "ImGui" -defs["igCalcTextSize"][3]["nonUDT"] = 2 -defs["igCalcTextSize"][3]["ov_cimguiname"] = "igCalcTextSize_nonUDT2" -defs["igCalcTextSize"][3]["ret"] = "ImVec2_Simple" -defs["igCalcTextSize"][3]["retorig"] = "ImVec2" -defs["igCalcTextSize"][3]["signature"] = "(const char*,const char*,bool,float)" -defs["igCalcTextSize"][3]["stname"] = "" defs["igCalcTextSize"]["(const char*,const char*,bool,float)"] = defs["igCalcTextSize"][1] -defs["igCalcTextSize"]["(const char*,const char*,bool,float)nonUDT"] = defs["igCalcTextSize"][2] -defs["igCalcTextSize"]["(const char*,const char*,bool,float)nonUDT2"] = defs["igCalcTextSize"][3] defs["igCaptureKeyboardFromApp"] = {} defs["igCaptureKeyboardFromApp"][1] = {} defs["igCaptureKeyboardFromApp"][1]["args"] = "(bool want_capture_keyboard_value)" @@ -6349,7 +6099,7 @@ defs["igCollapsingHeader"][1]["defaults"] = {} defs["igCollapsingHeader"][1]["defaults"]["flags"] = "0" defs["igCollapsingHeader"][1]["funcname"] = "CollapsingHeader" defs["igCollapsingHeader"][1]["namespace"] = "ImGui" -defs["igCollapsingHeader"][1]["ov_cimguiname"] = "igCollapsingHeader" +defs["igCollapsingHeader"][1]["ov_cimguiname"] = "igCollapsingHeaderTreeNodeFlags" defs["igCollapsingHeader"][1]["ret"] = "bool" defs["igCollapsingHeader"][1]["signature"] = "(const char*,ImGuiTreeNodeFlags)" defs["igCollapsingHeader"][1]["stname"] = "" @@ -6495,62 +6245,26 @@ defs["igColorConvertRGBtoHSV"][1]["stname"] = "" defs["igColorConvertRGBtoHSV"]["(float,float,float,float,float,float)"] = defs["igColorConvertRGBtoHSV"][1] defs["igColorConvertU32ToFloat4"] = {} defs["igColorConvertU32ToFloat4"][1] = {} -defs["igColorConvertU32ToFloat4"][1]["args"] = "(ImU32 in)" +defs["igColorConvertU32ToFloat4"][1]["args"] = "(ImVec4 *pOut,ImU32 in)" defs["igColorConvertU32ToFloat4"][1]["argsT"] = {} defs["igColorConvertU32ToFloat4"][1]["argsT"][1] = {} -defs["igColorConvertU32ToFloat4"][1]["argsT"][1]["name"] = "in" -defs["igColorConvertU32ToFloat4"][1]["argsT"][1]["type"] = "ImU32" +defs["igColorConvertU32ToFloat4"][1]["argsT"][1]["name"] = "pOut" +defs["igColorConvertU32ToFloat4"][1]["argsT"][1]["type"] = "ImVec4*" +defs["igColorConvertU32ToFloat4"][1]["argsT"][2] = {} +defs["igColorConvertU32ToFloat4"][1]["argsT"][2]["name"] = "in" +defs["igColorConvertU32ToFloat4"][1]["argsT"][2]["type"] = "ImU32" defs["igColorConvertU32ToFloat4"][1]["argsoriginal"] = "(ImU32 in)" defs["igColorConvertU32ToFloat4"][1]["call_args"] = "(in)" defs["igColorConvertU32ToFloat4"][1]["cimguiname"] = "igColorConvertU32ToFloat4" defs["igColorConvertU32ToFloat4"][1]["defaults"] = {} defs["igColorConvertU32ToFloat4"][1]["funcname"] = "ColorConvertU32ToFloat4" defs["igColorConvertU32ToFloat4"][1]["namespace"] = "ImGui" +defs["igColorConvertU32ToFloat4"][1]["nonUDT"] = 1 defs["igColorConvertU32ToFloat4"][1]["ov_cimguiname"] = "igColorConvertU32ToFloat4" -defs["igColorConvertU32ToFloat4"][1]["ret"] = "ImVec4" +defs["igColorConvertU32ToFloat4"][1]["ret"] = "void" defs["igColorConvertU32ToFloat4"][1]["signature"] = "(ImU32)" defs["igColorConvertU32ToFloat4"][1]["stname"] = "" -defs["igColorConvertU32ToFloat4"][2] = {} -defs["igColorConvertU32ToFloat4"][2]["args"] = "(ImVec4 *pOut,ImU32 in)" -defs["igColorConvertU32ToFloat4"][2]["argsT"] = {} -defs["igColorConvertU32ToFloat4"][2]["argsT"][1] = {} -defs["igColorConvertU32ToFloat4"][2]["argsT"][1]["name"] = "pOut" -defs["igColorConvertU32ToFloat4"][2]["argsT"][1]["type"] = "ImVec4*" -defs["igColorConvertU32ToFloat4"][2]["argsT"][2] = {} -defs["igColorConvertU32ToFloat4"][2]["argsT"][2]["name"] = "in" -defs["igColorConvertU32ToFloat4"][2]["argsT"][2]["type"] = "ImU32" -defs["igColorConvertU32ToFloat4"][2]["argsoriginal"] = "(ImU32 in)" -defs["igColorConvertU32ToFloat4"][2]["call_args"] = "(in)" -defs["igColorConvertU32ToFloat4"][2]["cimguiname"] = "igColorConvertU32ToFloat4" -defs["igColorConvertU32ToFloat4"][2]["defaults"] = defs["igColorConvertU32ToFloat4"][1]["defaults"] -defs["igColorConvertU32ToFloat4"][2]["funcname"] = "ColorConvertU32ToFloat4" -defs["igColorConvertU32ToFloat4"][2]["namespace"] = "ImGui" -defs["igColorConvertU32ToFloat4"][2]["nonUDT"] = 1 -defs["igColorConvertU32ToFloat4"][2]["ov_cimguiname"] = "igColorConvertU32ToFloat4_nonUDT" -defs["igColorConvertU32ToFloat4"][2]["ret"] = "void" -defs["igColorConvertU32ToFloat4"][2]["signature"] = "(ImU32)" -defs["igColorConvertU32ToFloat4"][2]["stname"] = "" -defs["igColorConvertU32ToFloat4"][3] = {} -defs["igColorConvertU32ToFloat4"][3]["args"] = "(ImU32 in)" -defs["igColorConvertU32ToFloat4"][3]["argsT"] = {} -defs["igColorConvertU32ToFloat4"][3]["argsT"][1] = {} -defs["igColorConvertU32ToFloat4"][3]["argsT"][1]["name"] = "in" -defs["igColorConvertU32ToFloat4"][3]["argsT"][1]["type"] = "ImU32" -defs["igColorConvertU32ToFloat4"][3]["argsoriginal"] = "(ImU32 in)" -defs["igColorConvertU32ToFloat4"][3]["call_args"] = "(in)" -defs["igColorConvertU32ToFloat4"][3]["cimguiname"] = "igColorConvertU32ToFloat4" -defs["igColorConvertU32ToFloat4"][3]["defaults"] = defs["igColorConvertU32ToFloat4"][1]["defaults"] -defs["igColorConvertU32ToFloat4"][3]["funcname"] = "ColorConvertU32ToFloat4" -defs["igColorConvertU32ToFloat4"][3]["namespace"] = "ImGui" -defs["igColorConvertU32ToFloat4"][3]["nonUDT"] = 2 -defs["igColorConvertU32ToFloat4"][3]["ov_cimguiname"] = "igColorConvertU32ToFloat4_nonUDT2" -defs["igColorConvertU32ToFloat4"][3]["ret"] = "ImVec4_Simple" -defs["igColorConvertU32ToFloat4"][3]["retorig"] = "ImVec4" -defs["igColorConvertU32ToFloat4"][3]["signature"] = "(ImU32)" -defs["igColorConvertU32ToFloat4"][3]["stname"] = "" defs["igColorConvertU32ToFloat4"]["(ImU32)"] = defs["igColorConvertU32ToFloat4"][1] -defs["igColorConvertU32ToFloat4"]["(ImU32)nonUDT"] = defs["igColorConvertU32ToFloat4"][2] -defs["igColorConvertU32ToFloat4"]["(ImU32)nonUDT2"] = defs["igColorConvertU32ToFloat4"][3] defs["igColorEdit3"] = {} defs["igColorEdit3"][1] = {} defs["igColorEdit3"][1]["args"] = "(const char* label,float col[3],ImGuiColorEditFlags flags)" @@ -6708,7 +6422,7 @@ defs["igCombo"][1]["defaults"] = {} defs["igCombo"][1]["defaults"]["popup_max_height_in_items"] = "-1" defs["igCombo"][1]["funcname"] = "Combo" defs["igCombo"][1]["namespace"] = "ImGui" -defs["igCombo"][1]["ov_cimguiname"] = "igCombo" +defs["igCombo"][1]["ov_cimguiname"] = "igComboStr_arr" defs["igCombo"][1]["ret"] = "bool" defs["igCombo"][1]["signature"] = "(const char*,int*,const char* const[],int,int)" defs["igCombo"][1]["stname"] = "" @@ -7632,7 +7346,7 @@ defs["igGetColorU32"][1]["defaults"] = {} defs["igGetColorU32"][1]["defaults"]["alpha_mul"] = "1.0f" defs["igGetColorU32"][1]["funcname"] = "GetColorU32" defs["igGetColorU32"][1]["namespace"] = "ImGui" -defs["igGetColorU32"][1]["ov_cimguiname"] = "igGetColorU32" +defs["igGetColorU32"][1]["ov_cimguiname"] = "igGetColorU32Col" defs["igGetColorU32"][1]["ret"] = "ImU32" defs["igGetColorU32"][1]["signature"] = "(ImGuiCol,float)" defs["igGetColorU32"][1]["stname"] = "" @@ -7741,102 +7455,42 @@ defs["igGetColumnsCount"][1]["stname"] = "" defs["igGetColumnsCount"]["()"] = defs["igGetColumnsCount"][1] defs["igGetContentRegionAvail"] = {} defs["igGetContentRegionAvail"][1] = {} -defs["igGetContentRegionAvail"][1]["args"] = "()" +defs["igGetContentRegionAvail"][1]["args"] = "(ImVec2 *pOut)" defs["igGetContentRegionAvail"][1]["argsT"] = {} +defs["igGetContentRegionAvail"][1]["argsT"][1] = {} +defs["igGetContentRegionAvail"][1]["argsT"][1]["name"] = "pOut" +defs["igGetContentRegionAvail"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetContentRegionAvail"][1]["argsoriginal"] = "()" defs["igGetContentRegionAvail"][1]["call_args"] = "()" defs["igGetContentRegionAvail"][1]["cimguiname"] = "igGetContentRegionAvail" defs["igGetContentRegionAvail"][1]["defaults"] = {} defs["igGetContentRegionAvail"][1]["funcname"] = "GetContentRegionAvail" defs["igGetContentRegionAvail"][1]["namespace"] = "ImGui" +defs["igGetContentRegionAvail"][1]["nonUDT"] = 1 defs["igGetContentRegionAvail"][1]["ov_cimguiname"] = "igGetContentRegionAvail" -defs["igGetContentRegionAvail"][1]["ret"] = "ImVec2" +defs["igGetContentRegionAvail"][1]["ret"] = "void" defs["igGetContentRegionAvail"][1]["signature"] = "()" defs["igGetContentRegionAvail"][1]["stname"] = "" -defs["igGetContentRegionAvail"][2] = {} -defs["igGetContentRegionAvail"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetContentRegionAvail"][2]["argsT"] = {} -defs["igGetContentRegionAvail"][2]["argsT"][1] = {} -defs["igGetContentRegionAvail"][2]["argsT"][1]["name"] = "pOut" -defs["igGetContentRegionAvail"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetContentRegionAvail"][2]["argsoriginal"] = "()" -defs["igGetContentRegionAvail"][2]["call_args"] = "()" -defs["igGetContentRegionAvail"][2]["cimguiname"] = "igGetContentRegionAvail" -defs["igGetContentRegionAvail"][2]["defaults"] = defs["igGetContentRegionAvail"][1]["defaults"] -defs["igGetContentRegionAvail"][2]["funcname"] = "GetContentRegionAvail" -defs["igGetContentRegionAvail"][2]["namespace"] = "ImGui" -defs["igGetContentRegionAvail"][2]["nonUDT"] = 1 -defs["igGetContentRegionAvail"][2]["ov_cimguiname"] = "igGetContentRegionAvail_nonUDT" -defs["igGetContentRegionAvail"][2]["ret"] = "void" -defs["igGetContentRegionAvail"][2]["signature"] = "()" -defs["igGetContentRegionAvail"][2]["stname"] = "" -defs["igGetContentRegionAvail"][3] = {} -defs["igGetContentRegionAvail"][3]["args"] = "()" -defs["igGetContentRegionAvail"][3]["argsT"] = {} -defs["igGetContentRegionAvail"][3]["argsoriginal"] = "()" -defs["igGetContentRegionAvail"][3]["call_args"] = "()" -defs["igGetContentRegionAvail"][3]["cimguiname"] = "igGetContentRegionAvail" -defs["igGetContentRegionAvail"][3]["defaults"] = defs["igGetContentRegionAvail"][1]["defaults"] -defs["igGetContentRegionAvail"][3]["funcname"] = "GetContentRegionAvail" -defs["igGetContentRegionAvail"][3]["namespace"] = "ImGui" -defs["igGetContentRegionAvail"][3]["nonUDT"] = 2 -defs["igGetContentRegionAvail"][3]["ov_cimguiname"] = "igGetContentRegionAvail_nonUDT2" -defs["igGetContentRegionAvail"][3]["ret"] = "ImVec2_Simple" -defs["igGetContentRegionAvail"][3]["retorig"] = "ImVec2" -defs["igGetContentRegionAvail"][3]["signature"] = "()" -defs["igGetContentRegionAvail"][3]["stname"] = "" defs["igGetContentRegionAvail"]["()"] = defs["igGetContentRegionAvail"][1] -defs["igGetContentRegionAvail"]["()nonUDT"] = defs["igGetContentRegionAvail"][2] -defs["igGetContentRegionAvail"]["()nonUDT2"] = defs["igGetContentRegionAvail"][3] defs["igGetContentRegionMax"] = {} defs["igGetContentRegionMax"][1] = {} -defs["igGetContentRegionMax"][1]["args"] = "()" +defs["igGetContentRegionMax"][1]["args"] = "(ImVec2 *pOut)" defs["igGetContentRegionMax"][1]["argsT"] = {} +defs["igGetContentRegionMax"][1]["argsT"][1] = {} +defs["igGetContentRegionMax"][1]["argsT"][1]["name"] = "pOut" +defs["igGetContentRegionMax"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetContentRegionMax"][1]["argsoriginal"] = "()" defs["igGetContentRegionMax"][1]["call_args"] = "()" defs["igGetContentRegionMax"][1]["cimguiname"] = "igGetContentRegionMax" defs["igGetContentRegionMax"][1]["defaults"] = {} defs["igGetContentRegionMax"][1]["funcname"] = "GetContentRegionMax" defs["igGetContentRegionMax"][1]["namespace"] = "ImGui" +defs["igGetContentRegionMax"][1]["nonUDT"] = 1 defs["igGetContentRegionMax"][1]["ov_cimguiname"] = "igGetContentRegionMax" -defs["igGetContentRegionMax"][1]["ret"] = "ImVec2" +defs["igGetContentRegionMax"][1]["ret"] = "void" defs["igGetContentRegionMax"][1]["signature"] = "()" defs["igGetContentRegionMax"][1]["stname"] = "" -defs["igGetContentRegionMax"][2] = {} -defs["igGetContentRegionMax"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetContentRegionMax"][2]["argsT"] = {} -defs["igGetContentRegionMax"][2]["argsT"][1] = {} -defs["igGetContentRegionMax"][2]["argsT"][1]["name"] = "pOut" -defs["igGetContentRegionMax"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetContentRegionMax"][2]["argsoriginal"] = "()" -defs["igGetContentRegionMax"][2]["call_args"] = "()" -defs["igGetContentRegionMax"][2]["cimguiname"] = "igGetContentRegionMax" -defs["igGetContentRegionMax"][2]["defaults"] = defs["igGetContentRegionMax"][1]["defaults"] -defs["igGetContentRegionMax"][2]["funcname"] = "GetContentRegionMax" -defs["igGetContentRegionMax"][2]["namespace"] = "ImGui" -defs["igGetContentRegionMax"][2]["nonUDT"] = 1 -defs["igGetContentRegionMax"][2]["ov_cimguiname"] = "igGetContentRegionMax_nonUDT" -defs["igGetContentRegionMax"][2]["ret"] = "void" -defs["igGetContentRegionMax"][2]["signature"] = "()" -defs["igGetContentRegionMax"][2]["stname"] = "" -defs["igGetContentRegionMax"][3] = {} -defs["igGetContentRegionMax"][3]["args"] = "()" -defs["igGetContentRegionMax"][3]["argsT"] = {} -defs["igGetContentRegionMax"][3]["argsoriginal"] = "()" -defs["igGetContentRegionMax"][3]["call_args"] = "()" -defs["igGetContentRegionMax"][3]["cimguiname"] = "igGetContentRegionMax" -defs["igGetContentRegionMax"][3]["defaults"] = defs["igGetContentRegionMax"][1]["defaults"] -defs["igGetContentRegionMax"][3]["funcname"] = "GetContentRegionMax" -defs["igGetContentRegionMax"][3]["namespace"] = "ImGui" -defs["igGetContentRegionMax"][3]["nonUDT"] = 2 -defs["igGetContentRegionMax"][3]["ov_cimguiname"] = "igGetContentRegionMax_nonUDT2" -defs["igGetContentRegionMax"][3]["ret"] = "ImVec2_Simple" -defs["igGetContentRegionMax"][3]["retorig"] = "ImVec2" -defs["igGetContentRegionMax"][3]["signature"] = "()" -defs["igGetContentRegionMax"][3]["stname"] = "" defs["igGetContentRegionMax"]["()"] = defs["igGetContentRegionMax"][1] -defs["igGetContentRegionMax"]["()nonUDT"] = defs["igGetContentRegionMax"][2] -defs["igGetContentRegionMax"]["()nonUDT2"] = defs["igGetContentRegionMax"][3] defs["igGetCurrentContext"] = {} defs["igGetCurrentContext"][1] = {} defs["igGetCurrentContext"][1]["args"] = "()" @@ -7854,53 +7508,23 @@ defs["igGetCurrentContext"][1]["stname"] = "" defs["igGetCurrentContext"]["()"] = defs["igGetCurrentContext"][1] defs["igGetCursorPos"] = {} defs["igGetCursorPos"][1] = {} -defs["igGetCursorPos"][1]["args"] = "()" +defs["igGetCursorPos"][1]["args"] = "(ImVec2 *pOut)" defs["igGetCursorPos"][1]["argsT"] = {} +defs["igGetCursorPos"][1]["argsT"][1] = {} +defs["igGetCursorPos"][1]["argsT"][1]["name"] = "pOut" +defs["igGetCursorPos"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetCursorPos"][1]["argsoriginal"] = "()" defs["igGetCursorPos"][1]["call_args"] = "()" defs["igGetCursorPos"][1]["cimguiname"] = "igGetCursorPos" defs["igGetCursorPos"][1]["defaults"] = {} defs["igGetCursorPos"][1]["funcname"] = "GetCursorPos" defs["igGetCursorPos"][1]["namespace"] = "ImGui" +defs["igGetCursorPos"][1]["nonUDT"] = 1 defs["igGetCursorPos"][1]["ov_cimguiname"] = "igGetCursorPos" -defs["igGetCursorPos"][1]["ret"] = "ImVec2" +defs["igGetCursorPos"][1]["ret"] = "void" defs["igGetCursorPos"][1]["signature"] = "()" defs["igGetCursorPos"][1]["stname"] = "" -defs["igGetCursorPos"][2] = {} -defs["igGetCursorPos"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetCursorPos"][2]["argsT"] = {} -defs["igGetCursorPos"][2]["argsT"][1] = {} -defs["igGetCursorPos"][2]["argsT"][1]["name"] = "pOut" -defs["igGetCursorPos"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetCursorPos"][2]["argsoriginal"] = "()" -defs["igGetCursorPos"][2]["call_args"] = "()" -defs["igGetCursorPos"][2]["cimguiname"] = "igGetCursorPos" -defs["igGetCursorPos"][2]["defaults"] = defs["igGetCursorPos"][1]["defaults"] -defs["igGetCursorPos"][2]["funcname"] = "GetCursorPos" -defs["igGetCursorPos"][2]["namespace"] = "ImGui" -defs["igGetCursorPos"][2]["nonUDT"] = 1 -defs["igGetCursorPos"][2]["ov_cimguiname"] = "igGetCursorPos_nonUDT" -defs["igGetCursorPos"][2]["ret"] = "void" -defs["igGetCursorPos"][2]["signature"] = "()" -defs["igGetCursorPos"][2]["stname"] = "" -defs["igGetCursorPos"][3] = {} -defs["igGetCursorPos"][3]["args"] = "()" -defs["igGetCursorPos"][3]["argsT"] = {} -defs["igGetCursorPos"][3]["argsoriginal"] = "()" -defs["igGetCursorPos"][3]["call_args"] = "()" -defs["igGetCursorPos"][3]["cimguiname"] = "igGetCursorPos" -defs["igGetCursorPos"][3]["defaults"] = defs["igGetCursorPos"][1]["defaults"] -defs["igGetCursorPos"][3]["funcname"] = "GetCursorPos" -defs["igGetCursorPos"][3]["namespace"] = "ImGui" -defs["igGetCursorPos"][3]["nonUDT"] = 2 -defs["igGetCursorPos"][3]["ov_cimguiname"] = "igGetCursorPos_nonUDT2" -defs["igGetCursorPos"][3]["ret"] = "ImVec2_Simple" -defs["igGetCursorPos"][3]["retorig"] = "ImVec2" -defs["igGetCursorPos"][3]["signature"] = "()" -defs["igGetCursorPos"][3]["stname"] = "" defs["igGetCursorPos"]["()"] = defs["igGetCursorPos"][1] -defs["igGetCursorPos"]["()nonUDT"] = defs["igGetCursorPos"][2] -defs["igGetCursorPos"]["()nonUDT2"] = defs["igGetCursorPos"][3] defs["igGetCursorPosX"] = {} defs["igGetCursorPosX"][1] = {} defs["igGetCursorPosX"][1]["args"] = "()" @@ -7933,102 +7557,42 @@ defs["igGetCursorPosY"][1]["stname"] = "" defs["igGetCursorPosY"]["()"] = defs["igGetCursorPosY"][1] defs["igGetCursorScreenPos"] = {} defs["igGetCursorScreenPos"][1] = {} -defs["igGetCursorScreenPos"][1]["args"] = "()" +defs["igGetCursorScreenPos"][1]["args"] = "(ImVec2 *pOut)" defs["igGetCursorScreenPos"][1]["argsT"] = {} +defs["igGetCursorScreenPos"][1]["argsT"][1] = {} +defs["igGetCursorScreenPos"][1]["argsT"][1]["name"] = "pOut" +defs["igGetCursorScreenPos"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetCursorScreenPos"][1]["argsoriginal"] = "()" defs["igGetCursorScreenPos"][1]["call_args"] = "()" defs["igGetCursorScreenPos"][1]["cimguiname"] = "igGetCursorScreenPos" defs["igGetCursorScreenPos"][1]["defaults"] = {} defs["igGetCursorScreenPos"][1]["funcname"] = "GetCursorScreenPos" defs["igGetCursorScreenPos"][1]["namespace"] = "ImGui" +defs["igGetCursorScreenPos"][1]["nonUDT"] = 1 defs["igGetCursorScreenPos"][1]["ov_cimguiname"] = "igGetCursorScreenPos" -defs["igGetCursorScreenPos"][1]["ret"] = "ImVec2" +defs["igGetCursorScreenPos"][1]["ret"] = "void" defs["igGetCursorScreenPos"][1]["signature"] = "()" defs["igGetCursorScreenPos"][1]["stname"] = "" -defs["igGetCursorScreenPos"][2] = {} -defs["igGetCursorScreenPos"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetCursorScreenPos"][2]["argsT"] = {} -defs["igGetCursorScreenPos"][2]["argsT"][1] = {} -defs["igGetCursorScreenPos"][2]["argsT"][1]["name"] = "pOut" -defs["igGetCursorScreenPos"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetCursorScreenPos"][2]["argsoriginal"] = "()" -defs["igGetCursorScreenPos"][2]["call_args"] = "()" -defs["igGetCursorScreenPos"][2]["cimguiname"] = "igGetCursorScreenPos" -defs["igGetCursorScreenPos"][2]["defaults"] = defs["igGetCursorScreenPos"][1]["defaults"] -defs["igGetCursorScreenPos"][2]["funcname"] = "GetCursorScreenPos" -defs["igGetCursorScreenPos"][2]["namespace"] = "ImGui" -defs["igGetCursorScreenPos"][2]["nonUDT"] = 1 -defs["igGetCursorScreenPos"][2]["ov_cimguiname"] = "igGetCursorScreenPos_nonUDT" -defs["igGetCursorScreenPos"][2]["ret"] = "void" -defs["igGetCursorScreenPos"][2]["signature"] = "()" -defs["igGetCursorScreenPos"][2]["stname"] = "" -defs["igGetCursorScreenPos"][3] = {} -defs["igGetCursorScreenPos"][3]["args"] = "()" -defs["igGetCursorScreenPos"][3]["argsT"] = {} -defs["igGetCursorScreenPos"][3]["argsoriginal"] = "()" -defs["igGetCursorScreenPos"][3]["call_args"] = "()" -defs["igGetCursorScreenPos"][3]["cimguiname"] = "igGetCursorScreenPos" -defs["igGetCursorScreenPos"][3]["defaults"] = defs["igGetCursorScreenPos"][1]["defaults"] -defs["igGetCursorScreenPos"][3]["funcname"] = "GetCursorScreenPos" -defs["igGetCursorScreenPos"][3]["namespace"] = "ImGui" -defs["igGetCursorScreenPos"][3]["nonUDT"] = 2 -defs["igGetCursorScreenPos"][3]["ov_cimguiname"] = "igGetCursorScreenPos_nonUDT2" -defs["igGetCursorScreenPos"][3]["ret"] = "ImVec2_Simple" -defs["igGetCursorScreenPos"][3]["retorig"] = "ImVec2" -defs["igGetCursorScreenPos"][3]["signature"] = "()" -defs["igGetCursorScreenPos"][3]["stname"] = "" defs["igGetCursorScreenPos"]["()"] = defs["igGetCursorScreenPos"][1] -defs["igGetCursorScreenPos"]["()nonUDT"] = defs["igGetCursorScreenPos"][2] -defs["igGetCursorScreenPos"]["()nonUDT2"] = defs["igGetCursorScreenPos"][3] defs["igGetCursorStartPos"] = {} defs["igGetCursorStartPos"][1] = {} -defs["igGetCursorStartPos"][1]["args"] = "()" +defs["igGetCursorStartPos"][1]["args"] = "(ImVec2 *pOut)" defs["igGetCursorStartPos"][1]["argsT"] = {} +defs["igGetCursorStartPos"][1]["argsT"][1] = {} +defs["igGetCursorStartPos"][1]["argsT"][1]["name"] = "pOut" +defs["igGetCursorStartPos"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetCursorStartPos"][1]["argsoriginal"] = "()" defs["igGetCursorStartPos"][1]["call_args"] = "()" defs["igGetCursorStartPos"][1]["cimguiname"] = "igGetCursorStartPos" defs["igGetCursorStartPos"][1]["defaults"] = {} defs["igGetCursorStartPos"][1]["funcname"] = "GetCursorStartPos" defs["igGetCursorStartPos"][1]["namespace"] = "ImGui" +defs["igGetCursorStartPos"][1]["nonUDT"] = 1 defs["igGetCursorStartPos"][1]["ov_cimguiname"] = "igGetCursorStartPos" -defs["igGetCursorStartPos"][1]["ret"] = "ImVec2" +defs["igGetCursorStartPos"][1]["ret"] = "void" defs["igGetCursorStartPos"][1]["signature"] = "()" defs["igGetCursorStartPos"][1]["stname"] = "" -defs["igGetCursorStartPos"][2] = {} -defs["igGetCursorStartPos"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetCursorStartPos"][2]["argsT"] = {} -defs["igGetCursorStartPos"][2]["argsT"][1] = {} -defs["igGetCursorStartPos"][2]["argsT"][1]["name"] = "pOut" -defs["igGetCursorStartPos"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetCursorStartPos"][2]["argsoriginal"] = "()" -defs["igGetCursorStartPos"][2]["call_args"] = "()" -defs["igGetCursorStartPos"][2]["cimguiname"] = "igGetCursorStartPos" -defs["igGetCursorStartPos"][2]["defaults"] = defs["igGetCursorStartPos"][1]["defaults"] -defs["igGetCursorStartPos"][2]["funcname"] = "GetCursorStartPos" -defs["igGetCursorStartPos"][2]["namespace"] = "ImGui" -defs["igGetCursorStartPos"][2]["nonUDT"] = 1 -defs["igGetCursorStartPos"][2]["ov_cimguiname"] = "igGetCursorStartPos_nonUDT" -defs["igGetCursorStartPos"][2]["ret"] = "void" -defs["igGetCursorStartPos"][2]["signature"] = "()" -defs["igGetCursorStartPos"][2]["stname"] = "" -defs["igGetCursorStartPos"][3] = {} -defs["igGetCursorStartPos"][3]["args"] = "()" -defs["igGetCursorStartPos"][3]["argsT"] = {} -defs["igGetCursorStartPos"][3]["argsoriginal"] = "()" -defs["igGetCursorStartPos"][3]["call_args"] = "()" -defs["igGetCursorStartPos"][3]["cimguiname"] = "igGetCursorStartPos" -defs["igGetCursorStartPos"][3]["defaults"] = defs["igGetCursorStartPos"][1]["defaults"] -defs["igGetCursorStartPos"][3]["funcname"] = "GetCursorStartPos" -defs["igGetCursorStartPos"][3]["namespace"] = "ImGui" -defs["igGetCursorStartPos"][3]["nonUDT"] = 2 -defs["igGetCursorStartPos"][3]["ov_cimguiname"] = "igGetCursorStartPos_nonUDT2" -defs["igGetCursorStartPos"][3]["ret"] = "ImVec2_Simple" -defs["igGetCursorStartPos"][3]["retorig"] = "ImVec2" -defs["igGetCursorStartPos"][3]["signature"] = "()" -defs["igGetCursorStartPos"][3]["stname"] = "" defs["igGetCursorStartPos"]["()"] = defs["igGetCursorStartPos"][1] -defs["igGetCursorStartPos"]["()nonUDT"] = defs["igGetCursorStartPos"][2] -defs["igGetCursorStartPos"]["()nonUDT2"] = defs["igGetCursorStartPos"][3] defs["igGetDragDropPayload"] = {} defs["igGetDragDropPayload"][1] = {} defs["igGetDragDropPayload"][1]["args"] = "()" @@ -8106,53 +7670,23 @@ defs["igGetFontSize"][1]["stname"] = "" defs["igGetFontSize"]["()"] = defs["igGetFontSize"][1] defs["igGetFontTexUvWhitePixel"] = {} defs["igGetFontTexUvWhitePixel"][1] = {} -defs["igGetFontTexUvWhitePixel"][1]["args"] = "()" +defs["igGetFontTexUvWhitePixel"][1]["args"] = "(ImVec2 *pOut)" defs["igGetFontTexUvWhitePixel"][1]["argsT"] = {} +defs["igGetFontTexUvWhitePixel"][1]["argsT"][1] = {} +defs["igGetFontTexUvWhitePixel"][1]["argsT"][1]["name"] = "pOut" +defs["igGetFontTexUvWhitePixel"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetFontTexUvWhitePixel"][1]["argsoriginal"] = "()" defs["igGetFontTexUvWhitePixel"][1]["call_args"] = "()" defs["igGetFontTexUvWhitePixel"][1]["cimguiname"] = "igGetFontTexUvWhitePixel" defs["igGetFontTexUvWhitePixel"][1]["defaults"] = {} defs["igGetFontTexUvWhitePixel"][1]["funcname"] = "GetFontTexUvWhitePixel" defs["igGetFontTexUvWhitePixel"][1]["namespace"] = "ImGui" +defs["igGetFontTexUvWhitePixel"][1]["nonUDT"] = 1 defs["igGetFontTexUvWhitePixel"][1]["ov_cimguiname"] = "igGetFontTexUvWhitePixel" -defs["igGetFontTexUvWhitePixel"][1]["ret"] = "ImVec2" +defs["igGetFontTexUvWhitePixel"][1]["ret"] = "void" defs["igGetFontTexUvWhitePixel"][1]["signature"] = "()" defs["igGetFontTexUvWhitePixel"][1]["stname"] = "" -defs["igGetFontTexUvWhitePixel"][2] = {} -defs["igGetFontTexUvWhitePixel"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetFontTexUvWhitePixel"][2]["argsT"] = {} -defs["igGetFontTexUvWhitePixel"][2]["argsT"][1] = {} -defs["igGetFontTexUvWhitePixel"][2]["argsT"][1]["name"] = "pOut" -defs["igGetFontTexUvWhitePixel"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetFontTexUvWhitePixel"][2]["argsoriginal"] = "()" -defs["igGetFontTexUvWhitePixel"][2]["call_args"] = "()" -defs["igGetFontTexUvWhitePixel"][2]["cimguiname"] = "igGetFontTexUvWhitePixel" -defs["igGetFontTexUvWhitePixel"][2]["defaults"] = defs["igGetFontTexUvWhitePixel"][1]["defaults"] -defs["igGetFontTexUvWhitePixel"][2]["funcname"] = "GetFontTexUvWhitePixel" -defs["igGetFontTexUvWhitePixel"][2]["namespace"] = "ImGui" -defs["igGetFontTexUvWhitePixel"][2]["nonUDT"] = 1 -defs["igGetFontTexUvWhitePixel"][2]["ov_cimguiname"] = "igGetFontTexUvWhitePixel_nonUDT" -defs["igGetFontTexUvWhitePixel"][2]["ret"] = "void" -defs["igGetFontTexUvWhitePixel"][2]["signature"] = "()" -defs["igGetFontTexUvWhitePixel"][2]["stname"] = "" -defs["igGetFontTexUvWhitePixel"][3] = {} -defs["igGetFontTexUvWhitePixel"][3]["args"] = "()" -defs["igGetFontTexUvWhitePixel"][3]["argsT"] = {} -defs["igGetFontTexUvWhitePixel"][3]["argsoriginal"] = "()" -defs["igGetFontTexUvWhitePixel"][3]["call_args"] = "()" -defs["igGetFontTexUvWhitePixel"][3]["cimguiname"] = "igGetFontTexUvWhitePixel" -defs["igGetFontTexUvWhitePixel"][3]["defaults"] = defs["igGetFontTexUvWhitePixel"][1]["defaults"] -defs["igGetFontTexUvWhitePixel"][3]["funcname"] = "GetFontTexUvWhitePixel" -defs["igGetFontTexUvWhitePixel"][3]["namespace"] = "ImGui" -defs["igGetFontTexUvWhitePixel"][3]["nonUDT"] = 2 -defs["igGetFontTexUvWhitePixel"][3]["ov_cimguiname"] = "igGetFontTexUvWhitePixel_nonUDT2" -defs["igGetFontTexUvWhitePixel"][3]["ret"] = "ImVec2_Simple" -defs["igGetFontTexUvWhitePixel"][3]["retorig"] = "ImVec2" -defs["igGetFontTexUvWhitePixel"][3]["signature"] = "()" -defs["igGetFontTexUvWhitePixel"][3]["stname"] = "" defs["igGetFontTexUvWhitePixel"]["()"] = defs["igGetFontTexUvWhitePixel"][1] -defs["igGetFontTexUvWhitePixel"]["()nonUDT"] = defs["igGetFontTexUvWhitePixel"][2] -defs["igGetFontTexUvWhitePixel"]["()nonUDT2"] = defs["igGetFontTexUvWhitePixel"][3] defs["igGetForegroundDrawList"] = {} defs["igGetForegroundDrawList"][1] = {} defs["igGetForegroundDrawList"][1]["args"] = "()" @@ -8245,7 +7779,7 @@ defs["igGetID"][2]["cimguiname"] = "igGetID" defs["igGetID"][2]["defaults"] = {} defs["igGetID"][2]["funcname"] = "GetID" defs["igGetID"][2]["namespace"] = "ImGui" -defs["igGetID"][2]["ov_cimguiname"] = "igGetIDRange" +defs["igGetID"][2]["ov_cimguiname"] = "igGetIDStrStr" defs["igGetID"][2]["ret"] = "ImGuiID" defs["igGetID"][2]["signature"] = "(const char*,const char*)" defs["igGetID"][2]["stname"] = "" @@ -8286,151 +7820,61 @@ defs["igGetIO"][1]["stname"] = "" defs["igGetIO"]["()"] = defs["igGetIO"][1] defs["igGetItemRectMax"] = {} defs["igGetItemRectMax"][1] = {} -defs["igGetItemRectMax"][1]["args"] = "()" +defs["igGetItemRectMax"][1]["args"] = "(ImVec2 *pOut)" defs["igGetItemRectMax"][1]["argsT"] = {} +defs["igGetItemRectMax"][1]["argsT"][1] = {} +defs["igGetItemRectMax"][1]["argsT"][1]["name"] = "pOut" +defs["igGetItemRectMax"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetItemRectMax"][1]["argsoriginal"] = "()" defs["igGetItemRectMax"][1]["call_args"] = "()" defs["igGetItemRectMax"][1]["cimguiname"] = "igGetItemRectMax" defs["igGetItemRectMax"][1]["defaults"] = {} defs["igGetItemRectMax"][1]["funcname"] = "GetItemRectMax" defs["igGetItemRectMax"][1]["namespace"] = "ImGui" +defs["igGetItemRectMax"][1]["nonUDT"] = 1 defs["igGetItemRectMax"][1]["ov_cimguiname"] = "igGetItemRectMax" -defs["igGetItemRectMax"][1]["ret"] = "ImVec2" +defs["igGetItemRectMax"][1]["ret"] = "void" defs["igGetItemRectMax"][1]["signature"] = "()" defs["igGetItemRectMax"][1]["stname"] = "" -defs["igGetItemRectMax"][2] = {} -defs["igGetItemRectMax"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetItemRectMax"][2]["argsT"] = {} -defs["igGetItemRectMax"][2]["argsT"][1] = {} -defs["igGetItemRectMax"][2]["argsT"][1]["name"] = "pOut" -defs["igGetItemRectMax"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetItemRectMax"][2]["argsoriginal"] = "()" -defs["igGetItemRectMax"][2]["call_args"] = "()" -defs["igGetItemRectMax"][2]["cimguiname"] = "igGetItemRectMax" -defs["igGetItemRectMax"][2]["defaults"] = defs["igGetItemRectMax"][1]["defaults"] -defs["igGetItemRectMax"][2]["funcname"] = "GetItemRectMax" -defs["igGetItemRectMax"][2]["namespace"] = "ImGui" -defs["igGetItemRectMax"][2]["nonUDT"] = 1 -defs["igGetItemRectMax"][2]["ov_cimguiname"] = "igGetItemRectMax_nonUDT" -defs["igGetItemRectMax"][2]["ret"] = "void" -defs["igGetItemRectMax"][2]["signature"] = "()" -defs["igGetItemRectMax"][2]["stname"] = "" -defs["igGetItemRectMax"][3] = {} -defs["igGetItemRectMax"][3]["args"] = "()" -defs["igGetItemRectMax"][3]["argsT"] = {} -defs["igGetItemRectMax"][3]["argsoriginal"] = "()" -defs["igGetItemRectMax"][3]["call_args"] = "()" -defs["igGetItemRectMax"][3]["cimguiname"] = "igGetItemRectMax" -defs["igGetItemRectMax"][3]["defaults"] = defs["igGetItemRectMax"][1]["defaults"] -defs["igGetItemRectMax"][3]["funcname"] = "GetItemRectMax" -defs["igGetItemRectMax"][3]["namespace"] = "ImGui" -defs["igGetItemRectMax"][3]["nonUDT"] = 2 -defs["igGetItemRectMax"][3]["ov_cimguiname"] = "igGetItemRectMax_nonUDT2" -defs["igGetItemRectMax"][3]["ret"] = "ImVec2_Simple" -defs["igGetItemRectMax"][3]["retorig"] = "ImVec2" -defs["igGetItemRectMax"][3]["signature"] = "()" -defs["igGetItemRectMax"][3]["stname"] = "" defs["igGetItemRectMax"]["()"] = defs["igGetItemRectMax"][1] -defs["igGetItemRectMax"]["()nonUDT"] = defs["igGetItemRectMax"][2] -defs["igGetItemRectMax"]["()nonUDT2"] = defs["igGetItemRectMax"][3] defs["igGetItemRectMin"] = {} defs["igGetItemRectMin"][1] = {} -defs["igGetItemRectMin"][1]["args"] = "()" +defs["igGetItemRectMin"][1]["args"] = "(ImVec2 *pOut)" defs["igGetItemRectMin"][1]["argsT"] = {} +defs["igGetItemRectMin"][1]["argsT"][1] = {} +defs["igGetItemRectMin"][1]["argsT"][1]["name"] = "pOut" +defs["igGetItemRectMin"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetItemRectMin"][1]["argsoriginal"] = "()" defs["igGetItemRectMin"][1]["call_args"] = "()" defs["igGetItemRectMin"][1]["cimguiname"] = "igGetItemRectMin" defs["igGetItemRectMin"][1]["defaults"] = {} defs["igGetItemRectMin"][1]["funcname"] = "GetItemRectMin" defs["igGetItemRectMin"][1]["namespace"] = "ImGui" +defs["igGetItemRectMin"][1]["nonUDT"] = 1 defs["igGetItemRectMin"][1]["ov_cimguiname"] = "igGetItemRectMin" -defs["igGetItemRectMin"][1]["ret"] = "ImVec2" +defs["igGetItemRectMin"][1]["ret"] = "void" defs["igGetItemRectMin"][1]["signature"] = "()" defs["igGetItemRectMin"][1]["stname"] = "" -defs["igGetItemRectMin"][2] = {} -defs["igGetItemRectMin"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetItemRectMin"][2]["argsT"] = {} -defs["igGetItemRectMin"][2]["argsT"][1] = {} -defs["igGetItemRectMin"][2]["argsT"][1]["name"] = "pOut" -defs["igGetItemRectMin"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetItemRectMin"][2]["argsoriginal"] = "()" -defs["igGetItemRectMin"][2]["call_args"] = "()" -defs["igGetItemRectMin"][2]["cimguiname"] = "igGetItemRectMin" -defs["igGetItemRectMin"][2]["defaults"] = defs["igGetItemRectMin"][1]["defaults"] -defs["igGetItemRectMin"][2]["funcname"] = "GetItemRectMin" -defs["igGetItemRectMin"][2]["namespace"] = "ImGui" -defs["igGetItemRectMin"][2]["nonUDT"] = 1 -defs["igGetItemRectMin"][2]["ov_cimguiname"] = "igGetItemRectMin_nonUDT" -defs["igGetItemRectMin"][2]["ret"] = "void" -defs["igGetItemRectMin"][2]["signature"] = "()" -defs["igGetItemRectMin"][2]["stname"] = "" -defs["igGetItemRectMin"][3] = {} -defs["igGetItemRectMin"][3]["args"] = "()" -defs["igGetItemRectMin"][3]["argsT"] = {} -defs["igGetItemRectMin"][3]["argsoriginal"] = "()" -defs["igGetItemRectMin"][3]["call_args"] = "()" -defs["igGetItemRectMin"][3]["cimguiname"] = "igGetItemRectMin" -defs["igGetItemRectMin"][3]["defaults"] = defs["igGetItemRectMin"][1]["defaults"] -defs["igGetItemRectMin"][3]["funcname"] = "GetItemRectMin" -defs["igGetItemRectMin"][3]["namespace"] = "ImGui" -defs["igGetItemRectMin"][3]["nonUDT"] = 2 -defs["igGetItemRectMin"][3]["ov_cimguiname"] = "igGetItemRectMin_nonUDT2" -defs["igGetItemRectMin"][3]["ret"] = "ImVec2_Simple" -defs["igGetItemRectMin"][3]["retorig"] = "ImVec2" -defs["igGetItemRectMin"][3]["signature"] = "()" -defs["igGetItemRectMin"][3]["stname"] = "" defs["igGetItemRectMin"]["()"] = defs["igGetItemRectMin"][1] -defs["igGetItemRectMin"]["()nonUDT"] = defs["igGetItemRectMin"][2] -defs["igGetItemRectMin"]["()nonUDT2"] = defs["igGetItemRectMin"][3] defs["igGetItemRectSize"] = {} defs["igGetItemRectSize"][1] = {} -defs["igGetItemRectSize"][1]["args"] = "()" +defs["igGetItemRectSize"][1]["args"] = "(ImVec2 *pOut)" defs["igGetItemRectSize"][1]["argsT"] = {} +defs["igGetItemRectSize"][1]["argsT"][1] = {} +defs["igGetItemRectSize"][1]["argsT"][1]["name"] = "pOut" +defs["igGetItemRectSize"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetItemRectSize"][1]["argsoriginal"] = "()" defs["igGetItemRectSize"][1]["call_args"] = "()" defs["igGetItemRectSize"][1]["cimguiname"] = "igGetItemRectSize" defs["igGetItemRectSize"][1]["defaults"] = {} defs["igGetItemRectSize"][1]["funcname"] = "GetItemRectSize" defs["igGetItemRectSize"][1]["namespace"] = "ImGui" +defs["igGetItemRectSize"][1]["nonUDT"] = 1 defs["igGetItemRectSize"][1]["ov_cimguiname"] = "igGetItemRectSize" -defs["igGetItemRectSize"][1]["ret"] = "ImVec2" +defs["igGetItemRectSize"][1]["ret"] = "void" defs["igGetItemRectSize"][1]["signature"] = "()" defs["igGetItemRectSize"][1]["stname"] = "" -defs["igGetItemRectSize"][2] = {} -defs["igGetItemRectSize"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetItemRectSize"][2]["argsT"] = {} -defs["igGetItemRectSize"][2]["argsT"][1] = {} -defs["igGetItemRectSize"][2]["argsT"][1]["name"] = "pOut" -defs["igGetItemRectSize"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetItemRectSize"][2]["argsoriginal"] = "()" -defs["igGetItemRectSize"][2]["call_args"] = "()" -defs["igGetItemRectSize"][2]["cimguiname"] = "igGetItemRectSize" -defs["igGetItemRectSize"][2]["defaults"] = defs["igGetItemRectSize"][1]["defaults"] -defs["igGetItemRectSize"][2]["funcname"] = "GetItemRectSize" -defs["igGetItemRectSize"][2]["namespace"] = "ImGui" -defs["igGetItemRectSize"][2]["nonUDT"] = 1 -defs["igGetItemRectSize"][2]["ov_cimguiname"] = "igGetItemRectSize_nonUDT" -defs["igGetItemRectSize"][2]["ret"] = "void" -defs["igGetItemRectSize"][2]["signature"] = "()" -defs["igGetItemRectSize"][2]["stname"] = "" -defs["igGetItemRectSize"][3] = {} -defs["igGetItemRectSize"][3]["args"] = "()" -defs["igGetItemRectSize"][3]["argsT"] = {} -defs["igGetItemRectSize"][3]["argsoriginal"] = "()" -defs["igGetItemRectSize"][3]["call_args"] = "()" -defs["igGetItemRectSize"][3]["cimguiname"] = "igGetItemRectSize" -defs["igGetItemRectSize"][3]["defaults"] = defs["igGetItemRectSize"][1]["defaults"] -defs["igGetItemRectSize"][3]["funcname"] = "GetItemRectSize" -defs["igGetItemRectSize"][3]["namespace"] = "ImGui" -defs["igGetItemRectSize"][3]["nonUDT"] = 2 -defs["igGetItemRectSize"][3]["ov_cimguiname"] = "igGetItemRectSize_nonUDT2" -defs["igGetItemRectSize"][3]["ret"] = "ImVec2_Simple" -defs["igGetItemRectSize"][3]["retorig"] = "ImVec2" -defs["igGetItemRectSize"][3]["signature"] = "()" -defs["igGetItemRectSize"][3]["stname"] = "" defs["igGetItemRectSize"]["()"] = defs["igGetItemRectSize"][1] -defs["igGetItemRectSize"]["()nonUDT"] = defs["igGetItemRectSize"][2] -defs["igGetItemRectSize"]["()nonUDT2"] = defs["igGetItemRectSize"][3] defs["igGetKeyIndex"] = {} defs["igGetKeyIndex"][1] = {} defs["igGetKeyIndex"][1]["args"] = "(ImGuiKey imgui_key)" @@ -8490,14 +7934,17 @@ defs["igGetMouseCursor"][1]["stname"] = "" defs["igGetMouseCursor"]["()"] = defs["igGetMouseCursor"][1] defs["igGetMouseDragDelta"] = {} defs["igGetMouseDragDelta"][1] = {} -defs["igGetMouseDragDelta"][1]["args"] = "(ImGuiMouseButton button,float lock_threshold)" +defs["igGetMouseDragDelta"][1]["args"] = "(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold)" defs["igGetMouseDragDelta"][1]["argsT"] = {} defs["igGetMouseDragDelta"][1]["argsT"][1] = {} -defs["igGetMouseDragDelta"][1]["argsT"][1]["name"] = "button" -defs["igGetMouseDragDelta"][1]["argsT"][1]["type"] = "ImGuiMouseButton" +defs["igGetMouseDragDelta"][1]["argsT"][1]["name"] = "pOut" +defs["igGetMouseDragDelta"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetMouseDragDelta"][1]["argsT"][2] = {} -defs["igGetMouseDragDelta"][1]["argsT"][2]["name"] = "lock_threshold" -defs["igGetMouseDragDelta"][1]["argsT"][2]["type"] = "float" +defs["igGetMouseDragDelta"][1]["argsT"][2]["name"] = "button" +defs["igGetMouseDragDelta"][1]["argsT"][2]["type"] = "ImGuiMouseButton" +defs["igGetMouseDragDelta"][1]["argsT"][3] = {} +defs["igGetMouseDragDelta"][1]["argsT"][3]["name"] = "lock_threshold" +defs["igGetMouseDragDelta"][1]["argsT"][3]["type"] = "float" defs["igGetMouseDragDelta"][1]["argsoriginal"] = "(ImGuiMouseButton button=0,float lock_threshold=-1.0f)" defs["igGetMouseDragDelta"][1]["call_args"] = "(button,lock_threshold)" defs["igGetMouseDragDelta"][1]["cimguiname"] = "igGetMouseDragDelta" @@ -8506,155 +7953,50 @@ defs["igGetMouseDragDelta"][1]["defaults"]["button"] = "0" defs["igGetMouseDragDelta"][1]["defaults"]["lock_threshold"] = "-1.0f" defs["igGetMouseDragDelta"][1]["funcname"] = "GetMouseDragDelta" defs["igGetMouseDragDelta"][1]["namespace"] = "ImGui" +defs["igGetMouseDragDelta"][1]["nonUDT"] = 1 defs["igGetMouseDragDelta"][1]["ov_cimguiname"] = "igGetMouseDragDelta" -defs["igGetMouseDragDelta"][1]["ret"] = "ImVec2" +defs["igGetMouseDragDelta"][1]["ret"] = "void" defs["igGetMouseDragDelta"][1]["signature"] = "(ImGuiMouseButton,float)" defs["igGetMouseDragDelta"][1]["stname"] = "" -defs["igGetMouseDragDelta"][2] = {} -defs["igGetMouseDragDelta"][2]["args"] = "(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold)" -defs["igGetMouseDragDelta"][2]["argsT"] = {} -defs["igGetMouseDragDelta"][2]["argsT"][1] = {} -defs["igGetMouseDragDelta"][2]["argsT"][1]["name"] = "pOut" -defs["igGetMouseDragDelta"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetMouseDragDelta"][2]["argsT"][2] = {} -defs["igGetMouseDragDelta"][2]["argsT"][2]["name"] = "button" -defs["igGetMouseDragDelta"][2]["argsT"][2]["type"] = "ImGuiMouseButton" -defs["igGetMouseDragDelta"][2]["argsT"][3] = {} -defs["igGetMouseDragDelta"][2]["argsT"][3]["name"] = "lock_threshold" -defs["igGetMouseDragDelta"][2]["argsT"][3]["type"] = "float" -defs["igGetMouseDragDelta"][2]["argsoriginal"] = "(ImGuiMouseButton button=0,float lock_threshold=-1.0f)" -defs["igGetMouseDragDelta"][2]["call_args"] = "(button,lock_threshold)" -defs["igGetMouseDragDelta"][2]["cimguiname"] = "igGetMouseDragDelta" -defs["igGetMouseDragDelta"][2]["defaults"] = defs["igGetMouseDragDelta"][1]["defaults"] -defs["igGetMouseDragDelta"][2]["funcname"] = "GetMouseDragDelta" -defs["igGetMouseDragDelta"][2]["namespace"] = "ImGui" -defs["igGetMouseDragDelta"][2]["nonUDT"] = 1 -defs["igGetMouseDragDelta"][2]["ov_cimguiname"] = "igGetMouseDragDelta_nonUDT" -defs["igGetMouseDragDelta"][2]["ret"] = "void" -defs["igGetMouseDragDelta"][2]["signature"] = "(ImGuiMouseButton,float)" -defs["igGetMouseDragDelta"][2]["stname"] = "" -defs["igGetMouseDragDelta"][3] = {} -defs["igGetMouseDragDelta"][3]["args"] = "(ImGuiMouseButton button,float lock_threshold)" -defs["igGetMouseDragDelta"][3]["argsT"] = {} -defs["igGetMouseDragDelta"][3]["argsT"][1] = {} -defs["igGetMouseDragDelta"][3]["argsT"][1]["name"] = "button" -defs["igGetMouseDragDelta"][3]["argsT"][1]["type"] = "ImGuiMouseButton" -defs["igGetMouseDragDelta"][3]["argsT"][2] = {} -defs["igGetMouseDragDelta"][3]["argsT"][2]["name"] = "lock_threshold" -defs["igGetMouseDragDelta"][3]["argsT"][2]["type"] = "float" -defs["igGetMouseDragDelta"][3]["argsoriginal"] = "(ImGuiMouseButton button=0,float lock_threshold=-1.0f)" -defs["igGetMouseDragDelta"][3]["call_args"] = "(button,lock_threshold)" -defs["igGetMouseDragDelta"][3]["cimguiname"] = "igGetMouseDragDelta" -defs["igGetMouseDragDelta"][3]["defaults"] = defs["igGetMouseDragDelta"][1]["defaults"] -defs["igGetMouseDragDelta"][3]["funcname"] = "GetMouseDragDelta" -defs["igGetMouseDragDelta"][3]["namespace"] = "ImGui" -defs["igGetMouseDragDelta"][3]["nonUDT"] = 2 -defs["igGetMouseDragDelta"][3]["ov_cimguiname"] = "igGetMouseDragDelta_nonUDT2" -defs["igGetMouseDragDelta"][3]["ret"] = "ImVec2_Simple" -defs["igGetMouseDragDelta"][3]["retorig"] = "ImVec2" -defs["igGetMouseDragDelta"][3]["signature"] = "(ImGuiMouseButton,float)" -defs["igGetMouseDragDelta"][3]["stname"] = "" defs["igGetMouseDragDelta"]["(ImGuiMouseButton,float)"] = defs["igGetMouseDragDelta"][1] -defs["igGetMouseDragDelta"]["(ImGuiMouseButton,float)nonUDT"] = defs["igGetMouseDragDelta"][2] -defs["igGetMouseDragDelta"]["(ImGuiMouseButton,float)nonUDT2"] = defs["igGetMouseDragDelta"][3] defs["igGetMousePos"] = {} defs["igGetMousePos"][1] = {} -defs["igGetMousePos"][1]["args"] = "()" +defs["igGetMousePos"][1]["args"] = "(ImVec2 *pOut)" defs["igGetMousePos"][1]["argsT"] = {} +defs["igGetMousePos"][1]["argsT"][1] = {} +defs["igGetMousePos"][1]["argsT"][1]["name"] = "pOut" +defs["igGetMousePos"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetMousePos"][1]["argsoriginal"] = "()" defs["igGetMousePos"][1]["call_args"] = "()" defs["igGetMousePos"][1]["cimguiname"] = "igGetMousePos" defs["igGetMousePos"][1]["defaults"] = {} defs["igGetMousePos"][1]["funcname"] = "GetMousePos" defs["igGetMousePos"][1]["namespace"] = "ImGui" +defs["igGetMousePos"][1]["nonUDT"] = 1 defs["igGetMousePos"][1]["ov_cimguiname"] = "igGetMousePos" -defs["igGetMousePos"][1]["ret"] = "ImVec2" +defs["igGetMousePos"][1]["ret"] = "void" defs["igGetMousePos"][1]["signature"] = "()" defs["igGetMousePos"][1]["stname"] = "" -defs["igGetMousePos"][2] = {} -defs["igGetMousePos"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetMousePos"][2]["argsT"] = {} -defs["igGetMousePos"][2]["argsT"][1] = {} -defs["igGetMousePos"][2]["argsT"][1]["name"] = "pOut" -defs["igGetMousePos"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetMousePos"][2]["argsoriginal"] = "()" -defs["igGetMousePos"][2]["call_args"] = "()" -defs["igGetMousePos"][2]["cimguiname"] = "igGetMousePos" -defs["igGetMousePos"][2]["defaults"] = defs["igGetMousePos"][1]["defaults"] -defs["igGetMousePos"][2]["funcname"] = "GetMousePos" -defs["igGetMousePos"][2]["namespace"] = "ImGui" -defs["igGetMousePos"][2]["nonUDT"] = 1 -defs["igGetMousePos"][2]["ov_cimguiname"] = "igGetMousePos_nonUDT" -defs["igGetMousePos"][2]["ret"] = "void" -defs["igGetMousePos"][2]["signature"] = "()" -defs["igGetMousePos"][2]["stname"] = "" -defs["igGetMousePos"][3] = {} -defs["igGetMousePos"][3]["args"] = "()" -defs["igGetMousePos"][3]["argsT"] = {} -defs["igGetMousePos"][3]["argsoriginal"] = "()" -defs["igGetMousePos"][3]["call_args"] = "()" -defs["igGetMousePos"][3]["cimguiname"] = "igGetMousePos" -defs["igGetMousePos"][3]["defaults"] = defs["igGetMousePos"][1]["defaults"] -defs["igGetMousePos"][3]["funcname"] = "GetMousePos" -defs["igGetMousePos"][3]["namespace"] = "ImGui" -defs["igGetMousePos"][3]["nonUDT"] = 2 -defs["igGetMousePos"][3]["ov_cimguiname"] = "igGetMousePos_nonUDT2" -defs["igGetMousePos"][3]["ret"] = "ImVec2_Simple" -defs["igGetMousePos"][3]["retorig"] = "ImVec2" -defs["igGetMousePos"][3]["signature"] = "()" -defs["igGetMousePos"][3]["stname"] = "" defs["igGetMousePos"]["()"] = defs["igGetMousePos"][1] -defs["igGetMousePos"]["()nonUDT"] = defs["igGetMousePos"][2] -defs["igGetMousePos"]["()nonUDT2"] = defs["igGetMousePos"][3] defs["igGetMousePosOnOpeningCurrentPopup"] = {} defs["igGetMousePosOnOpeningCurrentPopup"][1] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][1]["args"] = "()" +defs["igGetMousePosOnOpeningCurrentPopup"][1]["args"] = "(ImVec2 *pOut)" defs["igGetMousePosOnOpeningCurrentPopup"][1]["argsT"] = {} +defs["igGetMousePosOnOpeningCurrentPopup"][1]["argsT"][1] = {} +defs["igGetMousePosOnOpeningCurrentPopup"][1]["argsT"][1]["name"] = "pOut" +defs["igGetMousePosOnOpeningCurrentPopup"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetMousePosOnOpeningCurrentPopup"][1]["argsoriginal"] = "()" defs["igGetMousePosOnOpeningCurrentPopup"][1]["call_args"] = "()" defs["igGetMousePosOnOpeningCurrentPopup"][1]["cimguiname"] = "igGetMousePosOnOpeningCurrentPopup" defs["igGetMousePosOnOpeningCurrentPopup"][1]["defaults"] = {} defs["igGetMousePosOnOpeningCurrentPopup"][1]["funcname"] = "GetMousePosOnOpeningCurrentPopup" defs["igGetMousePosOnOpeningCurrentPopup"][1]["namespace"] = "ImGui" +defs["igGetMousePosOnOpeningCurrentPopup"][1]["nonUDT"] = 1 defs["igGetMousePosOnOpeningCurrentPopup"][1]["ov_cimguiname"] = "igGetMousePosOnOpeningCurrentPopup" -defs["igGetMousePosOnOpeningCurrentPopup"][1]["ret"] = "ImVec2" +defs["igGetMousePosOnOpeningCurrentPopup"][1]["ret"] = "void" defs["igGetMousePosOnOpeningCurrentPopup"][1]["signature"] = "()" defs["igGetMousePosOnOpeningCurrentPopup"][1]["stname"] = "" -defs["igGetMousePosOnOpeningCurrentPopup"][2] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["argsT"] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][2]["argsT"][1] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][2]["argsT"][1]["name"] = "pOut" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["argsoriginal"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["call_args"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["cimguiname"] = "igGetMousePosOnOpeningCurrentPopup" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["defaults"] = defs["igGetMousePosOnOpeningCurrentPopup"][1]["defaults"] -defs["igGetMousePosOnOpeningCurrentPopup"][2]["funcname"] = "GetMousePosOnOpeningCurrentPopup" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["namespace"] = "ImGui" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["nonUDT"] = 1 -defs["igGetMousePosOnOpeningCurrentPopup"][2]["ov_cimguiname"] = "igGetMousePosOnOpeningCurrentPopup_nonUDT" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["ret"] = "void" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["signature"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][2]["stname"] = "" -defs["igGetMousePosOnOpeningCurrentPopup"][3] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][3]["args"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["argsT"] = {} -defs["igGetMousePosOnOpeningCurrentPopup"][3]["argsoriginal"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["call_args"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["cimguiname"] = "igGetMousePosOnOpeningCurrentPopup" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["defaults"] = defs["igGetMousePosOnOpeningCurrentPopup"][1]["defaults"] -defs["igGetMousePosOnOpeningCurrentPopup"][3]["funcname"] = "GetMousePosOnOpeningCurrentPopup" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["namespace"] = "ImGui" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["nonUDT"] = 2 -defs["igGetMousePosOnOpeningCurrentPopup"][3]["ov_cimguiname"] = "igGetMousePosOnOpeningCurrentPopup_nonUDT2" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["ret"] = "ImVec2_Simple" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["retorig"] = "ImVec2" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["signature"] = "()" -defs["igGetMousePosOnOpeningCurrentPopup"][3]["stname"] = "" defs["igGetMousePosOnOpeningCurrentPopup"]["()"] = defs["igGetMousePosOnOpeningCurrentPopup"][1] -defs["igGetMousePosOnOpeningCurrentPopup"]["()nonUDT"] = defs["igGetMousePosOnOpeningCurrentPopup"][2] -defs["igGetMousePosOnOpeningCurrentPopup"]["()nonUDT2"] = defs["igGetMousePosOnOpeningCurrentPopup"][3] defs["igGetScrollMaxX"] = {} defs["igGetScrollMaxX"][1] = {} defs["igGetScrollMaxX"][1]["args"] = "()" @@ -8860,102 +8202,42 @@ defs["igGetVersion"][1]["stname"] = "" defs["igGetVersion"]["()"] = defs["igGetVersion"][1] defs["igGetWindowContentRegionMax"] = {} defs["igGetWindowContentRegionMax"][1] = {} -defs["igGetWindowContentRegionMax"][1]["args"] = "()" +defs["igGetWindowContentRegionMax"][1]["args"] = "(ImVec2 *pOut)" defs["igGetWindowContentRegionMax"][1]["argsT"] = {} +defs["igGetWindowContentRegionMax"][1]["argsT"][1] = {} +defs["igGetWindowContentRegionMax"][1]["argsT"][1]["name"] = "pOut" +defs["igGetWindowContentRegionMax"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetWindowContentRegionMax"][1]["argsoriginal"] = "()" defs["igGetWindowContentRegionMax"][1]["call_args"] = "()" defs["igGetWindowContentRegionMax"][1]["cimguiname"] = "igGetWindowContentRegionMax" defs["igGetWindowContentRegionMax"][1]["defaults"] = {} defs["igGetWindowContentRegionMax"][1]["funcname"] = "GetWindowContentRegionMax" defs["igGetWindowContentRegionMax"][1]["namespace"] = "ImGui" +defs["igGetWindowContentRegionMax"][1]["nonUDT"] = 1 defs["igGetWindowContentRegionMax"][1]["ov_cimguiname"] = "igGetWindowContentRegionMax" -defs["igGetWindowContentRegionMax"][1]["ret"] = "ImVec2" +defs["igGetWindowContentRegionMax"][1]["ret"] = "void" defs["igGetWindowContentRegionMax"][1]["signature"] = "()" defs["igGetWindowContentRegionMax"][1]["stname"] = "" -defs["igGetWindowContentRegionMax"][2] = {} -defs["igGetWindowContentRegionMax"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetWindowContentRegionMax"][2]["argsT"] = {} -defs["igGetWindowContentRegionMax"][2]["argsT"][1] = {} -defs["igGetWindowContentRegionMax"][2]["argsT"][1]["name"] = "pOut" -defs["igGetWindowContentRegionMax"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetWindowContentRegionMax"][2]["argsoriginal"] = "()" -defs["igGetWindowContentRegionMax"][2]["call_args"] = "()" -defs["igGetWindowContentRegionMax"][2]["cimguiname"] = "igGetWindowContentRegionMax" -defs["igGetWindowContentRegionMax"][2]["defaults"] = defs["igGetWindowContentRegionMax"][1]["defaults"] -defs["igGetWindowContentRegionMax"][2]["funcname"] = "GetWindowContentRegionMax" -defs["igGetWindowContentRegionMax"][2]["namespace"] = "ImGui" -defs["igGetWindowContentRegionMax"][2]["nonUDT"] = 1 -defs["igGetWindowContentRegionMax"][2]["ov_cimguiname"] = "igGetWindowContentRegionMax_nonUDT" -defs["igGetWindowContentRegionMax"][2]["ret"] = "void" -defs["igGetWindowContentRegionMax"][2]["signature"] = "()" -defs["igGetWindowContentRegionMax"][2]["stname"] = "" -defs["igGetWindowContentRegionMax"][3] = {} -defs["igGetWindowContentRegionMax"][3]["args"] = "()" -defs["igGetWindowContentRegionMax"][3]["argsT"] = {} -defs["igGetWindowContentRegionMax"][3]["argsoriginal"] = "()" -defs["igGetWindowContentRegionMax"][3]["call_args"] = "()" -defs["igGetWindowContentRegionMax"][3]["cimguiname"] = "igGetWindowContentRegionMax" -defs["igGetWindowContentRegionMax"][3]["defaults"] = defs["igGetWindowContentRegionMax"][1]["defaults"] -defs["igGetWindowContentRegionMax"][3]["funcname"] = "GetWindowContentRegionMax" -defs["igGetWindowContentRegionMax"][3]["namespace"] = "ImGui" -defs["igGetWindowContentRegionMax"][3]["nonUDT"] = 2 -defs["igGetWindowContentRegionMax"][3]["ov_cimguiname"] = "igGetWindowContentRegionMax_nonUDT2" -defs["igGetWindowContentRegionMax"][3]["ret"] = "ImVec2_Simple" -defs["igGetWindowContentRegionMax"][3]["retorig"] = "ImVec2" -defs["igGetWindowContentRegionMax"][3]["signature"] = "()" -defs["igGetWindowContentRegionMax"][3]["stname"] = "" defs["igGetWindowContentRegionMax"]["()"] = defs["igGetWindowContentRegionMax"][1] -defs["igGetWindowContentRegionMax"]["()nonUDT"] = defs["igGetWindowContentRegionMax"][2] -defs["igGetWindowContentRegionMax"]["()nonUDT2"] = defs["igGetWindowContentRegionMax"][3] defs["igGetWindowContentRegionMin"] = {} defs["igGetWindowContentRegionMin"][1] = {} -defs["igGetWindowContentRegionMin"][1]["args"] = "()" +defs["igGetWindowContentRegionMin"][1]["args"] = "(ImVec2 *pOut)" defs["igGetWindowContentRegionMin"][1]["argsT"] = {} +defs["igGetWindowContentRegionMin"][1]["argsT"][1] = {} +defs["igGetWindowContentRegionMin"][1]["argsT"][1]["name"] = "pOut" +defs["igGetWindowContentRegionMin"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetWindowContentRegionMin"][1]["argsoriginal"] = "()" defs["igGetWindowContentRegionMin"][1]["call_args"] = "()" defs["igGetWindowContentRegionMin"][1]["cimguiname"] = "igGetWindowContentRegionMin" defs["igGetWindowContentRegionMin"][1]["defaults"] = {} defs["igGetWindowContentRegionMin"][1]["funcname"] = "GetWindowContentRegionMin" defs["igGetWindowContentRegionMin"][1]["namespace"] = "ImGui" +defs["igGetWindowContentRegionMin"][1]["nonUDT"] = 1 defs["igGetWindowContentRegionMin"][1]["ov_cimguiname"] = "igGetWindowContentRegionMin" -defs["igGetWindowContentRegionMin"][1]["ret"] = "ImVec2" +defs["igGetWindowContentRegionMin"][1]["ret"] = "void" defs["igGetWindowContentRegionMin"][1]["signature"] = "()" defs["igGetWindowContentRegionMin"][1]["stname"] = "" -defs["igGetWindowContentRegionMin"][2] = {} -defs["igGetWindowContentRegionMin"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetWindowContentRegionMin"][2]["argsT"] = {} -defs["igGetWindowContentRegionMin"][2]["argsT"][1] = {} -defs["igGetWindowContentRegionMin"][2]["argsT"][1]["name"] = "pOut" -defs["igGetWindowContentRegionMin"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetWindowContentRegionMin"][2]["argsoriginal"] = "()" -defs["igGetWindowContentRegionMin"][2]["call_args"] = "()" -defs["igGetWindowContentRegionMin"][2]["cimguiname"] = "igGetWindowContentRegionMin" -defs["igGetWindowContentRegionMin"][2]["defaults"] = defs["igGetWindowContentRegionMin"][1]["defaults"] -defs["igGetWindowContentRegionMin"][2]["funcname"] = "GetWindowContentRegionMin" -defs["igGetWindowContentRegionMin"][2]["namespace"] = "ImGui" -defs["igGetWindowContentRegionMin"][2]["nonUDT"] = 1 -defs["igGetWindowContentRegionMin"][2]["ov_cimguiname"] = "igGetWindowContentRegionMin_nonUDT" -defs["igGetWindowContentRegionMin"][2]["ret"] = "void" -defs["igGetWindowContentRegionMin"][2]["signature"] = "()" -defs["igGetWindowContentRegionMin"][2]["stname"] = "" -defs["igGetWindowContentRegionMin"][3] = {} -defs["igGetWindowContentRegionMin"][3]["args"] = "()" -defs["igGetWindowContentRegionMin"][3]["argsT"] = {} -defs["igGetWindowContentRegionMin"][3]["argsoriginal"] = "()" -defs["igGetWindowContentRegionMin"][3]["call_args"] = "()" -defs["igGetWindowContentRegionMin"][3]["cimguiname"] = "igGetWindowContentRegionMin" -defs["igGetWindowContentRegionMin"][3]["defaults"] = defs["igGetWindowContentRegionMin"][1]["defaults"] -defs["igGetWindowContentRegionMin"][3]["funcname"] = "GetWindowContentRegionMin" -defs["igGetWindowContentRegionMin"][3]["namespace"] = "ImGui" -defs["igGetWindowContentRegionMin"][3]["nonUDT"] = 2 -defs["igGetWindowContentRegionMin"][3]["ov_cimguiname"] = "igGetWindowContentRegionMin_nonUDT2" -defs["igGetWindowContentRegionMin"][3]["ret"] = "ImVec2_Simple" -defs["igGetWindowContentRegionMin"][3]["retorig"] = "ImVec2" -defs["igGetWindowContentRegionMin"][3]["signature"] = "()" -defs["igGetWindowContentRegionMin"][3]["stname"] = "" defs["igGetWindowContentRegionMin"]["()"] = defs["igGetWindowContentRegionMin"][1] -defs["igGetWindowContentRegionMin"]["()nonUDT"] = defs["igGetWindowContentRegionMin"][2] -defs["igGetWindowContentRegionMin"]["()nonUDT2"] = defs["igGetWindowContentRegionMin"][3] defs["igGetWindowContentRegionWidth"] = {} defs["igGetWindowContentRegionWidth"][1] = {} defs["igGetWindowContentRegionWidth"][1]["args"] = "()" @@ -9003,102 +8285,42 @@ defs["igGetWindowHeight"][1]["stname"] = "" defs["igGetWindowHeight"]["()"] = defs["igGetWindowHeight"][1] defs["igGetWindowPos"] = {} defs["igGetWindowPos"][1] = {} -defs["igGetWindowPos"][1]["args"] = "()" +defs["igGetWindowPos"][1]["args"] = "(ImVec2 *pOut)" defs["igGetWindowPos"][1]["argsT"] = {} +defs["igGetWindowPos"][1]["argsT"][1] = {} +defs["igGetWindowPos"][1]["argsT"][1]["name"] = "pOut" +defs["igGetWindowPos"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetWindowPos"][1]["argsoriginal"] = "()" defs["igGetWindowPos"][1]["call_args"] = "()" defs["igGetWindowPos"][1]["cimguiname"] = "igGetWindowPos" defs["igGetWindowPos"][1]["defaults"] = {} defs["igGetWindowPos"][1]["funcname"] = "GetWindowPos" defs["igGetWindowPos"][1]["namespace"] = "ImGui" +defs["igGetWindowPos"][1]["nonUDT"] = 1 defs["igGetWindowPos"][1]["ov_cimguiname"] = "igGetWindowPos" -defs["igGetWindowPos"][1]["ret"] = "ImVec2" +defs["igGetWindowPos"][1]["ret"] = "void" defs["igGetWindowPos"][1]["signature"] = "()" defs["igGetWindowPos"][1]["stname"] = "" -defs["igGetWindowPos"][2] = {} -defs["igGetWindowPos"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetWindowPos"][2]["argsT"] = {} -defs["igGetWindowPos"][2]["argsT"][1] = {} -defs["igGetWindowPos"][2]["argsT"][1]["name"] = "pOut" -defs["igGetWindowPos"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetWindowPos"][2]["argsoriginal"] = "()" -defs["igGetWindowPos"][2]["call_args"] = "()" -defs["igGetWindowPos"][2]["cimguiname"] = "igGetWindowPos" -defs["igGetWindowPos"][2]["defaults"] = defs["igGetWindowPos"][1]["defaults"] -defs["igGetWindowPos"][2]["funcname"] = "GetWindowPos" -defs["igGetWindowPos"][2]["namespace"] = "ImGui" -defs["igGetWindowPos"][2]["nonUDT"] = 1 -defs["igGetWindowPos"][2]["ov_cimguiname"] = "igGetWindowPos_nonUDT" -defs["igGetWindowPos"][2]["ret"] = "void" -defs["igGetWindowPos"][2]["signature"] = "()" -defs["igGetWindowPos"][2]["stname"] = "" -defs["igGetWindowPos"][3] = {} -defs["igGetWindowPos"][3]["args"] = "()" -defs["igGetWindowPos"][3]["argsT"] = {} -defs["igGetWindowPos"][3]["argsoriginal"] = "()" -defs["igGetWindowPos"][3]["call_args"] = "()" -defs["igGetWindowPos"][3]["cimguiname"] = "igGetWindowPos" -defs["igGetWindowPos"][3]["defaults"] = defs["igGetWindowPos"][1]["defaults"] -defs["igGetWindowPos"][3]["funcname"] = "GetWindowPos" -defs["igGetWindowPos"][3]["namespace"] = "ImGui" -defs["igGetWindowPos"][3]["nonUDT"] = 2 -defs["igGetWindowPos"][3]["ov_cimguiname"] = "igGetWindowPos_nonUDT2" -defs["igGetWindowPos"][3]["ret"] = "ImVec2_Simple" -defs["igGetWindowPos"][3]["retorig"] = "ImVec2" -defs["igGetWindowPos"][3]["signature"] = "()" -defs["igGetWindowPos"][3]["stname"] = "" defs["igGetWindowPos"]["()"] = defs["igGetWindowPos"][1] -defs["igGetWindowPos"]["()nonUDT"] = defs["igGetWindowPos"][2] -defs["igGetWindowPos"]["()nonUDT2"] = defs["igGetWindowPos"][3] defs["igGetWindowSize"] = {} defs["igGetWindowSize"][1] = {} -defs["igGetWindowSize"][1]["args"] = "()" +defs["igGetWindowSize"][1]["args"] = "(ImVec2 *pOut)" defs["igGetWindowSize"][1]["argsT"] = {} +defs["igGetWindowSize"][1]["argsT"][1] = {} +defs["igGetWindowSize"][1]["argsT"][1]["name"] = "pOut" +defs["igGetWindowSize"][1]["argsT"][1]["type"] = "ImVec2*" defs["igGetWindowSize"][1]["argsoriginal"] = "()" defs["igGetWindowSize"][1]["call_args"] = "()" defs["igGetWindowSize"][1]["cimguiname"] = "igGetWindowSize" defs["igGetWindowSize"][1]["defaults"] = {} defs["igGetWindowSize"][1]["funcname"] = "GetWindowSize" defs["igGetWindowSize"][1]["namespace"] = "ImGui" +defs["igGetWindowSize"][1]["nonUDT"] = 1 defs["igGetWindowSize"][1]["ov_cimguiname"] = "igGetWindowSize" -defs["igGetWindowSize"][1]["ret"] = "ImVec2" +defs["igGetWindowSize"][1]["ret"] = "void" defs["igGetWindowSize"][1]["signature"] = "()" defs["igGetWindowSize"][1]["stname"] = "" -defs["igGetWindowSize"][2] = {} -defs["igGetWindowSize"][2]["args"] = "(ImVec2 *pOut)" -defs["igGetWindowSize"][2]["argsT"] = {} -defs["igGetWindowSize"][2]["argsT"][1] = {} -defs["igGetWindowSize"][2]["argsT"][1]["name"] = "pOut" -defs["igGetWindowSize"][2]["argsT"][1]["type"] = "ImVec2*" -defs["igGetWindowSize"][2]["argsoriginal"] = "()" -defs["igGetWindowSize"][2]["call_args"] = "()" -defs["igGetWindowSize"][2]["cimguiname"] = "igGetWindowSize" -defs["igGetWindowSize"][2]["defaults"] = defs["igGetWindowSize"][1]["defaults"] -defs["igGetWindowSize"][2]["funcname"] = "GetWindowSize" -defs["igGetWindowSize"][2]["namespace"] = "ImGui" -defs["igGetWindowSize"][2]["nonUDT"] = 1 -defs["igGetWindowSize"][2]["ov_cimguiname"] = "igGetWindowSize_nonUDT" -defs["igGetWindowSize"][2]["ret"] = "void" -defs["igGetWindowSize"][2]["signature"] = "()" -defs["igGetWindowSize"][2]["stname"] = "" -defs["igGetWindowSize"][3] = {} -defs["igGetWindowSize"][3]["args"] = "()" -defs["igGetWindowSize"][3]["argsT"] = {} -defs["igGetWindowSize"][3]["argsoriginal"] = "()" -defs["igGetWindowSize"][3]["call_args"] = "()" -defs["igGetWindowSize"][3]["cimguiname"] = "igGetWindowSize" -defs["igGetWindowSize"][3]["defaults"] = defs["igGetWindowSize"][1]["defaults"] -defs["igGetWindowSize"][3]["funcname"] = "GetWindowSize" -defs["igGetWindowSize"][3]["namespace"] = "ImGui" -defs["igGetWindowSize"][3]["nonUDT"] = 2 -defs["igGetWindowSize"][3]["ov_cimguiname"] = "igGetWindowSize_nonUDT2" -defs["igGetWindowSize"][3]["ret"] = "ImVec2_Simple" -defs["igGetWindowSize"][3]["retorig"] = "ImVec2" -defs["igGetWindowSize"][3]["signature"] = "()" -defs["igGetWindowSize"][3]["stname"] = "" defs["igGetWindowSize"]["()"] = defs["igGetWindowSize"][1] -defs["igGetWindowSize"]["()nonUDT"] = defs["igGetWindowSize"][2] -defs["igGetWindowSize"]["()nonUDT2"] = defs["igGetWindowSize"][3] defs["igGetWindowWidth"] = {} defs["igGetWindowWidth"][1] = {} defs["igGetWindowWidth"][1]["args"] = "()" @@ -10148,7 +9370,7 @@ defs["igIsRectVisible"][1]["cimguiname"] = "igIsRectVisible" defs["igIsRectVisible"][1]["defaults"] = {} defs["igIsRectVisible"][1]["funcname"] = "IsRectVisible" defs["igIsRectVisible"][1]["namespace"] = "ImGui" -defs["igIsRectVisible"][1]["ov_cimguiname"] = "igIsRectVisible" +defs["igIsRectVisible"][1]["ov_cimguiname"] = "igIsRectVisibleNil" defs["igIsRectVisible"][1]["ret"] = "bool" defs["igIsRectVisible"][1]["signature"] = "(const ImVec2)" defs["igIsRectVisible"][1]["stname"] = "" @@ -10889,7 +10111,7 @@ defs["igPlotLines"][1]["defaults"]["stride"] = "sizeof(float)" defs["igPlotLines"][1]["defaults"]["values_offset"] = "0" defs["igPlotLines"][1]["funcname"] = "PlotLines" defs["igPlotLines"][1]["namespace"] = "ImGui" -defs["igPlotLines"][1]["ov_cimguiname"] = "igPlotLines" +defs["igPlotLines"][1]["ov_cimguiname"] = "igPlotLinesFloatPtr" defs["igPlotLines"][1]["ret"] = "void" defs["igPlotLines"][1]["signature"] = "(const char*,const float*,int,int,const char*,float,float,ImVec2,int)" defs["igPlotLines"][1]["stname"] = "" @@ -11221,7 +10443,7 @@ defs["igPushID"][2]["cimguiname"] = "igPushID" defs["igPushID"][2]["defaults"] = {} defs["igPushID"][2]["funcname"] = "PushID" defs["igPushID"][2]["namespace"] = "ImGui" -defs["igPushID"][2]["ov_cimguiname"] = "igPushIDRange" +defs["igPushID"][2]["ov_cimguiname"] = "igPushIDStrStr" defs["igPushID"][2]["ret"] = "void" defs["igPushID"][2]["signature"] = "(const char*,const char*)" defs["igPushID"][2]["stname"] = "" @@ -11314,7 +10536,7 @@ defs["igPushStyleColor"][2]["cimguiname"] = "igPushStyleColor" defs["igPushStyleColor"][2]["defaults"] = {} defs["igPushStyleColor"][2]["funcname"] = "PushStyleColor" defs["igPushStyleColor"][2]["namespace"] = "ImGui" -defs["igPushStyleColor"][2]["ov_cimguiname"] = "igPushStyleColor" +defs["igPushStyleColor"][2]["ov_cimguiname"] = "igPushStyleColorVec4" defs["igPushStyleColor"][2]["ret"] = "void" defs["igPushStyleColor"][2]["signature"] = "(ImGuiCol,const ImVec4)" defs["igPushStyleColor"][2]["stname"] = "" @@ -11543,7 +10765,7 @@ defs["igSelectable"][1]["defaults"]["selected"] = "false" defs["igSelectable"][1]["defaults"]["size"] = "ImVec2(0,0)" defs["igSelectable"][1]["funcname"] = "Selectable" defs["igSelectable"][1]["namespace"] = "ImGui" -defs["igSelectable"][1]["ov_cimguiname"] = "igSelectable" +defs["igSelectable"][1]["ov_cimguiname"] = "igSelectableBool" defs["igSelectable"][1]["ret"] = "bool" defs["igSelectable"][1]["signature"] = "(const char*,bool,ImGuiSelectableFlags,const ImVec2)" defs["igSelectable"][1]["stname"] = "" @@ -12326,7 +11548,7 @@ defs["igSetWindowFocus"][1]["cimguiname"] = "igSetWindowFocus" defs["igSetWindowFocus"][1]["defaults"] = {} defs["igSetWindowFocus"][1]["funcname"] = "SetWindowFocus" defs["igSetWindowFocus"][1]["namespace"] = "ImGui" -defs["igSetWindowFocus"][1]["ov_cimguiname"] = "igSetWindowFocus" +defs["igSetWindowFocus"][1]["ov_cimguiname"] = "igSetWindowFocusNil" defs["igSetWindowFocus"][1]["ret"] = "void" defs["igSetWindowFocus"][1]["signature"] = "()" defs["igSetWindowFocus"][1]["stname"] = "" diff --git a/generator/output/overloads.txt b/generator/output/overloads.txt index a0b96b0..10b29ed 100644 --- a/generator/output/overloads.txt +++ b/generator/output/overloads.txt @@ -1,9 +1,9 @@ ----------------overloadings--------------------------- ImVector_resize 2 -1 void ImVector_resize (int) +1 void ImVector_resizeNil (int) 2 void ImVector_resizeT (int,const T) ImVec4_ImVec4 2 -1 nil ImVec4_ImVec4 () +1 nil ImVec4_ImVec4Nil () 2 nil ImVec4_ImVec4Float (float,float,float,float) igValue 4 1 void igValueBool (const char*,bool) @@ -11,33 +11,33 @@ igValue 4 3 void igValueUint (const char*,unsigned int) 4 void igValueFloat (const char*,float,const char*) igIsRectVisible 2 -1 bool igIsRectVisible (const ImVec2) +1 bool igIsRectVisibleNil (const ImVec2) 2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2) igRadioButton 2 1 bool igRadioButtonBool (const char*,bool) 2 bool igRadioButtonIntPtr (const char*,int*,int) ImGuiTextRange_ImGuiTextRange 2 -1 nil ImGuiTextRange_ImGuiTextRange () +1 nil ImGuiTextRange_ImGuiTextRangeNil () 2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*) ImVector_back 2 -1 T* ImVector_back () +1 T* ImVector_backNil () 2 const T* ImVector_back_const ()const igPlotHistogram 2 1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int) 2 void igPlotHistogramFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2) igGetID 3 1 ImGuiID igGetIDStr (const char*) -2 ImGuiID igGetIDRange (const char*,const char*) +2 ImGuiID igGetIDStrStr (const char*,const char*) 3 ImGuiID igGetIDPtr (const void*) igSetWindowPos 2 1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond) 2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond) igBeginChild 2 -1 bool igBeginChild (const char*,const ImVec2,bool,ImGuiWindowFlags) +1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags) 2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags) igPushID 4 1 void igPushIDStr (const char*) -2 void igPushIDRange (const char*,const char*) +2 void igPushIDStrStr (const char*,const char*) 3 void igPushIDPtr (const void*) 4 void igPushIDInt (int) ImGuiStoragePair_ImGuiStoragePair 3 @@ -49,39 +49,39 @@ igTreeNode 3 2 bool igTreeNodeStrStr (const char*,const char*,...) 3 bool igTreeNodePtr (const void*,const char*,...) igCombo 3 -1 bool igCombo (const char*,int*,const char* const[],int,int) +1 bool igComboStr_arr (const char*,int*,const char* const[],int,int) 2 bool igComboStr (const char*,int*,const char*,int) 3 bool igComboFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int) ImVector_erase 2 -1 T* ImVector_erase (const T*) +1 T* ImVector_eraseNil (const T*) 2 T* ImVector_eraseTPtr (const T*,const T*) ImDrawList_AddText 2 -1 void ImDrawList_AddText (const ImVec2,ImU32,const char*,const char*) +1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*) 2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*) igPushStyleVar 2 1 void igPushStyleVarFloat (ImGuiStyleVar,float) 2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2) igSetWindowFocus 2 -1 void igSetWindowFocus () +1 void igSetWindowFocusNil () 2 void igSetWindowFocusStr (const char*) ImVector_end 2 -1 T* ImVector_end () +1 T* ImVector_endNil () 2 const T* ImVector_end_const ()const igSetWindowSize 2 1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond) 2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond) ImVector_ImVector 2 -1 nil ImVector_ImVector () +1 nil ImVector_ImVectorNil () 2 nil ImVector_ImVectorVector (const ImVector) igSetWindowCollapsed 2 1 void igSetWindowCollapsedBool (bool,ImGuiCond) 2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond) igPlotLines 2 -1 void igPlotLines (const char*,const float*,int,int,const char*,float,float,ImVec2,int) +1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int) 2 void igPlotLinesFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2) igPushStyleColor 2 1 void igPushStyleColorU32 (ImGuiCol,ImU32) -2 void igPushStyleColor (ImGuiCol,const ImVec4) +2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4) igTreeNodeExV 2 1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list) 2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list) @@ -89,35 +89,35 @@ igListBox 2 1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int) 2 bool igListBoxFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int) ImVec2_ImVec2 2 -1 nil ImVec2_ImVec2 () +1 nil ImVec2_ImVec2Nil () 2 nil ImVec2_ImVec2Float (float,float) igCollapsingHeader 2 -1 bool igCollapsingHeader (const char*,ImGuiTreeNodeFlags) +1 bool igCollapsingHeaderTreeNodeFlags (const char*,ImGuiTreeNodeFlags) 2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags) igTreePush 2 1 void igTreePushStr (const char*) 2 void igTreePushPtr (const void*) igGetColorU32 3 -1 ImU32 igGetColorU32 (ImGuiCol,float) +1 ImU32 igGetColorU32Col (ImGuiCol,float) 2 ImU32 igGetColorU32Vec4 (const ImVec4) 3 ImU32 igGetColorU32U32 (ImU32) ImColor_ImColor 5 -1 nil ImColor_ImColor () +1 nil ImColor_ImColorNil () 2 nil ImColor_ImColorInt (int,int,int,int) 3 nil ImColor_ImColorU32 (ImU32) 4 nil ImColor_ImColorFloat (float,float,float,float) 5 nil ImColor_ImColorVec4 (const ImVec4) igSelectable 2 -1 bool igSelectable (const char*,bool,ImGuiSelectableFlags,const ImVec2) +1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2) 2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2) ImVector_begin 2 -1 T* ImVector_begin () +1 T* ImVector_beginNil () 2 const T* ImVector_begin_const ()const ImVector_front 2 -1 T* ImVector_front () +1 T* ImVector_frontNil () 2 const T* ImVector_front_const ()const ImVector_find 2 -1 T* ImVector_find (const T) +1 T* ImVector_findNil (const T) 2 const T* ImVector_find_const (const T)const igTreeNodeEx 3 1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)