mirror of
https://github.com/cimgui/cimgui.git
synced 2026-08-27 12:11:31 +00:00
Merge branch 'docking_inter' 1.92.9dock
This commit is contained in:
@@ -11,7 +11,7 @@ History:
|
||||
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
|
||||
|
||||
Notes:
|
||||
* currently this wrapper is based on version [1.92.9 of Dear ImGui with internal api]
|
||||
* currently this wrapper is based on version [1.92.9b of Dear ImGui with internal api]
|
||||
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
|
||||
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
|
||||
@@ -108,6 +108,7 @@ Notes:
|
||||
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
|
||||
* [cimgui-go](https://github.com/AllenDang/cimgui-go)
|
||||
* [Hexa.NET.ImGui](https://github.com/HexaEngine/Hexa.NET.ImGui)
|
||||
* [EvergineTeam/ImGui](https://github.com/EvergineTeam/ImGui.Net)
|
||||
* [dear-imgui-rs](https://github.com/Latias94/dear-imgui-rs)
|
||||
* [CImGui.jl](https://github.com/Gnimuc/CImGui.jl)
|
||||
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
|
||||
|
||||
32
cimgui.cpp
32
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.92.9" 19290 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//based on imgui.h file version "1.92.9b" 19291 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//with imgui_internal.h api
|
||||
//with imgui_freetype.h api
|
||||
|
||||
@@ -650,7 +650,7 @@ CIMGUI_API void igText(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igText0(const char* fmt)
|
||||
{
|
||||
return igText(fmt);
|
||||
igText(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igTextV(const char* fmt,va_list args)
|
||||
@@ -667,7 +667,7 @@ CIMGUI_API void igTextColored(const ImVec4_c col,const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igTextColored0(const ImVec4_c col,const char* fmt)
|
||||
{
|
||||
return igTextColored(col,fmt);
|
||||
igTextColored(col,fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igTextColoredV(const ImVec4_c col,const char* fmt,va_list args)
|
||||
@@ -684,7 +684,7 @@ CIMGUI_API void igTextDisabled(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igTextDisabled0(const char* fmt)
|
||||
{
|
||||
return igTextDisabled(fmt);
|
||||
igTextDisabled(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igTextDisabledV(const char* fmt,va_list args)
|
||||
@@ -701,7 +701,7 @@ CIMGUI_API void igTextWrapped(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igTextWrapped0(const char* fmt)
|
||||
{
|
||||
return igTextWrapped(fmt);
|
||||
igTextWrapped(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igTextWrappedV(const char* fmt,va_list args)
|
||||
@@ -718,7 +718,7 @@ CIMGUI_API void igLabelText(const char* label,const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igLabelText0(const char* label,const char* fmt)
|
||||
{
|
||||
return igLabelText(label,fmt);
|
||||
igLabelText(label,fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args)
|
||||
@@ -735,7 +735,7 @@ CIMGUI_API void igBulletText(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igBulletText0(const char* fmt)
|
||||
{
|
||||
return igBulletText(fmt);
|
||||
igBulletText(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igBulletTextV(const char* fmt,va_list args)
|
||||
@@ -1248,7 +1248,7 @@ CIMGUI_API void igSetTooltip(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igSetTooltip0(const char* fmt)
|
||||
{
|
||||
return igSetTooltip(fmt);
|
||||
igSetTooltip(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igSetTooltipV(const char* fmt,va_list args)
|
||||
@@ -1269,7 +1269,7 @@ CIMGUI_API void igSetItemTooltip(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igSetItemTooltip0(const char* fmt)
|
||||
{
|
||||
return igSetItemTooltip(fmt);
|
||||
igSetItemTooltip(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igSetItemTooltipV(const char* fmt,va_list args)
|
||||
@@ -1482,7 +1482,7 @@ CIMGUI_API void igLogText(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igLogText0(const char* fmt)
|
||||
{
|
||||
return igLogText(fmt);
|
||||
igLogText(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igLogTextV(const char* fmt,va_list args)
|
||||
@@ -1847,7 +1847,7 @@ CIMGUI_API void igDebugLog(const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igDebugLog0(const char* fmt)
|
||||
{
|
||||
return igDebugLog(fmt);
|
||||
igDebugLog(fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igDebugLogV(const char* fmt,va_list args)
|
||||
@@ -3114,7 +3114,7 @@ CIMGUI_API void igImFormatStringToTempBuffer(const char** out_buf,const char** o
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igImFormatStringToTempBuffer0(const char** out_buf,const char** out_buf_end,const char* fmt)
|
||||
{
|
||||
return igImFormatStringToTempBuffer(out_buf,out_buf_end,fmt);
|
||||
igImFormatStringToTempBuffer(out_buf,out_buf_end,fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igImFormatStringToTempBufferV(const char** out_buf,const char** out_buf_end,const char* fmt,va_list args)
|
||||
@@ -5603,7 +5603,7 @@ CIMGUI_API void igTextAligned(float align_x,float size_x,const char* fmt,...)
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void igTextAligned0(float align_x,float size_x,const char* fmt)
|
||||
{
|
||||
return igTextAligned(align_x,size_x,fmt);
|
||||
igTextAligned(align_x,size_x,fmt);
|
||||
}
|
||||
#endif
|
||||
CIMGUI_API void igTextAlignedV(float align_x,float size_x,const char* fmt,va_list args)
|
||||
@@ -6283,6 +6283,12 @@ CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt,
|
||||
self->appendfv(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf0(ImGuiTextBuffer *self, const char *fmt)
|
||||
{
|
||||
ImGuiTextBuffer_appendf(self,fmt);
|
||||
}
|
||||
#endif
|
||||
|
||||
CIMGUI_API float igGET_FLT_MAX()
|
||||
{
|
||||
|
||||
50
cimgui.h
50
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.92.9" 19290 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//based on imgui.h file version "1.92.9b" 19291 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//with imgui_internal.h api
|
||||
//with imgui_freetype.h api
|
||||
#ifndef CIMGUI_INCLUDED
|
||||
@@ -46,6 +46,12 @@ typedef unsigned __int64 ImU64;
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
typedef struct ImColor_c ImColor;
|
||||
typedef struct ImRect_c ImRect;
|
||||
typedef struct ImTextureRef_c ImTextureRef;
|
||||
typedef struct ImVec2_c ImVec2;
|
||||
typedef struct ImVec2i_c ImVec2i;
|
||||
typedef struct ImVec4_c ImVec4;
|
||||
|
||||
typedef struct ImDrawChannel ImDrawChannel;
|
||||
typedef struct ImDrawCmd ImDrawCmd;
|
||||
@@ -3618,6 +3624,45 @@ struct ImFontAtlasBuilder
|
||||
ImFontAtlasRectId PackIdMouseCursors;
|
||||
ImFontAtlasRectId PackIdLinesTexData;
|
||||
};
|
||||
typedef struct StbUndoRecord StbUndoRecord;
|
||||
struct StbUndoRecord
|
||||
{
|
||||
int where;
|
||||
int insert_length;
|
||||
int delete_length;
|
||||
int char_storage;
|
||||
};
|
||||
typedef struct StbUndoState StbUndoState;
|
||||
struct StbUndoState
|
||||
{
|
||||
StbUndoRecord undo_rec [99];
|
||||
char undo_char[999];
|
||||
short undo_point, redo_point;
|
||||
int undo_char_point, redo_char_point;
|
||||
};
|
||||
struct STB_TexteditState
|
||||
{
|
||||
int cursor;
|
||||
int select_start;
|
||||
int select_end;
|
||||
unsigned char insert_mode;
|
||||
int row_count_per_page;
|
||||
unsigned char cursor_at_end_of_line;
|
||||
unsigned char initialized;
|
||||
unsigned char has_preferred_x;
|
||||
unsigned char single_line;
|
||||
unsigned char padding1, padding2, padding3;
|
||||
float preferred_x;
|
||||
StbUndoState undostate;
|
||||
};
|
||||
typedef struct StbTexteditRow StbTexteditRow;
|
||||
struct StbTexteditRow
|
||||
{
|
||||
float x0,x1;
|
||||
float baseline_y_delta;
|
||||
float ymin,ymax;
|
||||
int num_chars;
|
||||
};
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
struct ImFontAtlas;
|
||||
struct ImFontLoader;
|
||||
@@ -5317,6 +5362,9 @@ CIMGUI_API bool ImGuiFreeType_DebugEditFontLoaderFlags(ImGuiFreeTypeLoaderFlags*
|
||||
/////////////////////////hand written functions
|
||||
//no appendfV
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...);
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf0(ImGuiTextBuffer *self, const char *fmt);
|
||||
#endif
|
||||
//for getting FLT_MAX in bindings
|
||||
CIMGUI_API float igGET_FLT_MAX(void);
|
||||
//for getting FLT_MIN in bindings
|
||||
|
||||
@@ -17,6 +17,12 @@ CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt,
|
||||
self->appendfv(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf0(ImGuiTextBuffer *self, const char *fmt)
|
||||
{
|
||||
ImGuiTextBuffer_appendf(self,fmt);
|
||||
}
|
||||
#endif
|
||||
|
||||
CIMGUI_API float igGET_FLT_MAX()
|
||||
{
|
||||
|
||||
@@ -56,6 +56,9 @@ PLACE_STRUCTS_C
|
||||
/////////////////////////hand written functions
|
||||
//no appendfV
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...);
|
||||
#ifdef CIMGUI_VARGS0
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf0(ImGuiTextBuffer *self, const char *fmt);
|
||||
#endif
|
||||
//for getting FLT_MAX in bindings
|
||||
CIMGUI_API float igGET_FLT_MAX(void);
|
||||
//for getting FLT_MIN in bindings
|
||||
|
||||
@@ -852,7 +852,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
local noname_counter = 0
|
||||
for i,ar in ipairs(argsTa) do
|
||||
local ttype,template,te,code2 = check_template(ar) --ar:match("([^%s,%(%)]+)%s*<(.-)>")
|
||||
if template then
|
||||
if template and not self.skip_template[ttype] then
|
||||
if self.typenames[stname] ~= template then --rule out template typename
|
||||
self.templates[ttype] = self.templates[ttype] or {}
|
||||
self.templates[ttype][template] = te
|
||||
@@ -998,7 +998,8 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
end
|
||||
end
|
||||
|
||||
--if ismanual then M.prtable(argsArr) end
|
||||
-- print(cimguiname)
|
||||
-- if ismanual then M.prtable("===================================\n",argsArr) end
|
||||
|
||||
defT.templated = self.typenames[stname] and true
|
||||
defT.namespace = namespace
|
||||
@@ -1212,6 +1213,11 @@ local function get_nonPOD(FP)
|
||||
end
|
||||
end
|
||||
end
|
||||
if FP.forced_nonPOD then
|
||||
for k,v in pairs(FP.forced_nonPOD) do
|
||||
nonPOD[k] = true
|
||||
end
|
||||
end
|
||||
FP.structs_and_enums_table.nonPOD = nonPOD
|
||||
if next(nonPOD) then
|
||||
M.prtable("nonPOD",nonPOD)
|
||||
@@ -1289,12 +1295,27 @@ local function gen_field_conversion(tab, struct,structs, FP, to,prefix)
|
||||
for i,field in ipairs(struct) do
|
||||
local ftype = field.type:gsub("*","")
|
||||
if FP.nP_used[field.type] then
|
||||
gen_field_conversion(tab, structs[field.type],structs,FP, to,prefix..field.name..".")
|
||||
if not field.size then
|
||||
gen_field_conversion(tab, structs[field.type],structs,FP, to,prefix..field.name..".")
|
||||
else
|
||||
local fname = field.name:match("(.+)%[[^%[%]]+%]")
|
||||
for j = 0,field.size-1 do
|
||||
gen_field_conversion(tab, structs[field.type],structs,FP, to,prefix..fname.."["..tostring(j).."].")
|
||||
end
|
||||
end
|
||||
elseif FP.nP_used[ftype] then
|
||||
assert(not field.size, "size not worked in Convert")
|
||||
local ftypec = field.type:gsub(ftype,not to and (ftype.."_c") or ftype)
|
||||
insert(tab, " dest."..prefix..field.name.." = reinterpret_cast<"..ftypec..">(src."..prefix..field.name..");")
|
||||
else
|
||||
insert(tab," dest."..prefix..field.name.." = src."..prefix..field.name..";")
|
||||
if not field.size then
|
||||
insert(tab," dest."..prefix..field.name.." = src."..prefix..field.name..";")
|
||||
else
|
||||
local fname = field.name:match("(.+)%[%d+%]")
|
||||
for j = 0,field.size-1 do
|
||||
insert(tab," dest."..prefix..fname.."["..tostring(j).."] = src."..prefix..fname.."["..tostring(j).."];")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1313,6 +1334,7 @@ local function genConversions(FP)
|
||||
local convers = {}
|
||||
--for k,v in pairs(FP.nP_used) do
|
||||
M.table_do_sorted(FP.nP_used, function(k,v)
|
||||
if not FP.skip_convert_gen[k] then
|
||||
--print("genConversions",k)
|
||||
insert(convers,"static inline "..k.." ConvertToCPP_"..k.."(const "..k.."_c& src)")
|
||||
insert(convers,"{")
|
||||
@@ -1328,6 +1350,7 @@ local function genConversions(FP)
|
||||
gen_field_conversion(convers,struct,structs,FP, false)
|
||||
insert(convers," return dest;")
|
||||
insert(convers,"}")
|
||||
end --skip_convert_gen
|
||||
end)
|
||||
--print(table.concat(convers,"\n"))
|
||||
return table.concat(convers,"\n")
|
||||
@@ -1531,11 +1554,13 @@ local function ADDnonUDT(FP)
|
||||
end
|
||||
--args
|
||||
local caar,asp
|
||||
local argsTN = {}
|
||||
if #def.argsT > 0 then
|
||||
caar = "("
|
||||
asp = "("
|
||||
for i,v in ipairs(def.argsT) do
|
||||
local name = v.name
|
||||
argsTN[i] = deepcopy(v)
|
||||
if v.ret then --function pointer
|
||||
local f_ = v.has_cdecl and "(__cdecl*" or "(*"
|
||||
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
|
||||
@@ -1545,23 +1570,29 @@ local function ADDnonUDT(FP)
|
||||
local typ2 = typ:gsub("*","")
|
||||
--nonPOD arg -> convert
|
||||
if FP.nP_args[v.type] then
|
||||
local typ3 = v.type:gsub(typ,typ.."_c")
|
||||
caar = caar .. "ConvertToCPP_"..typ.."("..name.."),"
|
||||
asp = asp .. v.type:gsub(typ,typ.."_c").." "..v.name..","
|
||||
asp = asp .. typ3 .." "..v.name..","
|
||||
--argsTN[i].type = typ3
|
||||
--nonPOD* arg -> reinterpret_cast
|
||||
elseif FP.nP_args[typ2] then
|
||||
local typ3 = v.type:gsub(typ2,typ2.."_c")
|
||||
caar = caar .. "reinterpret_cast<"..v.type..">("..name.."),"
|
||||
asp = asp .. typ3 .." "..v.name..","
|
||||
--argsTN[i].type = typ3
|
||||
elseif v.type:match("std::string_view") then
|
||||
argsTN[i].type = "const char*"
|
||||
caar = caar ..name..","
|
||||
asp = asp .. "const char* "..v.name..","
|
||||
elseif v.type:match("std::string") then
|
||||
argsTN[i].type = "const char*"
|
||||
caar = caar .. "std::string("..name.."),"
|
||||
asp = asp .. "const char* "..v.name..","
|
||||
elseif v.type:match"std::function" then
|
||||
local ca2,asp2,skip2 = get_std_function(v,def)
|
||||
caar = caar .. ca2..","
|
||||
asp = asp .. asp2..","
|
||||
argsTN[i].type = asp2
|
||||
if skip2 then skip = true end
|
||||
--skip = true
|
||||
elseif v.type:match("std::") then
|
||||
@@ -1575,11 +1606,13 @@ local function ADDnonUDT(FP)
|
||||
local callname = "*"..name
|
||||
caar = caar .. callname .. ","
|
||||
asp = asp .. newt.." "..name .. ","
|
||||
argsTN[i].type = newt
|
||||
else
|
||||
local newt = v.type --v.type:gsub(typ2.."%s*%*",typ2.."_opq")
|
||||
local callname = v.reftoptr and "*"..name or name
|
||||
caar = caar .. callname .. ","
|
||||
asp = asp .. newt.." "..name .. ","
|
||||
argsTN[i].type = newt
|
||||
end
|
||||
else
|
||||
local siz = v.type:match("(%[%d*%])") or ""
|
||||
@@ -1587,6 +1620,7 @@ local function ADDnonUDT(FP)
|
||||
asp = asp .. typ .. (v.name~="..." and " "..v.name or "") .. siz .. ","
|
||||
local callname = v.reftoptr and "*"..name or name
|
||||
caar = caar .. callname .. ","
|
||||
argsTN[i].type = typ .. siz
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1604,6 +1638,7 @@ local function ADDnonUDT(FP)
|
||||
def.call_args_old = def.call_args
|
||||
def.call_args = caar
|
||||
def.args = asp
|
||||
def.argsT = argsTN
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1799,8 +1834,58 @@ local function json_prepare(defs)
|
||||
return defs
|
||||
end
|
||||
|
||||
local function paramListWithoutDots(params)
|
||||
i, j = string.find(params, "%.%.%.")
|
||||
while i > 1 do
|
||||
i = i - 1
|
||||
c = string.sub(params,i,i)
|
||||
if c == "," then
|
||||
return string.sub(params, 1, i-1) .. params:sub(j+1)
|
||||
elseif c == "(" then
|
||||
return string.sub(params, 1, i) .. params:sub(j+1)
|
||||
end
|
||||
end
|
||||
|
||||
error("paramListWithoutDots failed")
|
||||
return "()"
|
||||
end
|
||||
|
||||
local function save_output(self)
|
||||
--add VARGS0
|
||||
local defsVARG = {}
|
||||
for k,defs in pairs(self.defsT) do
|
||||
for i, def in ipairs(defs) do
|
||||
if def.isvararg then
|
||||
--print("vararg",k,#def)
|
||||
local def1 = deepcopy(def)
|
||||
def1.isvararg = nil
|
||||
def1.isVARG0 = true
|
||||
def1.argsT[#def1.argsT] = nil
|
||||
def1.args = paramListWithoutDots(def1.args)
|
||||
def1.call_args_old = paramListWithoutDots(def1.call_args_old)
|
||||
def1.call_args = paramListWithoutDots(def1.call_args)
|
||||
def1.signature = paramListWithoutDots(def1.signature)
|
||||
def1.cimguiname = def1.cimguiname.."0"
|
||||
def1.ov_cimguiname = def1.ov_cimguiname.."0"
|
||||
defsVARG[k.."0"] = defsVARG[k.."0"] or {}
|
||||
table.insert(defsVARG[k.."0"], def1)
|
||||
end
|
||||
end
|
||||
end
|
||||
for k,def in pairs(defsVARG) do
|
||||
self.defsT[k] = def
|
||||
end
|
||||
--add manual not present in module
|
||||
for k,v in pairs(self.manuals) do
|
||||
if not self.defsT[k] then
|
||||
--print("add manual",k)
|
||||
self.defsT[k] = {v}
|
||||
else
|
||||
--print("skipped manual",k)
|
||||
end
|
||||
end
|
||||
|
||||
----------------------
|
||||
save_data("./output/overloads.txt",self.overloadstxt)
|
||||
save_data("./output/definitions.lua",M.serializeTableF(self.defsT))
|
||||
save_data("./output/structs_and_enums.lua",M.serializeTableF(self.structs_and_enums_table))
|
||||
@@ -1841,6 +1926,9 @@ function M.Parser()
|
||||
par.UDTs = {}
|
||||
par.opaque_structs = {}
|
||||
par.forced_opaque = {}
|
||||
par.forced_nonPOD = {}
|
||||
par.skip_template = {}
|
||||
par.skip_convert_gen = {}
|
||||
|
||||
par.save_output = save_output
|
||||
par.genConversors = genConversions
|
||||
@@ -2306,6 +2394,236 @@ function M.Parser()
|
||||
function par:printItems()
|
||||
printItems(items)
|
||||
end
|
||||
-- for manuals not present in original module
|
||||
-- copied from parseFuncion
|
||||
local function split_args(self, funcname, stname, args, ret)
|
||||
print("split args",funcname, stname, args, ret)
|
||||
args = clean_spaces(args)
|
||||
args = moveptr(args)
|
||||
ret = clean_spaces(ret)
|
||||
ret = moveptr(ret)
|
||||
if stname==true then stname="" end
|
||||
local constructor = ret:match(stname) and true or nil
|
||||
|
||||
local argsp = args:sub(2,-2)..","
|
||||
local argsTa = {}
|
||||
for tynam in argsp:gmatch("([^,]+),") do
|
||||
if tynam:match("%)") and not tynam:match("%b()") then
|
||||
error"split_args"
|
||||
--patenthesis not closed are merged in previous (happens in some defaults)
|
||||
argsTa[#argsTa] = argsTa[#argsTa]..","..tynam
|
||||
while argsTa[#argsTa]:match("%)") and not argsTa[#argsTa]:match("%b()") do
|
||||
argsTa[#argsTa-1] = argsTa[#argsTa-1] .. "," .. argsTa[#argsTa]
|
||||
argsTa[#argsTa] = nil
|
||||
end
|
||||
else
|
||||
argsTa[#argsTa+1] = tynam
|
||||
end
|
||||
end
|
||||
----------------------------
|
||||
--get typ, name and defaults
|
||||
local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
|
||||
local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
|
||||
local argsTa2 = {}
|
||||
local noname_counter = 0
|
||||
for i,ar in ipairs(argsTa) do
|
||||
local ttype,template,te,code2 = check_template(ar) --ar:match("([^%s,%(%)]+)%s*<(.-)>")
|
||||
if template then
|
||||
error"manuals should not have templates"
|
||||
if self.typenames[stname] ~= template then --rule out template typename
|
||||
self.templates[ttype] = self.templates[ttype] or {}
|
||||
self.templates[ttype][template] = te
|
||||
end
|
||||
end
|
||||
argsTa[i] = te and code2 or ar
|
||||
local template_orig = te and ar or nil
|
||||
ar = argsTa[i]
|
||||
--avoid var name without space type&name -> type& name
|
||||
-- also do type &name -> type& name
|
||||
--ar = ar:gsub("(%S)&(%S)","%1& %2")
|
||||
ar = ar:gsub("(%S)%s*&(%S)","%1& %2")
|
||||
local typ,name,retf,sigf,reftoptr,defa,ar1
|
||||
local has_cdecl = ar:match"__cdecl"
|
||||
if has_cdecl then ar = ar:gsub("__cdecl","") end
|
||||
if ar:match(functype_re) then
|
||||
local t1,namef,t2 = ar:match(functype_reex)
|
||||
local f_ = has_cdecl and "(__cdecl*)" or "(*)"
|
||||
typ, name = t1..f_..t2, namef
|
||||
retf = t1
|
||||
sigf = t2
|
||||
else
|
||||
reftoptr = nil
|
||||
if ar:match("&") then
|
||||
ar1,defa = ar:match"([^=]+)=([^=]+)"
|
||||
ar1 = ar1 or ar
|
||||
local typ11,name11 = ar1:match("(.+)%s([^%s]+)")
|
||||
typ11 = typ11:gsub("const ","")
|
||||
typ11 = typ11:gsub("&","")
|
||||
if ar:match("const") and not self.opaque_structs[typ11] then
|
||||
--if ar:match"Palette" then print("--w---w--w",ar,typ11,name11) end
|
||||
--print("--w---w--w",ar,cname)
|
||||
ar = ar:gsub("&","")
|
||||
else
|
||||
ar = ar:gsub("&","*")
|
||||
reftoptr = true
|
||||
end
|
||||
end
|
||||
if ar:match("%.%.%.") then
|
||||
typ, name = "...", "..."
|
||||
else
|
||||
ar1,defa = ar:match"([^=]+)=([^=]+)"
|
||||
ar1 = ar1 or ar
|
||||
typ,name = ar1:match("(.+)%s([^%s]+)")
|
||||
end
|
||||
if not typ or not name or name:match"%*" or M.c_types[name] or self.typedefs_dict[name] then
|
||||
print("argument without name",funcname,typ,name,ar)
|
||||
ar1,defa = ar:match"([^=]+)=([^=]+)"
|
||||
ar1 = ar1 or ar
|
||||
typ = ar1
|
||||
noname_counter = noname_counter + 1
|
||||
name = "noname"..noname_counter
|
||||
end
|
||||
--float name[2] to float[2] name
|
||||
local siz = name:match("(%[%d*%])")
|
||||
if siz then
|
||||
typ = typ..siz
|
||||
name = name:gsub("(%[%d*%])","")
|
||||
end
|
||||
end
|
||||
|
||||
if typ:match"::" then
|
||||
local const,typsimp,ptr = typ:match("(const )([^%*&]+)([%*&]*)")
|
||||
print("= = = = 0 = =typ",typ,const,typsimp,ptr)
|
||||
if self.opaque_structs_inv and self.opaque_structs_inv[typsimp] then
|
||||
print("(((())))))=======self.opaque",const,typsimp,ptr);
|
||||
typ = (const or "")..self.opaque_structs_inv[typsimp]..(ptr or "")
|
||||
end
|
||||
end
|
||||
argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf,has_cdecl=has_cdecl,template_orig=template_orig}
|
||||
if ar:match("&") and not ar:match("const") then
|
||||
--only post error if not manual
|
||||
local cname = self.getCname(stname,funcname, namespace) --cimguiname
|
||||
if not self.manuals[cname] then
|
||||
print("reference to no const arg in",funcname,argscsinpars,ar)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local argsArr = argsTa2
|
||||
|
||||
--recreate argscsinpars, call_args and signature from argsArr
|
||||
local asp, caar,signat
|
||||
if #argsArr > 0 then
|
||||
asp = "("
|
||||
caar = "("
|
||||
signat = "("
|
||||
for i,v in ipairs(argsArr) do
|
||||
if v.ret then --function pointer
|
||||
local f_ = v.has_cdecl and "(__cdecl*" or "(*"
|
||||
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
|
||||
caar = caar .. v.name .. ","
|
||||
signat = signat .. v.ret .. f_..")" .. clean_names_from_signature(self,v.signature) .. ","
|
||||
else
|
||||
local siz = v.type:match("(%[%d*%])") or ""
|
||||
local typ = v.type:gsub("(%[%d*%])","")
|
||||
asp = asp .. typ .. (v.name~="..." and " "..v.name or "") .. siz .. ","
|
||||
local callname = v.reftoptr and "*"..v.name or v.name
|
||||
caar = caar .. callname .. ","
|
||||
signat = signat .. typ .. siz .. ","
|
||||
end
|
||||
end
|
||||
asp = asp:sub(1,-2)..")"
|
||||
caar = caar:sub(1,-2)..")"
|
||||
signat = signat:sub(1,-2)..")" .. (extraconst or "")
|
||||
else
|
||||
asp = "()"
|
||||
caar = "()"
|
||||
signat = "()" .. (extraconst or "")
|
||||
end
|
||||
--if ismanual then print("manual",asp, caar, signat) end
|
||||
----------------------------
|
||||
--[[
|
||||
if not ret and stname then --must be constructors
|
||||
if not (stname == funcname or "~"..stname==funcname) then --break end
|
||||
print("false constructor:",line);
|
||||
print("b2:",ret,stname,funcname,args)
|
||||
return --are function defs
|
||||
end
|
||||
end
|
||||
--]]
|
||||
local cimguiname = funcname --self.getCname(stname,funcname, namespace)
|
||||
-- table.insert(self.funcdefs,{stname=stname,funcname=funcname,args=args,signature=signat,cimguiname=cimguiname,call_args=caar,ret =ret})
|
||||
local funcdef = {stname=stname,funcname=funcname,args=args,signature=signat,cimguiname=cimguiname,call_args=caar,ret =ret}
|
||||
-- local defsT = self.defsT
|
||||
-- defsT[cimguiname] = defsT[cimguiname] or {}
|
||||
-- table.insert(defsT[cimguiname],{})
|
||||
-- local defT = defsT[cimguiname][#defsT[cimguiname]]
|
||||
local defT = {constructor = constructor}
|
||||
defT.defaults = {}
|
||||
for i,ar in ipairs(argsArr) do
|
||||
if ar.default then
|
||||
--clean defaults
|
||||
--do only if not a c string
|
||||
local is_cstring = ar.default:sub(1,1)=='"' and ar.default:sub(-1,-1) =='"'
|
||||
if not is_cstring then
|
||||
ar.default = ar.default:gsub("%(%(void%s*%*%)0%)","NULL")
|
||||
if ar.default:match"%(ImU32%)" and not ar.default:match"sizeof" then
|
||||
ar.default = tostring(CleanImU32(ar.default))
|
||||
end
|
||||
end
|
||||
defT.defaults[ar.name] = ar.default
|
||||
ar.default = nil
|
||||
end
|
||||
end
|
||||
|
||||
-- print(cimguiname)
|
||||
-- if ismanual then M.prtable("===================================\n",argsArr) end
|
||||
|
||||
defT.templated = self.typenames[stname] and true
|
||||
defT.namespace = namespace
|
||||
defT.cimguiname = cimguiname
|
||||
defT.ov_cimguiname = cimguiname
|
||||
defT.stname = stname
|
||||
defT.is_static_function = is_static_function
|
||||
defT.funcname = funcname
|
||||
defT.argsoriginal = args
|
||||
defT.args= asp
|
||||
defT.signature = signat --signature
|
||||
defT.call_args = caar --call_args
|
||||
defT.isvararg = signat:match("%.%.%.%)$")
|
||||
defT.location = locat
|
||||
--local comentario = (itt.prevcomments or "")..(itt.comments or "")..(comment or "")
|
||||
--if comentario=="" then comentario=nil end
|
||||
--defT.comment = comentario
|
||||
defT.argsT = argsArr
|
||||
if self.get_manuals(defT) then
|
||||
defT.manual = true
|
||||
end
|
||||
if self.get_skipped(defT) then
|
||||
defT.skipped = true
|
||||
end
|
||||
---[[
|
||||
if ret then
|
||||
--defT.stdret = line:match("^\n*%s*std::")
|
||||
--if ret:match"string" then print("parsefunction",defT.cimguiname, ret, line) end
|
||||
defT.ret = clean_spaces(ret:gsub("&","*"))
|
||||
--name_conversion
|
||||
local rr = defT.ret:gsub("*","")
|
||||
rr = rr:gsub("const ","")
|
||||
if self.name_conversion and self.name_conversion[rr] then
|
||||
defT.ret = defT.ret:gsub(rr,self.name_conversion[rr])
|
||||
end
|
||||
defT.retref = ret:match("&")
|
||||
-- if defT.ret=="ImVec2" or defT.ret=="ImVec4" or defT.ret=="ImColor" then
|
||||
-- defT.ret = defT.ret.."_Simple"
|
||||
-- end
|
||||
end
|
||||
--]]
|
||||
--defsT[cimguiname][signat] = defT
|
||||
--M.prtable(defT)
|
||||
defT.call_args_old = defT.call_args
|
||||
return defT --, funcdef
|
||||
end
|
||||
function par:set_manuals(manuals, modulen, erase)
|
||||
erase = erase or {"CIMGUI_API"}
|
||||
local moddata = read_data("./"..modulen.."_template.h")
|
||||
@@ -2315,10 +2633,12 @@ function M.Parser()
|
||||
ret = ret:gsub(ww,"")
|
||||
end
|
||||
local args = moddata:match(k.."%s*(%b())")
|
||||
manuals[k] = {args = args, ret = ret}
|
||||
manuals[k] = split_args(self,k,v,args,ret)
|
||||
--manuals[k] = {args = args, ret = ret, argsT = split_args(self,args), manual = true, stname = ""}
|
||||
--print(k,args,ret)
|
||||
end
|
||||
self.manuals = manuals
|
||||
M.prtable("manuals",manuals)
|
||||
end
|
||||
par.parseFunction = parseFunction
|
||||
local uniques = {}
|
||||
@@ -2423,9 +2743,11 @@ function M.Parser()
|
||||
--print("not doheader",ttype,template,te, self.typenames[ttype])
|
||||
--M.prtable(self.typenames)
|
||||
if self.typenames[ttype] and self.typenames[ttype] ~= template and self.typenames[ttype].."*" ~= template then --rule out T (template typename)
|
||||
if not self.skip_template[ttype] then
|
||||
self.templates[ttype] = self.templates[ttype] or {}
|
||||
self.templates[ttype][template] = te
|
||||
it2=code2
|
||||
end
|
||||
end
|
||||
if doheader and self.templates[ttype] then
|
||||
local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
|
||||
@@ -2434,7 +2756,7 @@ function M.Parser()
|
||||
end
|
||||
--clean using
|
||||
if it.re_name == "vardef_re" and it.item:match("using%s+([^=%s]+)%s*=%s*([^;]+);") then
|
||||
print("===using",it.item)
|
||||
print("===using clean",it.item)
|
||||
local typedef, assign = it2:match("using%s+([^=%s]+)%s*=%s*([^;]+);")
|
||||
print(typedef,assign)
|
||||
assign = assign:gsub("%w+::","")
|
||||
@@ -2657,7 +2979,7 @@ function M.Parser()
|
||||
end
|
||||
if it2:match("using") then
|
||||
local typedef, assign = it2:match("using%s+([^=%s]+)%s*=%s*([^;]+);")
|
||||
print("====using",string.format("%q %q",typedef, assign))
|
||||
print("====using as typedef",string.format("%q %q",typedef, assign))
|
||||
if assign and assign:match"%(%s*%*%s*%)" then --function typedef
|
||||
it2 = "\ntypedef "..assign:gsub("%(%s*%*%s*%)","(*"..typedef..")")..";"
|
||||
end
|
||||
@@ -2716,9 +3038,19 @@ function M.Parser()
|
||||
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" or it.parent.re_name == "class_re")) then
|
||||
--table.insert(outtab,predec .. cleanst)
|
||||
if not self.forced_nonPOD[structname] then
|
||||
--dont insert child structs as they are inserted before parent struct
|
||||
if not (it.parent and (it.parent.re_name == "struct_re" or it.parent.re_name == "class_re")) then
|
||||
--table.insert(outtab,predec .. cleanst)
|
||||
self:header_text_insert(outtab, predec .. cleanst, it)
|
||||
end
|
||||
else
|
||||
local tab = self.forced_nonPOD[structname]
|
||||
local cleanst = "\nstruct "..structname.."\n{\n"
|
||||
for i,v in ipairs(tab) do
|
||||
cleanst = cleanst.." "..v.type.." "..v.name..";\n"
|
||||
end
|
||||
cleanst = cleanst .. "};"
|
||||
self:header_text_insert(outtab, predec .. cleanst, it)
|
||||
end
|
||||
end
|
||||
@@ -2769,6 +3101,13 @@ function M.Parser()
|
||||
--table.insert(outtab,"\n/////outtab end\n")
|
||||
local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"")
|
||||
outtabprest = M.header_subs_nonPOD(self,outtabprest)
|
||||
local txt2 = ""
|
||||
M.table_do_sorted(self.nP_used, function(k,v)
|
||||
if v~="inherited" then
|
||||
txt2 = txt2.."typedef struct "..k.."_c "..k..";\n"
|
||||
end
|
||||
end)
|
||||
outtabprest = txt2..outtabprest
|
||||
outtabst = M.header_subs_nonPOD(self,outtabst)
|
||||
self.structs_and_enums = {outtabprest, outtabst or ""}
|
||||
|
||||
@@ -2959,14 +3298,18 @@ function M.Parser()
|
||||
--if not void stname or templated
|
||||
if not structname then print("NO NAME",cleanst,it.item) end
|
||||
if structname and not self.typenames[structname] then
|
||||
outtab.structs[structname] = {}
|
||||
outtab.struct_comments[structname] = {sameline=it.comments,above=it.prevcomments}
|
||||
outtab.struct_comments[structname] = next(outtab.struct_comments[structname]) and outtab.struct_comments[structname] or nil
|
||||
outtab.locations[structname] = it.locat
|
||||
if strtab then
|
||||
for j=3,#strtab-1 do
|
||||
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
|
||||
end
|
||||
if self.forced_nonPOD[structname] then
|
||||
outtab.structs[structname] = self.forced_nonPOD[structname]
|
||||
else
|
||||
outtab.structs[structname] = {}
|
||||
outtab.struct_comments[structname] = {sameline=it.comments,above=it.prevcomments}
|
||||
outtab.struct_comments[structname] = next(outtab.struct_comments[structname]) and outtab.struct_comments[structname] or nil
|
||||
outtab.locations[structname] = it.locat
|
||||
if strtab then
|
||||
for j=3,#strtab-1 do
|
||||
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
|
||||
end
|
||||
end
|
||||
end
|
||||
-- if structname == "Change" then
|
||||
-- print(it.item)
|
||||
@@ -3305,7 +3648,7 @@ function M.Parser()
|
||||
M.prtable("typenames",self.typenames)
|
||||
local outpre,outpost = self.structs_and_enums[1], self.structs_and_enums[2]
|
||||
local tdt = self:generate_templates()
|
||||
M.prtable("generate_templates",tdt)
|
||||
--M.prtable("generate_templates",tdt)
|
||||
local cstructsstr = outpre..tdt..outpost
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||
@@ -3594,21 +3937,7 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
|
||||
end
|
||||
M.location = location
|
||||
---------------------- C writing functions
|
||||
local function paramListWithoutDots(params)
|
||||
i, j = string.find(params, "%.%.%.")
|
||||
while i > 1 do
|
||||
i = i - 1
|
||||
c = string.sub(params,i,i)
|
||||
if c == "," then
|
||||
return string.sub(params, 1, i-1) .. params:sub(j+1)
|
||||
elseif c == "(" then
|
||||
return string.sub(params, 1, i) .. params:sub(j+1)
|
||||
end
|
||||
end
|
||||
|
||||
error("paramListWithoutDots failed")
|
||||
return "()"
|
||||
end
|
||||
local function ImGui_f_implementation(def)
|
||||
local outtab = {}
|
||||
local ptret = def.retref and "&" or ""
|
||||
@@ -3634,7 +3963,9 @@ local function ImGui_f_implementation(def)
|
||||
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
|
||||
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
|
||||
table.insert(outtab, "{\n")
|
||||
table.insert(outtab, " return "..def.ov_cimguiname..paramListWithoutDots(def.call_args_old)..";\n")
|
||||
local returnword = "return "
|
||||
if def.ret=="void" then returnword = "" end
|
||||
table.insert(outtab, " "..returnword..def.ov_cimguiname..paramListWithoutDots(def.call_args_old)..";\n")
|
||||
table.insert(outtab, "}\n")
|
||||
table.insert(outtab, "#endif\n")
|
||||
elseif def.nonUDT then
|
||||
@@ -3649,6 +3980,7 @@ local function ImGui_f_implementation(def)
|
||||
insert(outtab," return str.c_str();\n")
|
||||
elseif def.nonUDT == "opaque" then
|
||||
insert(outtab," static auto opq = "..ptret..namespace..def.funcname..def.call_args..";\n")
|
||||
insert(outtab," opq = "..ptret..namespace..def.funcname..def.call_args..";\n")
|
||||
insert(outtab," return &opq;\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
@@ -3681,6 +4013,16 @@ local function struct_f_implementation(def)
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," return ret;\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
|
||||
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
|
||||
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
|
||||
table.insert(outtab, "{\n")
|
||||
local returnword = "return "
|
||||
if def.ret=="void" then returnword = "" end
|
||||
table.insert(outtab, " "..returnword..def.ov_cimguiname.."(self,"..paramListWithoutDots(def.call_args_old):sub(2,-1)..";\n")
|
||||
table.insert(outtab, "}\n")
|
||||
table.insert(outtab, "#endif\n")
|
||||
elseif def.nonUDT then
|
||||
if def.nonUDT == 1 then
|
||||
--table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n")
|
||||
@@ -3694,12 +4036,15 @@ local function struct_f_implementation(def)
|
||||
insert(outtab," return str.c_str();\n")
|
||||
elseif def.nonUDT == "opaque" then
|
||||
insert(outtab," static auto opq = "..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
insert(outtab," opq = "..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
insert(outtab," return &opq;\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
else --standard struct
|
||||
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
|
||||
return table.concat(outtab, "")
|
||||
end
|
||||
local function func_implementation(FP)
|
||||
@@ -3812,7 +4157,6 @@ local function func_header_generate_funcs(FP)
|
||||
local outtab = {}
|
||||
|
||||
for _,t in ipairs(FP.funcdefs) do
|
||||
|
||||
if t.cimguiname then
|
||||
local cimf = FP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
@@ -3824,7 +4168,6 @@ local function func_header_generate_funcs(FP)
|
||||
local manual = FP.get_manuals(def)
|
||||
if not custom and not manual and not def.templated and not FP.get_skipped(def) --and not (FP.opaque_structs[def.stname] and not def.is_static_function)
|
||||
then
|
||||
|
||||
local addcoment = "" --def.comment or ""
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
if def.constructor then
|
||||
@@ -3848,6 +4191,12 @@ local function func_header_generate_funcs(FP)
|
||||
end
|
||||
else
|
||||
table.insert(outtab,"CIMGUI_API "..ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
if def.isvararg then
|
||||
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
|
||||
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
|
||||
table.insert(outtab, "CIMGUI_API".." "..ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
|
||||
table.insert(outtab, "#endif\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -407,19 +407,20 @@ end
|
||||
--generation
|
||||
print("------------------generation with "..COMPILER.."------------------------")
|
||||
local parser1
|
||||
local headers = [[#include "]]..IMGUI_PATH..[[/imgui.h"
|
||||
local headers = [[#include "]]..IMGUI_PATH..[[/imgui.h"
|
||||
]]
|
||||
local headersT = {[[imgui]]}
|
||||
if INTERNAL_GENERATION then
|
||||
headers = headers .. [[#include "]]..IMGUI_PATH..[[/imgui_internal.h"
|
||||
]]
|
||||
]]
|
||||
headers = headers .. [[#include "]]..IMGUI_PATH..[[/imstb_textedit.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_internal]]
|
||||
headersT[#headersT + 1] = [[imstb_textedit]]
|
||||
end
|
||||
if FREETYPE_GENERATION then
|
||||
headers = headers .. [[
|
||||
#include "]]..IMGUI_PATH..[[/misc/freetype/imgui_freetype.h"
|
||||
]]
|
||||
headers = headers .. [[#include "]]..IMGUI_PATH..[[/misc/freetype/imgui_freetype.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_freetype]]
|
||||
end
|
||||
save_data("headers.h",headers)
|
||||
|
||||
@@ -20,11 +20,12 @@
|
||||
"IMGUI_TABLE_MAX_COLUMNS": "512",
|
||||
"IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)": "((void)0)",
|
||||
"IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)": "((void)g)",
|
||||
"IMGUI_VERSION": "\"1.92.9\"",
|
||||
"IMGUI_VERSION_NUM": "19290",
|
||||
"IMGUI_VERSION": "\"1.92.9b\"",
|
||||
"IMGUI_VERSION_NUM": "19291",
|
||||
"IMGUI_WINDOW_HARD_MIN_SIZE": "4.0f",
|
||||
"IMSTB_TEXTEDIT_CHARTYPE": "char",
|
||||
"IMSTB_TEXTEDIT_GETWIDTH_NEWLINE": "(-1.0f)",
|
||||
"IMSTB_TEXTEDIT_POSITIONTYPE": "int",
|
||||
"IMSTB_TEXTEDIT_STRING": "ImGuiInputTextState",
|
||||
"IMSTB_TEXTEDIT_UNDOCHARCOUNT": "999",
|
||||
"IMSTB_TEXTEDIT_UNDOSTATECOUNT": "99",
|
||||
|
||||
@@ -20,11 +20,12 @@ local t={
|
||||
IMGUI_TABLE_MAX_COLUMNS="512",
|
||||
["IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)"]="((void)0)",
|
||||
["IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)"]="((void)g)",
|
||||
IMGUI_VERSION="\"1.92.9\"",
|
||||
IMGUI_VERSION_NUM="19290",
|
||||
IMGUI_VERSION="\"1.92.9b\"",
|
||||
IMGUI_VERSION_NUM="19291",
|
||||
IMGUI_WINDOW_HARD_MIN_SIZE="4.0f",
|
||||
IMSTB_TEXTEDIT_CHARTYPE="char",
|
||||
IMSTB_TEXTEDIT_GETWIDTH_NEWLINE="(-1.0f)",
|
||||
IMSTB_TEXTEDIT_POSITIONTYPE="int",
|
||||
IMSTB_TEXTEDIT_STRING="ImGuiInputTextState",
|
||||
IMSTB_TEXTEDIT_UNDOCHARCOUNT="999",
|
||||
IMSTB_TEXTEDIT_UNDOSTATECOUNT="99",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5149,22 +5149,22 @@
|
||||
"ImDrawVert": "imgui:3233",
|
||||
"ImFont": "imgui:3930",
|
||||
"ImFontAtlas": "imgui:3728",
|
||||
"ImFontAtlasBuilder": "imgui_internal:3987",
|
||||
"ImFontAtlasBuilder": "imgui_internal:3988",
|
||||
"ImFontAtlasFlags_": "imgui:3701",
|
||||
"ImFontAtlasPostProcessData": "imgui_internal:3960",
|
||||
"ImFontAtlasPostProcessData": "imgui_internal:3961",
|
||||
"ImFontAtlasRect": "imgui:3691",
|
||||
"ImFontAtlasRectEntry": "imgui_internal:3952",
|
||||
"ImFontAtlasRectEntry": "imgui_internal:3953",
|
||||
"ImFontBaked": "imgui:3881",
|
||||
"ImFontConfig": "imgui:3610",
|
||||
"ImFontFlags_": "imgui:3916",
|
||||
"ImFontGlyph": "imgui:3653",
|
||||
"ImFontGlyphRangesBuilder": "imgui:3669",
|
||||
"ImFontLoader": "imgui_internal:3901",
|
||||
"ImFontLoader": "imgui_internal:3902",
|
||||
"ImFontStackData": "imgui_internal:925",
|
||||
"ImGuiActivateFlags_": "imgui_internal:1718",
|
||||
"ImGuiActivateFlags_": "imgui_internal:1719",
|
||||
"ImGuiAxis": "imgui_internal:1174",
|
||||
"ImGuiBackendFlags_": "imgui:1745",
|
||||
"ImGuiBoxSelectState": "imgui_internal:1910",
|
||||
"ImGuiBoxSelectState": "imgui_internal:1911",
|
||||
"ImGuiButtonFlagsPrivate_": "imgui_internal:1062",
|
||||
"ImGuiButtonFlags_": "imgui:1888",
|
||||
"ImGuiChildFlags_": "imgui:1220",
|
||||
@@ -5176,41 +5176,41 @@
|
||||
"ImGuiComboPreviewData": "imgui_internal:1188",
|
||||
"ImGuiCond_": "imgui:2021",
|
||||
"ImGuiConfigFlags_": "imgui:1726",
|
||||
"ImGuiContext": "imgui_internal:2249",
|
||||
"ImGuiContextHook": "imgui_internal:2232",
|
||||
"ImGuiContextHookType": "imgui_internal:2230",
|
||||
"ImGuiContext": "imgui_internal:2250",
|
||||
"ImGuiContextHook": "imgui_internal:2233",
|
||||
"ImGuiContextHookType": "imgui_internal:2231",
|
||||
"ImGuiDataTypeInfo": "imgui_internal:971",
|
||||
"ImGuiDataTypePrivate_": "imgui_internal:980",
|
||||
"ImGuiDataTypeStorage": "imgui_internal:965",
|
||||
"ImGuiDataType_": "imgui:1531",
|
||||
"ImGuiDeactivatedItemData": "imgui_internal:1486",
|
||||
"ImGuiDebugAllocEntry": "imgui_internal:2153",
|
||||
"ImGuiDebugAllocInfo": "imgui_internal:2160",
|
||||
"ImGuiDebugItemPathQuery": "imgui_internal:2201",
|
||||
"ImGuiDebugLogFlags_": "imgui_internal:2129",
|
||||
"ImGuiDeactivatedItemData": "imgui_internal:1487",
|
||||
"ImGuiDebugAllocEntry": "imgui_internal:2154",
|
||||
"ImGuiDebugAllocInfo": "imgui_internal:2161",
|
||||
"ImGuiDebugItemPathQuery": "imgui_internal:2202",
|
||||
"ImGuiDebugLogFlags_": "imgui_internal:2130",
|
||||
"ImGuiDir": "imgui:1549",
|
||||
"ImGuiDragDropFlags_": "imgui:1502",
|
||||
"ImGuiErrorRecoveryState": "imgui_internal:1441",
|
||||
"ImGuiErrorRecoveryState": "imgui_internal:1442",
|
||||
"ImGuiFocusRequestFlags_": "imgui_internal:1134",
|
||||
"ImGuiFocusScopeData": "imgui_internal:1807",
|
||||
"ImGuiFocusScopeData": "imgui_internal:1808",
|
||||
"ImGuiFocusedFlags_": "imgui:1450",
|
||||
"ImGuiFreeTypeLoaderFlags_": "imgui_freetype:29",
|
||||
"ImGuiGroupData": "imgui_internal:1201",
|
||||
"ImGuiHoveredFlagsPrivate_": "imgui_internal:1045",
|
||||
"ImGuiHoveredFlags_": "imgui:1464",
|
||||
"ImGuiIDStackTool": "imgui_internal:2215",
|
||||
"ImGuiIDStackTool": "imgui_internal:2216",
|
||||
"ImGuiIO": "imgui:2429",
|
||||
"ImGuiInputEvent": "imgui_internal:1579",
|
||||
"ImGuiInputEventAppFocused": "imgui_internal:1577",
|
||||
"ImGuiInputEventKey": "imgui_internal:1575",
|
||||
"ImGuiInputEventMouseButton": "imgui_internal:1574",
|
||||
"ImGuiInputEventMousePos": "imgui_internal:1572",
|
||||
"ImGuiInputEventMouseWheel": "imgui_internal:1573",
|
||||
"ImGuiInputEventText": "imgui_internal:1576",
|
||||
"ImGuiInputEventType": "imgui_internal:1549",
|
||||
"ImGuiInputFlagsPrivate_": "imgui_internal:1645",
|
||||
"ImGuiInputEvent": "imgui_internal:1580",
|
||||
"ImGuiInputEventAppFocused": "imgui_internal:1578",
|
||||
"ImGuiInputEventKey": "imgui_internal:1576",
|
||||
"ImGuiInputEventMouseButton": "imgui_internal:1575",
|
||||
"ImGuiInputEventMousePos": "imgui_internal:1573",
|
||||
"ImGuiInputEventMouseWheel": "imgui_internal:1574",
|
||||
"ImGuiInputEventText": "imgui_internal:1577",
|
||||
"ImGuiInputEventType": "imgui_internal:1550",
|
||||
"ImGuiInputFlagsPrivate_": "imgui_internal:1646",
|
||||
"ImGuiInputFlags_": "imgui:1702",
|
||||
"ImGuiInputSource": "imgui_internal:1561",
|
||||
"ImGuiInputSource": "imgui_internal:1562",
|
||||
"ImGuiInputTextCallbackData": "imgui:2676",
|
||||
"ImGuiInputTextDeactivatedState": "imgui_internal:1239",
|
||||
"ImGuiInputTextFlagsPrivate_": "imgui_internal:1053",
|
||||
@@ -5221,49 +5221,49 @@
|
||||
"ImGuiItemStatusFlags_": "imgui_internal:1017",
|
||||
"ImGuiKey": "imgui:1573",
|
||||
"ImGuiKeyData": "imgui:2421",
|
||||
"ImGuiKeyOwnerData": "imgui_internal:1632",
|
||||
"ImGuiKeyRoutingData": "imgui_internal:1606",
|
||||
"ImGuiKeyRoutingTable": "imgui_internal:1620",
|
||||
"ImGuiLastItemData": "imgui_internal:1410",
|
||||
"ImGuiKeyOwnerData": "imgui_internal:1633",
|
||||
"ImGuiKeyRoutingData": "imgui_internal:1607",
|
||||
"ImGuiKeyRoutingTable": "imgui_internal:1621",
|
||||
"ImGuiLastItemData": "imgui_internal:1411",
|
||||
"ImGuiLayoutType_": "imgui_internal:1155",
|
||||
"ImGuiListClipper": "imgui:2894",
|
||||
"ImGuiListClipperData": "imgui_internal:1702",
|
||||
"ImGuiListClipperData": "imgui_internal:1703",
|
||||
"ImGuiListClipperFlags_": "imgui:2868",
|
||||
"ImGuiListClipperRange": "imgui_internal:1689",
|
||||
"ImGuiLocEntry": "imgui_internal:2100",
|
||||
"ImGuiLocKey": "imgui_internal:2082",
|
||||
"ImGuiListClipperRange": "imgui_internal:1690",
|
||||
"ImGuiLocEntry": "imgui_internal:2101",
|
||||
"ImGuiLocKey": "imgui_internal:2083",
|
||||
"ImGuiLogFlags_": "imgui_internal:1162",
|
||||
"ImGuiMenuColumns": "imgui_internal:1220",
|
||||
"ImGuiMetricsConfig": "imgui_internal:2170",
|
||||
"ImGuiMetricsConfig": "imgui_internal:2171",
|
||||
"ImGuiMouseButton_": "imgui:1979",
|
||||
"ImGuiMouseCursor_": "imgui:1989",
|
||||
"ImGuiMouseSource": "imgui:2010",
|
||||
"ImGuiMultiSelectFlags_": "imgui:3063",
|
||||
"ImGuiMultiSelectIO": "imgui:3099",
|
||||
"ImGuiMultiSelectState": "imgui_internal:1970",
|
||||
"ImGuiMultiSelectTempData": "imgui_internal:1943",
|
||||
"ImGuiNavItemData": "imgui_internal:1790",
|
||||
"ImGuiNavLayer": "imgui_internal:1782",
|
||||
"ImGuiNavMoveFlags_": "imgui_internal:1760",
|
||||
"ImGuiNavRenderCursorFlags_": "imgui_internal:1745",
|
||||
"ImGuiNextItemData": "imgui_internal:1388",
|
||||
"ImGuiNextItemDataFlags_": "imgui_internal:1377",
|
||||
"ImGuiNextWindowData": "imgui_internal:1350",
|
||||
"ImGuiNextWindowDataFlags_": "imgui_internal:1333",
|
||||
"ImGuiOldColumnData": "imgui_internal:1875",
|
||||
"ImGuiOldColumnFlags_": "imgui_internal:1855",
|
||||
"ImGuiOldColumns": "imgui_internal:1885",
|
||||
"ImGuiMultiSelectState": "imgui_internal:1971",
|
||||
"ImGuiMultiSelectTempData": "imgui_internal:1944",
|
||||
"ImGuiNavItemData": "imgui_internal:1791",
|
||||
"ImGuiNavLayer": "imgui_internal:1783",
|
||||
"ImGuiNavMoveFlags_": "imgui_internal:1761",
|
||||
"ImGuiNavRenderCursorFlags_": "imgui_internal:1746",
|
||||
"ImGuiNextItemData": "imgui_internal:1389",
|
||||
"ImGuiNextItemDataFlags_": "imgui_internal:1378",
|
||||
"ImGuiNextWindowData": "imgui_internal:1351",
|
||||
"ImGuiNextWindowDataFlags_": "imgui_internal:1334",
|
||||
"ImGuiOldColumnData": "imgui_internal:1876",
|
||||
"ImGuiOldColumnFlags_": "imgui_internal:1856",
|
||||
"ImGuiOldColumns": "imgui_internal:1886",
|
||||
"ImGuiOnceUponAFrame": "imgui:2757",
|
||||
"ImGuiPackedDate": "imgui_internal:841",
|
||||
"ImGuiPayload": "imgui:2722",
|
||||
"ImGuiPlatformIO": "imgui:4043",
|
||||
"ImGuiPlatformImeData": "imgui:4110",
|
||||
"ImGuiPlotType": "imgui_internal:1181",
|
||||
"ImGuiPopupData": "imgui_internal:1506",
|
||||
"ImGuiPopupData": "imgui_internal:1507",
|
||||
"ImGuiPopupFlags_": "imgui:1359",
|
||||
"ImGuiPopupPositionPolicy": "imgui_internal:1498",
|
||||
"ImGuiPtrOrIndex": "imgui_internal:1475",
|
||||
"ImGuiScrollFlags_": "imgui_internal:1731",
|
||||
"ImGuiPopupPositionPolicy": "imgui_internal:1499",
|
||||
"ImGuiPtrOrIndex": "imgui_internal:1476",
|
||||
"ImGuiScrollFlags_": "imgui_internal:1732",
|
||||
"ImGuiSelectableFlagsPrivate_": "imgui_internal:1101",
|
||||
"ImGuiSelectableFlags_": "imgui:1378",
|
||||
"ImGuiSelectionBasicStorage": "imgui:3145",
|
||||
@@ -5271,41 +5271,41 @@
|
||||
"ImGuiSelectionRequest": "imgui:3119",
|
||||
"ImGuiSelectionRequestType": "imgui:3111",
|
||||
"ImGuiSeparatorFlags_": "imgui_internal:1123",
|
||||
"ImGuiSettingsCleanupArgs": "imgui_internal:2050",
|
||||
"ImGuiSettingsHandler": "imgui_internal:2061",
|
||||
"ImGuiShrinkWidthItem": "imgui_internal:1468",
|
||||
"ImGuiSettingsCleanupArgs": "imgui_internal:2051",
|
||||
"ImGuiSettingsHandler": "imgui_internal:2062",
|
||||
"ImGuiShrinkWidthItem": "imgui_internal:1469",
|
||||
"ImGuiSizeCallbackData": "imgui:2713",
|
||||
"ImGuiSliderFlagsPrivate_": "imgui_internal:1094",
|
||||
"ImGuiSliderFlags_": "imgui:1960",
|
||||
"ImGuiSortDirection": "imgui:1560",
|
||||
"ImGuiStackLevelInfo": "imgui_internal:2190",
|
||||
"ImGuiStackLevelInfo": "imgui_internal:2191",
|
||||
"ImGuiStorage": "imgui:2830",
|
||||
"ImGuiStoragePair": "imgui:2813",
|
||||
"ImGuiStyle": "imgui:2308",
|
||||
"ImGuiStyleMod": "imgui_internal:952",
|
||||
"ImGuiStyleVarInfo": "imgui_internal:936",
|
||||
"ImGuiStyleVar_": "imgui:1837",
|
||||
"ImGuiTabBar": "imgui_internal:2886",
|
||||
"ImGuiTabBarFlagsPrivate_": "imgui_internal:2849",
|
||||
"ImGuiTabBar": "imgui_internal:2887",
|
||||
"ImGuiTabBarFlagsPrivate_": "imgui_internal:2850",
|
||||
"ImGuiTabBarFlags_": "imgui:1411",
|
||||
"ImGuiTabItem": "imgui_internal:2867",
|
||||
"ImGuiTabItemFlagsPrivate_": "imgui_internal:2857",
|
||||
"ImGuiTabItem": "imgui_internal:2868",
|
||||
"ImGuiTabItemFlagsPrivate_": "imgui_internal:2858",
|
||||
"ImGuiTabItemFlags_": "imgui:1435",
|
||||
"ImGuiTable": "imgui_internal:3055",
|
||||
"ImGuiTable": "imgui_internal:3056",
|
||||
"ImGuiTableBgTarget_": "imgui:2162",
|
||||
"ImGuiTableCellData": "imgui_internal:3023",
|
||||
"ImGuiTableColumn": "imgui_internal:2940",
|
||||
"ImGuiTableCellData": "imgui_internal:3024",
|
||||
"ImGuiTableColumn": "imgui_internal:2941",
|
||||
"ImGuiTableColumnFlags_": "imgui:2109",
|
||||
"ImGuiTableColumnSettings": "imgui_internal:3213",
|
||||
"ImGuiTableColumnSettings": "imgui_internal:3214",
|
||||
"ImGuiTableColumnSortSpecs": "imgui:2184",
|
||||
"ImGuiTableFlags_": "imgui:2056",
|
||||
"ImGuiTableHeaderData": "imgui_internal:3032",
|
||||
"ImGuiTableInstanceData": "imgui_internal:3042",
|
||||
"ImGuiTableReconcileColumnData": "imgui_internal:3006",
|
||||
"ImGuiTableHeaderData": "imgui_internal:3033",
|
||||
"ImGuiTableInstanceData": "imgui_internal:3043",
|
||||
"ImGuiTableReconcileColumnData": "imgui_internal:3007",
|
||||
"ImGuiTableRowFlags_": "imgui:2147",
|
||||
"ImGuiTableSettings": "imgui_internal:3239",
|
||||
"ImGuiTableSettings": "imgui_internal:3240",
|
||||
"ImGuiTableSortSpecs": "imgui:2174",
|
||||
"ImGuiTableTempData": "imgui_internal:3184",
|
||||
"ImGuiTableTempData": "imgui_internal:3185",
|
||||
"ImGuiTextBuffer": "imgui:2792",
|
||||
"ImGuiTextFilter": "imgui:2765",
|
||||
"ImGuiTextFlags_": "imgui_internal:1141",
|
||||
@@ -5314,20 +5314,20 @@
|
||||
"ImGuiTooltipFlags_": "imgui_internal:1147",
|
||||
"ImGuiTreeNodeFlagsPrivate_": "imgui_internal:1114",
|
||||
"ImGuiTreeNodeFlags_": "imgui:1320",
|
||||
"ImGuiTreeNodeStackData": "imgui_internal:1429",
|
||||
"ImGuiTypingSelectFlags_": "imgui_internal:1818",
|
||||
"ImGuiTypingSelectRequest": "imgui_internal:1826",
|
||||
"ImGuiTypingSelectState": "imgui_internal:1837",
|
||||
"ImGuiTreeNodeStackData": "imgui_internal:1430",
|
||||
"ImGuiTypingSelectFlags_": "imgui_internal:1819",
|
||||
"ImGuiTypingSelectRequest": "imgui_internal:1827",
|
||||
"ImGuiTypingSelectState": "imgui_internal:1838",
|
||||
"ImGuiViewport": "imgui:4017",
|
||||
"ImGuiViewportFlags_": "imgui:4002",
|
||||
"ImGuiViewportP": "imgui_internal:1998",
|
||||
"ImGuiWindow": "imgui_internal:2714",
|
||||
"ImGuiWindowBgClickFlags_": "imgui_internal:1327",
|
||||
"ImGuiViewportP": "imgui_internal:1999",
|
||||
"ImGuiWindow": "imgui_internal:2715",
|
||||
"ImGuiWindowBgClickFlags_": "imgui_internal:1328",
|
||||
"ImGuiWindowFlags_": "imgui:1171",
|
||||
"ImGuiWindowRefreshFlags_": "imgui_internal:1318",
|
||||
"ImGuiWindowSettings": "imgui_internal:2035",
|
||||
"ImGuiWindowStackData": "imgui_internal:1459",
|
||||
"ImGuiWindowTempData": "imgui_internal:2660",
|
||||
"ImGuiWindowRefreshFlags_": "imgui_internal:1319",
|
||||
"ImGuiWindowSettings": "imgui_internal:2036",
|
||||
"ImGuiWindowStackData": "imgui_internal:1460",
|
||||
"ImGuiWindowTempData": "imgui_internal:2661",
|
||||
"ImRect": "imgui_internal:591",
|
||||
"ImTextureData": "imgui:3564",
|
||||
"ImTextureFormat": "imgui:3532",
|
||||
@@ -5340,7 +5340,11 @@
|
||||
"ImVec2ih": "imgui_internal:581",
|
||||
"ImVec4": "imgui:308",
|
||||
"ImWcharClass": "imgui_internal:452",
|
||||
"stbrp_context_opaque": "imgui_internal:3984"
|
||||
"STB_TexteditState": "imstb_textedit:342",
|
||||
"StbTexteditRow": "imstb_textedit:389",
|
||||
"StbUndoRecord": "imstb_textedit:324",
|
||||
"StbUndoState": "imstb_textedit:333",
|
||||
"stbrp_context_opaque": "imgui_internal:3985"
|
||||
},
|
||||
"nonPOD": {
|
||||
"ImBitArray": true,
|
||||
@@ -12381,6 +12385,136 @@
|
||||
"type": "float"
|
||||
}
|
||||
],
|
||||
"STB_TexteditState": [
|
||||
{
|
||||
"name": "cursor",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "select_start",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "select_end",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "insert_mode",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "row_count_per_page",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "cursor_at_end_of_line",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "initialized",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "has_preferred_x",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "single_line",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "padding1",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "padding2",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "padding3",
|
||||
"type": "unsigned char"
|
||||
},
|
||||
{
|
||||
"name": "preferred_x",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "undostate",
|
||||
"type": "StbUndoState"
|
||||
}
|
||||
],
|
||||
"StbTexteditRow": [
|
||||
{
|
||||
"name": "x0",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "x1",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "baseline_y_delta",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "ymin",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "ymax",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "num_chars",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"StbUndoRecord": [
|
||||
{
|
||||
"name": "where",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "insert_length",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "delete_length",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "char_storage",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"StbUndoState": [
|
||||
{
|
||||
"name": "undo_rec[99]",
|
||||
"size": 99,
|
||||
"type": "StbUndoRecord"
|
||||
},
|
||||
{
|
||||
"name": "undo_char[999]",
|
||||
"size": 999,
|
||||
"type": "char"
|
||||
},
|
||||
{
|
||||
"name": "undo_point",
|
||||
"type": "short"
|
||||
},
|
||||
{
|
||||
"name": "redo_point",
|
||||
"type": "short"
|
||||
},
|
||||
{
|
||||
"name": "undo_char_point",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "redo_char_point",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"stbrp_context_opaque": [
|
||||
{
|
||||
"name": "data[80]",
|
||||
|
||||
@@ -4072,22 +4072,22 @@ local t={
|
||||
ImDrawVert="imgui:3233",
|
||||
ImFont="imgui:3930",
|
||||
ImFontAtlas="imgui:3728",
|
||||
ImFontAtlasBuilder="imgui_internal:3987",
|
||||
ImFontAtlasBuilder="imgui_internal:3988",
|
||||
ImFontAtlasFlags_="imgui:3701",
|
||||
ImFontAtlasPostProcessData="imgui_internal:3960",
|
||||
ImFontAtlasPostProcessData="imgui_internal:3961",
|
||||
ImFontAtlasRect="imgui:3691",
|
||||
ImFontAtlasRectEntry="imgui_internal:3952",
|
||||
ImFontAtlasRectEntry="imgui_internal:3953",
|
||||
ImFontBaked="imgui:3881",
|
||||
ImFontConfig="imgui:3610",
|
||||
ImFontFlags_="imgui:3916",
|
||||
ImFontGlyph="imgui:3653",
|
||||
ImFontGlyphRangesBuilder="imgui:3669",
|
||||
ImFontLoader="imgui_internal:3901",
|
||||
ImFontLoader="imgui_internal:3902",
|
||||
ImFontStackData="imgui_internal:925",
|
||||
ImGuiActivateFlags_="imgui_internal:1718",
|
||||
ImGuiActivateFlags_="imgui_internal:1719",
|
||||
ImGuiAxis="imgui_internal:1174",
|
||||
ImGuiBackendFlags_="imgui:1745",
|
||||
ImGuiBoxSelectState="imgui_internal:1910",
|
||||
ImGuiBoxSelectState="imgui_internal:1911",
|
||||
ImGuiButtonFlagsPrivate_="imgui_internal:1062",
|
||||
ImGuiButtonFlags_="imgui:1888",
|
||||
ImGuiChildFlags_="imgui:1220",
|
||||
@@ -4099,41 +4099,41 @@ local t={
|
||||
ImGuiComboPreviewData="imgui_internal:1188",
|
||||
ImGuiCond_="imgui:2021",
|
||||
ImGuiConfigFlags_="imgui:1726",
|
||||
ImGuiContext="imgui_internal:2249",
|
||||
ImGuiContextHook="imgui_internal:2232",
|
||||
ImGuiContextHookType="imgui_internal:2230",
|
||||
ImGuiContext="imgui_internal:2250",
|
||||
ImGuiContextHook="imgui_internal:2233",
|
||||
ImGuiContextHookType="imgui_internal:2231",
|
||||
ImGuiDataTypeInfo="imgui_internal:971",
|
||||
ImGuiDataTypePrivate_="imgui_internal:980",
|
||||
ImGuiDataTypeStorage="imgui_internal:965",
|
||||
ImGuiDataType_="imgui:1531",
|
||||
ImGuiDeactivatedItemData="imgui_internal:1486",
|
||||
ImGuiDebugAllocEntry="imgui_internal:2153",
|
||||
ImGuiDebugAllocInfo="imgui_internal:2160",
|
||||
ImGuiDebugItemPathQuery="imgui_internal:2201",
|
||||
ImGuiDebugLogFlags_="imgui_internal:2129",
|
||||
ImGuiDeactivatedItemData="imgui_internal:1487",
|
||||
ImGuiDebugAllocEntry="imgui_internal:2154",
|
||||
ImGuiDebugAllocInfo="imgui_internal:2161",
|
||||
ImGuiDebugItemPathQuery="imgui_internal:2202",
|
||||
ImGuiDebugLogFlags_="imgui_internal:2130",
|
||||
ImGuiDir="imgui:1549",
|
||||
ImGuiDragDropFlags_="imgui:1502",
|
||||
ImGuiErrorRecoveryState="imgui_internal:1441",
|
||||
ImGuiErrorRecoveryState="imgui_internal:1442",
|
||||
ImGuiFocusRequestFlags_="imgui_internal:1134",
|
||||
ImGuiFocusScopeData="imgui_internal:1807",
|
||||
ImGuiFocusScopeData="imgui_internal:1808",
|
||||
ImGuiFocusedFlags_="imgui:1450",
|
||||
ImGuiFreeTypeLoaderFlags_="imgui_freetype:29",
|
||||
ImGuiGroupData="imgui_internal:1201",
|
||||
ImGuiHoveredFlagsPrivate_="imgui_internal:1045",
|
||||
ImGuiHoveredFlags_="imgui:1464",
|
||||
ImGuiIDStackTool="imgui_internal:2215",
|
||||
ImGuiIDStackTool="imgui_internal:2216",
|
||||
ImGuiIO="imgui:2429",
|
||||
ImGuiInputEvent="imgui_internal:1579",
|
||||
ImGuiInputEventAppFocused="imgui_internal:1577",
|
||||
ImGuiInputEventKey="imgui_internal:1575",
|
||||
ImGuiInputEventMouseButton="imgui_internal:1574",
|
||||
ImGuiInputEventMousePos="imgui_internal:1572",
|
||||
ImGuiInputEventMouseWheel="imgui_internal:1573",
|
||||
ImGuiInputEventText="imgui_internal:1576",
|
||||
ImGuiInputEventType="imgui_internal:1549",
|
||||
ImGuiInputFlagsPrivate_="imgui_internal:1645",
|
||||
ImGuiInputEvent="imgui_internal:1580",
|
||||
ImGuiInputEventAppFocused="imgui_internal:1578",
|
||||
ImGuiInputEventKey="imgui_internal:1576",
|
||||
ImGuiInputEventMouseButton="imgui_internal:1575",
|
||||
ImGuiInputEventMousePos="imgui_internal:1573",
|
||||
ImGuiInputEventMouseWheel="imgui_internal:1574",
|
||||
ImGuiInputEventText="imgui_internal:1577",
|
||||
ImGuiInputEventType="imgui_internal:1550",
|
||||
ImGuiInputFlagsPrivate_="imgui_internal:1646",
|
||||
ImGuiInputFlags_="imgui:1702",
|
||||
ImGuiInputSource="imgui_internal:1561",
|
||||
ImGuiInputSource="imgui_internal:1562",
|
||||
ImGuiInputTextCallbackData="imgui:2676",
|
||||
ImGuiInputTextDeactivatedState="imgui_internal:1239",
|
||||
ImGuiInputTextFlagsPrivate_="imgui_internal:1053",
|
||||
@@ -4144,49 +4144,49 @@ local t={
|
||||
ImGuiItemStatusFlags_="imgui_internal:1017",
|
||||
ImGuiKey="imgui:1573",
|
||||
ImGuiKeyData="imgui:2421",
|
||||
ImGuiKeyOwnerData="imgui_internal:1632",
|
||||
ImGuiKeyRoutingData="imgui_internal:1606",
|
||||
ImGuiKeyRoutingTable="imgui_internal:1620",
|
||||
ImGuiLastItemData="imgui_internal:1410",
|
||||
ImGuiKeyOwnerData="imgui_internal:1633",
|
||||
ImGuiKeyRoutingData="imgui_internal:1607",
|
||||
ImGuiKeyRoutingTable="imgui_internal:1621",
|
||||
ImGuiLastItemData="imgui_internal:1411",
|
||||
ImGuiLayoutType_="imgui_internal:1155",
|
||||
ImGuiListClipper="imgui:2894",
|
||||
ImGuiListClipperData="imgui_internal:1702",
|
||||
ImGuiListClipperData="imgui_internal:1703",
|
||||
ImGuiListClipperFlags_="imgui:2868",
|
||||
ImGuiListClipperRange="imgui_internal:1689",
|
||||
ImGuiLocEntry="imgui_internal:2100",
|
||||
ImGuiLocKey="imgui_internal:2082",
|
||||
ImGuiListClipperRange="imgui_internal:1690",
|
||||
ImGuiLocEntry="imgui_internal:2101",
|
||||
ImGuiLocKey="imgui_internal:2083",
|
||||
ImGuiLogFlags_="imgui_internal:1162",
|
||||
ImGuiMenuColumns="imgui_internal:1220",
|
||||
ImGuiMetricsConfig="imgui_internal:2170",
|
||||
ImGuiMetricsConfig="imgui_internal:2171",
|
||||
ImGuiMouseButton_="imgui:1979",
|
||||
ImGuiMouseCursor_="imgui:1989",
|
||||
ImGuiMouseSource="imgui:2010",
|
||||
ImGuiMultiSelectFlags_="imgui:3063",
|
||||
ImGuiMultiSelectIO="imgui:3099",
|
||||
ImGuiMultiSelectState="imgui_internal:1970",
|
||||
ImGuiMultiSelectTempData="imgui_internal:1943",
|
||||
ImGuiNavItemData="imgui_internal:1790",
|
||||
ImGuiNavLayer="imgui_internal:1782",
|
||||
ImGuiNavMoveFlags_="imgui_internal:1760",
|
||||
ImGuiNavRenderCursorFlags_="imgui_internal:1745",
|
||||
ImGuiNextItemData="imgui_internal:1388",
|
||||
ImGuiNextItemDataFlags_="imgui_internal:1377",
|
||||
ImGuiNextWindowData="imgui_internal:1350",
|
||||
ImGuiNextWindowDataFlags_="imgui_internal:1333",
|
||||
ImGuiOldColumnData="imgui_internal:1875",
|
||||
ImGuiOldColumnFlags_="imgui_internal:1855",
|
||||
ImGuiOldColumns="imgui_internal:1885",
|
||||
ImGuiMultiSelectState="imgui_internal:1971",
|
||||
ImGuiMultiSelectTempData="imgui_internal:1944",
|
||||
ImGuiNavItemData="imgui_internal:1791",
|
||||
ImGuiNavLayer="imgui_internal:1783",
|
||||
ImGuiNavMoveFlags_="imgui_internal:1761",
|
||||
ImGuiNavRenderCursorFlags_="imgui_internal:1746",
|
||||
ImGuiNextItemData="imgui_internal:1389",
|
||||
ImGuiNextItemDataFlags_="imgui_internal:1378",
|
||||
ImGuiNextWindowData="imgui_internal:1351",
|
||||
ImGuiNextWindowDataFlags_="imgui_internal:1334",
|
||||
ImGuiOldColumnData="imgui_internal:1876",
|
||||
ImGuiOldColumnFlags_="imgui_internal:1856",
|
||||
ImGuiOldColumns="imgui_internal:1886",
|
||||
ImGuiOnceUponAFrame="imgui:2757",
|
||||
ImGuiPackedDate="imgui_internal:841",
|
||||
ImGuiPayload="imgui:2722",
|
||||
ImGuiPlatformIO="imgui:4043",
|
||||
ImGuiPlatformImeData="imgui:4110",
|
||||
ImGuiPlotType="imgui_internal:1181",
|
||||
ImGuiPopupData="imgui_internal:1506",
|
||||
ImGuiPopupData="imgui_internal:1507",
|
||||
ImGuiPopupFlags_="imgui:1359",
|
||||
ImGuiPopupPositionPolicy="imgui_internal:1498",
|
||||
ImGuiPtrOrIndex="imgui_internal:1475",
|
||||
ImGuiScrollFlags_="imgui_internal:1731",
|
||||
ImGuiPopupPositionPolicy="imgui_internal:1499",
|
||||
ImGuiPtrOrIndex="imgui_internal:1476",
|
||||
ImGuiScrollFlags_="imgui_internal:1732",
|
||||
ImGuiSelectableFlagsPrivate_="imgui_internal:1101",
|
||||
ImGuiSelectableFlags_="imgui:1378",
|
||||
ImGuiSelectionBasicStorage="imgui:3145",
|
||||
@@ -4194,41 +4194,41 @@ local t={
|
||||
ImGuiSelectionRequest="imgui:3119",
|
||||
ImGuiSelectionRequestType="imgui:3111",
|
||||
ImGuiSeparatorFlags_="imgui_internal:1123",
|
||||
ImGuiSettingsCleanupArgs="imgui_internal:2050",
|
||||
ImGuiSettingsHandler="imgui_internal:2061",
|
||||
ImGuiShrinkWidthItem="imgui_internal:1468",
|
||||
ImGuiSettingsCleanupArgs="imgui_internal:2051",
|
||||
ImGuiSettingsHandler="imgui_internal:2062",
|
||||
ImGuiShrinkWidthItem="imgui_internal:1469",
|
||||
ImGuiSizeCallbackData="imgui:2713",
|
||||
ImGuiSliderFlagsPrivate_="imgui_internal:1094",
|
||||
ImGuiSliderFlags_="imgui:1960",
|
||||
ImGuiSortDirection="imgui:1560",
|
||||
ImGuiStackLevelInfo="imgui_internal:2190",
|
||||
ImGuiStackLevelInfo="imgui_internal:2191",
|
||||
ImGuiStorage="imgui:2830",
|
||||
ImGuiStoragePair="imgui:2813",
|
||||
ImGuiStyle="imgui:2308",
|
||||
ImGuiStyleMod="imgui_internal:952",
|
||||
ImGuiStyleVarInfo="imgui_internal:936",
|
||||
ImGuiStyleVar_="imgui:1837",
|
||||
ImGuiTabBar="imgui_internal:2886",
|
||||
ImGuiTabBarFlagsPrivate_="imgui_internal:2849",
|
||||
ImGuiTabBar="imgui_internal:2887",
|
||||
ImGuiTabBarFlagsPrivate_="imgui_internal:2850",
|
||||
ImGuiTabBarFlags_="imgui:1411",
|
||||
ImGuiTabItem="imgui_internal:2867",
|
||||
ImGuiTabItemFlagsPrivate_="imgui_internal:2857",
|
||||
ImGuiTabItem="imgui_internal:2868",
|
||||
ImGuiTabItemFlagsPrivate_="imgui_internal:2858",
|
||||
ImGuiTabItemFlags_="imgui:1435",
|
||||
ImGuiTable="imgui_internal:3055",
|
||||
ImGuiTable="imgui_internal:3056",
|
||||
ImGuiTableBgTarget_="imgui:2162",
|
||||
ImGuiTableCellData="imgui_internal:3023",
|
||||
ImGuiTableColumn="imgui_internal:2940",
|
||||
ImGuiTableCellData="imgui_internal:3024",
|
||||
ImGuiTableColumn="imgui_internal:2941",
|
||||
ImGuiTableColumnFlags_="imgui:2109",
|
||||
ImGuiTableColumnSettings="imgui_internal:3213",
|
||||
ImGuiTableColumnSettings="imgui_internal:3214",
|
||||
ImGuiTableColumnSortSpecs="imgui:2184",
|
||||
ImGuiTableFlags_="imgui:2056",
|
||||
ImGuiTableHeaderData="imgui_internal:3032",
|
||||
ImGuiTableInstanceData="imgui_internal:3042",
|
||||
ImGuiTableReconcileColumnData="imgui_internal:3006",
|
||||
ImGuiTableHeaderData="imgui_internal:3033",
|
||||
ImGuiTableInstanceData="imgui_internal:3043",
|
||||
ImGuiTableReconcileColumnData="imgui_internal:3007",
|
||||
ImGuiTableRowFlags_="imgui:2147",
|
||||
ImGuiTableSettings="imgui_internal:3239",
|
||||
ImGuiTableSettings="imgui_internal:3240",
|
||||
ImGuiTableSortSpecs="imgui:2174",
|
||||
ImGuiTableTempData="imgui_internal:3184",
|
||||
ImGuiTableTempData="imgui_internal:3185",
|
||||
ImGuiTextBuffer="imgui:2792",
|
||||
ImGuiTextFilter="imgui:2765",
|
||||
ImGuiTextFlags_="imgui_internal:1141",
|
||||
@@ -4237,20 +4237,20 @@ local t={
|
||||
ImGuiTooltipFlags_="imgui_internal:1147",
|
||||
ImGuiTreeNodeFlagsPrivate_="imgui_internal:1114",
|
||||
ImGuiTreeNodeFlags_="imgui:1320",
|
||||
ImGuiTreeNodeStackData="imgui_internal:1429",
|
||||
ImGuiTypingSelectFlags_="imgui_internal:1818",
|
||||
ImGuiTypingSelectRequest="imgui_internal:1826",
|
||||
ImGuiTypingSelectState="imgui_internal:1837",
|
||||
ImGuiTreeNodeStackData="imgui_internal:1430",
|
||||
ImGuiTypingSelectFlags_="imgui_internal:1819",
|
||||
ImGuiTypingSelectRequest="imgui_internal:1827",
|
||||
ImGuiTypingSelectState="imgui_internal:1838",
|
||||
ImGuiViewport="imgui:4017",
|
||||
ImGuiViewportFlags_="imgui:4002",
|
||||
ImGuiViewportP="imgui_internal:1998",
|
||||
ImGuiWindow="imgui_internal:2714",
|
||||
ImGuiWindowBgClickFlags_="imgui_internal:1327",
|
||||
ImGuiViewportP="imgui_internal:1999",
|
||||
ImGuiWindow="imgui_internal:2715",
|
||||
ImGuiWindowBgClickFlags_="imgui_internal:1328",
|
||||
ImGuiWindowFlags_="imgui:1171",
|
||||
ImGuiWindowRefreshFlags_="imgui_internal:1318",
|
||||
ImGuiWindowSettings="imgui_internal:2035",
|
||||
ImGuiWindowStackData="imgui_internal:1459",
|
||||
ImGuiWindowTempData="imgui_internal:2660",
|
||||
ImGuiWindowRefreshFlags_="imgui_internal:1319",
|
||||
ImGuiWindowSettings="imgui_internal:2036",
|
||||
ImGuiWindowStackData="imgui_internal:1460",
|
||||
ImGuiWindowTempData="imgui_internal:2661",
|
||||
ImRect="imgui_internal:591",
|
||||
ImTextureData="imgui:3564",
|
||||
ImTextureFormat="imgui:3532",
|
||||
@@ -4263,7 +4263,11 @@ local t={
|
||||
ImVec2ih="imgui_internal:581",
|
||||
ImVec4="imgui:308",
|
||||
ImWcharClass="imgui_internal:452",
|
||||
stbrp_context_opaque="imgui_internal:3984"},
|
||||
STB_TexteditState="imstb_textedit:342",
|
||||
StbTexteditRow="imstb_textedit:389",
|
||||
StbUndoRecord="imstb_textedit:324",
|
||||
StbUndoState="imstb_textedit:333",
|
||||
stbrp_context_opaque="imgui_internal:3985"},
|
||||
nonPOD={
|
||||
ImBitArray=true,
|
||||
ImColor=true,
|
||||
@@ -9551,6 +9555,102 @@ local t={
|
||||
[4]={
|
||||
name="w",
|
||||
type="float"}},
|
||||
STB_TexteditState={
|
||||
[1]={
|
||||
name="cursor",
|
||||
type="int"},
|
||||
[2]={
|
||||
name="select_start",
|
||||
type="int"},
|
||||
[3]={
|
||||
name="select_end",
|
||||
type="int"},
|
||||
[4]={
|
||||
name="insert_mode",
|
||||
type="unsigned char"},
|
||||
[5]={
|
||||
name="row_count_per_page",
|
||||
type="int"},
|
||||
[6]={
|
||||
name="cursor_at_end_of_line",
|
||||
type="unsigned char"},
|
||||
[7]={
|
||||
name="initialized",
|
||||
type="unsigned char"},
|
||||
[8]={
|
||||
name="has_preferred_x",
|
||||
type="unsigned char"},
|
||||
[9]={
|
||||
name="single_line",
|
||||
type="unsigned char"},
|
||||
[10]={
|
||||
name="padding1",
|
||||
type="unsigned char"},
|
||||
[11]={
|
||||
name="padding2",
|
||||
type="unsigned char"},
|
||||
[12]={
|
||||
name="padding3",
|
||||
type="unsigned char"},
|
||||
[13]={
|
||||
name="preferred_x",
|
||||
type="float"},
|
||||
[14]={
|
||||
name="undostate",
|
||||
type="StbUndoState"}},
|
||||
StbTexteditRow={
|
||||
[1]={
|
||||
name="x0",
|
||||
type="float"},
|
||||
[2]={
|
||||
name="x1",
|
||||
type="float"},
|
||||
[3]={
|
||||
name="baseline_y_delta",
|
||||
type="float"},
|
||||
[4]={
|
||||
name="ymin",
|
||||
type="float"},
|
||||
[5]={
|
||||
name="ymax",
|
||||
type="float"},
|
||||
[6]={
|
||||
name="num_chars",
|
||||
type="int"}},
|
||||
StbUndoRecord={
|
||||
[1]={
|
||||
name="where",
|
||||
type="int"},
|
||||
[2]={
|
||||
name="insert_length",
|
||||
type="int"},
|
||||
[3]={
|
||||
name="delete_length",
|
||||
type="int"},
|
||||
[4]={
|
||||
name="char_storage",
|
||||
type="int"}},
|
||||
StbUndoState={
|
||||
[1]={
|
||||
name="undo_rec[99]",
|
||||
size=99,
|
||||
type="StbUndoRecord"},
|
||||
[2]={
|
||||
name="undo_char[999]",
|
||||
size=999,
|
||||
type="char"},
|
||||
[3]={
|
||||
name="undo_point",
|
||||
type="short"},
|
||||
[4]={
|
||||
name="redo_point",
|
||||
type="short"},
|
||||
[5]={
|
||||
name="undo_char_point",
|
||||
type="int"},
|
||||
[6]={
|
||||
name="redo_char_point",
|
||||
type="int"}},
|
||||
stbrp_context_opaque={
|
||||
[1]={
|
||||
name="data[80]",
|
||||
|
||||
@@ -214,6 +214,9 @@
|
||||
"ImWchar16": "unsigned short",
|
||||
"ImWchar32": "unsigned int",
|
||||
"STB_TexteditState": "struct STB_TexteditState",
|
||||
"StbTexteditRow": "struct StbTexteditRow",
|
||||
"StbUndoRecord": "struct StbUndoRecord",
|
||||
"StbUndoState": "struct StbUndoState",
|
||||
"stbrp_context_opaque": "struct stbrp_context_opaque",
|
||||
"stbrp_node": "struct stbrp_node",
|
||||
"stbrp_node_im": "stbrp_node"
|
||||
|
||||
@@ -214,6 +214,9 @@ local t={
|
||||
ImWchar16="unsigned short",
|
||||
ImWchar32="unsigned int",
|
||||
STB_TexteditState="struct STB_TexteditState",
|
||||
StbTexteditRow="struct StbTexteditRow",
|
||||
StbUndoRecord="struct StbUndoRecord",
|
||||
StbUndoState="struct StbUndoState",
|
||||
stbrp_context_opaque="struct stbrp_context_opaque",
|
||||
stbrp_node="struct stbrp_node",
|
||||
stbrp_node_im="stbrp_node"}
|
||||
|
||||
2
imgui
2
imgui
Submodule imgui updated: a9e7a8c880...f1cc2ae15e
Reference in New Issue
Block a user