From fdd07821bbcc6583431fd42ad3ffad3a82e69501 Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Mon, 21 Oct 2024 09:59:59 +0200 Subject: [PATCH 1/6] CMakeLists.txt: add cimconfig.h to #undef NDEBUG even in release mode https://github.com/ocornut/imgui/issues/8078 --- CMakeLists.txt | 1 + backend_test/example_glfw_dx11/CMakeLists.txt | 1 + backend_test/example_glfw_opengl3/CMakeLists.txt | 1 + backend_test/example_sdl_opengl3/CMakeLists.txt | 1 + backend_test/example_sdl_vulkan/CMakeLists.txt | 1 + cimconfig.h | 1 + 6 files changed, 6 insertions(+) create mode 100644 cimconfig.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 5012db3..0d61ffe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ else (IMGUI_STATIC) add_library(cimgui SHARED ${IMGUI_SOURCES}) endif (IMGUI_STATIC) +add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1) if (WIN32) target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\)) diff --git a/backend_test/example_glfw_dx11/CMakeLists.txt b/backend_test/example_glfw_dx11/CMakeLists.txt index 3e65bd6..16acb75 100644 --- a/backend_test/example_glfw_dx11/CMakeLists.txt +++ b/backend_test/example_glfw_dx11/CMakeLists.txt @@ -23,6 +23,7 @@ else() endif() include_directories(../../imgui) +add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") include_directories(../../) diff --git a/backend_test/example_glfw_opengl3/CMakeLists.txt b/backend_test/example_glfw_opengl3/CMakeLists.txt index 63b9d14..d37239d 100644 --- a/backend_test/example_glfw_opengl3/CMakeLists.txt +++ b/backend_test/example_glfw_opengl3/CMakeLists.txt @@ -23,6 +23,7 @@ else() endif() include_directories(../../imgui) +add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") include_directories(../../) diff --git a/backend_test/example_sdl_opengl3/CMakeLists.txt b/backend_test/example_sdl_opengl3/CMakeLists.txt index 39af7f3..f90d241 100644 --- a/backend_test/example_sdl_opengl3/CMakeLists.txt +++ b/backend_test/example_sdl_opengl3/CMakeLists.txt @@ -22,6 +22,7 @@ else() endif() include_directories(../../imgui) +add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") include_directories(../../) diff --git a/backend_test/example_sdl_vulkan/CMakeLists.txt b/backend_test/example_sdl_vulkan/CMakeLists.txt index 55dba4a..d5d5c86 100644 --- a/backend_test/example_sdl_vulkan/CMakeLists.txt +++ b/backend_test/example_sdl_vulkan/CMakeLists.txt @@ -19,6 +19,7 @@ else() endif() include_directories(../../imgui) +add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") include_directories(../../) diff --git a/cimconfig.h b/cimconfig.h new file mode 100644 index 0000000..b6585c1 --- /dev/null +++ b/cimconfig.h @@ -0,0 +1 @@ +#undef NDEBUG \ No newline at end of file From be19fd11eb9684462aa50ae98fa68d657daa588d Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Fri, 1 Nov 2024 13:47:14 +0100 Subject: [PATCH 2/6] cpp2ffi.lua, generator ... :get manual funcs args and ret --- cimgui.h | 2 +- generator/cimgui_template.h | 2 +- generator/cpp2ffi.lua | 54 +++++++++++++++++++++++++++---- generator/generator.lua | 3 +- generator/output/definitions.json | 16 ++++----- generator/output/definitions.lua | 18 +++++------ 6 files changed, 68 insertions(+), 27 deletions(-) diff --git a/cimgui.h b/cimgui.h index 43c2f2d..a43a5b1 100644 --- a/cimgui.h +++ b/cimgui.h @@ -4989,7 +4989,7 @@ CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[2 /////////////////////////hand written functions //no LogTextV -CIMGUI_API void igLogText(CONST char *fmt, ...); +CIMGUI_API void igLogText(const char *fmt, ...); //no appendfV CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...); //for getting FLT_MAX in bindings diff --git a/generator/cimgui_template.h b/generator/cimgui_template.h index e46202f..d977cad 100644 --- a/generator/cimgui_template.h +++ b/generator/cimgui_template.h @@ -47,7 +47,7 @@ typedef union SDL_Event SDL_Event; /////////////////////////hand written functions //no LogTextV -CIMGUI_API void igLogText(CONST char *fmt, ...); +CIMGUI_API void igLogText(const char *fmt, ...); //no appendfV CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...); //for getting FLT_MAX in bindings diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index 81c812b..2c231d2 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -673,14 +673,18 @@ local function CleanImU32(def) for i=1,#bb do res = res + bb[i] end return res end +local function moveptr(line) + line = line:gsub("%s*%*","%*") + line = line:gsub("%*([%w_])","%* %1") + line = line:gsub("(%(%*)%s","%1") + return line +end local function parseFunction(self,stname,itt,namespace,locat) local lineorig,comment = split_comment(itt.item) line = clean_spaces(lineorig) --move * - line = line:gsub("%s*%*","%*") - line = line:gsub("%*([%w_])","%* %1") - line = line:gsub("(%(%*)%s","%1") + line = moveptr(line) --print(line) --clean implemetation @@ -719,6 +723,21 @@ local function parseFunction(self,stname,itt,namespace,locat) error"parseFunction not getting args" end + --get manuals args and ret + local cname = self.getCname(stname,funcname, namespace) --cimguiname + local manpars = self.manuals[cname] + local ismanual + if manpars then + if type(manpars) == "boolean" then + print("warning: unable to get args and ret from "..cname) + print("did you forgot to use set_manuals? ") + else + ismanual = true + args, ret = manpars.args, manpars.ret + args = moveptr(args) + ret = moveptr(ret) + end + end local argsp = args:sub(2,-2).."," local argsTa = {} @@ -734,6 +753,8 @@ local function parseFunction(self,stname,itt,namespace,locat) argsTa[#argsTa+1] = tynam end end + + --- templates in args for i,ar in ipairs(argsTa) do --TODO several diferent templates @@ -747,7 +768,7 @@ local function parseFunction(self,stname,itt,namespace,locat) end argsTa[i] = te and code2 or ar --ar:gsub("<([%w_%*%s]+)>",te) --ImVector end - + --get typ, name and defaults local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)" local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))" @@ -807,6 +828,7 @@ local function parseFunction(self,stname,itt,namespace,locat) end end + local argsArr = argsTa2 --recreate argscsinpars, call_args and signature from argsArr @@ -838,7 +860,7 @@ local function parseFunction(self,stname,itt,namespace,locat) caar = "()" signat = "()" .. (extraconst or "") end - + --if ismanual then print("manual",asp, caar, signat) end ------------------------------ if not ret and stname then --must be constructors @@ -871,6 +893,9 @@ local function parseFunction(self,stname,itt,namespace,locat) ar.default = nil end end + + --if ismanual then M.prtable(argsArr) end + defT.templated = self.typenames[stname] and true defT.namespace = namespace defT.cimguiname = cimguiname @@ -901,6 +926,7 @@ local function parseFunction(self,stname,itt,namespace,locat) -- end end defsT[cimguiname][signat] = defT + end local function itemsCount(items) print"------------items" @@ -913,8 +939,8 @@ end local function AdjustArguments(FP) for fun,defs in pairs(FP.defsT) do - --struct function but no constructors or static functions - if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function then + --struct function but no constructors or static functions or manuals + if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function and not defs[1].manual then --print("adjusting",fun) for i,def in ipairs(defs) do local empty = def.args:match("^%(%)") --no args @@ -1408,6 +1434,20 @@ function M.Parser() function par:printItems() printItems(items) end + function par:set_manuals(manuals, modulen, erase) + erase = erase or {"CIMGUI_API"} + local moddata = read_data("./"..modulen.."_template.h") + for k,v in pairs(manuals) do + local ret = moddata:match("([^%(%):,\n;]+[%*%s])%s?~?"..k.."%b()") + for i,ww in ipairs(erase) do + ret = ret:gsub(ww,"") + end + local args = moddata:match(k.."%s*(%b())") + manuals[k] = {args = args, ret = ret} + --print(k,args,ret) + end + self.manuals = manuals + end par.parseFunction = parseFunction local uniques = {} local function check_unique_typedefs(l,uniques) diff --git a/generator/generator.lua b/generator/generator.lua index 5745755..1212769 100644 --- a/generator/generator.lua +++ b/generator/generator.lua @@ -318,7 +318,8 @@ local function parseImGuiHeader(header,names) return pre..funcname end parser.cname_overloads = cimgui_overloads - parser.manuals = cimgui_manuals + --parser.manuals = cimgui_manuals + parser:set_manuals(cimgui_manuals, "cimgui") parser.skipped = cimgui_skipped parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"} --parser.gen_template_typedef = gen_template_typedef --use auto diff --git a/generator/output/definitions.json b/generator/output/definitions.json index 879cf3b..9e2e3fe 100644 --- a/generator/output/definitions.json +++ b/generator/output/definitions.json @@ -9773,23 +9773,23 @@ ], "ImGuiTextBuffer_appendf": [ { - "args": "(ImGuiTextBuffer* self,const char* fmt,...)", + "args": "(struct ImGuiTextBuffer* buffer, const char* fmt,...)", "argsT": [ { - "name": "self", - "type": "ImGuiTextBuffer*" + "name": "buffer", + "type": "struct ImGuiTextBuffer*" }, { "name": "fmt", - "type": "const char*" + "type": " const char*" }, { "name": "...", "type": "..." } ], - "argsoriginal": "(const char* fmt,...)", - "call_args": "(fmt,...)", + "argsoriginal": "(struct ImGuiTextBuffer* buffer, const char* fmt, ...)", + "call_args": "(buffer,fmt,...)", "cimguiname": "ImGuiTextBuffer_appendf", "defaults": {}, "funcname": "appendf", @@ -9798,7 +9798,7 @@ "manual": true, "ov_cimguiname": "ImGuiTextBuffer_appendf", "ret": "void", - "signature": "(const char*,...)", + "signature": "(struct ImGuiTextBuffer*, const char*,...)", "stname": "ImGuiTextBuffer" } ], @@ -28904,7 +28904,7 @@ "type": "..." } ], - "argsoriginal": "(const char* fmt,...)", + "argsoriginal": "(const char* fmt, ...)", "call_args": "(fmt,...)", "cimguiname": "igLogText", "defaults": {}, diff --git a/generator/output/definitions.lua b/generator/output/definitions.lua index 96f890e..ca9165b 100644 --- a/generator/output/definitions.lua +++ b/generator/output/definitions.lua @@ -8225,19 +8225,19 @@ defs["ImGuiTextBuffer_append"][1]["stname"] = "ImGuiTextBuffer" defs["ImGuiTextBuffer_append"]["(const char*,const char*)"] = defs["ImGuiTextBuffer_append"][1] defs["ImGuiTextBuffer_appendf"] = {} defs["ImGuiTextBuffer_appendf"][1] = {} -defs["ImGuiTextBuffer_appendf"][1]["args"] = "(ImGuiTextBuffer* self,const char* fmt,...)" +defs["ImGuiTextBuffer_appendf"][1]["args"] = "(struct ImGuiTextBuffer* buffer, const char* fmt,...)" defs["ImGuiTextBuffer_appendf"][1]["argsT"] = {} defs["ImGuiTextBuffer_appendf"][1]["argsT"][1] = {} -defs["ImGuiTextBuffer_appendf"][1]["argsT"][1]["name"] = "self" -defs["ImGuiTextBuffer_appendf"][1]["argsT"][1]["type"] = "ImGuiTextBuffer*" +defs["ImGuiTextBuffer_appendf"][1]["argsT"][1]["name"] = "buffer" +defs["ImGuiTextBuffer_appendf"][1]["argsT"][1]["type"] = "struct ImGuiTextBuffer*" defs["ImGuiTextBuffer_appendf"][1]["argsT"][2] = {} defs["ImGuiTextBuffer_appendf"][1]["argsT"][2]["name"] = "fmt" -defs["ImGuiTextBuffer_appendf"][1]["argsT"][2]["type"] = "const char*" +defs["ImGuiTextBuffer_appendf"][1]["argsT"][2]["type"] = " const char*" defs["ImGuiTextBuffer_appendf"][1]["argsT"][3] = {} defs["ImGuiTextBuffer_appendf"][1]["argsT"][3]["name"] = "..." defs["ImGuiTextBuffer_appendf"][1]["argsT"][3]["type"] = "..." -defs["ImGuiTextBuffer_appendf"][1]["argsoriginal"] = "(const char* fmt,...)" -defs["ImGuiTextBuffer_appendf"][1]["call_args"] = "(fmt,...)" +defs["ImGuiTextBuffer_appendf"][1]["argsoriginal"] = "(struct ImGuiTextBuffer* buffer, const char* fmt, ...)" +defs["ImGuiTextBuffer_appendf"][1]["call_args"] = "(buffer,fmt,...)" defs["ImGuiTextBuffer_appendf"][1]["cimguiname"] = "ImGuiTextBuffer_appendf" defs["ImGuiTextBuffer_appendf"][1]["defaults"] = {} defs["ImGuiTextBuffer_appendf"][1]["funcname"] = "appendf" @@ -8246,9 +8246,9 @@ defs["ImGuiTextBuffer_appendf"][1]["location"] = "imgui:2709" defs["ImGuiTextBuffer_appendf"][1]["manual"] = true defs["ImGuiTextBuffer_appendf"][1]["ov_cimguiname"] = "ImGuiTextBuffer_appendf" defs["ImGuiTextBuffer_appendf"][1]["ret"] = "void" -defs["ImGuiTextBuffer_appendf"][1]["signature"] = "(const char*,...)" +defs["ImGuiTextBuffer_appendf"][1]["signature"] = "(struct ImGuiTextBuffer*, const char*,...)" defs["ImGuiTextBuffer_appendf"][1]["stname"] = "ImGuiTextBuffer" -defs["ImGuiTextBuffer_appendf"]["(const char*,...)"] = defs["ImGuiTextBuffer_appendf"][1] +defs["ImGuiTextBuffer_appendf"]["(struct ImGuiTextBuffer*, const char*,...)"] = defs["ImGuiTextBuffer_appendf"][1] defs["ImGuiTextBuffer_appendfv"] = {} defs["ImGuiTextBuffer_appendfv"][1] = {} defs["ImGuiTextBuffer_appendfv"][1]["args"] = "(ImGuiTextBuffer* self,const char* fmt,va_list args)" @@ -24514,7 +24514,7 @@ defs["igLogText"][1]["argsT"][1]["type"] = "const char*" defs["igLogText"][1]["argsT"][2] = {} defs["igLogText"][1]["argsT"][2]["name"] = "..." defs["igLogText"][1]["argsT"][2]["type"] = "..." -defs["igLogText"][1]["argsoriginal"] = "(const char* fmt,...)" +defs["igLogText"][1]["argsoriginal"] = "(const char* fmt, ...)" defs["igLogText"][1]["call_args"] = "(fmt,...)" defs["igLogText"][1]["cimguiname"] = "igLogText" defs["igLogText"][1]["defaults"] = {} From 1c3d694f36acfe86db824df778f0e5445212967c Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Tue, 5 Nov 2024 16:30:47 +0100 Subject: [PATCH 3/6] generator: _destroy functions get location IMGUI_USE_FREETYPE and IMGUI_USE_WCHAR32 are build options now. cmake takes IMGUI_FREETYPE and IMGUI_WCHAR32 --- CMakeLists.txt | 11 ++- cimgui.cpp | 23 +++-- cimgui.h | 33 ++++++- generator/cimgui_template.cpp | 10 +- generator/cpp2ffi.lua | 100 +++++++++++-------- generator/generator.bat | 9 +- generator/generator.lua | 57 ++++++++++- generator/generator.sh | 7 +- generator/output/definitions.json | 123 ++++++++++++++++++++++++ generator/output/definitions.lua | 116 ++++++++++++++++++++++ generator/output/structs_and_enums.json | 53 ++++++++++ generator/output/structs_and_enums.lua | 42 ++++++++ 12 files changed, 514 insertions(+), 70 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d61ffe..09cb2aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,10 +26,10 @@ set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library") set(IMGUI_LIBRARIES ) if(IMGUI_FREETYPE) + message(STATUS "Building with freetype") FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH}) list(APPEND IMGUI_LIBRARIES freetype) list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp) - add_definitions("-DCIMGUI_FREETYPE=1") endif(IMGUI_FREETYPE) #add library and link @@ -39,6 +39,15 @@ else (IMGUI_STATIC) add_library(cimgui SHARED ${IMGUI_SOURCES}) endif (IMGUI_STATIC) +if(IMGUI_FREETYPE) + target_compile_definitions(cimgui PUBLIC IMGUI_ENABLE_FREETYPE) + target_compile_definitions(cimgui PUBLIC IMGUI_ENABLE_STB_TRUETYPE) +endif(IMGUI_FREETYPE) + +if(IMGUI_WCHAR32) + target_compile_definitions(cimgui PUBLIC IMGUI_USE_WCHAR32) +endif(IMGUI_WCHAR32) + add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"") target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1) if (WIN32) diff --git a/cimgui.cpp b/cimgui.cpp index 793eea2..5c03828 100644 --- a/cimgui.cpp +++ b/cimgui.cpp @@ -1,16 +1,9 @@ //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //based on imgui.h file version "1.91.4" 19140 from Dear ImGui https://github.com/ocornut/imgui //with imgui_internal.h api +//with imgui_freetype.h api //docking branch -#ifdef IMGUI_ENABLE_FREETYPE -#ifndef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should be defined for Freetype linking" -#endif -#else -#ifdef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui" -#endif -#endif + #include "./imgui/imgui.h" #ifdef IMGUI_ENABLE_FREETYPE #include "./imgui/misc/freetype/imgui_freetype.h" @@ -5790,6 +5783,18 @@ CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[2 { return ImFontAtlasBuildMultiplyRectAlpha8(table,pixels,x,y,w,h,stride); } +#ifdef IMGUI_ENABLE_FREETYPE +CIMGUI_API const ImFontBuilderIO* ImGuiFreeType_GetBuilderForFreeType() +{ + return ImGuiFreeType::GetBuilderForFreeType(); +} + +CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data) +{ + return ImGuiFreeType::SetAllocatorFunctions(alloc_func,free_func,user_data); +} + +#endif diff --git a/cimgui.h b/cimgui.h index a43a5b1..ec6d21e 100644 --- a/cimgui.h +++ b/cimgui.h @@ -1,6 +1,7 @@ //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //based on imgui.h file version "1.91.4" 19140 from Dear ImGui https://github.com/ocornut/imgui //with imgui_internal.h api +//with imgui_freetype.h api //docking branch #ifndef CIMGUI_INCLUDED #define CIMGUI_INCLUDED @@ -215,7 +216,17 @@ typedef ImU64 ImTextureID; typedef unsigned short ImDrawIdx; typedef unsigned int ImWchar32; typedef unsigned short ImWchar16; +#ifdef IMGUI_USE_WCHAR32 +typedef ImWchar32 ImWchar; +#else typedef ImWchar16 ImWchar; +#endif +#ifdef IMGUI_USE_WCHAR32 +#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF +#else +#define IM_UNICODE_CODEPOINT_MAX 0xFFFF +#endif + typedef ImS64 ImGuiSelectionUserData; typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data); typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data); @@ -1503,7 +1514,7 @@ struct ImFont float Scale; float Ascent, Descent; int MetricsTotalSurface; - ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8]; + ImU8 Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX +1)/4096/8]; }; typedef enum { ImGuiViewportFlags_None = 0, @@ -3478,6 +3489,22 @@ struct ImFontBuilderIO { bool (*FontBuilder_Build)(ImFontAtlas* atlas); }; +#ifdef IMGUI_ENABLE_FREETYPE +struct ImFontAtlas; +struct ImFontBuilderIO; +typedef enum { + ImGuiFreeTypeBuilderFlags_NoHinting = 1 << 0, + ImGuiFreeTypeBuilderFlags_NoAutoHint = 1 << 1, + ImGuiFreeTypeBuilderFlags_ForceAutoHint = 1 << 2, + ImGuiFreeTypeBuilderFlags_LightHinting = 1 << 3, + ImGuiFreeTypeBuilderFlags_MonoHinting = 1 << 4, + ImGuiFreeTypeBuilderFlags_Bold = 1 << 5, + ImGuiFreeTypeBuilderFlags_Oblique = 1 << 6, + ImGuiFreeTypeBuilderFlags_Monochrome = 1 << 7, + ImGuiFreeTypeBuilderFlags_LoadColor = 1 << 8, + ImGuiFreeTypeBuilderFlags_Bitmap = 1 << 9 +}ImGuiFreeTypeBuilderFlags; +#endif #define IMGUI_HAS_DOCK 1 #define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8) @@ -4985,6 +5012,10 @@ CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas,in CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned int in_marker_pixel_value); CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor); CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256],unsigned char* pixels,int x,int y,int w,int h,int stride); +#ifdef IMGUI_ENABLE_FREETYPE +CIMGUI_API const ImFontBuilderIO* ImGuiFreeType_GetBuilderForFreeType(void); +CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data); +#endif /////////////////////////hand written functions diff --git a/generator/cimgui_template.cpp b/generator/cimgui_template.cpp index 243ab6c..7d0e31d 100644 --- a/generator/cimgui_template.cpp +++ b/generator/cimgui_template.cpp @@ -1,12 +1,4 @@ -#ifdef IMGUI_ENABLE_FREETYPE -#ifndef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should be defined for Freetype linking" -#endif -#else -#ifdef CIMGUI_FREETYPE -#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui" -#endif -#endif + #include "./imgui/imgui.h" #ifdef IMGUI_ENABLE_FREETYPE #include "./imgui/misc/freetype/imgui_freetype.h" diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index 2c231d2..b3ff821 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -432,20 +432,15 @@ local function parseItems(txt,linenumdict, itparent, dumpit) loca = table.remove(loca,1) end if not loca then - print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline) - -- for k,v in pairs(linenumdict) do - -- if k:match(itemfirstline) then - -- print(string.format("%q",k),#k) - -- end - -- end - --error"no entry in linenumdict" --take locat from parent if itparent and itparent.locat then loca = itparent.locat + print("parent loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca) else loca = 0 - --error"no entry in linenumdict" + print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca) end + end else error"no linenumdict" @@ -481,7 +476,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit) end return itemarr,items end -M.parseItems = parseItems +--M.parseItems = parseItems local function name_overloadsAlgo(v) local aa = {} -- args @@ -1137,14 +1132,15 @@ local function ADDdestructors(FP) error"names should be equal" end local def = {} + local isrealdestructor = keep_dest_locat[defT[1].stname] and true def.stname = defT[1].stname def.templated = defT[1].templated - def.location = keep_dest_locat[defT[1].stname] + def.location = keep_dest_locat[defT[1].stname] or defT[1].location def.ret = "void" def.ov_cimguiname = def.stname.."_destroy" def.cimguiname = def.ov_cimguiname def.destructor = true - def.realdestructor = def.location and true + def.realdestructor = isrealdestructor def.args = "("..def.stname.."* self)" def.call_args = "(self)" def.signature = "("..def.stname.."*)" @@ -1321,6 +1317,7 @@ function M.Parser() it.name = it.item:match("class%s+(%S+)") print("cleaning class",it.name) it.item = it.item:gsub("private:.+};$","};") + --it.item = it.item:gsub("private:","") it.item = it.item:gsub("public:","") it.item = it.item:gsub("enum%s*class","enum") end @@ -1622,8 +1619,9 @@ function M.Parser() if parnam~="" then parnam = parnam:sub(1,-3) end return parnam end - - + function par:header_text_insert(tab,txt,it) + table.insert(tab, txt) + end function par:gen_structs_and_enums() print"--------------gen_structs_and_enums" --M.prtable(self.typenames) @@ -1665,14 +1663,16 @@ function M.Parser() end end --table.insert(outtabpre,it2) - table.insert(outtab,it2) + --table.insert(outtab,it2) + self:header_text_insert(outtab, it2, it) -- add typedef after struct name if it.re_name == "vardef_re" and it.item:match"^%s*struct" then local stname = it.item:match("struct%s*(%S+)%s*;") --table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n") local tst = "\ntypedef struct "..stname.." "..stname..";" if check_unique_typedefs(tst,uniques) then - table.insert(outtabpre,tst) + --table.insert(outtabpre,tst) + self:header_text_insert(outtabpre ,tst, it) end self.typedefs_dict[stname]="struct "..stname if it.parent then --must be struct name; inside namespace @@ -1698,11 +1698,15 @@ function M.Parser() end end enumbody = "{"..enumbody.."\n}" - table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums) + --table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums) + local it2 = "\ntypedef enum ".. enumbody..enumname..";"..extraenums + self:header_text_insert(outtab, it2, it) else local enumbody = it.item:match"(%b{})" enumbody = clean_comments(enumbody) - table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";") + --table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";") + local it2 = "\ntypedef enum ".. enumbody..enumname..";" + self:header_text_insert(outtab, it2, it) end if it.parent then if it.parent.re_name == "namespace_re" then @@ -1714,7 +1718,8 @@ function M.Parser() end else --unamed enum just repeat declaration local cl_item = clean_comments(it.item) - table.insert(outtab,cl_item) + --table.insert(outtab,cl_item) + self:header_text_insert(outtab, cl_item, it) print("unnamed enum",cl_item) end elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then @@ -1726,12 +1731,14 @@ function M.Parser() --table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n") local tst = "\ntypedef struct "..structname.." "..structname..";" if check_unique_typedefs(tst,uniques) then - table.insert(outtab,tst) + --table.insert(outtab,tst) + self:header_text_insert(outtab, tst, it) end self.typedefs_dict[structname]="struct "..structname --dont insert child structs as they are inserted before parent struct if not (it.parent and it.parent.re_name == "struct_re") then - table.insert(outtab,predec .. cleanst) + --table.insert(outtab,predec .. cleanst) + self:header_text_insert(outtab, predec .. cleanst, it) end end if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then @@ -2398,7 +2405,8 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines) end M.location = location ---------------------- C writing functions -local function ImGui_f_implementation(outtab,def) +local function ImGui_f_implementation(def) + local outtab = {} local ptret = def.retref and "&" or "" table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n") table.insert(outtab,"{\n") @@ -2425,8 +2433,10 @@ local function ImGui_f_implementation(outtab,def) table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n") end table.insert(outtab,"}\n") + return table.concat(outtab, "") end -local function struct_f_implementation(outtab,def) +local function struct_f_implementation(def) + local outtab = {} local empty = def.args:match("^%(%)") --no args local ptret = def.retref and "&" or "" @@ -2455,6 +2465,7 @@ local function struct_f_implementation(outtab,def) table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n") end table.insert(outtab,"}\n") + return table.concat(outtab, "") end local function func_implementation(FP) @@ -2472,31 +2483,38 @@ local function func_implementation(FP) local manual = FP.get_manuals(def) if not custom and not manual and not def.templated and not FP.get_skipped(def) then if def.constructor then + local tab = {} assert(def.stname ~= "","constructor without struct") local empty = def.args:match("^%(%)") --no args - table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_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") + table.insert(tab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n") + table.insert(tab,"{\n") + table.insert(tab," return IM_NEW("..def.stname..")"..def.call_args..";\n") + table.insert(tab,"}\n") if FP.CONSTRUCTORS_GENERATION then - table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n") - table.insert(outtab,"{\n") - table.insert(outtab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n") - table.insert(outtab,"}\n") + table.insert(tab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n") + table.insert(tab,"{\n") + table.insert(tab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n") + table.insert(tab,"}\n") end + table.insert(outtab, table.concat(tab, "")) elseif def.destructor then + local tab = {} 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") + table.insert(tab,"CIMGUI_API void "..fname..args.."\n") + table.insert(tab,"{\n") + table.insert(tab," IM_DELETE(self);\n") + table.insert(tab,"}\n") + table.insert(outtab, table.concat(tab, "")) elseif def.stname == "" or def.is_static_function then - ImGui_f_implementation(outtab,def) + table.insert(outtab, ImGui_f_implementation(def)) else -- stname - struct_f_implementation(outtab,def) + table.insert(outtab, struct_f_implementation(def)) end end + if FP.custom_function_post then + FP:custom_function_post(outtab, def) + end until true end return table.concat(outtab) @@ -2519,7 +2537,9 @@ local function func_header_generate_structs(FP) local outtab = {} - table_do_sorted(FP.embeded_structs,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end) + table_do_sorted(FP.embeded_structs,function(k,v) + table.insert(outtab,"typedef "..v.." "..k..";\n") + end) table_do_sorted(FP.embeded_enums,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end) @@ -2556,7 +2576,7 @@ local function func_header_generate_funcs(FP) assert(def.stname ~= "","constructor without struct") table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n") if FP.CONSTRUCTORS_GENERATION then - table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..");\n") + outtab[#outtab] = outtab[#outtab].."\nCIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..");\n" end elseif def.destructor then table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n") @@ -2569,9 +2589,13 @@ local function func_header_generate_funcs(FP) end end end + if FP.custom_function_post then + FP:custom_function_post(outtab, def) + end else --not cimguiname table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub end + end return outtab diff --git a/generator/generator.bat b/generator/generator.bat index 48182d7..38ca01d 100644 --- a/generator/generator.bat +++ b/generator/generator.bat @@ -15,11 +15,12 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min :: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin; ::process files :: arg[1] compiler name gcc, clang or cl -:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv +:: arg[2] options as words in one string: internal for imgui_internal generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv :: "constructors" adds the _Construct version of constructors -:: examples: "" "internal" "internal freetype comments" -:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32) -luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 sdl3 %* +:: examples: "" "internal" "internal comments" +:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG) +::-DIMGUI_USE_WCHAR32 should not be used (is discarded) +luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 sdl3 -DIMGUI_USE_WCHAR32 %* ::leave console open cmd /k diff --git a/generator/generator.lua b/generator/generator.lua index 1212769..b55e9ef 100644 --- a/generator/generator.lua +++ b/generator/generator.lua @@ -7,7 +7,7 @@ assert(bit,"Must use LuaJIT") local script_args = {...} local COMPILER = script_args[1] local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false -local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false +local FREETYPE_GENERATION = true --script_args[2]:match("freetype") and true or false local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false local CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or false local NOCHAR = script_args[2]:match("nochar") and true or false @@ -19,6 +19,9 @@ local CPRE,CTEST local implementations = {} for i=3,#script_args do if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then + if script_args[i]:match("IMGUI_USE_WCHAR32") then + script_args[i] = "" --dont use this define + end local key, value = script_args[i]:match("^(.+)=(.+)$") if key and value then CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\""; @@ -31,11 +34,11 @@ for i=3,#script_args do end if FREETYPE_GENERATION then - CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE " + CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE" --both builders end if COMPILER == "gcc" or COMPILER == "clang" or COMPILER == "zig cc" then - CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS + CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS CTEST = COMPILER.." --version" elseif COMPILER == "cl" then CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS @@ -214,6 +217,25 @@ local function DefsByStruct(FP) FP.defsBystruct = structs end +local function colapse_defines(str, define) + local num = 1 + while num > 0 do + str,num = str:gsub("(#ifdef "..define..".+)".."(#endif\n+#ifdef "..define.."\n)", "%1") + end + return str +end +local wchardefine = +[[#ifdef IMGUI_USE_WCHAR32 +typedef ImWchar32 ImWchar; +#else +typedef ImWchar16 ImWchar; +#endif +#ifdef IMGUI_USE_WCHAR32 +#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF +#else +#define IM_UNICODE_CODEPOINT_MAX 0xFFFF +#endif + ]] --generate cimgui.cpp cimgui.h local function cimgui_generation(parser) @@ -261,18 +283,27 @@ local function cimgui_generation(parser) end end + cstructsstr = colapse_defines(cstructsstr, "IMGUI_ENABLE_FREETYPE") + hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr) local cfuncsstr = func_header_generate(parser) + cfuncsstr = colapse_defines(cfuncsstr, "IMGUI_ENABLE_FREETYPE") hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr) + --patch hstrfile for ImWchar + local num + hstrfile, num = hstrfile:gsub("typedef ImWchar16 ImWchar;", wchardefine) + assert(num == 1) + hstrfile, num = hstrfile:gsub("Used4kPagesMap%[%(0xFFFF", "Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX") + assert(num == 1) save_data("./output/cimgui.h",cimgui_header,hstrfile) --merge it in cimgui_template.cpp to cimgui.cpp local cimplem = func_implementation(parser) - + cimplem = colapse_defines(cimplem, "IMGUI_ENABLE_FREETYPE") local hstrfile = read_data"./cimgui_template.cpp" hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) - local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or "" + local ftdef = "" --FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or "" save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile) end @@ -307,6 +338,20 @@ print("NOIMSTRV",NOIMSTRV) print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK) print("IMGUI_VERSION",gdefines.IMGUI_VERSION) +local function custom_function_post(self, outtab, def) + assert(def.location) + if def.location:match("imgui_freetype") then + outtab[#outtab] = "#ifdef IMGUI_ENABLE_FREETYPE\n"..outtab[#outtab].."\n#endif\n" + end +end +local function header_text_insert(self, outtab, txt, it) + assert(it.locat) + if it.locat:match("imgui_freetype") then + table.insert(outtab, "\n#ifdef IMGUI_ENABLE_FREETYPE"..txt.."\n#endif") + else + table.insert(outtab, txt) + end +end --funtion for parsing imgui headers local function parseImGuiHeader(header,names) @@ -327,6 +372,8 @@ local function parseImGuiHeader(header,names) parser.CONSTRUCTORS_GENERATION = CONSTRUCTORS_GENERATION parser.NOCHAR = NOCHAR parser.NOIMSTRV = NOIMSTRV + parser.custom_function_post = custom_function_post + parser.header_text_insert = header_text_insert local defines = parser:take_lines(CPRE..header,names,COMPILER) return parser diff --git a/generator/generator.sh b/generator/generator.sh index e45fe7e..734cd55 100755 --- a/generator/generator.sh +++ b/generator/generator.sh @@ -13,10 +13,11 @@ #process files # arg[1] compiler name gcc, clang, or cl -# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv +# arg[2] options as words in one string: internal for imgui_internal generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv # "constructors" adds the _Construct version of constructors -# examples: "" "internal" "internal freetype" "comments internal" -# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32) +# examples: "" "internal" "comments internal" +# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG) +# -DIMGUI_USE_WCHAR32 should not be used as it is generated for both ImWchar # # parse command line arguments diff --git a/generator/output/definitions.json b/generator/output/definitions.json index 9e2e3fe..962b57a 100644 --- a/generator/output/definitions.json +++ b/generator/output/definitions.json @@ -181,6 +181,7 @@ "cimguiname": "ImBitArray_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:589", "ov_cimguiname": "ImBitArray_destroy", "ret": "void", "signature": "(ImBitArray*)", @@ -789,6 +790,7 @@ "cimguiname": "ImColor_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2884", "ov_cimguiname": "ImColor_destroy", "ret": "void", "signature": "(ImColor*)", @@ -845,6 +847,7 @@ "cimguiname": "ImDrawCmd_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3089", "ov_cimguiname": "ImDrawCmd_destroy", "ret": "void", "signature": "(ImDrawCmd*)", @@ -880,6 +883,7 @@ "cimguiname": "ImDrawDataBuilder_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:795", "ov_cimguiname": "ImDrawDataBuilder_destroy", "ret": "void", "signature": "(ImDrawDataBuilder*)", @@ -1007,6 +1011,7 @@ "cimguiname": "ImDrawData_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3349", "ov_cimguiname": "ImDrawData_destroy", "ret": "void", "signature": "(ImDrawData*)", @@ -1067,6 +1072,7 @@ "cimguiname": "ImDrawListSharedData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:786", "ov_cimguiname": "ImDrawListSharedData_destroy", "ret": "void", "signature": "(ImDrawListSharedData*)", @@ -3678,6 +3684,7 @@ "cimguiname": "ImFontAtlasCustomRect_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3425", "ov_cimguiname": "ImFontAtlasCustomRect_destroy", "ret": "void", "signature": "(ImFontAtlasCustomRect*)", @@ -4563,6 +4570,7 @@ "cimguiname": "ImFontConfig_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3385", "ov_cimguiname": "ImFontConfig_destroy", "ret": "void", "signature": "(ImFontConfig*)", @@ -4775,6 +4783,7 @@ "cimguiname": "ImFontGlyphRangesBuilder_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3406", "ov_cimguiname": "ImFontGlyphRangesBuilder_destroy", "ret": "void", "signature": "(ImFontGlyphRangesBuilder*)", @@ -5380,6 +5389,7 @@ "cimguiname": "ImGuiBoxSelectState_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1756", "ov_cimguiname": "ImGuiBoxSelectState_destroy", "ret": "void", "signature": "(ImGuiBoxSelectState*)", @@ -5415,6 +5425,7 @@ "cimguiname": "ImGuiComboPreviewData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1053", "ov_cimguiname": "ImGuiComboPreviewData_destroy", "ret": "void", "signature": "(ImGuiComboPreviewData*)", @@ -5450,6 +5461,7 @@ "cimguiname": "ImGuiContextHook_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2195", "ov_cimguiname": "ImGuiContextHook_destroy", "ret": "void", "signature": "(ImGuiContextHook*)", @@ -5490,6 +5502,7 @@ "cimguiname": "ImGuiContext_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2582", "ov_cimguiname": "ImGuiContext_destroy", "ret": "void", "signature": "(ImGuiContext*)", @@ -5550,6 +5563,7 @@ "cimguiname": "ImGuiDebugAllocInfo_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2135", "ov_cimguiname": "ImGuiDebugAllocInfo_destroy", "ret": "void", "signature": "(ImGuiDebugAllocInfo*)", @@ -5585,6 +5599,7 @@ "cimguiname": "ImGuiDockContext_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1954", "ov_cimguiname": "ImGuiDockContext_destroy", "ret": "void", "signature": "(ImGuiDockContext*)", @@ -5923,12 +5938,66 @@ "cimguiname": "ImGuiErrorRecoveryState_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1291", "ov_cimguiname": "ImGuiErrorRecoveryState_destroy", "ret": "void", "signature": "(ImGuiErrorRecoveryState*)", "stname": "ImGuiErrorRecoveryState" } ], + "ImGuiFreeType_GetBuilderForFreeType": [ + { + "args": "()", + "argsT": [], + "argsoriginal": "()", + "call_args": "()", + "cimguiname": "ImGuiFreeType_GetBuilderForFreeType", + "defaults": {}, + "funcname": "GetBuilderForFreeType", + "location": "imgui_freetype:46", + "namespace": "ImGuiFreeType", + "ov_cimguiname": "ImGuiFreeType_GetBuilderForFreeType", + "ret": "const ImFontBuilderIO*", + "signature": "()", + "stname": "" + } + ], + "ImGuiFreeType_SetAllocatorFunctions": [ + { + "args": "(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data)", + "argsT": [ + { + "name": "alloc_func", + "ret": "void*", + "signature": "(size_t sz,void* user_data)", + "type": "void*(*)(size_t sz,void* user_data)" + }, + { + "name": "free_func", + "ret": "void", + "signature": "(void* ptr,void* user_data)", + "type": "void(*)(void* ptr,void* user_data)" + }, + { + "name": "user_data", + "type": "void*" + } + ], + "argsoriginal": "(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data=nullptr)", + "call_args": "(alloc_func,free_func,user_data)", + "cimguiname": "ImGuiFreeType_SetAllocatorFunctions", + "defaults": { + "user_data": "nullptr" + }, + "funcname": "SetAllocatorFunctions", + "location": "imgui_freetype:50", + "namespace": "ImGuiFreeType", + "ov_cimguiname": "ImGuiFreeType_SetAllocatorFunctions", + "ret": "void", + "signature": "(void*(*)(size_t,void*),void(*)(void*,void*),void*)", + "stname": "" + } + ], "ImGuiIDStackTool_ImGuiIDStackTool": [ { "args": "()", @@ -5958,6 +6027,7 @@ "cimguiname": "ImGuiIDStackTool_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2177", "ov_cimguiname": "ImGuiIDStackTool_destroy", "ret": "void", "signature": "(ImGuiIDStackTool*)", @@ -6419,6 +6489,7 @@ "cimguiname": "ImGuiIO_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2543", "ov_cimguiname": "ImGuiIO_destroy", "ret": "void", "signature": "(ImGuiIO*)", @@ -6454,6 +6525,7 @@ "cimguiname": "ImGuiInputEvent_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1423", "ov_cimguiname": "ImGuiInputEvent_destroy", "ret": "void", "signature": "(ImGuiInputEvent*)", @@ -6616,6 +6688,7 @@ "cimguiname": "ImGuiInputTextCallbackData_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2583", "ov_cimguiname": "ImGuiInputTextCallbackData_destroy", "ret": "void", "signature": "(ImGuiInputTextCallbackData*)", @@ -6672,6 +6745,7 @@ "cimguiname": "ImGuiInputTextDeactivatedState_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1098", "ov_cimguiname": "ImGuiInputTextDeactivatedState_destroy", "ret": "void", "signature": "(ImGuiInputTextDeactivatedState*)", @@ -7067,6 +7141,7 @@ "cimguiname": "ImGuiKeyOwnerData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1467", "ov_cimguiname": "ImGuiKeyOwnerData_destroy", "ret": "void", "signature": "(ImGuiKeyOwnerData*)", @@ -7102,6 +7177,7 @@ "cimguiname": "ImGuiKeyRoutingData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1443", "ov_cimguiname": "ImGuiKeyRoutingData_destroy", "ret": "void", "signature": "(ImGuiKeyRoutingData*)", @@ -7158,6 +7234,7 @@ "cimguiname": "ImGuiKeyRoutingTable_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1454", "ov_cimguiname": "ImGuiKeyRoutingTable_destroy", "ret": "void", "signature": "(ImGuiKeyRoutingTable*)", @@ -7193,6 +7270,7 @@ "cimguiname": "ImGuiLastItemData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1261", "ov_cimguiname": "ImGuiLastItemData_destroy", "ret": "void", "signature": "(ImGuiLastItemData*)", @@ -7253,6 +7331,7 @@ "cimguiname": "ImGuiListClipperData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1538", "ov_cimguiname": "ImGuiListClipperData_destroy", "ret": "void", "signature": "(ImGuiListClipperData*)", @@ -7628,6 +7707,7 @@ "cimguiname": "ImGuiMenuColumns_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1086", "ov_cimguiname": "ImGuiMenuColumns_destroy", "ret": "void", "signature": "(ImGuiMenuColumns*)", @@ -7663,6 +7743,7 @@ "cimguiname": "ImGuiMultiSelectState_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1803", "ov_cimguiname": "ImGuiMultiSelectState_destroy", "ret": "void", "signature": "(ImGuiMultiSelectState*)", @@ -7740,6 +7821,7 @@ "cimguiname": "ImGuiMultiSelectTempData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1786", "ov_cimguiname": "ImGuiMultiSelectTempData_destroy", "ret": "void", "signature": "(ImGuiMultiSelectTempData*)", @@ -7796,6 +7878,7 @@ "cimguiname": "ImGuiNavItemData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1627", "ov_cimguiname": "ImGuiNavItemData_destroy", "ret": "void", "signature": "(ImGuiNavItemData*)", @@ -7852,6 +7935,7 @@ "cimguiname": "ImGuiNextItemData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1244", "ov_cimguiname": "ImGuiNextItemData_destroy", "ret": "void", "signature": "(ImGuiNextItemData*)", @@ -7908,6 +7992,7 @@ "cimguiname": "ImGuiNextWindowData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1215", "ov_cimguiname": "ImGuiNextWindowData_destroy", "ret": "void", "signature": "(ImGuiNextWindowData*)", @@ -7943,6 +8028,7 @@ "cimguiname": "ImGuiOldColumnData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1707", "ov_cimguiname": "ImGuiOldColumnData_destroy", "ret": "void", "signature": "(ImGuiOldColumnData*)", @@ -7978,6 +8064,7 @@ "cimguiname": "ImGuiOldColumns_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1728", "ov_cimguiname": "ImGuiOldColumns_destroy", "ret": "void", "signature": "(ImGuiOldColumns*)", @@ -8013,6 +8100,7 @@ "cimguiname": "ImGuiOnceUponAFrame_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2661", "ov_cimguiname": "ImGuiOnceUponAFrame_destroy", "ret": "void", "signature": "(ImGuiOnceUponAFrame*)", @@ -8136,6 +8224,7 @@ "cimguiname": "ImGuiPayload_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2638", "ov_cimguiname": "ImGuiPayload_destroy", "ret": "void", "signature": "(ImGuiPayload*)", @@ -8171,6 +8260,7 @@ "cimguiname": "ImGuiPlatformIO_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3732", "ov_cimguiname": "ImGuiPlatformIO_destroy", "ret": "void", "signature": "(ImGuiPlatformIO*)", @@ -8206,6 +8296,7 @@ "cimguiname": "ImGuiPlatformImeData_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3842", "ov_cimguiname": "ImGuiPlatformImeData_destroy", "ret": "void", "signature": "(ImGuiPlatformImeData*)", @@ -8241,6 +8332,7 @@ "cimguiname": "ImGuiPlatformMonitor_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3832", "ov_cimguiname": "ImGuiPlatformMonitor_destroy", "ret": "void", "signature": "(ImGuiPlatformMonitor*)", @@ -8276,6 +8368,7 @@ "cimguiname": "ImGuiPopupData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1342", "ov_cimguiname": "ImGuiPopupData_destroy", "ret": "void", "signature": "(ImGuiPopupData*)", @@ -8335,6 +8428,7 @@ "cimguiname": "ImGuiPtrOrIndex_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1315", "ov_cimguiname": "ImGuiPtrOrIndex_destroy", "ret": "void", "signature": "(ImGuiPtrOrIndex*)", @@ -8550,6 +8644,7 @@ "cimguiname": "ImGuiSelectionBasicStorage_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3022", "ov_cimguiname": "ImGuiSelectionBasicStorage_destroy", "ret": "void", "signature": "(ImGuiSelectionBasicStorage*)", @@ -8610,6 +8705,7 @@ "cimguiname": "ImGuiSelectionExternalStorage_destroy", "defaults": {}, "destructor": true, + "location": "imgui:3041", "ov_cimguiname": "ImGuiSelectionExternalStorage_destroy", "ret": "void", "signature": "(ImGuiSelectionExternalStorage*)", @@ -8645,6 +8741,7 @@ "cimguiname": "ImGuiSettingsHandler_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2048", "ov_cimguiname": "ImGuiSettingsHandler_destroy", "ret": "void", "signature": "(ImGuiSettingsHandler*)", @@ -8680,6 +8777,7 @@ "cimguiname": "ImGuiStackLevelInfo_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2164", "ov_cimguiname": "ImGuiStackLevelInfo_destroy", "ret": "void", "signature": "(ImGuiStackLevelInfo*)", @@ -8770,6 +8868,7 @@ "cimguiname": "ImGuiStoragePair_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2718", "ov_cimguiname": "ImGuiStoragePair_destroy", "ret": "void", "signature": "(ImGuiStoragePair*)", @@ -9285,6 +9384,7 @@ "cimguiname": "ImGuiStyleMod_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1038", "ov_cimguiname": "ImGuiStyleMod_destroy", "ret": "void", "signature": "(ImGuiStyleMod*)", @@ -9345,6 +9445,7 @@ "cimguiname": "ImGuiStyle_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2279", "ov_cimguiname": "ImGuiStyle_destroy", "ret": "void", "signature": "(ImGuiStyle*)", @@ -9380,6 +9481,7 @@ "cimguiname": "ImGuiTabBar_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2868", "ov_cimguiname": "ImGuiTabBar_destroy", "ret": "void", "signature": "(ImGuiTabBar*)", @@ -9415,6 +9517,7 @@ "cimguiname": "ImGuiTabItem_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2827", "ov_cimguiname": "ImGuiTabItem_destroy", "ret": "void", "signature": "(ImGuiTabItem*)", @@ -9450,6 +9553,7 @@ "cimguiname": "ImGuiTableColumnSettings_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:3136", "ov_cimguiname": "ImGuiTableColumnSettings_destroy", "ret": "void", "signature": "(ImGuiTableColumnSettings*)", @@ -9485,6 +9589,7 @@ "cimguiname": "ImGuiTableColumnSortSpecs_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2102", "ov_cimguiname": "ImGuiTableColumnSortSpecs_destroy", "ret": "void", "signature": "(ImGuiTableColumnSortSpecs*)", @@ -9520,6 +9625,7 @@ "cimguiname": "ImGuiTableColumn_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2931", "ov_cimguiname": "ImGuiTableColumn_destroy", "ret": "void", "signature": "(ImGuiTableColumn*)", @@ -9555,6 +9661,7 @@ "cimguiname": "ImGuiTableInstanceData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2974", "ov_cimguiname": "ImGuiTableInstanceData_destroy", "ret": "void", "signature": "(ImGuiTableInstanceData*)", @@ -9611,6 +9718,7 @@ "cimguiname": "ImGuiTableSettings_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:3158", "ov_cimguiname": "ImGuiTableSettings_destroy", "ret": "void", "signature": "(ImGuiTableSettings*)", @@ -9646,6 +9754,7 @@ "cimguiname": "ImGuiTableSortSpecs_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2091", "ov_cimguiname": "ImGuiTableSortSpecs_destroy", "ret": "void", "signature": "(ImGuiTableSortSpecs*)", @@ -9681,6 +9790,7 @@ "cimguiname": "ImGuiTableTempData_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:3121", "ov_cimguiname": "ImGuiTableTempData_destroy", "ret": "void", "signature": "(ImGuiTableTempData*)", @@ -9907,6 +10017,7 @@ "cimguiname": "ImGuiTextBuffer_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2699", "ov_cimguiname": "ImGuiTextBuffer_destroy", "ret": "void", "signature": "(ImGuiTextBuffer*)", @@ -10163,6 +10274,7 @@ "cimguiname": "ImGuiTextFilter_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2669", "ov_cimguiname": "ImGuiTextFilter_destroy", "ret": "void", "signature": "(ImGuiTextFilter*)", @@ -10354,6 +10466,7 @@ "cimguiname": "ImGuiTextRange_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2682", "ov_cimguiname": "ImGuiTextRange_destroy", "ret": "void", "signature": "(ImGuiTextRange*)", @@ -10460,6 +10573,7 @@ "cimguiname": "ImGuiTypingSelectState_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:1671", "ov_cimguiname": "ImGuiTypingSelectState_destroy", "ret": "void", "signature": "(ImGuiTypingSelectState*)", @@ -10805,6 +10919,7 @@ "cimguiname": "ImGuiWindowClass_destroy", "defaults": {}, "destructor": true, + "location": "imgui:2620", "ov_cimguiname": "ImGuiWindowClass_destroy", "ret": "void", "signature": "(ImGuiWindowClass*)", @@ -10861,6 +10976,7 @@ "cimguiname": "ImGuiWindowSettings_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:2032", "ov_cimguiname": "ImGuiWindowSettings_destroy", "ret": "void", "signature": "(ImGuiWindowSettings*)", @@ -12240,6 +12356,7 @@ "cimguiname": "ImRect_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:528", "ov_cimguiname": "ImRect_destroy", "ret": "void", "signature": "(ImRect*)", @@ -12412,6 +12529,7 @@ "cimguiname": "ImSpanAllocator_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:653", "ov_cimguiname": "ImSpanAllocator_destroy", "ret": "void", "signature": "(ImSpanAllocator*)", @@ -12539,6 +12657,7 @@ "cimguiname": "ImSpan_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:621", "ov_cimguiname": "ImSpan_destroy", "ret": "void", "signature": "(ImSpan*)", @@ -12764,6 +12883,7 @@ "cimguiname": "ImVec1_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:508", "ov_cimguiname": "ImVec1_destroy", "ret": "void", "signature": "(ImVec1*)", @@ -12822,6 +12942,7 @@ "cimguiname": "ImVec2_destroy", "defaults": {}, "destructor": true, + "location": "imgui:298", "ov_cimguiname": "ImVec2_destroy", "ret": "void", "signature": "(ImVec2*)", @@ -12899,6 +13020,7 @@ "cimguiname": "ImVec2ih_destroy", "defaults": {}, "destructor": true, + "location": "imgui_internal:516", "ov_cimguiname": "ImVec2ih_destroy", "ret": "void", "signature": "(ImVec2ih*)", @@ -12965,6 +13087,7 @@ "cimguiname": "ImVec4_destroy", "defaults": {}, "destructor": true, + "location": "imgui:311", "ov_cimguiname": "ImVec4_destroy", "ret": "void", "signature": "(ImVec4*)", diff --git a/generator/output/definitions.lua b/generator/output/definitions.lua index ca9165b..448d5a9 100644 --- a/generator/output/definitions.lua +++ b/generator/output/definitions.lua @@ -155,6 +155,7 @@ defs["ImBitArray_destroy"][1]["call_args"] = "(self)" defs["ImBitArray_destroy"][1]["cimguiname"] = "ImBitArray_destroy" defs["ImBitArray_destroy"][1]["defaults"] = {} defs["ImBitArray_destroy"][1]["destructor"] = true +defs["ImBitArray_destroy"][1]["location"] = "imgui_internal:589" defs["ImBitArray_destroy"][1]["ov_cimguiname"] = "ImBitArray_destroy" defs["ImBitArray_destroy"][1]["ret"] = "void" defs["ImBitArray_destroy"][1]["signature"] = "(ImBitArray*)" @@ -669,6 +670,7 @@ defs["ImColor_destroy"][1]["call_args"] = "(self)" defs["ImColor_destroy"][1]["cimguiname"] = "ImColor_destroy" defs["ImColor_destroy"][1]["defaults"] = {} defs["ImColor_destroy"][1]["destructor"] = true +defs["ImColor_destroy"][1]["location"] = "imgui:2884" defs["ImColor_destroy"][1]["ov_cimguiname"] = "ImColor_destroy" defs["ImColor_destroy"][1]["ret"] = "void" defs["ImColor_destroy"][1]["signature"] = "(ImColor*)" @@ -718,6 +720,7 @@ defs["ImDrawCmd_destroy"][1]["call_args"] = "(self)" defs["ImDrawCmd_destroy"][1]["cimguiname"] = "ImDrawCmd_destroy" defs["ImDrawCmd_destroy"][1]["defaults"] = {} defs["ImDrawCmd_destroy"][1]["destructor"] = true +defs["ImDrawCmd_destroy"][1]["location"] = "imgui:3089" defs["ImDrawCmd_destroy"][1]["ov_cimguiname"] = "ImDrawCmd_destroy" defs["ImDrawCmd_destroy"][1]["ret"] = "void" defs["ImDrawCmd_destroy"][1]["signature"] = "(ImDrawCmd*)" @@ -749,6 +752,7 @@ defs["ImDrawDataBuilder_destroy"][1]["call_args"] = "(self)" defs["ImDrawDataBuilder_destroy"][1]["cimguiname"] = "ImDrawDataBuilder_destroy" defs["ImDrawDataBuilder_destroy"][1]["defaults"] = {} defs["ImDrawDataBuilder_destroy"][1]["destructor"] = true +defs["ImDrawDataBuilder_destroy"][1]["location"] = "imgui_internal:795" defs["ImDrawDataBuilder_destroy"][1]["ov_cimguiname"] = "ImDrawDataBuilder_destroy" defs["ImDrawDataBuilder_destroy"][1]["ret"] = "void" defs["ImDrawDataBuilder_destroy"][1]["signature"] = "(ImDrawDataBuilder*)" @@ -858,6 +862,7 @@ defs["ImDrawData_destroy"][1]["call_args"] = "(self)" defs["ImDrawData_destroy"][1]["cimguiname"] = "ImDrawData_destroy" defs["ImDrawData_destroy"][1]["defaults"] = {} defs["ImDrawData_destroy"][1]["destructor"] = true +defs["ImDrawData_destroy"][1]["location"] = "imgui:3349" defs["ImDrawData_destroy"][1]["ov_cimguiname"] = "ImDrawData_destroy" defs["ImDrawData_destroy"][1]["ret"] = "void" defs["ImDrawData_destroy"][1]["signature"] = "(ImDrawData*)" @@ -910,6 +915,7 @@ defs["ImDrawListSharedData_destroy"][1]["call_args"] = "(self)" defs["ImDrawListSharedData_destroy"][1]["cimguiname"] = "ImDrawListSharedData_destroy" defs["ImDrawListSharedData_destroy"][1]["defaults"] = {} defs["ImDrawListSharedData_destroy"][1]["destructor"] = true +defs["ImDrawListSharedData_destroy"][1]["location"] = "imgui_internal:786" defs["ImDrawListSharedData_destroy"][1]["ov_cimguiname"] = "ImDrawListSharedData_destroy" defs["ImDrawListSharedData_destroy"][1]["ret"] = "void" defs["ImDrawListSharedData_destroy"][1]["signature"] = "(ImDrawListSharedData*)" @@ -3042,6 +3048,7 @@ defs["ImFontAtlasCustomRect_destroy"][1]["call_args"] = "(self)" defs["ImFontAtlasCustomRect_destroy"][1]["cimguiname"] = "ImFontAtlasCustomRect_destroy" defs["ImFontAtlasCustomRect_destroy"][1]["defaults"] = {} defs["ImFontAtlasCustomRect_destroy"][1]["destructor"] = true +defs["ImFontAtlasCustomRect_destroy"][1]["location"] = "imgui:3425" defs["ImFontAtlasCustomRect_destroy"][1]["ov_cimguiname"] = "ImFontAtlasCustomRect_destroy" defs["ImFontAtlasCustomRect_destroy"][1]["ret"] = "void" defs["ImFontAtlasCustomRect_destroy"][1]["signature"] = "(ImFontAtlasCustomRect*)" @@ -3778,6 +3785,7 @@ defs["ImFontConfig_destroy"][1]["call_args"] = "(self)" defs["ImFontConfig_destroy"][1]["cimguiname"] = "ImFontConfig_destroy" defs["ImFontConfig_destroy"][1]["defaults"] = {} defs["ImFontConfig_destroy"][1]["destructor"] = true +defs["ImFontConfig_destroy"][1]["location"] = "imgui:3385" defs["ImFontConfig_destroy"][1]["ov_cimguiname"] = "ImFontConfig_destroy" defs["ImFontConfig_destroy"][1]["ret"] = "void" defs["ImFontConfig_destroy"][1]["signature"] = "(ImFontConfig*)" @@ -3957,6 +3965,7 @@ defs["ImFontGlyphRangesBuilder_destroy"][1]["call_args"] = "(self)" defs["ImFontGlyphRangesBuilder_destroy"][1]["cimguiname"] = "ImFontGlyphRangesBuilder_destroy" defs["ImFontGlyphRangesBuilder_destroy"][1]["defaults"] = {} defs["ImFontGlyphRangesBuilder_destroy"][1]["destructor"] = true +defs["ImFontGlyphRangesBuilder_destroy"][1]["location"] = "imgui:3406" defs["ImFontGlyphRangesBuilder_destroy"][1]["ov_cimguiname"] = "ImFontGlyphRangesBuilder_destroy" defs["ImFontGlyphRangesBuilder_destroy"][1]["ret"] = "void" defs["ImFontGlyphRangesBuilder_destroy"][1]["signature"] = "(ImFontGlyphRangesBuilder*)" @@ -4456,6 +4465,7 @@ defs["ImGuiBoxSelectState_destroy"][1]["call_args"] = "(self)" defs["ImGuiBoxSelectState_destroy"][1]["cimguiname"] = "ImGuiBoxSelectState_destroy" defs["ImGuiBoxSelectState_destroy"][1]["defaults"] = {} defs["ImGuiBoxSelectState_destroy"][1]["destructor"] = true +defs["ImGuiBoxSelectState_destroy"][1]["location"] = "imgui_internal:1756" defs["ImGuiBoxSelectState_destroy"][1]["ov_cimguiname"] = "ImGuiBoxSelectState_destroy" defs["ImGuiBoxSelectState_destroy"][1]["ret"] = "void" defs["ImGuiBoxSelectState_destroy"][1]["signature"] = "(ImGuiBoxSelectState*)" @@ -4487,6 +4497,7 @@ defs["ImGuiComboPreviewData_destroy"][1]["call_args"] = "(self)" defs["ImGuiComboPreviewData_destroy"][1]["cimguiname"] = "ImGuiComboPreviewData_destroy" defs["ImGuiComboPreviewData_destroy"][1]["defaults"] = {} defs["ImGuiComboPreviewData_destroy"][1]["destructor"] = true +defs["ImGuiComboPreviewData_destroy"][1]["location"] = "imgui_internal:1053" defs["ImGuiComboPreviewData_destroy"][1]["ov_cimguiname"] = "ImGuiComboPreviewData_destroy" defs["ImGuiComboPreviewData_destroy"][1]["ret"] = "void" defs["ImGuiComboPreviewData_destroy"][1]["signature"] = "(ImGuiComboPreviewData*)" @@ -4518,6 +4529,7 @@ defs["ImGuiContextHook_destroy"][1]["call_args"] = "(self)" defs["ImGuiContextHook_destroy"][1]["cimguiname"] = "ImGuiContextHook_destroy" defs["ImGuiContextHook_destroy"][1]["defaults"] = {} defs["ImGuiContextHook_destroy"][1]["destructor"] = true +defs["ImGuiContextHook_destroy"][1]["location"] = "imgui_internal:2195" defs["ImGuiContextHook_destroy"][1]["ov_cimguiname"] = "ImGuiContextHook_destroy" defs["ImGuiContextHook_destroy"][1]["ret"] = "void" defs["ImGuiContextHook_destroy"][1]["signature"] = "(ImGuiContextHook*)" @@ -4552,6 +4564,7 @@ defs["ImGuiContext_destroy"][1]["call_args"] = "(self)" defs["ImGuiContext_destroy"][1]["cimguiname"] = "ImGuiContext_destroy" defs["ImGuiContext_destroy"][1]["defaults"] = {} defs["ImGuiContext_destroy"][1]["destructor"] = true +defs["ImGuiContext_destroy"][1]["location"] = "imgui_internal:2582" defs["ImGuiContext_destroy"][1]["ov_cimguiname"] = "ImGuiContext_destroy" defs["ImGuiContext_destroy"][1]["ret"] = "void" defs["ImGuiContext_destroy"][1]["signature"] = "(ImGuiContext*)" @@ -4604,6 +4617,7 @@ defs["ImGuiDebugAllocInfo_destroy"][1]["call_args"] = "(self)" defs["ImGuiDebugAllocInfo_destroy"][1]["cimguiname"] = "ImGuiDebugAllocInfo_destroy" defs["ImGuiDebugAllocInfo_destroy"][1]["defaults"] = {} defs["ImGuiDebugAllocInfo_destroy"][1]["destructor"] = true +defs["ImGuiDebugAllocInfo_destroy"][1]["location"] = "imgui_internal:2135" defs["ImGuiDebugAllocInfo_destroy"][1]["ov_cimguiname"] = "ImGuiDebugAllocInfo_destroy" defs["ImGuiDebugAllocInfo_destroy"][1]["ret"] = "void" defs["ImGuiDebugAllocInfo_destroy"][1]["signature"] = "(ImGuiDebugAllocInfo*)" @@ -4635,6 +4649,7 @@ defs["ImGuiDockContext_destroy"][1]["call_args"] = "(self)" defs["ImGuiDockContext_destroy"][1]["cimguiname"] = "ImGuiDockContext_destroy" defs["ImGuiDockContext_destroy"][1]["defaults"] = {} defs["ImGuiDockContext_destroy"][1]["destructor"] = true +defs["ImGuiDockContext_destroy"][1]["location"] = "imgui_internal:1954" defs["ImGuiDockContext_destroy"][1]["ov_cimguiname"] = "ImGuiDockContext_destroy" defs["ImGuiDockContext_destroy"][1]["ret"] = "void" defs["ImGuiDockContext_destroy"][1]["signature"] = "(ImGuiDockContext*)" @@ -4925,11 +4940,58 @@ defs["ImGuiErrorRecoveryState_destroy"][1]["call_args"] = "(self)" defs["ImGuiErrorRecoveryState_destroy"][1]["cimguiname"] = "ImGuiErrorRecoveryState_destroy" defs["ImGuiErrorRecoveryState_destroy"][1]["defaults"] = {} defs["ImGuiErrorRecoveryState_destroy"][1]["destructor"] = true +defs["ImGuiErrorRecoveryState_destroy"][1]["location"] = "imgui_internal:1291" defs["ImGuiErrorRecoveryState_destroy"][1]["ov_cimguiname"] = "ImGuiErrorRecoveryState_destroy" defs["ImGuiErrorRecoveryState_destroy"][1]["ret"] = "void" defs["ImGuiErrorRecoveryState_destroy"][1]["signature"] = "(ImGuiErrorRecoveryState*)" defs["ImGuiErrorRecoveryState_destroy"][1]["stname"] = "ImGuiErrorRecoveryState" defs["ImGuiErrorRecoveryState_destroy"]["(ImGuiErrorRecoveryState*)"] = defs["ImGuiErrorRecoveryState_destroy"][1] +defs["ImGuiFreeType_GetBuilderForFreeType"] = {} +defs["ImGuiFreeType_GetBuilderForFreeType"][1] = {} +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["args"] = "()" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["argsT"] = {} +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["argsoriginal"] = "()" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["call_args"] = "()" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["cimguiname"] = "ImGuiFreeType_GetBuilderForFreeType" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["defaults"] = {} +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["funcname"] = "GetBuilderForFreeType" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["location"] = "imgui_freetype:46" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["namespace"] = "ImGuiFreeType" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["ov_cimguiname"] = "ImGuiFreeType_GetBuilderForFreeType" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["ret"] = "const ImFontBuilderIO*" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["signature"] = "()" +defs["ImGuiFreeType_GetBuilderForFreeType"][1]["stname"] = "" +defs["ImGuiFreeType_GetBuilderForFreeType"]["()"] = defs["ImGuiFreeType_GetBuilderForFreeType"][1] +defs["ImGuiFreeType_SetAllocatorFunctions"] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["args"] = "(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][1] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][1]["name"] = "alloc_func" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][1]["ret"] = "void*" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][1]["signature"] = "(size_t sz,void* user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][1]["type"] = "void*(*)(size_t sz,void* user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][2] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][2]["name"] = "free_func" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][2]["ret"] = "void" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][2]["signature"] = "(void* ptr,void* user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][2]["type"] = "void(*)(void* ptr,void* user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][3] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][3]["name"] = "user_data" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsT"][3]["type"] = "void*" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["argsoriginal"] = "(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data=nullptr)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["call_args"] = "(alloc_func,free_func,user_data)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["cimguiname"] = "ImGuiFreeType_SetAllocatorFunctions" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["defaults"] = {} +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["defaults"]["user_data"] = "nullptr" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["funcname"] = "SetAllocatorFunctions" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["location"] = "imgui_freetype:50" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["namespace"] = "ImGuiFreeType" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["ov_cimguiname"] = "ImGuiFreeType_SetAllocatorFunctions" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["ret"] = "void" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["signature"] = "(void*(*)(size_t,void*),void(*)(void*,void*),void*)" +defs["ImGuiFreeType_SetAllocatorFunctions"][1]["stname"] = "" +defs["ImGuiFreeType_SetAllocatorFunctions"]["(void*(*)(size_t,void*),void(*)(void*,void*),void*)"] = defs["ImGuiFreeType_SetAllocatorFunctions"][1] defs["ImGuiIDStackTool_ImGuiIDStackTool"] = {} defs["ImGuiIDStackTool_ImGuiIDStackTool"][1] = {} defs["ImGuiIDStackTool_ImGuiIDStackTool"][1]["args"] = "()" @@ -4956,6 +5018,7 @@ defs["ImGuiIDStackTool_destroy"][1]["call_args"] = "(self)" defs["ImGuiIDStackTool_destroy"][1]["cimguiname"] = "ImGuiIDStackTool_destroy" defs["ImGuiIDStackTool_destroy"][1]["defaults"] = {} defs["ImGuiIDStackTool_destroy"][1]["destructor"] = true +defs["ImGuiIDStackTool_destroy"][1]["location"] = "imgui_internal:2177" defs["ImGuiIDStackTool_destroy"][1]["ov_cimguiname"] = "ImGuiIDStackTool_destroy" defs["ImGuiIDStackTool_destroy"][1]["ret"] = "void" defs["ImGuiIDStackTool_destroy"][1]["signature"] = "(ImGuiIDStackTool*)" @@ -5342,6 +5405,7 @@ defs["ImGuiIO_destroy"][1]["call_args"] = "(self)" defs["ImGuiIO_destroy"][1]["cimguiname"] = "ImGuiIO_destroy" defs["ImGuiIO_destroy"][1]["defaults"] = {} defs["ImGuiIO_destroy"][1]["destructor"] = true +defs["ImGuiIO_destroy"][1]["location"] = "imgui:2543" defs["ImGuiIO_destroy"][1]["ov_cimguiname"] = "ImGuiIO_destroy" defs["ImGuiIO_destroy"][1]["ret"] = "void" defs["ImGuiIO_destroy"][1]["signature"] = "(ImGuiIO*)" @@ -5373,6 +5437,7 @@ defs["ImGuiInputEvent_destroy"][1]["call_args"] = "(self)" defs["ImGuiInputEvent_destroy"][1]["cimguiname"] = "ImGuiInputEvent_destroy" defs["ImGuiInputEvent_destroy"][1]["defaults"] = {} defs["ImGuiInputEvent_destroy"][1]["destructor"] = true +defs["ImGuiInputEvent_destroy"][1]["location"] = "imgui_internal:1423" defs["ImGuiInputEvent_destroy"][1]["ov_cimguiname"] = "ImGuiInputEvent_destroy" defs["ImGuiInputEvent_destroy"][1]["ret"] = "void" defs["ImGuiInputEvent_destroy"][1]["signature"] = "(ImGuiInputEvent*)" @@ -5510,6 +5575,7 @@ defs["ImGuiInputTextCallbackData_destroy"][1]["call_args"] = "(self)" defs["ImGuiInputTextCallbackData_destroy"][1]["cimguiname"] = "ImGuiInputTextCallbackData_destroy" defs["ImGuiInputTextCallbackData_destroy"][1]["defaults"] = {} defs["ImGuiInputTextCallbackData_destroy"][1]["destructor"] = true +defs["ImGuiInputTextCallbackData_destroy"][1]["location"] = "imgui:2583" defs["ImGuiInputTextCallbackData_destroy"][1]["ov_cimguiname"] = "ImGuiInputTextCallbackData_destroy" defs["ImGuiInputTextCallbackData_destroy"][1]["ret"] = "void" defs["ImGuiInputTextCallbackData_destroy"][1]["signature"] = "(ImGuiInputTextCallbackData*)" @@ -5559,6 +5625,7 @@ defs["ImGuiInputTextDeactivatedState_destroy"][1]["call_args"] = "(self)" defs["ImGuiInputTextDeactivatedState_destroy"][1]["cimguiname"] = "ImGuiInputTextDeactivatedState_destroy" defs["ImGuiInputTextDeactivatedState_destroy"][1]["defaults"] = {} defs["ImGuiInputTextDeactivatedState_destroy"][1]["destructor"] = true +defs["ImGuiInputTextDeactivatedState_destroy"][1]["location"] = "imgui_internal:1098" defs["ImGuiInputTextDeactivatedState_destroy"][1]["ov_cimguiname"] = "ImGuiInputTextDeactivatedState_destroy" defs["ImGuiInputTextDeactivatedState_destroy"][1]["ret"] = "void" defs["ImGuiInputTextDeactivatedState_destroy"][1]["signature"] = "(ImGuiInputTextDeactivatedState*)" @@ -5899,6 +5966,7 @@ defs["ImGuiKeyOwnerData_destroy"][1]["call_args"] = "(self)" defs["ImGuiKeyOwnerData_destroy"][1]["cimguiname"] = "ImGuiKeyOwnerData_destroy" defs["ImGuiKeyOwnerData_destroy"][1]["defaults"] = {} defs["ImGuiKeyOwnerData_destroy"][1]["destructor"] = true +defs["ImGuiKeyOwnerData_destroy"][1]["location"] = "imgui_internal:1467" defs["ImGuiKeyOwnerData_destroy"][1]["ov_cimguiname"] = "ImGuiKeyOwnerData_destroy" defs["ImGuiKeyOwnerData_destroy"][1]["ret"] = "void" defs["ImGuiKeyOwnerData_destroy"][1]["signature"] = "(ImGuiKeyOwnerData*)" @@ -5930,6 +5998,7 @@ defs["ImGuiKeyRoutingData_destroy"][1]["call_args"] = "(self)" defs["ImGuiKeyRoutingData_destroy"][1]["cimguiname"] = "ImGuiKeyRoutingData_destroy" defs["ImGuiKeyRoutingData_destroy"][1]["defaults"] = {} defs["ImGuiKeyRoutingData_destroy"][1]["destructor"] = true +defs["ImGuiKeyRoutingData_destroy"][1]["location"] = "imgui_internal:1443" defs["ImGuiKeyRoutingData_destroy"][1]["ov_cimguiname"] = "ImGuiKeyRoutingData_destroy" defs["ImGuiKeyRoutingData_destroy"][1]["ret"] = "void" defs["ImGuiKeyRoutingData_destroy"][1]["signature"] = "(ImGuiKeyRoutingData*)" @@ -5979,6 +6048,7 @@ defs["ImGuiKeyRoutingTable_destroy"][1]["call_args"] = "(self)" defs["ImGuiKeyRoutingTable_destroy"][1]["cimguiname"] = "ImGuiKeyRoutingTable_destroy" defs["ImGuiKeyRoutingTable_destroy"][1]["defaults"] = {} defs["ImGuiKeyRoutingTable_destroy"][1]["destructor"] = true +defs["ImGuiKeyRoutingTable_destroy"][1]["location"] = "imgui_internal:1454" defs["ImGuiKeyRoutingTable_destroy"][1]["ov_cimguiname"] = "ImGuiKeyRoutingTable_destroy" defs["ImGuiKeyRoutingTable_destroy"][1]["ret"] = "void" defs["ImGuiKeyRoutingTable_destroy"][1]["signature"] = "(ImGuiKeyRoutingTable*)" @@ -6010,6 +6080,7 @@ defs["ImGuiLastItemData_destroy"][1]["call_args"] = "(self)" defs["ImGuiLastItemData_destroy"][1]["cimguiname"] = "ImGuiLastItemData_destroy" defs["ImGuiLastItemData_destroy"][1]["defaults"] = {} defs["ImGuiLastItemData_destroy"][1]["destructor"] = true +defs["ImGuiLastItemData_destroy"][1]["location"] = "imgui_internal:1261" defs["ImGuiLastItemData_destroy"][1]["ov_cimguiname"] = "ImGuiLastItemData_destroy" defs["ImGuiLastItemData_destroy"][1]["ret"] = "void" defs["ImGuiLastItemData_destroy"][1]["signature"] = "(ImGuiLastItemData*)" @@ -6062,6 +6133,7 @@ defs["ImGuiListClipperData_destroy"][1]["call_args"] = "(self)" defs["ImGuiListClipperData_destroy"][1]["cimguiname"] = "ImGuiListClipperData_destroy" defs["ImGuiListClipperData_destroy"][1]["defaults"] = {} defs["ImGuiListClipperData_destroy"][1]["destructor"] = true +defs["ImGuiListClipperData_destroy"][1]["location"] = "imgui_internal:1538" defs["ImGuiListClipperData_destroy"][1]["ov_cimguiname"] = "ImGuiListClipperData_destroy" defs["ImGuiListClipperData_destroy"][1]["ret"] = "void" defs["ImGuiListClipperData_destroy"][1]["signature"] = "(ImGuiListClipperData*)" @@ -6378,6 +6450,7 @@ defs["ImGuiMenuColumns_destroy"][1]["call_args"] = "(self)" defs["ImGuiMenuColumns_destroy"][1]["cimguiname"] = "ImGuiMenuColumns_destroy" defs["ImGuiMenuColumns_destroy"][1]["defaults"] = {} defs["ImGuiMenuColumns_destroy"][1]["destructor"] = true +defs["ImGuiMenuColumns_destroy"][1]["location"] = "imgui_internal:1086" defs["ImGuiMenuColumns_destroy"][1]["ov_cimguiname"] = "ImGuiMenuColumns_destroy" defs["ImGuiMenuColumns_destroy"][1]["ret"] = "void" defs["ImGuiMenuColumns_destroy"][1]["signature"] = "(ImGuiMenuColumns*)" @@ -6409,6 +6482,7 @@ defs["ImGuiMultiSelectState_destroy"][1]["call_args"] = "(self)" defs["ImGuiMultiSelectState_destroy"][1]["cimguiname"] = "ImGuiMultiSelectState_destroy" defs["ImGuiMultiSelectState_destroy"][1]["defaults"] = {} defs["ImGuiMultiSelectState_destroy"][1]["destructor"] = true +defs["ImGuiMultiSelectState_destroy"][1]["location"] = "imgui_internal:1803" defs["ImGuiMultiSelectState_destroy"][1]["ov_cimguiname"] = "ImGuiMultiSelectState_destroy" defs["ImGuiMultiSelectState_destroy"][1]["ret"] = "void" defs["ImGuiMultiSelectState_destroy"][1]["signature"] = "(ImGuiMultiSelectState*)" @@ -6476,6 +6550,7 @@ defs["ImGuiMultiSelectTempData_destroy"][1]["call_args"] = "(self)" defs["ImGuiMultiSelectTempData_destroy"][1]["cimguiname"] = "ImGuiMultiSelectTempData_destroy" defs["ImGuiMultiSelectTempData_destroy"][1]["defaults"] = {} defs["ImGuiMultiSelectTempData_destroy"][1]["destructor"] = true +defs["ImGuiMultiSelectTempData_destroy"][1]["location"] = "imgui_internal:1786" defs["ImGuiMultiSelectTempData_destroy"][1]["ov_cimguiname"] = "ImGuiMultiSelectTempData_destroy" defs["ImGuiMultiSelectTempData_destroy"][1]["ret"] = "void" defs["ImGuiMultiSelectTempData_destroy"][1]["signature"] = "(ImGuiMultiSelectTempData*)" @@ -6525,6 +6600,7 @@ defs["ImGuiNavItemData_destroy"][1]["call_args"] = "(self)" defs["ImGuiNavItemData_destroy"][1]["cimguiname"] = "ImGuiNavItemData_destroy" defs["ImGuiNavItemData_destroy"][1]["defaults"] = {} defs["ImGuiNavItemData_destroy"][1]["destructor"] = true +defs["ImGuiNavItemData_destroy"][1]["location"] = "imgui_internal:1627" defs["ImGuiNavItemData_destroy"][1]["ov_cimguiname"] = "ImGuiNavItemData_destroy" defs["ImGuiNavItemData_destroy"][1]["ret"] = "void" defs["ImGuiNavItemData_destroy"][1]["signature"] = "(ImGuiNavItemData*)" @@ -6574,6 +6650,7 @@ defs["ImGuiNextItemData_destroy"][1]["call_args"] = "(self)" defs["ImGuiNextItemData_destroy"][1]["cimguiname"] = "ImGuiNextItemData_destroy" defs["ImGuiNextItemData_destroy"][1]["defaults"] = {} defs["ImGuiNextItemData_destroy"][1]["destructor"] = true +defs["ImGuiNextItemData_destroy"][1]["location"] = "imgui_internal:1244" defs["ImGuiNextItemData_destroy"][1]["ov_cimguiname"] = "ImGuiNextItemData_destroy" defs["ImGuiNextItemData_destroy"][1]["ret"] = "void" defs["ImGuiNextItemData_destroy"][1]["signature"] = "(ImGuiNextItemData*)" @@ -6623,6 +6700,7 @@ defs["ImGuiNextWindowData_destroy"][1]["call_args"] = "(self)" defs["ImGuiNextWindowData_destroy"][1]["cimguiname"] = "ImGuiNextWindowData_destroy" defs["ImGuiNextWindowData_destroy"][1]["defaults"] = {} defs["ImGuiNextWindowData_destroy"][1]["destructor"] = true +defs["ImGuiNextWindowData_destroy"][1]["location"] = "imgui_internal:1215" defs["ImGuiNextWindowData_destroy"][1]["ov_cimguiname"] = "ImGuiNextWindowData_destroy" defs["ImGuiNextWindowData_destroy"][1]["ret"] = "void" defs["ImGuiNextWindowData_destroy"][1]["signature"] = "(ImGuiNextWindowData*)" @@ -6654,6 +6732,7 @@ defs["ImGuiOldColumnData_destroy"][1]["call_args"] = "(self)" defs["ImGuiOldColumnData_destroy"][1]["cimguiname"] = "ImGuiOldColumnData_destroy" defs["ImGuiOldColumnData_destroy"][1]["defaults"] = {} defs["ImGuiOldColumnData_destroy"][1]["destructor"] = true +defs["ImGuiOldColumnData_destroy"][1]["location"] = "imgui_internal:1707" defs["ImGuiOldColumnData_destroy"][1]["ov_cimguiname"] = "ImGuiOldColumnData_destroy" defs["ImGuiOldColumnData_destroy"][1]["ret"] = "void" defs["ImGuiOldColumnData_destroy"][1]["signature"] = "(ImGuiOldColumnData*)" @@ -6685,6 +6764,7 @@ defs["ImGuiOldColumns_destroy"][1]["call_args"] = "(self)" defs["ImGuiOldColumns_destroy"][1]["cimguiname"] = "ImGuiOldColumns_destroy" defs["ImGuiOldColumns_destroy"][1]["defaults"] = {} defs["ImGuiOldColumns_destroy"][1]["destructor"] = true +defs["ImGuiOldColumns_destroy"][1]["location"] = "imgui_internal:1728" defs["ImGuiOldColumns_destroy"][1]["ov_cimguiname"] = "ImGuiOldColumns_destroy" defs["ImGuiOldColumns_destroy"][1]["ret"] = "void" defs["ImGuiOldColumns_destroy"][1]["signature"] = "(ImGuiOldColumns*)" @@ -6716,6 +6796,7 @@ defs["ImGuiOnceUponAFrame_destroy"][1]["call_args"] = "(self)" defs["ImGuiOnceUponAFrame_destroy"][1]["cimguiname"] = "ImGuiOnceUponAFrame_destroy" defs["ImGuiOnceUponAFrame_destroy"][1]["defaults"] = {} defs["ImGuiOnceUponAFrame_destroy"][1]["destructor"] = true +defs["ImGuiOnceUponAFrame_destroy"][1]["location"] = "imgui:2661" defs["ImGuiOnceUponAFrame_destroy"][1]["ov_cimguiname"] = "ImGuiOnceUponAFrame_destroy" defs["ImGuiOnceUponAFrame_destroy"][1]["ret"] = "void" defs["ImGuiOnceUponAFrame_destroy"][1]["signature"] = "(ImGuiOnceUponAFrame*)" @@ -6822,6 +6903,7 @@ defs["ImGuiPayload_destroy"][1]["call_args"] = "(self)" defs["ImGuiPayload_destroy"][1]["cimguiname"] = "ImGuiPayload_destroy" defs["ImGuiPayload_destroy"][1]["defaults"] = {} defs["ImGuiPayload_destroy"][1]["destructor"] = true +defs["ImGuiPayload_destroy"][1]["location"] = "imgui:2638" defs["ImGuiPayload_destroy"][1]["ov_cimguiname"] = "ImGuiPayload_destroy" defs["ImGuiPayload_destroy"][1]["ret"] = "void" defs["ImGuiPayload_destroy"][1]["signature"] = "(ImGuiPayload*)" @@ -6853,6 +6935,7 @@ defs["ImGuiPlatformIO_destroy"][1]["call_args"] = "(self)" defs["ImGuiPlatformIO_destroy"][1]["cimguiname"] = "ImGuiPlatformIO_destroy" defs["ImGuiPlatformIO_destroy"][1]["defaults"] = {} defs["ImGuiPlatformIO_destroy"][1]["destructor"] = true +defs["ImGuiPlatformIO_destroy"][1]["location"] = "imgui:3732" defs["ImGuiPlatformIO_destroy"][1]["ov_cimguiname"] = "ImGuiPlatformIO_destroy" defs["ImGuiPlatformIO_destroy"][1]["ret"] = "void" defs["ImGuiPlatformIO_destroy"][1]["signature"] = "(ImGuiPlatformIO*)" @@ -6884,6 +6967,7 @@ defs["ImGuiPlatformImeData_destroy"][1]["call_args"] = "(self)" defs["ImGuiPlatformImeData_destroy"][1]["cimguiname"] = "ImGuiPlatformImeData_destroy" defs["ImGuiPlatformImeData_destroy"][1]["defaults"] = {} defs["ImGuiPlatformImeData_destroy"][1]["destructor"] = true +defs["ImGuiPlatformImeData_destroy"][1]["location"] = "imgui:3842" defs["ImGuiPlatformImeData_destroy"][1]["ov_cimguiname"] = "ImGuiPlatformImeData_destroy" defs["ImGuiPlatformImeData_destroy"][1]["ret"] = "void" defs["ImGuiPlatformImeData_destroy"][1]["signature"] = "(ImGuiPlatformImeData*)" @@ -6915,6 +6999,7 @@ defs["ImGuiPlatformMonitor_destroy"][1]["call_args"] = "(self)" defs["ImGuiPlatformMonitor_destroy"][1]["cimguiname"] = "ImGuiPlatformMonitor_destroy" defs["ImGuiPlatformMonitor_destroy"][1]["defaults"] = {} defs["ImGuiPlatformMonitor_destroy"][1]["destructor"] = true +defs["ImGuiPlatformMonitor_destroy"][1]["location"] = "imgui:3832" defs["ImGuiPlatformMonitor_destroy"][1]["ov_cimguiname"] = "ImGuiPlatformMonitor_destroy" defs["ImGuiPlatformMonitor_destroy"][1]["ret"] = "void" defs["ImGuiPlatformMonitor_destroy"][1]["signature"] = "(ImGuiPlatformMonitor*)" @@ -6946,6 +7031,7 @@ defs["ImGuiPopupData_destroy"][1]["call_args"] = "(self)" defs["ImGuiPopupData_destroy"][1]["cimguiname"] = "ImGuiPopupData_destroy" defs["ImGuiPopupData_destroy"][1]["defaults"] = {} defs["ImGuiPopupData_destroy"][1]["destructor"] = true +defs["ImGuiPopupData_destroy"][1]["location"] = "imgui_internal:1342" defs["ImGuiPopupData_destroy"][1]["ov_cimguiname"] = "ImGuiPopupData_destroy" defs["ImGuiPopupData_destroy"][1]["ret"] = "void" defs["ImGuiPopupData_destroy"][1]["signature"] = "(ImGuiPopupData*)" @@ -6997,6 +7083,7 @@ defs["ImGuiPtrOrIndex_destroy"][1]["call_args"] = "(self)" defs["ImGuiPtrOrIndex_destroy"][1]["cimguiname"] = "ImGuiPtrOrIndex_destroy" defs["ImGuiPtrOrIndex_destroy"][1]["defaults"] = {} defs["ImGuiPtrOrIndex_destroy"][1]["destructor"] = true +defs["ImGuiPtrOrIndex_destroy"][1]["location"] = "imgui_internal:1315" defs["ImGuiPtrOrIndex_destroy"][1]["ov_cimguiname"] = "ImGuiPtrOrIndex_destroy" defs["ImGuiPtrOrIndex_destroy"][1]["ret"] = "void" defs["ImGuiPtrOrIndex_destroy"][1]["signature"] = "(ImGuiPtrOrIndex*)" @@ -7179,6 +7266,7 @@ defs["ImGuiSelectionBasicStorage_destroy"][1]["call_args"] = "(self)" defs["ImGuiSelectionBasicStorage_destroy"][1]["cimguiname"] = "ImGuiSelectionBasicStorage_destroy" defs["ImGuiSelectionBasicStorage_destroy"][1]["defaults"] = {} defs["ImGuiSelectionBasicStorage_destroy"][1]["destructor"] = true +defs["ImGuiSelectionBasicStorage_destroy"][1]["location"] = "imgui:3022" defs["ImGuiSelectionBasicStorage_destroy"][1]["ov_cimguiname"] = "ImGuiSelectionBasicStorage_destroy" defs["ImGuiSelectionBasicStorage_destroy"][1]["ret"] = "void" defs["ImGuiSelectionBasicStorage_destroy"][1]["signature"] = "(ImGuiSelectionBasicStorage*)" @@ -7231,6 +7319,7 @@ defs["ImGuiSelectionExternalStorage_destroy"][1]["call_args"] = "(self)" defs["ImGuiSelectionExternalStorage_destroy"][1]["cimguiname"] = "ImGuiSelectionExternalStorage_destroy" defs["ImGuiSelectionExternalStorage_destroy"][1]["defaults"] = {} defs["ImGuiSelectionExternalStorage_destroy"][1]["destructor"] = true +defs["ImGuiSelectionExternalStorage_destroy"][1]["location"] = "imgui:3041" defs["ImGuiSelectionExternalStorage_destroy"][1]["ov_cimguiname"] = "ImGuiSelectionExternalStorage_destroy" defs["ImGuiSelectionExternalStorage_destroy"][1]["ret"] = "void" defs["ImGuiSelectionExternalStorage_destroy"][1]["signature"] = "(ImGuiSelectionExternalStorage*)" @@ -7262,6 +7351,7 @@ defs["ImGuiSettingsHandler_destroy"][1]["call_args"] = "(self)" defs["ImGuiSettingsHandler_destroy"][1]["cimguiname"] = "ImGuiSettingsHandler_destroy" defs["ImGuiSettingsHandler_destroy"][1]["defaults"] = {} defs["ImGuiSettingsHandler_destroy"][1]["destructor"] = true +defs["ImGuiSettingsHandler_destroy"][1]["location"] = "imgui_internal:2048" defs["ImGuiSettingsHandler_destroy"][1]["ov_cimguiname"] = "ImGuiSettingsHandler_destroy" defs["ImGuiSettingsHandler_destroy"][1]["ret"] = "void" defs["ImGuiSettingsHandler_destroy"][1]["signature"] = "(ImGuiSettingsHandler*)" @@ -7293,6 +7383,7 @@ defs["ImGuiStackLevelInfo_destroy"][1]["call_args"] = "(self)" defs["ImGuiStackLevelInfo_destroy"][1]["cimguiname"] = "ImGuiStackLevelInfo_destroy" defs["ImGuiStackLevelInfo_destroy"][1]["defaults"] = {} defs["ImGuiStackLevelInfo_destroy"][1]["destructor"] = true +defs["ImGuiStackLevelInfo_destroy"][1]["location"] = "imgui_internal:2164" defs["ImGuiStackLevelInfo_destroy"][1]["ov_cimguiname"] = "ImGuiStackLevelInfo_destroy" defs["ImGuiStackLevelInfo_destroy"][1]["ret"] = "void" defs["ImGuiStackLevelInfo_destroy"][1]["signature"] = "(ImGuiStackLevelInfo*)" @@ -7370,6 +7461,7 @@ defs["ImGuiStoragePair_destroy"][1]["call_args"] = "(self)" defs["ImGuiStoragePair_destroy"][1]["cimguiname"] = "ImGuiStoragePair_destroy" defs["ImGuiStoragePair_destroy"][1]["defaults"] = {} defs["ImGuiStoragePair_destroy"][1]["destructor"] = true +defs["ImGuiStoragePair_destroy"][1]["location"] = "imgui:2718" defs["ImGuiStoragePair_destroy"][1]["ov_cimguiname"] = "ImGuiStoragePair_destroy" defs["ImGuiStoragePair_destroy"][1]["ret"] = "void" defs["ImGuiStoragePair_destroy"][1]["signature"] = "(ImGuiStoragePair*)" @@ -7796,6 +7888,7 @@ defs["ImGuiStyleMod_destroy"][1]["call_args"] = "(self)" defs["ImGuiStyleMod_destroy"][1]["cimguiname"] = "ImGuiStyleMod_destroy" defs["ImGuiStyleMod_destroy"][1]["defaults"] = {} defs["ImGuiStyleMod_destroy"][1]["destructor"] = true +defs["ImGuiStyleMod_destroy"][1]["location"] = "imgui_internal:1038" defs["ImGuiStyleMod_destroy"][1]["ov_cimguiname"] = "ImGuiStyleMod_destroy" defs["ImGuiStyleMod_destroy"][1]["ret"] = "void" defs["ImGuiStyleMod_destroy"][1]["signature"] = "(ImGuiStyleMod*)" @@ -7848,6 +7941,7 @@ defs["ImGuiStyle_destroy"][1]["call_args"] = "(self)" defs["ImGuiStyle_destroy"][1]["cimguiname"] = "ImGuiStyle_destroy" defs["ImGuiStyle_destroy"][1]["defaults"] = {} defs["ImGuiStyle_destroy"][1]["destructor"] = true +defs["ImGuiStyle_destroy"][1]["location"] = "imgui:2279" defs["ImGuiStyle_destroy"][1]["ov_cimguiname"] = "ImGuiStyle_destroy" defs["ImGuiStyle_destroy"][1]["ret"] = "void" defs["ImGuiStyle_destroy"][1]["signature"] = "(ImGuiStyle*)" @@ -7879,6 +7973,7 @@ defs["ImGuiTabBar_destroy"][1]["call_args"] = "(self)" defs["ImGuiTabBar_destroy"][1]["cimguiname"] = "ImGuiTabBar_destroy" defs["ImGuiTabBar_destroy"][1]["defaults"] = {} defs["ImGuiTabBar_destroy"][1]["destructor"] = true +defs["ImGuiTabBar_destroy"][1]["location"] = "imgui_internal:2868" defs["ImGuiTabBar_destroy"][1]["ov_cimguiname"] = "ImGuiTabBar_destroy" defs["ImGuiTabBar_destroy"][1]["ret"] = "void" defs["ImGuiTabBar_destroy"][1]["signature"] = "(ImGuiTabBar*)" @@ -7910,6 +8005,7 @@ defs["ImGuiTabItem_destroy"][1]["call_args"] = "(self)" defs["ImGuiTabItem_destroy"][1]["cimguiname"] = "ImGuiTabItem_destroy" defs["ImGuiTabItem_destroy"][1]["defaults"] = {} defs["ImGuiTabItem_destroy"][1]["destructor"] = true +defs["ImGuiTabItem_destroy"][1]["location"] = "imgui_internal:2827" defs["ImGuiTabItem_destroy"][1]["ov_cimguiname"] = "ImGuiTabItem_destroy" defs["ImGuiTabItem_destroy"][1]["ret"] = "void" defs["ImGuiTabItem_destroy"][1]["signature"] = "(ImGuiTabItem*)" @@ -7941,6 +8037,7 @@ defs["ImGuiTableColumnSettings_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableColumnSettings_destroy"][1]["cimguiname"] = "ImGuiTableColumnSettings_destroy" defs["ImGuiTableColumnSettings_destroy"][1]["defaults"] = {} defs["ImGuiTableColumnSettings_destroy"][1]["destructor"] = true +defs["ImGuiTableColumnSettings_destroy"][1]["location"] = "imgui_internal:3136" defs["ImGuiTableColumnSettings_destroy"][1]["ov_cimguiname"] = "ImGuiTableColumnSettings_destroy" defs["ImGuiTableColumnSettings_destroy"][1]["ret"] = "void" defs["ImGuiTableColumnSettings_destroy"][1]["signature"] = "(ImGuiTableColumnSettings*)" @@ -7972,6 +8069,7 @@ defs["ImGuiTableColumnSortSpecs_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableColumnSortSpecs_destroy"][1]["cimguiname"] = "ImGuiTableColumnSortSpecs_destroy" defs["ImGuiTableColumnSortSpecs_destroy"][1]["defaults"] = {} defs["ImGuiTableColumnSortSpecs_destroy"][1]["destructor"] = true +defs["ImGuiTableColumnSortSpecs_destroy"][1]["location"] = "imgui:2102" defs["ImGuiTableColumnSortSpecs_destroy"][1]["ov_cimguiname"] = "ImGuiTableColumnSortSpecs_destroy" defs["ImGuiTableColumnSortSpecs_destroy"][1]["ret"] = "void" defs["ImGuiTableColumnSortSpecs_destroy"][1]["signature"] = "(ImGuiTableColumnSortSpecs*)" @@ -8003,6 +8101,7 @@ defs["ImGuiTableColumn_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableColumn_destroy"][1]["cimguiname"] = "ImGuiTableColumn_destroy" defs["ImGuiTableColumn_destroy"][1]["defaults"] = {} defs["ImGuiTableColumn_destroy"][1]["destructor"] = true +defs["ImGuiTableColumn_destroy"][1]["location"] = "imgui_internal:2931" defs["ImGuiTableColumn_destroy"][1]["ov_cimguiname"] = "ImGuiTableColumn_destroy" defs["ImGuiTableColumn_destroy"][1]["ret"] = "void" defs["ImGuiTableColumn_destroy"][1]["signature"] = "(ImGuiTableColumn*)" @@ -8034,6 +8133,7 @@ defs["ImGuiTableInstanceData_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableInstanceData_destroy"][1]["cimguiname"] = "ImGuiTableInstanceData_destroy" defs["ImGuiTableInstanceData_destroy"][1]["defaults"] = {} defs["ImGuiTableInstanceData_destroy"][1]["destructor"] = true +defs["ImGuiTableInstanceData_destroy"][1]["location"] = "imgui_internal:2974" defs["ImGuiTableInstanceData_destroy"][1]["ov_cimguiname"] = "ImGuiTableInstanceData_destroy" defs["ImGuiTableInstanceData_destroy"][1]["ret"] = "void" defs["ImGuiTableInstanceData_destroy"][1]["signature"] = "(ImGuiTableInstanceData*)" @@ -8083,6 +8183,7 @@ defs["ImGuiTableSettings_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableSettings_destroy"][1]["cimguiname"] = "ImGuiTableSettings_destroy" defs["ImGuiTableSettings_destroy"][1]["defaults"] = {} defs["ImGuiTableSettings_destroy"][1]["destructor"] = true +defs["ImGuiTableSettings_destroy"][1]["location"] = "imgui_internal:3158" defs["ImGuiTableSettings_destroy"][1]["ov_cimguiname"] = "ImGuiTableSettings_destroy" defs["ImGuiTableSettings_destroy"][1]["ret"] = "void" defs["ImGuiTableSettings_destroy"][1]["signature"] = "(ImGuiTableSettings*)" @@ -8114,6 +8215,7 @@ defs["ImGuiTableSortSpecs_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableSortSpecs_destroy"][1]["cimguiname"] = "ImGuiTableSortSpecs_destroy" defs["ImGuiTableSortSpecs_destroy"][1]["defaults"] = {} defs["ImGuiTableSortSpecs_destroy"][1]["destructor"] = true +defs["ImGuiTableSortSpecs_destroy"][1]["location"] = "imgui:2091" defs["ImGuiTableSortSpecs_destroy"][1]["ov_cimguiname"] = "ImGuiTableSortSpecs_destroy" defs["ImGuiTableSortSpecs_destroy"][1]["ret"] = "void" defs["ImGuiTableSortSpecs_destroy"][1]["signature"] = "(ImGuiTableSortSpecs*)" @@ -8145,6 +8247,7 @@ defs["ImGuiTableTempData_destroy"][1]["call_args"] = "(self)" defs["ImGuiTableTempData_destroy"][1]["cimguiname"] = "ImGuiTableTempData_destroy" defs["ImGuiTableTempData_destroy"][1]["defaults"] = {} defs["ImGuiTableTempData_destroy"][1]["destructor"] = true +defs["ImGuiTableTempData_destroy"][1]["location"] = "imgui_internal:3121" defs["ImGuiTableTempData_destroy"][1]["ov_cimguiname"] = "ImGuiTableTempData_destroy" defs["ImGuiTableTempData_destroy"][1]["ret"] = "void" defs["ImGuiTableTempData_destroy"][1]["signature"] = "(ImGuiTableTempData*)" @@ -8338,6 +8441,7 @@ defs["ImGuiTextBuffer_destroy"][1]["call_args"] = "(self)" defs["ImGuiTextBuffer_destroy"][1]["cimguiname"] = "ImGuiTextBuffer_destroy" defs["ImGuiTextBuffer_destroy"][1]["defaults"] = {} defs["ImGuiTextBuffer_destroy"][1]["destructor"] = true +defs["ImGuiTextBuffer_destroy"][1]["location"] = "imgui:2699" defs["ImGuiTextBuffer_destroy"][1]["ov_cimguiname"] = "ImGuiTextBuffer_destroy" defs["ImGuiTextBuffer_destroy"][1]["ret"] = "void" defs["ImGuiTextBuffer_destroy"][1]["signature"] = "(ImGuiTextBuffer*)" @@ -8553,6 +8657,7 @@ defs["ImGuiTextFilter_destroy"][1]["call_args"] = "(self)" defs["ImGuiTextFilter_destroy"][1]["cimguiname"] = "ImGuiTextFilter_destroy" defs["ImGuiTextFilter_destroy"][1]["defaults"] = {} defs["ImGuiTextFilter_destroy"][1]["destructor"] = true +defs["ImGuiTextFilter_destroy"][1]["location"] = "imgui:2669" defs["ImGuiTextFilter_destroy"][1]["ov_cimguiname"] = "ImGuiTextFilter_destroy" defs["ImGuiTextFilter_destroy"][1]["ret"] = "void" defs["ImGuiTextFilter_destroy"][1]["signature"] = "(ImGuiTextFilter*)" @@ -8715,6 +8820,7 @@ defs["ImGuiTextRange_destroy"][1]["call_args"] = "(self)" defs["ImGuiTextRange_destroy"][1]["cimguiname"] = "ImGuiTextRange_destroy" defs["ImGuiTextRange_destroy"][1]["defaults"] = {} defs["ImGuiTextRange_destroy"][1]["destructor"] = true +defs["ImGuiTextRange_destroy"][1]["location"] = "imgui:2682" defs["ImGuiTextRange_destroy"][1]["ov_cimguiname"] = "ImGuiTextRange_destroy" defs["ImGuiTextRange_destroy"][1]["ret"] = "void" defs["ImGuiTextRange_destroy"][1]["signature"] = "(ImGuiTextRange*)" @@ -8806,6 +8912,7 @@ defs["ImGuiTypingSelectState_destroy"][1]["call_args"] = "(self)" defs["ImGuiTypingSelectState_destroy"][1]["cimguiname"] = "ImGuiTypingSelectState_destroy" defs["ImGuiTypingSelectState_destroy"][1]["defaults"] = {} defs["ImGuiTypingSelectState_destroy"][1]["destructor"] = true +defs["ImGuiTypingSelectState_destroy"][1]["location"] = "imgui_internal:1671" defs["ImGuiTypingSelectState_destroy"][1]["ov_cimguiname"] = "ImGuiTypingSelectState_destroy" defs["ImGuiTypingSelectState_destroy"][1]["ret"] = "void" defs["ImGuiTypingSelectState_destroy"][1]["signature"] = "(ImGuiTypingSelectState*)" @@ -9102,6 +9209,7 @@ defs["ImGuiWindowClass_destroy"][1]["call_args"] = "(self)" defs["ImGuiWindowClass_destroy"][1]["cimguiname"] = "ImGuiWindowClass_destroy" defs["ImGuiWindowClass_destroy"][1]["defaults"] = {} defs["ImGuiWindowClass_destroy"][1]["destructor"] = true +defs["ImGuiWindowClass_destroy"][1]["location"] = "imgui:2620" defs["ImGuiWindowClass_destroy"][1]["ov_cimguiname"] = "ImGuiWindowClass_destroy" defs["ImGuiWindowClass_destroy"][1]["ret"] = "void" defs["ImGuiWindowClass_destroy"][1]["signature"] = "(ImGuiWindowClass*)" @@ -9151,6 +9259,7 @@ defs["ImGuiWindowSettings_destroy"][1]["call_args"] = "(self)" defs["ImGuiWindowSettings_destroy"][1]["cimguiname"] = "ImGuiWindowSettings_destroy" defs["ImGuiWindowSettings_destroy"][1]["defaults"] = {} defs["ImGuiWindowSettings_destroy"][1]["destructor"] = true +defs["ImGuiWindowSettings_destroy"][1]["location"] = "imgui_internal:2032" defs["ImGuiWindowSettings_destroy"][1]["ov_cimguiname"] = "ImGuiWindowSettings_destroy" defs["ImGuiWindowSettings_destroy"][1]["ret"] = "void" defs["ImGuiWindowSettings_destroy"][1]["signature"] = "(ImGuiWindowSettings*)" @@ -10325,6 +10434,7 @@ defs["ImRect_destroy"][1]["call_args"] = "(self)" defs["ImRect_destroy"][1]["cimguiname"] = "ImRect_destroy" defs["ImRect_destroy"][1]["defaults"] = {} defs["ImRect_destroy"][1]["destructor"] = true +defs["ImRect_destroy"][1]["location"] = "imgui_internal:528" defs["ImRect_destroy"][1]["ov_cimguiname"] = "ImRect_destroy" defs["ImRect_destroy"][1]["ret"] = "void" defs["ImRect_destroy"][1]["signature"] = "(ImRect*)" @@ -10471,6 +10581,7 @@ defs["ImSpanAllocator_destroy"][1]["call_args"] = "(self)" defs["ImSpanAllocator_destroy"][1]["cimguiname"] = "ImSpanAllocator_destroy" defs["ImSpanAllocator_destroy"][1]["defaults"] = {} defs["ImSpanAllocator_destroy"][1]["destructor"] = true +defs["ImSpanAllocator_destroy"][1]["location"] = "imgui_internal:653" defs["ImSpanAllocator_destroy"][1]["ov_cimguiname"] = "ImSpanAllocator_destroy" defs["ImSpanAllocator_destroy"][1]["ret"] = "void" defs["ImSpanAllocator_destroy"][1]["signature"] = "(ImSpanAllocator*)" @@ -10583,6 +10694,7 @@ defs["ImSpan_destroy"][1]["call_args"] = "(self)" defs["ImSpan_destroy"][1]["cimguiname"] = "ImSpan_destroy" defs["ImSpan_destroy"][1]["defaults"] = {} defs["ImSpan_destroy"][1]["destructor"] = true +defs["ImSpan_destroy"][1]["location"] = "imgui_internal:621" defs["ImSpan_destroy"][1]["ov_cimguiname"] = "ImSpan_destroy" defs["ImSpan_destroy"][1]["ret"] = "void" defs["ImSpan_destroy"][1]["signature"] = "(ImSpan*)" @@ -10778,6 +10890,7 @@ defs["ImVec1_destroy"][1]["call_args"] = "(self)" defs["ImVec1_destroy"][1]["cimguiname"] = "ImVec1_destroy" defs["ImVec1_destroy"][1]["defaults"] = {} defs["ImVec1_destroy"][1]["destructor"] = true +defs["ImVec1_destroy"][1]["location"] = "imgui_internal:508" defs["ImVec1_destroy"][1]["ov_cimguiname"] = "ImVec1_destroy" defs["ImVec1_destroy"][1]["ret"] = "void" defs["ImVec1_destroy"][1]["signature"] = "(ImVec1*)" @@ -10829,6 +10942,7 @@ defs["ImVec2_destroy"][1]["call_args"] = "(self)" defs["ImVec2_destroy"][1]["cimguiname"] = "ImVec2_destroy" defs["ImVec2_destroy"][1]["defaults"] = {} defs["ImVec2_destroy"][1]["destructor"] = true +defs["ImVec2_destroy"][1]["location"] = "imgui:298" defs["ImVec2_destroy"][1]["ov_cimguiname"] = "ImVec2_destroy" defs["ImVec2_destroy"][1]["ret"] = "void" defs["ImVec2_destroy"][1]["signature"] = "(ImVec2*)" @@ -10897,6 +11011,7 @@ defs["ImVec2ih_destroy"][1]["call_args"] = "(self)" defs["ImVec2ih_destroy"][1]["cimguiname"] = "ImVec2ih_destroy" defs["ImVec2ih_destroy"][1]["defaults"] = {} defs["ImVec2ih_destroy"][1]["destructor"] = true +defs["ImVec2ih_destroy"][1]["location"] = "imgui_internal:516" defs["ImVec2ih_destroy"][1]["ov_cimguiname"] = "ImVec2ih_destroy" defs["ImVec2ih_destroy"][1]["ret"] = "void" defs["ImVec2ih_destroy"][1]["signature"] = "(ImVec2ih*)" @@ -10954,6 +11069,7 @@ defs["ImVec4_destroy"][1]["call_args"] = "(self)" defs["ImVec4_destroy"][1]["cimguiname"] = "ImVec4_destroy" defs["ImVec4_destroy"][1]["defaults"] = {} defs["ImVec4_destroy"][1]["destructor"] = true +defs["ImVec4_destroy"][1]["location"] = "imgui:311" defs["ImVec4_destroy"][1]["ov_cimguiname"] = "ImVec4_destroy" defs["ImVec4_destroy"][1]["ret"] = "void" defs["ImVec4_destroy"][1]["signature"] = "(ImVec4*)" diff --git a/generator/output/structs_and_enums.json b/generator/output/structs_and_enums.json index 8d57025..8065b60 100644 --- a/generator/output/structs_and_enums.json +++ b/generator/output/structs_and_enums.json @@ -1499,6 +1499,58 @@ "value": "ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows" } ], + "ImGuiFreeTypeBuilderFlags": [ + { + "calc_value": 1, + "name": "ImGuiFreeTypeBuilderFlags_NoHinting", + "value": "1 << 0" + }, + { + "calc_value": 2, + "name": "ImGuiFreeTypeBuilderFlags_NoAutoHint", + "value": "1 << 1" + }, + { + "calc_value": 4, + "name": "ImGuiFreeTypeBuilderFlags_ForceAutoHint", + "value": "1 << 2" + }, + { + "calc_value": 8, + "name": "ImGuiFreeTypeBuilderFlags_LightHinting", + "value": "1 << 3" + }, + { + "calc_value": 16, + "name": "ImGuiFreeTypeBuilderFlags_MonoHinting", + "value": "1 << 4" + }, + { + "calc_value": 32, + "name": "ImGuiFreeTypeBuilderFlags_Bold", + "value": "1 << 5" + }, + { + "calc_value": 64, + "name": "ImGuiFreeTypeBuilderFlags_Oblique", + "value": "1 << 6" + }, + { + "calc_value": 128, + "name": "ImGuiFreeTypeBuilderFlags_Monochrome", + "value": "1 << 7" + }, + { + "calc_value": 256, + "name": "ImGuiFreeTypeBuilderFlags_LoadColor", + "value": "1 << 8" + }, + { + "calc_value": 512, + "name": "ImGuiFreeTypeBuilderFlags_Bitmap", + "value": "1 << 9" + } + ], "ImGuiHoveredFlagsPrivate_": [ { "calc_value": 245760, @@ -5120,6 +5172,7 @@ "ImGuiFocusRequestFlags_": "imgui_internal:976", "ImGuiFocusScopeData": "imgui_internal:1632", "ImGuiFocusedFlags_": "imgui:1342", + "ImGuiFreeTypeBuilderFlags": "imgui_freetype:26", "ImGuiGroupData": "imgui_internal:1057", "ImGuiHoveredFlagsPrivate_": "imgui_internal:889", "ImGuiHoveredFlags_": "imgui:1356", diff --git a/generator/output/structs_and_enums.lua b/generator/output/structs_and_enums.lua index 55133e1..6e8a19a 100644 --- a/generator/output/structs_and_enums.lua +++ b/generator/output/structs_and_enums.lua @@ -1183,6 +1183,47 @@ defs["enums"]["ImGuiFocusedFlags_"][7] = {} defs["enums"]["ImGuiFocusedFlags_"][7]["calc_value"] = 3 defs["enums"]["ImGuiFocusedFlags_"][7]["name"] = "ImGuiFocusedFlags_RootAndChildWindows" defs["enums"]["ImGuiFocusedFlags_"][7]["value"] = "ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows" +defs["enums"]["ImGuiFreeTypeBuilderFlags"] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][1] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][1]["calc_value"] = 1 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][1]["name"] = "ImGuiFreeTypeBuilderFlags_NoHinting" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][1]["value"] = "1 << 0" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][2] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][2]["calc_value"] = 2 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][2]["name"] = "ImGuiFreeTypeBuilderFlags_NoAutoHint" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][2]["value"] = "1 << 1" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][3] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][3]["calc_value"] = 4 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][3]["name"] = "ImGuiFreeTypeBuilderFlags_ForceAutoHint" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][3]["value"] = "1 << 2" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][4] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][4]["calc_value"] = 8 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][4]["name"] = "ImGuiFreeTypeBuilderFlags_LightHinting" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][4]["value"] = "1 << 3" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][5] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][5]["calc_value"] = 16 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][5]["name"] = "ImGuiFreeTypeBuilderFlags_MonoHinting" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][5]["value"] = "1 << 4" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][6] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][6]["calc_value"] = 32 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][6]["name"] = "ImGuiFreeTypeBuilderFlags_Bold" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][6]["value"] = "1 << 5" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][7] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][7]["calc_value"] = 64 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][7]["name"] = "ImGuiFreeTypeBuilderFlags_Oblique" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][7]["value"] = "1 << 6" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][8] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][8]["calc_value"] = 128 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][8]["name"] = "ImGuiFreeTypeBuilderFlags_Monochrome" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][8]["value"] = "1 << 7" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][9] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][9]["calc_value"] = 256 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][9]["name"] = "ImGuiFreeTypeBuilderFlags_LoadColor" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][9]["value"] = "1 << 8" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][10] = {} +defs["enums"]["ImGuiFreeTypeBuilderFlags"][10]["calc_value"] = 512 +defs["enums"]["ImGuiFreeTypeBuilderFlags"][10]["name"] = "ImGuiFreeTypeBuilderFlags_Bitmap" +defs["enums"]["ImGuiFreeTypeBuilderFlags"][10]["value"] = "1 << 9" defs["enums"]["ImGuiHoveredFlagsPrivate_"] = {} defs["enums"]["ImGuiHoveredFlagsPrivate_"][1] = {} defs["enums"]["ImGuiHoveredFlagsPrivate_"][1]["calc_value"] = 245760 @@ -4059,6 +4100,7 @@ defs["locations"]["ImGuiErrorRecoveryState"] = "imgui_internal:1277" defs["locations"]["ImGuiFocusRequestFlags_"] = "imgui_internal:976" defs["locations"]["ImGuiFocusScopeData"] = "imgui_internal:1632" defs["locations"]["ImGuiFocusedFlags_"] = "imgui:1342" +defs["locations"]["ImGuiFreeTypeBuilderFlags"] = "imgui_freetype:26" defs["locations"]["ImGuiGroupData"] = "imgui_internal:1057" defs["locations"]["ImGuiHoveredFlagsPrivate_"] = "imgui_internal:889" defs["locations"]["ImGuiHoveredFlags_"] = "imgui:1356" From 69d3b29392312542c282148dc78dc305d25761b8 Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Tue, 5 Nov 2024 16:34:30 +0100 Subject: [PATCH 4/6] update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4c274b5..58dbb98 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Notes: * `git submodule update --init --recursive` (If already cloned) * compile * using makefile on linux/macOS/mingw (Or use CMake to generate project) - * cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) (only if cimgui is generated with freetype option) + * cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) and IMGUI_WCHAR32 * or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test. @@ -37,12 +37,12 @@ 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 need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (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, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not and if constructors are generated also with versions performing just initialization of structs provided by yourself (_Construct is added to the constructor names) +* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, comments are generated or not and if constructors are generated also with versions performing just initialization of structs provided by yourself (_Construct is added to the constructor names) * the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends. * edit config_generator.lua for adding includes needed by your chosen backends (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`, `cimgui.h` and `cimgui_impl.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 backends info. -* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32) +* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG) * You are able to pass any extra argument to generator.sh (.bat) in the command-line. * If you are using different options than cimgui repo and if you want to keep them after a cimgui update, you can keep them in a copy of generator.sh (.bat) outside of cimgui folder where `cd cimgui/generator` is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497 # generate binding From bd2ea2acbba472edf8d5f76ac976c6aa9a4b5ca2 Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Wed, 6 Nov 2024 16:36:29 +0100 Subject: [PATCH 5/6] cpp2ffi: move typedefs_dict to gen_structs_and_enums_table --- generator/cpp2ffi.lua | 32 +++++++++++++++++++++++++---- generator/output/typedefs_dict.json | 21 ++++++++----------- generator/output/typedefs_dict.lua | 19 ++++++++--------- 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index b3ff821..dcfe615 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -1292,7 +1292,7 @@ function M.Parser() self.typedefs_dict[key] = linet elseif not line:match"typedef%s*struct" then --discard typedef struct print("typedef not found") - print(key,value,line) + print(key,value,line,cdef[1],cdef[2]) end end end @@ -1366,7 +1366,7 @@ function M.Parser() return table.concat(txtclean) end function par:parseItems() - self:initTypedefsDict() + --self:initTypedefsDict() self.linenumdict = {} local cdefs2 = {} @@ -1911,7 +1911,7 @@ function M.Parser() function par:gen_structs_and_enums_table() print"--------------gen_structs_and_enums_table" local outtab = {enums={},structs={},locations={},enumtypes={},struct_comments={},enum_comments={}} - self.typedefs_table = {} + --self.typedefs_table = {} local enumsordered = {} unnamed_enum_counter = 0 self.templated_structs = {} @@ -1934,7 +1934,31 @@ function M.Parser() if it.re_name == "typedef_re" and not it.parent then local typedefdef,typedefname = it.item:match"typedef(.+)%s([^%s;]+);$" typedefname = strip(typedefname) - self.typedefs_table[typedefname] = strip(typedefdef) + --self.typedefs_table[typedefname] = strip(typedefdef) + self.typedefs_dict[typedefname] = strip(typedefdef) + elseif it.re_name == "functypedef_re" then + -- "^\n*%s*(typedef[%w%s%*_]+%([^*]*%*?%s*[%w_]+%s*%)%s*%b()%s*;)" + local key = it.item:match("%(%*([%w_]+)%)%([^%(%)]*%)") + if key then + local linet = it.item + linet = linet:gsub("[\n%s]+typedef ","") + linet = linet:gsub("%(%*("..key..")%)","(*)") + self.typedefs_dict[key] = linet + --print("functypedef_re",1,linet)--,clean_functypedef(line)) + else + --try function typedef + key = it.item:match("%(([%w_]+)%)%([^%(%)]*%)") + if key then + local linet = it.item + linet = linet:gsub("typedef ","") + linet = linet:gsub("%(("..key..")%)","()") + self.typedefs_dict[key] = linet + print("functypedef_re",2, it.item) + else + print("func typedef not found") + print(it.item) + end + end end elseif it.re_name == "enum_re" then enums_for_table(it, outtab, enumsordered) diff --git a/generator/output/typedefs_dict.json b/generator/output/typedefs_dict.json index 6ef78ed..9386d29 100644 --- a/generator/output/typedefs_dict.json +++ b/generator/output/typedefs_dict.json @@ -1,9 +1,9 @@ { - "ImBitArrayForNamedKeys": "ImBitArray", + "ImBitArrayForNamedKeys": "ImBitArray", "ImBitArrayPtr": "ImU32*", "ImBitVector": "struct ImBitVector", "ImColor": "struct ImColor", - "ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);", + "ImDrawCallback": "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);", "ImDrawChannel": "struct ImDrawChannel", "ImDrawCmd": "struct ImDrawCmd", "ImDrawCmdHeader": "struct ImDrawCmdHeader", @@ -39,7 +39,7 @@ "ImGuiConfigFlags": "int", "ImGuiContext": "struct ImGuiContext", "ImGuiContextHook": "struct ImGuiContextHook", - "ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);", + "ImGuiContextHookCallback": "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);", "ImGuiDataAuthority": "int", "ImGuiDataType": "int", "ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo", @@ -54,7 +54,7 @@ "ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings", "ImGuiDockRequest": "struct ImGuiDockRequest", "ImGuiDragDropFlags": "int", - "ImGuiErrorCallback": "void(*)(ImGuiContext* ctx,void* user_data,const char* msg);", + "ImGuiErrorCallback": "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);", "ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState", "ImGuiFocusRequestFlags": "int", "ImGuiFocusScopeData": "struct ImGuiFocusScopeData", @@ -73,7 +73,7 @@ "ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel", "ImGuiInputEventText": "struct ImGuiInputEventText", "ImGuiInputFlags": "int", - "ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);", + "ImGuiInputTextCallback": "int (*)(ImGuiInputTextCallbackData* data);", "ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData", "ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData", "ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState", @@ -93,8 +93,8 @@ "ImGuiListClipperData": "struct ImGuiListClipperData", "ImGuiListClipperRange": "struct ImGuiListClipperRange", "ImGuiLocEntry": "struct ImGuiLocEntry", - "ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);", - "ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);", + "ImGuiMemAllocFunc": "void* (*)(size_t sz, void* user_data);", + "ImGuiMemFreeFunc": "void (*)(void* ptr, void* user_data);", "ImGuiMenuColumns": "struct ImGuiMenuColumns", "ImGuiMetricsConfig": "struct ImGuiMetricsConfig", "ImGuiMouseButton": "int", @@ -130,7 +130,7 @@ "ImGuiSeparatorFlags": "int", "ImGuiSettingsHandler": "struct ImGuiSettingsHandler", "ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem", - "ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);", + "ImGuiSizeCallback": "void (*)(ImGuiSizeCallbackData* data);", "ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData", "ImGuiSliderFlags": "int", "ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo", @@ -201,8 +201,5 @@ "ImWchar": "ImWchar16", "ImWchar16": "unsigned short", "ImWchar32": "unsigned int", - "STB_TexteditState": "struct STB_TexteditState", - "const_iterator": "const value_type*", - "iterator": "value_type*", - "value_type": "T" + "STB_TexteditState": "struct STB_TexteditState" } \ No newline at end of file diff --git a/generator/output/typedefs_dict.lua b/generator/output/typedefs_dict.lua index 69cde1a..ceb24ff 100644 --- a/generator/output/typedefs_dict.lua +++ b/generator/output/typedefs_dict.lua @@ -1,9 +1,9 @@ local defs = {} -defs["ImBitArrayForNamedKeys"] = "ImBitArray" +defs["ImBitArrayForNamedKeys"] = "ImBitArray" defs["ImBitArrayPtr"] = "ImU32*" defs["ImBitVector"] = "struct ImBitVector" defs["ImColor"] = "struct ImColor" -defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);" +defs["ImDrawCallback"] = "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);" defs["ImDrawChannel"] = "struct ImDrawChannel" defs["ImDrawCmd"] = "struct ImDrawCmd" defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader" @@ -39,7 +39,7 @@ defs["ImGuiCond"] = "int" defs["ImGuiConfigFlags"] = "int" defs["ImGuiContext"] = "struct ImGuiContext" defs["ImGuiContextHook"] = "struct ImGuiContextHook" -defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);" +defs["ImGuiContextHookCallback"] = "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);" defs["ImGuiDataAuthority"] = "int" defs["ImGuiDataType"] = "int" defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo" @@ -54,7 +54,7 @@ defs["ImGuiDockNodeFlags"] = "int" defs["ImGuiDockNodeSettings"] = "struct ImGuiDockNodeSettings" defs["ImGuiDockRequest"] = "struct ImGuiDockRequest" defs["ImGuiDragDropFlags"] = "int" -defs["ImGuiErrorCallback"] = "void(*)(ImGuiContext* ctx,void* user_data,const char* msg);" +defs["ImGuiErrorCallback"] = "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);" defs["ImGuiErrorRecoveryState"] = "struct ImGuiErrorRecoveryState" defs["ImGuiFocusRequestFlags"] = "int" defs["ImGuiFocusScopeData"] = "struct ImGuiFocusScopeData" @@ -73,7 +73,7 @@ defs["ImGuiInputEventMouseViewport"] = "struct ImGuiInputEventMouseViewport" defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel" defs["ImGuiInputEventText"] = "struct ImGuiInputEventText" defs["ImGuiInputFlags"] = "int" -defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);" +defs["ImGuiInputTextCallback"] = "int (*)(ImGuiInputTextCallbackData* data);" defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData" defs["ImGuiInputTextDeactivateData"] = "struct ImGuiInputTextDeactivateData" defs["ImGuiInputTextDeactivatedState"] = "struct ImGuiInputTextDeactivatedState" @@ -93,8 +93,8 @@ defs["ImGuiListClipper"] = "struct ImGuiListClipper" defs["ImGuiListClipperData"] = "struct ImGuiListClipperData" defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange" defs["ImGuiLocEntry"] = "struct ImGuiLocEntry" -defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);" -defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);" +defs["ImGuiMemAllocFunc"] = "void* (*)(size_t sz, void* user_data);" +defs["ImGuiMemFreeFunc"] = "void (*)(void* ptr, void* user_data);" defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns" defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig" defs["ImGuiMouseButton"] = "int" @@ -130,7 +130,7 @@ defs["ImGuiSelectionUserData"] = "ImS64" defs["ImGuiSeparatorFlags"] = "int" defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler" defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem" -defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);" +defs["ImGuiSizeCallback"] = "void (*)(ImGuiSizeCallbackData* data);" defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData" defs["ImGuiSliderFlags"] = "int" defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo" @@ -202,8 +202,5 @@ defs["ImWchar"] = "ImWchar16" defs["ImWchar16"] = "unsigned short" defs["ImWchar32"] = "unsigned int" defs["STB_TexteditState"] = "struct STB_TexteditState" -defs["const_iterator"] = "const value_type*" -defs["iterator"] = "value_type*" -defs["value_type"] = "T" return defs \ No newline at end of file From 4e89eac9386d8801abe458b50830e406bec31eae Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Mon, 18 Nov 2024 18:20:25 +0100 Subject: [PATCH 6/6] pull imgui docking 1.91.5 and generate --- cimgui.cpp | 12 +- cimgui.h | 45 +- generator/generator.sh | 2 +- generator/output/definitions.json | 3017 +++++++++++----------- generator/output/definitions.lua | 3032 ++++++++++++----------- generator/output/overloads.txt | 2 +- generator/output/structs_and_enums.json | 450 ++-- generator/output/structs_and_enums.lua | 1807 +++++++------- generator/output/typedefs_dict.json | 1 + generator/output/typedefs_dict.lua | 1 + imgui | 2 +- 11 files changed, 4207 insertions(+), 4164 deletions(-) diff --git a/cimgui.cpp b/cimgui.cpp index 5c03828..e2e9ddf 100644 --- a/cimgui.cpp +++ b/cimgui.cpp @@ -1,5 +1,5 @@ //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui -//based on imgui.h file version "1.91.4" 19140 from Dear ImGui https://github.com/ocornut/imgui +//based on imgui.h file version "1.91.5" 19150 from Dear ImGui https://github.com/ocornut/imgui //with imgui_internal.h api //with imgui_freetype.h api //docking branch @@ -2296,7 +2296,7 @@ CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2 pos,ImU32 { return self->AddText(pos,col,text_begin,text_end); } -CIMGUI_API void ImDrawList_AddText_FontPtr(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_AddText_FontPtr(ImDrawList* self,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) { return self->AddText(font,font_size,pos,col,text_begin,text_end,wrap_width,cpu_fine_clip_rect); } @@ -3991,6 +3991,10 @@ CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiT { return self->GetColumnSettings(); } +CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx) +{ + return &ImGui::GetIOEx(ctx); +} CIMGUI_API ImGuiWindow* igGetCurrentWindowRead() { return ImGui::GetCurrentWindowRead(); @@ -4395,9 +4399,9 @@ CIMGUI_API void igEndDisabledOverrideReenable() { return ImGui::EndDisabledOverrideReenable(); } -CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth) +CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth) { - return ImGui::LogBegin(type,auto_open_depth); + return ImGui::LogBegin(flags,auto_open_depth); } CIMGUI_API void igLogToBuffer(int auto_open_depth) { diff --git a/cimgui.h b/cimgui.h index ec6d21e..394175a 100644 --- a/cimgui.h +++ b/cimgui.h @@ -1,5 +1,5 @@ //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui -//based on imgui.h file version "1.91.4" 19140 from Dear ImGui https://github.com/ocornut/imgui +//based on imgui.h file version "1.91.5" 19150 from Dear ImGui https://github.com/ocornut/imgui //with imgui_internal.h api //with imgui_freetype.h api //docking branch @@ -488,6 +488,7 @@ ImGuiSortDirection_Descending=2, }ImGuiSortDirection; typedef enum { ImGuiKey_None=0, +ImGuiKey_NamedKey_BEGIN=512, ImGuiKey_Tab=512, ImGuiKey_LeftArrow=513, ImGuiKey_RightArrow=514, @@ -642,18 +643,14 @@ ImGuiKey_ReservedForModCtrl=662, ImGuiKey_ReservedForModShift=663, ImGuiKey_ReservedForModAlt=664, ImGuiKey_ReservedForModSuper=665, -ImGuiKey_COUNT=666, +ImGuiKey_NamedKey_END=666, ImGuiMod_None=0, ImGuiMod_Ctrl=1 << 12, ImGuiMod_Shift=1 << 13, ImGuiMod_Alt=1 << 14, ImGuiMod_Super=1 << 15, ImGuiMod_Mask_=0xF000, -ImGuiKey_NamedKey_BEGIN=512, -ImGuiKey_NamedKey_END=ImGuiKey_COUNT, ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN, -ImGuiKey_KeysData_SIZE=ImGuiKey_NamedKey_COUNT, -ImGuiKey_KeysData_OFFSET=ImGuiKey_NamedKey_BEGIN, }ImGuiKey; typedef enum { ImGuiInputFlags_None = 0, @@ -1068,6 +1065,7 @@ struct ImGuiIO bool ConfigDragClickToInputText; bool ConfigWindowsResizeFromEdges; bool ConfigWindowsMoveFromTitleBarOnly; + bool ConfigWindowsCopyContentsWithCtrlC; bool ConfigScrollbarScrollByPage; float ConfigMemoryCompactTimer; float MouseDoubleClickTime; @@ -1115,7 +1113,7 @@ struct ImGuiIO bool KeyAlt; bool KeySuper; ImGuiKeyChord KeyMods; - ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE]; + ImGuiKeyData KeysData[ImGuiKey_NamedKey_COUNT]; bool WantCaptureMouseUnlessPopupClose; ImVec2 MousePosPrev; ImVec2 MouseClickedPos[5]; @@ -1136,8 +1134,6 @@ struct ImGuiIO float PenPressure; bool AppFocusLost; bool AppAcceptingEvents; - ImS8 BackendUsingLegacyKeyArrays; - bool BackendUsingLegacyNavInputArray; ImWchar16 InputQueueSurrogate; ImVector_ImWchar InputQueueCharacters; }; @@ -1448,7 +1444,8 @@ struct ImFontAtlasCustomRect { unsigned short Width, Height; unsigned short X, Y; - unsigned int GlyphID; + unsigned int GlyphID : 31; + unsigned int GlyphColored : 1; float GlyphAdvanceX; ImVec2 GlyphOffset; ImFont* Font; @@ -1663,6 +1660,7 @@ typedef int ImGuiDebugLogFlags; typedef int ImGuiFocusRequestFlags; typedef int ImGuiItemStatusFlags; typedef int ImGuiOldColumnFlags; +typedef int ImGuiLogFlags; typedef int ImGuiNavRenderCursorFlags; typedef int ImGuiNavMoveFlags; typedef int ImGuiNextItemDataFlags; @@ -1850,12 +1848,13 @@ typedef enum { ImGuiLayoutType_Vertical = 1 }ImGuiLayoutType_; typedef enum { - ImGuiLogType_None = 0, - ImGuiLogType_TTY, - ImGuiLogType_File, - ImGuiLogType_Buffer, - ImGuiLogType_Clipboard, -}ImGuiLogType; + ImGuiLogFlags_None = 0, + ImGuiLogFlags_OutputTTY = 1 << 0, + ImGuiLogFlags_OutputFile = 1 << 1, + ImGuiLogFlags_OutputBuffer = 1 << 2, + ImGuiLogFlags_OutputClipboard = 1 << 3, + ImGuiLogFlags_OutputMask_ = ImGuiLogFlags_OutputTTY | ImGuiLogFlags_OutputFile | ImGuiLogFlags_OutputBuffer | ImGuiLogFlags_OutputClipboard, +}ImGuiLogFlags_; typedef enum { ImGuiAxis_None = -1, ImGuiAxis_X = 0, @@ -1924,11 +1923,11 @@ struct ImGuiInputTextState ImGuiContext* Ctx; ImStbTexteditState* Stb; ImGuiID ID; - int CurLenA; + int TextLen; ImVector_char TextA; - ImVector_char InitialTextA; + ImVector_char TextToRevertTo; ImVector_char CallbackTextBackup; - int BufCapacityA; + int BufCapacity; ImVec2 Scroll; float CursorAnim; bool CursorFollow; @@ -2976,7 +2975,8 @@ struct ImGuiContext ImGuiID HookIdNext; const char* LocalizationTable[ImGuiLocKey_COUNT]; bool LogEnabled; - ImGuiLogType LogType; + ImGuiLogFlags LogFlags; + ImGuiWindow* LogWindow; ImFileHandle LogFile; ImGuiTextBuffer LogBuffer; const char* LogNextPrefix; @@ -4142,7 +4142,7 @@ CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,fl CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments,float thickness); CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments); CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end); -CIMGUI_API void ImDrawList_AddText_FontPtr(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_AddText_FontPtr(ImDrawList* self,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_AddBezierCubic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness,int num_segments); CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness,int num_segments); CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness); @@ -4564,6 +4564,7 @@ CIMGUI_API void ImGuiTableColumnSettings_destroy(ImGuiTableColumnSettings* self) CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void); CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self); CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiTableSettings* self); +CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx); CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void); CIMGUI_API ImGuiWindow* igGetCurrentWindow(void); CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id); @@ -4665,7 +4666,7 @@ CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx); CIMGUI_API void igBeginDisabledOverrideReenable(void); CIMGUI_API void igEndDisabledOverrideReenable(void); -CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth); +CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth); CIMGUI_API void igLogToBuffer(int auto_open_depth); CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end); CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix); diff --git a/generator/generator.sh b/generator/generator.sh index 734cd55..06b8915 100755 --- a/generator/generator.sh +++ b/generator/generator.sh @@ -25,7 +25,7 @@ POSITIONAL_ARGS=() TARGETS="internal noimstrv" -CFLAGS="glfw opengl3 opengl2 sdl2" +CFLAGS="glfw opengl3 opengl2 sdl2 sdl3" help() { cat <