From 34550586d4f4b61b4743c025037723e8fec5db11 Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Sun, 9 Nov 2025 12:15:04 +0100 Subject: [PATCH] cpp2ffi: hide genConversors and gen_structs_c --- cimgui.h | 2 +- generator/cimgui_template.h | 1 - generator/cpp2ffi.lua | 9 ++++++--- generator/generator.lua | 5 +---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/cimgui.h b/cimgui.h index 6b06eea..ae2dbae 100644 --- a/cimgui.h +++ b/cimgui.h @@ -3818,6 +3818,7 @@ struct SDL_Window; typedef union SDL_Event SDL_Event; #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS + #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImColor_c ImColor; typedef struct ImRect_c ImRect; @@ -3859,7 +3860,6 @@ struct ImVec4_c { float w; }; #endif - #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; typedef ImStb::STB_TexteditState STB_TexteditState; diff --git a/generator/cimgui_template.h b/generator/cimgui_template.h index 3005e64..fc39b0b 100644 --- a/generator/cimgui_template.h +++ b/generator/cimgui_template.h @@ -49,7 +49,6 @@ struct SDL_Window; typedef union SDL_Event SDL_Event; #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS -PLACE_STRUCTS_C #include "auto_funcs.h" diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index 9493ca4..850db68 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -2990,7 +2990,9 @@ local function func_implementation(FP) end until true end - return table.concat(outtab) + local conversors = FP:genConversors() + local cimplem = conversors .. table.concat(outtab) + return cimplem end M.func_implementation = func_implementation @@ -3086,7 +3088,7 @@ M.func_header_generate_funcs = func_header_generate_funcs local function func_header_generate(FP) local outtab = func_header_generate_structs(FP) - table.insert(outtab, 1, "#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") + table.insert(outtab, 1, "\n#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") local outtabf = func_header_generate_funcs(FP) @@ -3095,7 +3097,8 @@ local function func_header_generate(FP) --outtabf = M.header_subs_nonPOD(FP,outtabf) local cfuncsstr = table.concat(outtab)..outtabf cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line - return cfuncsstr + local structs_c = FP:gen_structs_c() + return structs_c..cfuncsstr end M.func_header_generate = func_header_generate diff --git a/generator/generator.lua b/generator/generator.lua index 8ac9955..a602af1 100644 --- a/generator/generator.lua +++ b/generator/generator.lua @@ -278,7 +278,7 @@ local function cimgui_generation(parser) local hstrfile = read_data"./cimgui_template.h" - hstrfile = hstrfile:gsub([[PLACE_STRUCTS_C]],parser:gen_structs_c()) + --hstrfile = hstrfile:gsub([[PLACE_STRUCTS_C]],parser:gen_structs_c()) local outpre,outpost = parser.structs_and_enums[1],parser.structs_and_enums[2] cpp2ffi.prtable(parser.templates) @@ -323,9 +323,6 @@ local function cimgui_generation(parser) cimplem = colapse_defines(cimplem, "IMGUI_ENABLE_FREETYPE") local hstrfile = read_data"./cimgui_template.cpp" - local conversors = parser:genConversors() - cimplem = conversors .. cimplem - hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) local ftdef = "" --FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or "" save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)