From 3c30c86405b2a9cd6ee17041db12167baf7d47dc Mon Sep 17 00:00:00 2001 From: Victor Bombi Date: Fri, 4 Sep 2020 16:40:19 +0200 Subject: [PATCH] generator.lua: pre sorted changes --- generator/generator.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/generator/generator.lua b/generator/generator.lua index 26e3ffe..a7f49db 100644 --- a/generator/generator.lua +++ b/generator/generator.lua @@ -177,27 +177,34 @@ local function DefsByStruct(FP) end ----------custom ImVector templates +local table_do_sorted = cpp2ffi.table_do_sorted local function generate_templates(code,codeimpool,templates) table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n") for ttype,v in pairs(templates) do - --local te = k:gsub("%s","_") - --te = te:gsub("%*","Ptr") + --table_do_sorted(templates , function (ttype, v) if ttype == "ImVector" then for te,newte in pairs(v) do + --table_do_sorted(v, function(te,newte) table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n") + --end) end elseif ttype == "ImPool" then --declare ImGuiStorage for te,newte in pairs(v) do + --table_do_sorted(v, function(te, newte) table.insert(codeimpool,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n") table.insert(codeimpool,"typedef struct ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n") + --end) end elseif ttype == "ImChunkStream" then for te,newte in pairs(v) do + --table_do_sorted(v, function(te,newte) table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n") table.insert(code,"typedef struct ImChunkStream_"..newte.." {ImVector_"..te.." Buf;} ImChunkStream_"..newte..";\n") + --end) end end + --end) end end --generate cimgui.cpp cimgui.h