Compare commits

...

84 Commits
1.80 ... 1.87

Author SHA1 Message Date
sonoro1234
bd5a043957 pull imgui 1.87 and generate 2022-02-07 19:07:25 +01:00
sonoro1234
88e0bc9a9a Merge branch 'docking_inter' 2022-01-31 19:14:58 +01:00
sonoro1234
1afd93dd45 generation of 1.86dock with new generator 2022-01-31 17:59:15 +01:00
sonoro1234
dac713c763 generator: use gen_template_typedef_auto 2022-01-31 17:56:42 +01:00
sonoro1234
938f8ccf87 cpp2ffi: function_re changed to allow __attribute__ after function declaration, save and load cimgui_inherited, save preprocessed.h 2022-01-31 17:56:42 +01:00
sonoro1234
e6705a8522 cpp2ffi: add gen_template_typedef_auto so that user does not need to provide function 2022-01-31 17:56:42 +01:00
sonoro1234
fdc9511bd7 cpp2ffi: simplify gen_template_typedef 2022-01-31 17:56:42 +01:00
sonoro1234
fe4dff78bd cpp2ffi: clean_spaces: no spaces around >> operator 2022-01-31 17:56:42 +01:00
sonoro1234
07ceedf37b cpp2ffi: save templated structs 2022-01-31 17:56:42 +01:00
sonoro1234
0be2b20a16 cpp2ffi: check_template: dont add space between template and * 2022-01-29 16:14:28 +01:00
sonoro1234
b5f5a03851 newtypedefs generation3 2022-01-29 12:50:01 +01:00
sonoro1234
a51a8f7a86 newtypedefs generation2 2022-01-29 12:50:01 +01:00
sonoro1234
de25c00ddd generator and cpp2ffi: new typedefs generation 2022-01-29 12:50:01 +01:00
sonoro1234
678887ee99 cpp2ffi: parse_enum_value add - operator, when not loca take parent location, templates take full template string 2022-01-26 13:08:10 +01:00
sonoro1234
b0cfee6183 backend_test: no need for gl3w initialization (done by imgui opengl3 impl) 2022-01-15 20:08:58 +01:00
sonoro1234
d0bcf4551b backend_test: no need for gl3w initialization (done by imgui opengl3 impl) 2022-01-15 20:06:15 +01:00
Victor Bombi
49d45008e0 pull imgui 1.86docking and generate 2021-12-29 12:27:34 +01:00
Victor Bombi
ad929978e9 Merge pull request #192 from GrimMaple/master
Add SDL2 fallback in backend_test\CMakeLists.txt
2021-12-27 09:48:31 +01:00
Victor Bombi
b949d47c8b Merge branch 'docking_inter' 2021-12-27 09:41:02 +01:00
Victor Bombi
d359d907af generator: add IMGUI_ENABLE_FREETYPE on freetype generation 2021-12-27 09:36:31 +01:00
Grim Maple
52bbaf1117 Remove IMGUI_SDL_LIBRARY 2021-12-26 20:06:20 +03:00
Grim Maple
d5f713caa1 Add SDL2 fallback in backend_test\CMakeLists.txt
If SDL was installed using CMake, it normally goes to a location
Where it can be found by `find_package`. There is no need to force
`SDL_PATH` on users, and this commit allows building `backend_test`
Without having to specify it. Backwards compatible.
2021-12-25 22:35:30 +03:00
Victor Bombi
afce852875 Merge branch 'docking_inter' 2021-12-24 11:54:12 +01:00
Victor Bombi
a21aa1d613 pull imgui 1.86 and generate 2021-12-24 11:34:47 +01:00
Victor Bombi
e938d7e0f5 Merge branch 'docking_inter' 2021-12-06 19:41:17 +01:00
Victor Bombi
ff3bb81b34 cpp2ffi: allow __cdecl keyword in functype 2021-12-06 19:38:53 +01:00
Victor Bombi
05d7db048c Merge branch 'docking_inter' 2021-10-18 19:17:22 +02:00
Victor Bombi
ae00a9b604 pull imgui docking 1.85 and generate 2021-10-18 18:14:44 +02:00
Victor Bombi
b679737444 Merge branch 'docking_inter' 2021-09-13 11:43:10 +02:00
Victor Bombi
d9916720aa generation 2021-09-13 11:39:44 +02:00
Victor Bombi
66e28665da cpp2ffi: add struct keyword (needed when struct tag name equals member name) 2021-09-13 11:39:14 +02:00
N/A
9768b42785 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-10 11:10:15 +02:00
N/A
ec64ca94cc Disable unnecessary pragmas that break generator with the cl compiler 2021-09-10 11:10:15 +02:00
N/A
e1ccdc1764 Implement defines extraction with cl compiler 2021-09-10 11:10:15 +02:00
Victor Bombi
00946c45e4 Merge pull request #190 from THE-FYP/fix-cl
Fix generation with MSVC
2021-09-10 11:05:41 +02:00
N/A
9ac28a2d94 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-09 23:01:57 +03:00
N/A
d0e4aaa2c0 Disable unnecessary pragmas that break generator with the cl compiler 2021-09-09 22:55:55 +03:00
N/A
7362cca7ec Implement defines extraction with cl compiler 2021-09-09 22:49:28 +03:00
Victor Bombi
17ffa736d3 backend_test: use custom imgui gl3w 2021-08-22 13:50:21 +02:00
Victor Bombi
873c03c367 backend_test: use custom imgui gl3w 2021-08-22 13:48:02 +02:00
Victor Bombi
f16cdc74aa really pull imgui 2021-08-22 12:12:46 +02:00
Victor Bombi
27c328b506 pull imgui 1.84.1 and generate 2021-08-22 12:12:19 +02:00
Victor Bombi
42873df6e3 pull imgui docking 1.84.1 and generate 2021-08-22 12:07:03 +02:00
Victor Bombi
6a98f4bbed Merge branch 'docking_inter' 2021-04-07 16:48:35 +02:00
Victor Bombi
76d3b9f8b6 cpp2ffi: correct defaults for const char* version of ImStrv 2021-04-07 16:46:22 +02:00
Victor Bombi
9945968ac5 test: add igDebugCheckVersionAndDataLayout_Str 2021-04-07 16:46:22 +02:00
Victor Bombi
a6b16c6da5 Merge branch 'docking_inter' 2021-04-06 18:16:55 +02:00
Victor Bombi
6c5d782738 generation after underscore postfix 2021-04-06 18:01:41 +02:00
Victor Bombi
67dd6be572 tests: changes for overloads underscore postfix 2021-04-06 17:25:04 +02:00
Victor Bombi
39f9aba460 cpp2ffi: undercore before overloads postfix 2021-04-06 17:25:04 +02:00
Victor Bombi
e7ca10279a tests prepared for ImStrv 2021-04-06 17:25:04 +02:00
Victor Bombi
b918627f0b cpp2ffi: ADDIMSTR_S is called before name_overloadsAlgo 2021-04-06 17:25:04 +02:00
Victor Bombi
ea9720b412 Merge branch 'docking_inter' 2021-03-21 12:17:59 +01:00
Victor Bombi
01d3d13846 cimgui_template.h: drop sprintf_s on windows #185 2021-03-21 12:15:11 +01:00
Victor Bombi
2951194915 Merge branch 'docking_inter' 2021-03-21 09:48:38 +01:00
Victor Bombi
ab7578ed1f feature request #169: allowing to set IMGUI_PATH as an environment variable (defaults to ../imgui) 2021-03-21 09:47:15 +01:00
Victor Bombi
83f729b093 pull imgui master 1.82 2021-03-16 13:05:20 +01:00
Victor Bombi
34a48996e6 Merge branch 'docking_inter'
# Conflicts:
#	cimgui.cpp
#	cimgui.h
#	generator/output/definitions.json
#	generator/output/definitions.lua
#	generator/output/structs_and_enums.json
#	generator/output/structs_and_enums.lua
#	imgui
2021-03-16 13:00:24 +01:00
Victor Bombi
ccdae842e4 pull imgui docking 1.82 and generate 2021-03-16 12:45:48 +01:00
Victor Bombi
c401f71eea Merge branch 'docking_inter' 2021-03-04 13:33:42 +01:00
Victor Bombi
c22606a7f0 test and backend_test/main.c changes for compiling with ImStrv 2021-03-04 13:30:37 +01:00
Victor Bombi
6552b43aae cpp2ffi: ImStr -> ImStrv 2021-03-04 13:30:37 +01:00
Victor Bombi
3d4277be4d CMakeLists: win32 add imm32 library 2021-03-04 13:30:37 +01:00
Victor Bombi
1ffc9e53c5 Merge branch 'docking_inter' 2021-03-04 12:46:16 +01:00
Victor Bombi
13aac22a35 cpp2ffi: allow function typedefs (not only function pointer typedefs) 2021-03-04 12:44:49 +01:00
Victor Bombi
ceda975a5b Merge branch 'docking_inter' 2021-03-01 20:19:21 +01:00
Victor Bombi
aa0baa777c Makefile: add imgui_tables.cpp 2021-03-01 20:16:56 +01:00
Victor Bombi
25aa25bd83 Merge branch 'docking_inter' 2021-02-11 14:58:25 +01:00
Victor Bombi
41b397020a readme update 2021-02-11 14:50:09 +01:00
Victor Bombi
c1890d4c00 pull imgui docking 1.81 2021-02-11 10:32:01 +01:00
Victor Bombi
7756c4f53f pull imgui docking 1.81 and generate 2021-02-11 10:31:31 +01:00
Victor Bombi
ba9ec30e64 Merge branch 'docking_inter' 2021-02-05 18:12:21 +01:00
Victor Bombi
2638737f2c cpp2ffi: parse_enum_value drop outer () (ImGuizmo needed it) 2021-02-05 18:04:22 +01:00
Victor Bombi
6aa3f1decd cpp2ffi: const char* versions of ImStr take now a postfix _Strv 2021-02-05 16:06:10 +01:00
Victor Bombi
bc708a092d cpp2ffi: char* -> Str, ImStr -> STR for backward compability 2021-02-05 16:06:10 +01:00
Victor Bombi
9ac7cd93e1 test, backend_test adapt to new naming 2021-02-05 16:06:10 +01:00
Victor Bombi
2838c0317a cpp2ffi: changes for name prefixing the const char* versions of ImStr 2021-02-05 16:06:09 +01:00
Victor Bombi
c57efd953f cpp2ffi: dont expect const ImStr 2021-02-05 16:06:09 +01:00
Victor Bombi
a48009b062 test and backend_test modifications for IMGUI_HAS_IMSTR 2021-02-05 16:06:09 +01:00
Victor Bombi
383ebf3a7a cpp2ffi: ADDiMSTR_S before overload naming and copy defaults, overload_Algo improvement 2021-02-05 16:06:09 +01:00
Victor Bombi
afdbb6b799 test and backend_test prepared for IMGUI_HAS_IMSTR 2021-02-05 16:06:09 +01:00
Victor Bombi
a64de2e303 cpp2ffi: add ADDIMSTR_S function for making const char* versions of ImStr arguments 2021-02-05 16:06:09 +01:00
Victor Bombi
a9928295db generator: keep IMGUI_HAS_IMSTR definition 2021-02-05 16:06:09 +01:00
Victor Bombi
ce239ed53f cpp2ffi: overload naming char* -> Chpt (was Str) avoids clash with ImStr - > Str 2021-02-05 16:06:09 +01:00
26 changed files with 16355 additions and 7487 deletions

View File

@@ -40,6 +40,7 @@ endif (IMGUI_STATIC)
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\))
list(APPEND IMGUI_LIBRARIES imm32)
else (WIN32)
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
endif (WIN32)

View File

@@ -6,6 +6,7 @@ OBJS = cimgui.o
OBJS += ./imgui/imgui.o
OBJS += ./imgui/imgui_draw.o
OBJS += ./imgui/imgui_demo.o
OBJS += ./imgui/imgui_tables.o
OBJS += ./imgui/imgui_widgets.o
CXXFLAGS=-O2 -fno-exceptions -fno-rtti

View File

@@ -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.80 of Dear ImGui with internal api]
* currently this wrapper is based on version [1.87 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.
@@ -24,10 +24,10 @@ 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)
* 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)
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
For compiling with backends there is now an example with SDL2 and opengl3 in folder backend_test. It will generate a cimgui_sdl module and a test_sdl executable. You only need to provide SDL_PATH telling cmake where to look for SDL2 cmake installation.
For compiling with backends there is now an example with SDL2 and opengl3 in folder backend_test. It will generate a cimgui_sdl module and a test_sdl executable.
# using generator

View File

@@ -52,8 +52,7 @@ if(IMGUI_FREETYPE)
endif(IMGUI_FREETYPE)
#opengl3
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp ../imgui/examples/libs/gl3w/GL/gl3w.c)
list(APPEND IMGUI_SOURCES ./cimgui_extras.cpp)
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
include_directories(../imgui/examples/libs/gl3w)
if(WIN32)
list(APPEND IMGUI_LIBRARIES opengl32)
@@ -66,7 +65,13 @@ endif(WIN32)
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl.cpp)
if(DEFINED SDL_PATH)
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
FIND_PACKAGE(SDL2 REQUIRED PATHS ${SDL_PATH})
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
else(DEFINED SDL_PATH)
# If SDL_PATH is not set, fallback and attempt to find SDL cmake script at a default location
find_package(SDL2)
endif(DEFINED SDL_PATH)
if(SDL2_FOUND)
get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "sdlinclude is " ${SDL_INCLUDE})
if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
@@ -80,10 +85,13 @@ if(DEFINED SDL_PATH)
set(SDL_MAIN SDL2::SDL2main)
message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
endif()
else(DEFINED SDL_PATH)
message(STATUS "SDL_PATH not defined")
set(IMGUI_SDL_LIBRARY SDL2)
endif(DEFINED SDL_PATH)
else(SDL2_FOUND)
if(DEFINED SDL_PATH)
message(FATAL_ERROR "Cannot find SDL at SDL_PATH")
else(DEFINED SDL_PATH)
message(FATAL_ERROR "Cannot find SDL. Maybe try specifying SDL_PATH?")
endif(DEFINED SDL_PATH)
endif(SDL2_FOUND)
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})

View File

@@ -1,11 +0,0 @@
#include "../imgui/imgui.h"
// GL3W/GLFW
#include <GL/gl3w.h> // This example is using gl3w to access OpenGL functions (because it is small). You may use glew/glad/glLoadGen/etc. whatever already works for you.
//making it accesible for luajit
#ifdef _WIN32
extern "C" __declspec( dllexport ) int Do_gl3wInit(void){ return gl3wInit();};
#else
extern "C" int Do_gl3wInit(void){ return gl3wInit();};
#endif

View File

@@ -1,8 +0,0 @@
//making it accesible for main
#ifdef _WIN32
__declspec( dllexport ) int Do_gl3wInit(void);
#else
int Do_gl3wInit(void);
#endif

View File

@@ -1,6 +1,5 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h"
#include "cimgui_extras.h"
#include "cimgui_impl.h"
#include <stdio.h>
#define SDL_MAIN_HANDLED
@@ -11,7 +10,13 @@
#include <GL/gl.h>
#include <GL/glu.h>
#ifdef IMGUI_HAS_IMSTR
#define igBegin igBegin_Str
#define igSliderFloat igSliderFloat_Str
#define igCheckbox igCheckbox_Str
#define igColorEdit3 igColorEdit3_Str
#define igButton igButton_Str
#endif
SDL_Window *window = NULL;
@@ -60,13 +65,6 @@ int main(int argc, char* argv[])
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
SDL_GL_SetSwapInterval(1); // enable vsync
// Initialize OpenGL loader for cimgui_sdl
bool err = Do_gl3wInit() != 0;
if (err)
{
SDL_Log("Failed to initialize OpenGL loader for cimgui_sdl!");
return 1;
}
// check opengl version sdl uses
SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION));

1042
cimgui.cpp

File diff suppressed because it is too large Load Diff

1723
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,14 @@
#include "./imgui/imgui.h"
#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"
#endif
#include "./imgui/imgui_internal.h"

View File

@@ -8,9 +8,6 @@
#else
#define API __declspec(dllexport)
#endif
#ifndef __GNUC__
#define snprintf sprintf_s
#endif
#else
#ifdef __GNUC__
#define API __attribute__((__visibility__("default")))

View File

@@ -139,6 +139,7 @@ local function clean_spaces(cad)
cad = strip(cad)
cad = cad:gsub("%s+"," ") --not more than one space
cad = cad:gsub("%s*([%(%),=:%+])%s*","%1") --not spaces with ( , ) or ( = ) or ( : ) or +
cad = cad:gsub("%s*(>>)%s*","%1")
--name [] to name[]
cad = cad:gsub("(%S)%s(%[)","%1%2")
--clean %d * %d (could be done above but type*name should be treated different in other places)
@@ -147,6 +148,22 @@ local function clean_spaces(cad)
end
------------------------------------
local function check_template(code)
local ttype,template = code:match("([^%s,%(%)]+)%s*<(.-)>")
local code2,te
if template then
te = template:gsub("%s*,%s*",",")
te = te:gsub(",","__")
te = te:gsub("%-","less")
te = te:gsub("%s","_")
te = te:gsub("%*","Ptr")
code2 = code:gsub("(<[%w_%*%s]+>)([^%s%*])","%1 %2")
code2 = code2:gsub("<([^<>]-)>","_"..te)
end
return ttype,template,te,code2
end
----------------------------------------
local function parse_enum_value(value, allenums,dontpost)
local function clean(val)
if type(val)=="string" then
@@ -159,21 +176,25 @@ local function parse_enum_value(value, allenums,dontpost)
if type(value)=="number" then
return value
elseif type(value)=="string" then
--print(value)
--numbers
local numval = tonumber(value)
if numval then return numval end
--already in allenums
if allenums[clean(value)] then return allenums[clean(value)] end
--must be several and operators
--precedence order (hope not ())
assert(not value:match("[%(%)]"))
local several,seps = strsplit(value,"([<>&|~%+]+)")
------------precedence order (hope not ())
--first drop outer ()
value = value:gsub("^(%()",""):gsub("(%))$","")
assert(not value:match("[%(%)]"),value)
local several,seps = strsplit(value,"([<>&|~%+%-]+)")
--M.prtable(value,several,seps)
assert(#seps+1==#several)
local i = 1
local ik = 1
local sepk = {"~","<<",">>","&","^","|","+"}
local sepk = {"~","<<",">>","&","^","|","+","-"}
while(#seps>0) do
local sep = sepk[ik]
local v = seps[i]
@@ -182,6 +203,9 @@ local function parse_enum_value(value, allenums,dontpost)
local val2 = clean(several[i+1])
if allenums[val1] then val1 = allenums[val1] end
if allenums[val2] then val2 = allenums[val2] end
--clean 1u
if type(val1)=="string" then val1 = val1:gsub("(%d)(u)$","%1") end
if type(val2)=="string" then val2 = val2:gsub("(%d)(u)$","%1") end
--for getting numbers from "1ULL"
if type(val1)=="string" then val1 = loadstring("return "..val1)() end
if type(val2)=="string" then val2 = loadstring("return "..val2)() end
@@ -200,6 +224,8 @@ local function parse_enum_value(value, allenums,dontpost)
several[i] = bit.bor(val1,val2)
elseif v=="+" then
several[i] = val1 + val2
elseif v=="-" then
several[i] = val1 - val2
else
error("unknown operator "..v)
end
@@ -217,7 +243,7 @@ local function parse_enum_value(value, allenums,dontpost)
end
if #seps>0 or type(several[1])~="number" and not dontpost then
--M.prtable("enline",enline)
print("parse_enum_value WARNING",value,several[1])
print("parse_enum_value WARNING:",value,several[1])
--M.prtable(several,seps)
--M.prtable("allenums",allenums)
end
@@ -272,6 +298,7 @@ local function getRE()
local res = {
function_re = "^([^;{}]+%b()[\n%s]*;)%s*",
function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end
function_re = "^([^;{}=]+%b()[\n%s%w%(%)_]*;)", --attribute(deprecated)
struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)",
enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)",
union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)",
@@ -281,7 +308,7 @@ local function getRE()
typedef_re = "^\n*%s*(typedef[^;]+;)",
typedef_st_re = "^\n*(typedef%s+struct%s*%b{}.-;)",
functypedef_re = "^\n*%s*(typedef[%w%s%*_]+%(%s*%*%s*[%w_]+%s*%)%s*%b()%s*;)",
functypedef_re = "^\n*%s*(typedef[%w%s%*_]+%([^*]*%*%s*[%w_]+%s*%)%s*%b()%s*;)",
functypedef_re = "^\n*%s*(typedef[%w%s%*_]+%([^*]*%*?%s*[%w_]+%s*%)%s*%b()%s*;)",
--vardef_re = "^\n*([^;{}%(%)]+;)",
--change for things as
--[[ImU8 Used4kPagesMap[((sizeof(ImWchar16) == 2 ? 0xFFFF : 0x10FFFF)+1)/4096/8];]]
@@ -318,7 +345,9 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
local re = res[re_name]
local i,e = txt:find(re,ini)
if i then
item = txt:sub(i,e)
--print("re_name",re_name,item)
------------------
--[[
--if re~=functionD_re then --skip defined functions
@@ -370,13 +399,19 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
loca = table.remove(loca,1)
end
if not loca then
print(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
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.locat then
loca = itparent.locat
else
error"no entry in linenumdict"
end
error"no entry in linenumdict"
end
else
error"no linenumdict"
@@ -414,14 +449,13 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
end
M.parseItems = parseItems
local function name_overloadsAlgo(v)
local aa = {}
local bb = {}
local done = {}
local maxnum = 0
for i,t in ipairs(v) do
bb[i] = ""
--local signature = t.signature:sub(2,-2) -- without parenthesis
--inside parenthesis
local signature = t.signature:match("%b()")
signature = signature:sub(2,-2)
--add const function
@@ -430,47 +464,52 @@ local function name_overloadsAlgo(v)
end
aa[i] = {}
local num = 1
--for typec in t.signature:gmatch(".-([^,%(%s]+)[,%)]") do
--for typec in t.signature:gmatch(".-([^,%(]+)[,%)]") do
--for typec in signature:gmatch(".-([^,]+),?") do
for typec in signature:gsub("(%(.-%))", function(x) return x:gsub(",","\0") end):gmatch(".-([^,]+),?") do
--typec = typec:gsub
aa[i][num] = typec:gsub("%z+", ",")
num = num + 1
end
num = num - 1
maxnum = (num > maxnum) and num or maxnum
end
for l=1,maxnum do
local keys = {}
local diferent = true
local equal = true
for i=1,#v do
aa[i][l] = aa[i][l] or "nil"
keys[aa[i][l]] = 1 + (aa[i][l] and keys[aa[i][l]] or 0)
keys[aa[i][l]] = 1 + (keys[aa[i][l]] or 0)
if not done[i] then
for j=i+1,#v do
if not done[j] then
if aa[i][l] == aa[j][l] then
diferent = false
else
equal = false
for j=i+1,#v do
if not done[j] then
if aa[i][l] == aa[j][l] then
diferent = false
else
equal = false
end
end
end
end
end
end
end
if not equal then -- not all the same
for i=1,#v do
if not done[i] then
bb[i] = bb[i]..(aa[i][l]=="nil" and "" or aa[i][l])
if keys[aa[i][l]] == 1 then
done[i] = true
end
-- if keys[aa[i][l]] == 1 then
-- done[i] = true
-- end
end
end
end
--test done
for i=1,#v do
done[i] = true
for j=1,#v do
if i~=j and bb[i]==bb[j] then
done[i] = false
end
end
end
end
--avoid empty postfix which will be reserved to generic
for i,v in ipairs(bb) do if v=="" then bb[i]="Nil" end end
@@ -493,9 +532,10 @@ local function typetoStr(typ)
typ = typ:gsub("float","Float")
typ = typ:gsub("uInt","Uint")
typ = typ:gsub("ImGui","")
--typ = typ:gsub("ImStr","STR")
typ = typ:gsub("Im","")
typ = typ:gsub("[<>]","")
return typ
return "_"..typ
end
--used to clean signature in function ptr argument
local function clean_names_from_signature(self,signat)
@@ -590,33 +630,30 @@ local function parseFunction(self,stname,itt,namespace,locat)
--- templates in args
for i,ar in ipairs(argsTa) do
--TODO several diferent templates
local ttype,template = ar:match("([^%s,%(%)]+)%s*<(.-)>")
local ttype,template,te,code2 = check_template(ar) --ar:match("([^%s,%(%)]+)%s*<(.-)>")
local te=""
if template then
if self.typenames[stname] ~= template then --rule out template typename
te = template:gsub("%s","_")
te = te:gsub("%*","Ptr")
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
te = "_"..te
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
end
end
argsTa[i] = ar:gsub("<([%w_%*%s]+)>",te) --ImVector
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%*]+%(%*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))"
local functype_arg_rest = "^(%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)),*(.*)"
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 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)
typ, name = t1.."(*)"..t2, namef
local f_ = has_cdecl and "(__cdecl*)" or "(*)"
typ, name = t1..f_..t2, namef
retf = t1
sigf = t2
else
@@ -637,7 +674,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
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("bad argument name",funcname,typ,name,ar)
print("argument without name",funcname,typ,name,ar)
ar1,defa = ar:match"([^=]+)=([^=]+)"
ar1 = ar1 or ar
typ = ar1
@@ -651,7 +688,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
name = name:gsub("(%[%d*%])","")
end
end
argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf}
argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf,has_cdecl=has_cdecl}
if ar:match("&") and not ar:match("const") then
--only post error if not manual
local cname = self.getCname(stname,funcname, namespace) --cimguiname
@@ -671,9 +708,10 @@ local function parseFunction(self,stname,itt,namespace,locat)
signat = "("
for i,v in ipairs(argsArr) do
if v.ret then --function pointer
asp = asp .. v.ret .. "(*" .. v.name .. ")" .. v.signature .. ","
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 .. "(*)" .. clean_names_from_signature(self,v.signature) .. ","
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*%])","")
@@ -769,6 +807,89 @@ local function AdjustArguments(FP)
end
end
end
local function ADDIMSTR_S(FP)
local defsT = FP.defsT
local newcdefs = {}
for numcdef,t in ipairs(FP.funcdefs) do
newcdefs[#newcdefs+1] = t
if t.cimguiname then
local cimf = defsT[t.cimguiname]
local defT = cimf[t.signature]
--if isIMSTR return generate _S version
local isIMSTR = false
for i,arg in ipairs(defT.argsT) do
if arg.type == "ImStrv" then isIMSTR=true;break end
end
--if defT.ret=="ImVec2" or defT.ret=="ImVec4" or defT.ret=="ImColor" then
--if isIMSTR then print(t.cimguiname,defT.ov_cimguiname,defT.argsoriginal,"isIMSTR") end
if isIMSTR then
--passing as a pointer arg
local defT2 = {}
--first strings
for k,v in pairs(defT) do
defT2[k] = v
end
--then argsT table
defT2.argsT = {}
for k,v in ipairs(defT.argsT) do
local typ = v.type == "ImStrv" and "const char*" or v.type
table.insert(defT2.argsT,{type=typ,name=v.name})
end
--defaults table
defT2.defaults = {}
for k,v in pairs(defT.defaults) do
if v:match"ImStrv" then
v = v:gsub("ImStrv%(([^%)]-)%)","%1")
v = v == "" and "NULL" or v
end
defT2.defaults[k] = v
end
defT2.args = defT2.args:gsub("ImStrv","const char*")
--recreate call_args for wrapping into ImStrv
local caar
if #defT.argsT > 0 then
caar = "("
for i,v in ipairs(defT.argsT) do
local name = v.name
if v.ret then --function pointer
caar = caar .. name .. ","
else
local callname = v.reftoptr and "*"..name or name
caar = caar .. callname .. ","
end
end
caar = caar:sub(1,-2)..")"
else
caar = "()"
end
defT2.call_args = caar
------------------
defT2.signature = defT.signature:gsub("ImStrv","const char*") --.."_S"
--defT2.ov_cimguiname = defT2.ov_cimguiname --.. "_Strv"
--defT.ov_cimguiname = defT.ov_cimguiname .. "_Strv"
defT2.isIMSTR_S = 1
-- check there is not an equal version in imgui_stname
local doadd = true
for i,dd in ipairs(cimf) do
if dd.signature == defT2.signature then
doadd = false;
print("skip _S addition",defT2.cimguiname)
break
end
end
--add _S version
if doadd then
cimf[#cimf+1] = defT2
cimf[defT2.signature] = defT2
newcdefs[#newcdefs+1] = {stname=t.stname,funcname=t.funcname,args=defT2.args,signature=defT2.signature,cimguiname=defT2.cimguiname,ret =defT2.ret}
end
end
else print("not cimguiname in");M.prtable(t)
end
end
FP.funcdefs = newcdefs
end
local function ADDnonUDT(FP)
local defsT = FP.defsT
--local newcdefs = {}
@@ -971,9 +1092,12 @@ function M.Parser()
error("could not execute COMPILER "..err)
end
local defines = {}
local preprocessed = {}--
for line,loca,loca2 in M.location(pipe,names,defines,compiler) do
self:insert(line, tostring(loca)..":"..tostring(loca2))
table.insert(preprocessed,line)--
end
save_data("preprocesed.h",table.concat(preprocessed,"\n"))
pipe:close()
return defines
end
@@ -995,16 +1119,25 @@ function M.Parser()
local value,key = line:match("typedef%s+(.+)%s+([%w_]+);")
if key and value then
self.typedefs_dict[key] = value
else --try function typedef
else --try function pointer typedef
local key = line:match("%(%*([%w_]+)%)%([^%(%)]*%)")
if key then
local linet = line
linet = linet:gsub("typedef ","")
linet = linet:gsub("%(%*("..key..")%)","(*)")
self.typedefs_dict[key] = linet
elseif not line:match"typedef%s*struct" then --discard typedef struct
print("typedef not found")
print(key,value,line)
else
--try function typedef
key = line:match("%(([%w_]+)%)%([^%(%)]*%)")
if key then
local linet = line
linet = linet:gsub("typedef ","")
linet = linet:gsub("%(("..key..")%)","()")
self.typedefs_dict[key] = linet
elseif not line:match"typedef%s*struct" then --discard typedef struct
print("typedef not found")
print(key,value,line)
end
end
end
end
@@ -1034,7 +1167,8 @@ function M.Parser()
local stname = it.item:match("struct%s+(%S+)")
it.name = stname
local templa1,templa2 = it.item:match("^%s*template%s*<%s*(%S+)%s*(%S+)%s*>")
--local templa1,templa2 = it.item:match("^%s*template%s*<%s*(%S+)%s*(%S+)%s*>")
local templa2 = it.item:match("^%s*template%s*<%s*([^<>]+)%s*>")
if templa1 or templa2 then print("template found",stname,templa1,templa2,"typename",typename) end
if typename or templa2 then -- it is a struct template
@@ -1055,13 +1189,14 @@ function M.Parser()
local cdefs2 = {}
for i,cdef in ipairs(cdefs) do
if self.linenumdict[cdef[1]] then
--print("linenumdict alredy defined for", cdef[1],type(self.linenumdict[cdef[1]]))
--print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
if type(self.linenumdict[cdef[1]])=="string" then
self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]}
else -- must be table already
table.insert(self.linenumdict[cdef[1]],cdef[2])
end
else
--print("nuevo linenumdict es",cdef[1],cdef[2])
self.linenumdict[cdef[1]]=cdef[2]
end
table.insert(cdefs2,cdef[1])
@@ -1076,8 +1211,25 @@ function M.Parser()
printItems(items)
end
par.parseFunction = parseFunction
function par:clean_structR1(itst)
local uniques = {}
local function check_unique_typedefs(l,uniques)
if not uniques[l] then
uniques[l] = true
return true
end
return false
end
function par:generate_templates()
local ttd = {}
M.table_do_sorted(self.templates , function (ttype, v)
--print("generate_templates",ttype,v)
M.table_do_sorted(v, function(te,newte)
table.insert(ttd,self:gentemplatetypedef(ttype,te,newte))
end)
end)
return table.concat(ttd,"")
end
function par:clean_structR1(itst,doheader)
local stru = itst.item
local outtab = {}
local commtab = {}
@@ -1127,15 +1279,16 @@ function M.Parser()
if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables
local it2 = it.item --:gsub("<([%w_]+)>","_%1") --templates
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
local ttype,template = it.item:match"([^%s,%(%)]+)%s*<(.+)>"
local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
if template then
if self.typenames[ttype] ~= template then --rule out T (template typename)
local te = template:gsub("%s","_")
te = te:gsub("%*","Ptr")
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
it2 = it2:gsub("(<[%w_%*%s]+>)([^%s])","%1 %2") --add if not present space after <>
it2 = it2:gsub("<([%w_%*%s]+)>","_"..te)
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
it2=code2
end
if doheader then
local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
predeclare = predeclare .. templatetypedef
end
end
--clean mutable
@@ -1156,7 +1309,15 @@ function M.Parser()
table.insert(outtab,"\n "..it.name.." "..decl..";")
table.insert(commtab,it.comments )--or "")
end
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it)
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,doheader)
if doheader then
local tst = "\ntypedef struct "..structname.." "..structname..";\n"
if check_unique_typedefs(tst,uniques) then
--table.insert(outtab,tst)
--print("xxxxxxxxxxxxxxxinsert typedef",structname)
cleanst = cleanst .. tst
end
end
predeclare = predeclare .. predec .. cleanst
elseif it.re_name == "enum_re" then
--nop
@@ -1186,20 +1347,48 @@ function M.Parser()
if parnam~="" then parnam = parnam:sub(1,-3) end
return parnam
end
function par:gen_structs_and_enums()
print"--------------gen_structs_and_enums"
--M.prtable(self.typenames)
local outtab = {}
local outtabpre = {}
local typedefs_table = {}
self.embeded_enums = {}
--local uniques = {}
local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
if not it.parent or it.parent.re_name=="namespace_re" then
table.insert(outtabpre,it.item)
local it2 = it.item
if it.re_name == "typedef_re" then
--check if it is templated
local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
if template then
--if self.typenames[ttype] ~= template then --rule out T (template typename)
--self.templates[ttype] = self.templates[ttype] or {}
--self.templates[ttype][template] = te
--end
--local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
--predeclare = predeclare .. templatetypedef
local tdt = self:gentemplatetypedef(ttype,template,te)
it2 = tdt..code2
end
end
--table.insert(outtabpre,it2)
table.insert(outtab,it2)
-- 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")
--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)
end
self.typedefs_dict[stname]="struct "..stname
if it.parent then --must be struct name; inside namespace
local parname = get_parents_name(it)
@@ -1242,23 +1431,33 @@ function M.Parser()
print("unnamed enum",cl_item)
end
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it)
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,true)
if not structname then print("NO NAME",cleanst,it.item) end
--if not void stname or templated
if structname and not self.typenames[structname] then
--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)
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)
end
table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
self.typedefs_dict[structname]="struct "..structname
end
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+(%S+)"))
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
--TODO nesting namespace and class
local parname = get_parents_name(it)
self.embeded_structs[embededst] = parname..embededst
if it.parent.re_name == "struct_re" then
--needed by cimnodes with struct tag name equals member name
self.embeded_structs[embededst] = "struct "..parname..embededst
else
self.embeded_structs[embededst] = parname..embededst
end
end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop
@@ -1290,13 +1489,13 @@ function M.Parser()
self:Listing(itemsarr,processer)
local uniques = {}
for i,l in ipairs(typedefs_table) do
if not uniques[l] then
uniques[l] = true
table.insert(outtabpre,1,l)
end
end
-- local uniques = {}
-- for i,l in ipairs(typedefs_table) do
-- if not uniques[l] then
-- uniques[l] = true
-- table.insert(outtabpre,1,l)
-- end
-- end
--check arg detection failure if no name in function declaration
check_arg_detection(self.defsT,self.typedefs_dict)
local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"")
@@ -1314,6 +1513,7 @@ function M.Parser()
else
--split type name1,name2; in several lines
local typen,rest = line:match("%s*([^,]+)%s(%S+[,;])")
--print(typen,"rest:",rest)
if not typen then -- Lets try Type*name
typen,rest = line:match("([^,]+%*)(%S+[,;])")
end
@@ -1403,10 +1603,25 @@ function M.Parser()
end
par.enums_for_table = enums_for_table
function par:gen_structs_and_enums_table()
print"--------------gen_structs_and_enums_table"
local outtab = {enums={},structs={},locations={},enumtypes={}}
self.typedefs_table = {}
local enumsordered = {}
unnamed_enum_counter = 0
self.templated_structs = {}
--take cimgui templated_structs if given
if self.cimgui_inherited then
self.templated_structs = self.cimgui_inherited.templated_structs
self.templates_done = self.cimgui_inherited.templates_done
--M.prtable(self.typenames)
for k,v in pairs(self.cimgui_inherited.typenames) do
assert(not self.typenames[k])
if self.typenames[k] then
print("typenames repeated",k,self.typenames[k],v)
end
self.typenames[k] = v
end
end
local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
@@ -1428,7 +1643,17 @@ function M.Parser()
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
end
else
print("skipped unnamed or templated struct",structname)
--templated struct
if structname then
print("saving templated struct",structname)
self.templated_structs[structname] = {}
for j=3,#strtab-1 do
self:parse_struct_line(strtab[j],self.templated_structs[structname],comstab[j])
end
--M.prtable(self.templated_structs[structname])
else
print("skipped unnamed struct",structname)
end
end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop
@@ -1440,7 +1665,16 @@ function M.Parser()
self:Listing(itemsarr,processer)
--calcule size of name[16+1] [xxx_COUNT]
local allenums = {}
local allenums = {}
--take cimgui struct_and_enums if given
if self.cimgui_inherited then
for k,v in pairs(self.cimgui_inherited.enums) do
for j,v2 in ipairs(v) do
allenums[v2.name] = v2.calc_value
--print(k,v.calc_value)
end
end
end
--first calc_value in enums
for i,enumname in ipairs(enumsordered) do
--for enumname,enum in pairs(outtab.enums) do
@@ -1491,6 +1725,7 @@ function M.Parser()
for k,v in pairs(self.alltypes) do print(k, typetoStr(k) ) end
end
function par:compute_overloads()
ADDIMSTR_S(self)
local strt = {}
local numoverloaded = 0
self.alltypes = {}
@@ -1503,11 +1738,19 @@ function M.Parser()
--print(k,#v)
table.insert(strt,string.format("%s\t%d",k,#v))
local typesc,post = name_overloadsAlgo(v)
--M.prtable(v)
for i,t in ipairs(v) do
--take overloaded name from manual table or algorythm
t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature,t.namespace) or k..typetoStr(post[i])
--check ...
if( t.ov_cimguiname:match"%.%.%.") then
print("... in ov",t.ov_cimguiname)
for i,dd in ipairs(v) do
print(dd.signature,post[i])
end
error"Bad check ..."
end
table.insert(strt,string.format("%d\t%s\t%s %s",i,t.ret,t.ov_cimguiname,t.signature))
--M.prtable(typesc[i],post)
end
--check not two names are equal (produced by bad cimguiname_overload)
for i=1,#v-1 do
@@ -1525,8 +1768,10 @@ function M.Parser()
end)
--print(numoverloaded, "overloaded")
table.insert(strt,string.format("%d overloaded",numoverloaded))
--ADDIMSTR_S(self)
AdjustArguments(self)
ADDnonUDT(self)
--ADDdestructors(self)
self.overloadstxt = table.concat(strt,"\n")
end
@@ -1634,6 +1879,58 @@ function M.Parser()
table.insert(self.funcdefs,v)
end
end
function par:gentemplatetypedef(ttype,te,newte)
--print("gentemplatetypedef",ttype,te,newte)
if not newte then return "" end
self.templates_done = self.templates_done or {}
self.templates_done[ttype] = self.templates_done[ttype] or {}
if self.templates_done[ttype][te] then return "" end
self.templates_done[ttype][te] = true
--return self:gen_template_typedef(ttype,te,newte) --given by user
return self:gen_template_typedef_auto(ttype,te,newte)
end
function par:gen_template_typedef_auto(ttype,te,newte)
assert(self.templated_structs[ttype],ttype)
local defi = self.templated_structs[ttype]
local Targ = strsplit(self.typenames[ttype],",")
local defa = {}
local tes = strsplit(te,",")
--get the only name of template arg
for i,arg in ipairs(Targ) do
Targ[i] = strip(arg)
defa[i] = Targ[i]:match"=(.+)" --get default
if defa[i] then defa[i] = strip(defa[i]) end
Targ[i] = Targ[i]:gsub("%s*=.+","")
Targ[i] = Targ[i]:match"%S+$"
end
--assert(not Targ:match",") --still not several
local code = {}
local precode = {}
for i,v in ipairs(defi) do
local typ = v.type --:gsub(Targ,te)
local nam = v.name --:gsub(Targ,te)
for j,w in ipairs(Targ) do
local subs = tes[j] or defa[j]
typ = typ:gsub(w,subs)
nam = nam:gsub(w,subs)
end
--if typ still has template
local ttypet,templatet,tet,code2t = check_template(typ)
if templatet then
typ = code2t
table.insert(precode, self:gentemplatetypedef(ttypet,templatet,tet))
end
--if name still has template
local ttypet,templatet,tet,code2t = check_template(nam)
if templatet then
nam = code2t
table.insert(precode, self:gentemplatetypedef(ttypet,templatet,tet))
end
table.insert(code, typ.." "..nam..";")
end
return table.concat(precode).."\ntypedef struct "..ttype.."_"..newte.." {"..table.concat(code).."} "..ttype.."_"..newte..";\n"
end
return par
end
@@ -1966,26 +2263,49 @@ end
M.func_header_generate = func_header_generate
--[=[
-- tests
local line = [[struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
ImFont* Font;
float FontSize;
float CurveTessellationTol;
float CircleSegmentMaxError;
ImVec4 ClipRectFullscreen;
ImDrawListFlags InitialFlags;
ImVec2 ArcFastVtx[12 * 1];
ImU8 CircleSegmentCounts[64];
ImDrawListSharedData();
void SetCircleSegmentMaxError(float max_error);
};]]
local code = [[
bool BeginPlot(const char* title_id,
const char* x_label, const char* y_label,
const ImVec2& size = ImVec2(-1,0),
ImPlotFlags flags = ImPlotFlags_None,
ImPlotAxisFlags x_flags = ImPlotAxisFlags_None,
ImPlotAxisFlags y_flags = ImPlotAxisFlags_None,
ImPlotAxisFlags y2_flags = ImPlotAxisFlags_AuxDefault,
ImPlotAxisFlags y3_flags = ImPlotAxisFlags_AuxDefault,
const char* y2_label = ((void *)0),
const char* y3_label = ((void *)0)) __attribute__( ( deprecated ) );
]]
local code = [[
bool BeginPlot(const char* title_id, const char* x_label, const char* y_label, const ImVec2& size = ImVec2(-1,0), ImPlotFlags flags = ImPlotFlags_None, ImPlotAxisFlags x_flags = ImPlotAxisFlags_None, ImPlotAxisFlags y_flags = ImPlotAxisFlags_None, ImPlotAxisFlags y2_flags = ImPlotAxisFlags_AuxDefault, ImPlotAxisFlags y3_flags = ImPlotAxisFlags_AuxDefault, const char* y2_label = ((void *)0), const char* y3_label = ((void *)0)) __attribute__( ( deprecated ) )
;
]]
local parser = M.Parser()
parser:insert(line)
for line in code:gmatch("[^\n]+") do
--print("inserting",line)
parser:insert(line,"11")
end
parser:do_parse()
--M.prtable(parser)
M.prtable(parser:gen_structs_and_enums_table())
M.prtable(parser)
--M.prtable(parser:gen_structs_and_enums_table())
--]=]
--print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]])
--[=[
local code = [[ImU32 Storage[(BITCOUNT + 31) >> 5];]]
--local code = [[ImU32 Storage[37 + 2];]]
local parser = M.Parser()
parser:insert(code,"11")
--parser:do_parse()
--M.prtable(parser)
local tab={}
print(type(code),code)
print(clean_spaces(code))
parser:parse_struct_line(code,tab)
M.prtable(tab)
--]=]
return M

View File

@@ -8,12 +8,13 @@ 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 IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
local CFLAGS = ""
local CPRE,CTEST
--get implementations
local implementations = {}
for i=3,#script_args do
if script_args[i]:match(COMPILER == cl and "^/" or "^%-") then
if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
local key, value = script_args[i]:match("^(.+)=(.+)$")
if key and value then
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
@@ -25,11 +26,15 @@ for i=3,#script_args do
end
end
if FREETYPE_GENERATION then
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
end
if COMPILER == "gcc" or COMPILER == "clang" then
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_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER
else
print("Working without compiler ")
@@ -58,6 +63,7 @@ assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
print("CPRE",CPRE)
--------------------------------------------------------------------------
--this table has the functions to be skipped in generation
--------------------------------------------------------------------------
@@ -135,14 +141,16 @@ local func_implementation = cpp2ffi.func_implementation
-------------------functions for getting and setting defines
local function get_defines(t)
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end
print(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]] .. CFLAGS)
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]] .. CFLAGS,"r")
local compiler_cmd = COMPILER == "cl"
and COMPILER..[[ /TP /nologo /c /Fo"NUL" /I "]]..IMGUI_PATH..[[" print_defines.cpp]]..CFLAGS
or COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]]..CFLAGS
print(compiler_cmd)
local pipe,err = io.popen(compiler_cmd,"r")
local defines = {}
while true do
local line = pipe:read"*l"
if not line then break end
local key,value = line:match([[#define%s+(%S+)%s*(.*)]])
local key,value = line:match([[^#define%s+(%S+)%s*(.*)]])
if not key then --or not value then
--print(line)
else
@@ -158,7 +166,7 @@ local function get_defines(t)
local aa = defines[v]
while true do
local tmp = defines[aa]
if not tmp then
if not tmp then
break
else
aa = tmp
@@ -240,36 +248,7 @@ local function repair_defaults(defsT,str_and_enu)
end
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")
table_do_sorted(templates , function (ttype, v)
if ttype == "ImVector" then
table_do_sorted(v, function(te,newte)
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
end)
elseif ttype == "ImPool" then
--declare ImGuiStorage
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)
elseif ttype == "ImChunkStream" then
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)
elseif ttype == "ImSpan" then
table_do_sorted(v, function(te,newte)
table.insert(code,"typedef struct ImSpan_"..newte.." {"..te.."* Data;" ..te.."* DataEnd;} ImSpan_"..newte..";\n")
end)
else
print("generate_templates ttype not done",ttype)
error"generate templates"
end
end)
end
--generate cimgui.cpp cimgui.h
local function cimgui_generation(parser)
@@ -300,19 +279,16 @@ local function cimgui_generation(parser)
cpp2ffi.prtable(parser.templates)
cpp2ffi.prtable(parser.typenames)
local outtab = {}
local outtabpool = {}
generate_templates(outtab, outtabpool, parser.templates)
--move outtabpool after ImGuiStorage definition
local outpost1, outpost2 = outpost:match("^(.+struct ImGuiStorage%s*\n%b{};\n)(.+)$")
outpost = outpost1..table.concat(outtabpool)..outpost2
local cstructsstr = outpre..table.concat(outtab,"")..outpost --..(extra or "")
local tdt = parser:generate_templates()
local cstructsstr = outpre..tdt..outpost
if gdefines.IMGUI_HAS_DOCK then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
end
if gdefines.IMGUI_HAS_IMSTR then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
end
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser)
@@ -325,37 +301,21 @@ local function cimgui_generation(parser)
local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
save_data("./output/cimgui.cpp",cimgui_header,hstrfile)
local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)
end
--------------------------------------------------------
-----------------------------do it----------------------
--------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK--------------------------
--get some defines wont work for cl ----------------
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK"}
--this will work for cl
local pipe,err = io.open("../imgui/imgui.h","r")
if not pipe then
error("could not open file:"..err)
end
local imgui_version,has_dock
while true do
local line = pipe:read"*l"
if not line then break end
if not imgui_version then
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
end
if not has_dock then
has_dock = line:match([[#define%s+IMGUI_HAS_DOCK]])--%s*(".+")]])
end
if imgui_version and has_dock then break end
end
pipe:close()
--defines for the cl compiler must be present in the print_defines.cpp file
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
if has_dock then gdefines.IMGUI_HAS_DOCK = true end
if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION)
if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api
]]
@@ -369,8 +329,9 @@ if gdefines.IMGUI_HAS_DOCK then
]]
end
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",imgui_version)
print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
--funtion for parsing imgui headers
@@ -385,6 +346,7 @@ local function parseImGuiHeader(header,names)
parser.cname_overloads = cimgui_overloads
parser.manuals = cimgui_manuals
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto
local defines = parser:take_lines(CPRE..header,names,COMPILER)
@@ -393,24 +355,24 @@ end
--generation
print("------------------generation with "..COMPILER.."------------------------")
local parser1
local headers = [[#include "../imgui/imgui.h"
local headers = [[#include "]]..IMGUI_PATH..[[/imgui.h"
]]
local headersT = {[[imgui]]}
if INTERNAL_GENERATION then
headers = headers .. [[#include "../imgui/imgui_internal.h"
headers = headers .. [[#include "]]..IMGUI_PATH..[[/imgui_internal.h"
]]
headersT[#headersT + 1] = [[imgui_internal]]
headersT[#headersT + 1] = [[imstb_textedit]]
end
if FREETYPE_GENERATION then
headers = headers .. [[
#include "../imgui/misc/freetype/imgui_freetype.h"
#include "]]..IMGUI_PATH..[[/misc/freetype/imgui_freetype.h"
]]
headersT[#headersT + 1] = [[imgui_freetype]]
end
save_data("headers.h",headers)
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
local extra_includes = include_cmd.." ../imgui "
local extra_includes = include_cmd.." " ..IMGUI_PATH.." "
local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
os.remove("headers.h")
parser1:do_parse()
@@ -421,6 +383,10 @@ cimgui_generation(parser1)
----------save struct and enums lua table in structs_and_enums.lua for using in bindings
local structs_and_enums_table = parser1.structs_and_enums_table
structs_and_enums_table.templated_structs = parser1.templated_structs
structs_and_enums_table.typenames = parser1.typenames
structs_and_enums_table.templates_done = parser1.templates_done
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
@@ -439,12 +405,12 @@ save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
--=================================Now implementations
local backends_folder
local ff,err = io.open ("../imgui/examples/imgui_impl_glfw.h" ,"r")
local ff,err = io.open (IMGUI_PATH .. "/examples/imgui_impl_glfw.h" ,"r")
if ff then
backends_folder = "../imgui/examples/"
backends_folder = IMGUI_PATH .. "/examples/"
ff:close()
else
backends_folder = "../imgui/backends/"
backends_folder = IMGUI_PATH .. "/backends/"
end
local parser2
@@ -463,7 +429,7 @@ if #implementations > 0 then
local extra_defines = ""
if impl == "opengl3" then extra_defines = define_cmd .. "IMGUI_IMPL_OPENGL_LOADER_GL3W " end
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
local extra_includes = include_cmd.." ../imgui "
local extra_includes = include_cmd.." ".. IMGUI_PATH .." "
if config[impl] then
for j,inc in ipairs(config[impl]) do
extra_includes = extra_includes .. include_cmd .. inc .. " "
@@ -502,6 +468,10 @@ end
---[[
local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
--delete extra info for json
structs_and_enums_table.templated_structs = nil
structs_and_enums_table.typenames = nil
structs_and_enums_table.templates_done = nil
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then

View File

@@ -1,17 +1,28 @@
typedef struct SDL_Window SDL_Window;
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWmonitor GLFWmonitor;
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
struct GLFWwindow;
struct GLFWmonitor;
struct SDL_Window;
struct SDL_Renderer;
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
CIMGUI_API void ImGui_ImplGlfw_Shutdown();
CIMGUI_API void ImGui_ImplGlfw_NewFrame();
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown();
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame();
@@ -32,6 +43,7 @@ CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_con
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API void ImGui_ImplSDL2_Shutdown();
CIMGUI_API void ImGui_ImplSDL2_NewFrame(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL2_NewFrame();
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -17,13 +17,67 @@
"cimguiname": "ImGui_ImplGlfw_CharCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw:35",
"location": "imgui_impl_glfw:45",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void",
"signature": "(GLFWwindow*,unsigned int)",
"stname": ""
}
],
"ImGui_ImplGlfw_CursorEnterCallback": [
{
"args": "(GLFWwindow* window,int entered)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
},
{
"name": "entered",
"type": "int"
}
],
"argsoriginal": "(GLFWwindow* window,int entered)",
"call_args": "(window,entered)",
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorEnterCallback",
"location": "imgui_impl_glfw:40",
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
"stname": ""
}
],
"ImGui_ImplGlfw_CursorPosCallback": [
{
"args": "(GLFWwindow* window,double x,double y)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
},
{
"name": "x",
"type": "double"
},
{
"name": "y",
"type": "double"
}
],
"argsoriginal": "(GLFWwindow* window,double x,double y)",
"call_args": "(window,x,y)",
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
"location": "imgui_impl_glfw:41",
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForOpenGL": [
{
"args": "(GLFWwindow* window,bool install_callbacks)",
@@ -42,13 +96,38 @@
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
"location": "imgui_impl_glfw:24",
"location": "imgui_impl_glfw:26",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForOther": [
{
"args": "(GLFWwindow* window,bool install_callbacks)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
},
{
"name": "install_callbacks",
"type": "bool"
}
],
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOther",
"location": "imgui_impl_glfw:28",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForVulkan": [
{
"args": "(GLFWwindow* window,bool install_callbacks)",
@@ -67,13 +146,34 @@
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForVulkan",
"location": "imgui_impl_glfw:25",
"location": "imgui_impl_glfw:27",
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
"stname": ""
}
],
"ImGui_ImplGlfw_InstallCallbacks": [
{
"args": "(GLFWwindow* window)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
}
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
"location": "imgui_impl_glfw:35",
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_KeyCallback": [
{
"args": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
@@ -104,13 +204,38 @@
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw:34",
"location": "imgui_impl_glfw:44",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)",
"stname": ""
}
],
"ImGui_ImplGlfw_MonitorCallback": [
{
"args": "(GLFWmonitor* monitor,int event)",
"argsT": [
{
"name": "monitor",
"type": "GLFWmonitor*"
},
{
"name": "event",
"type": "int"
}
],
"argsoriginal": "(GLFWmonitor* monitor,int event)",
"call_args": "(monitor,event)",
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MonitorCallback",
"location": "imgui_impl_glfw:46",
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"ret": "void",
"signature": "(GLFWmonitor*,int)",
"stname": ""
}
],
"ImGui_ImplGlfw_MouseButtonCallback": [
{
"args": "(GLFWwindow* window,int button,int action,int mods)",
@@ -137,7 +262,7 @@
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw:32",
"location": "imgui_impl_glfw:42",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int)",
@@ -153,13 +278,34 @@
"cimguiname": "ImGui_ImplGlfw_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplGlfw_NewFrame",
"location": "imgui_impl_glfw:27",
"location": "imgui_impl_glfw:30",
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
"ret": "void",
"signature": "()",
"stname": ""
}
],
"ImGui_ImplGlfw_RestoreCallbacks": [
{
"args": "(GLFWwindow* window)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
}
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
"location": "imgui_impl_glfw:36",
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_ScrollCallback": [
{
"args": "(GLFWwindow* window,double xoffset,double yoffset)",
@@ -182,7 +328,7 @@
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw:33",
"location": "imgui_impl_glfw:43",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
@@ -198,13 +344,38 @@
"cimguiname": "ImGui_ImplGlfw_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplGlfw_Shutdown",
"location": "imgui_impl_glfw:26",
"location": "imgui_impl_glfw:29",
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
"ret": "void",
"signature": "()",
"stname": ""
}
],
"ImGui_ImplGlfw_WindowFocusCallback": [
{
"args": "(GLFWwindow* window,int focused)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
},
{
"name": "focused",
"type": "int"
}
],
"argsoriginal": "(GLFWwindow* window,int focused)",
"call_args": "(window,focused)",
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
"location": "imgui_impl_glfw:39",
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
"stname": ""
}
],
"ImGui_ImplOpenGL2_CreateDeviceObjects": [
{
"args": "()",
@@ -214,7 +385,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"location": "imgui_impl_opengl2:30",
"location": "imgui_impl_opengl2:31",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -230,7 +401,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"location": "imgui_impl_opengl2:28",
"location": "imgui_impl_opengl2:29",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -246,7 +417,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"location": "imgui_impl_opengl2:31",
"location": "imgui_impl_opengl2:32",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -262,7 +433,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"location": "imgui_impl_opengl2:29",
"location": "imgui_impl_opengl2:30",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -278,7 +449,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Init",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Init",
"location": "imgui_impl_opengl2:22",
"location": "imgui_impl_opengl2:23",
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
"ret": "bool",
"signature": "()",
@@ -294,7 +465,7 @@
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_NewFrame",
"location": "imgui_impl_opengl2:24",
"location": "imgui_impl_opengl2:25",
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -315,7 +486,7 @@
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
"location": "imgui_impl_opengl2:25",
"location": "imgui_impl_opengl2:26",
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -331,7 +502,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Shutdown",
"location": "imgui_impl_opengl2:23",
"location": "imgui_impl_opengl2:24",
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"ret": "void",
"signature": "()",
@@ -347,7 +518,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"location": "imgui_impl_opengl3:36",
"location": "imgui_impl_opengl3:32",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -363,7 +534,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"location": "imgui_impl_opengl3:34",
"location": "imgui_impl_opengl3:30",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -379,7 +550,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"location": "imgui_impl_opengl3:37",
"location": "imgui_impl_opengl3:33",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -395,7 +566,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"location": "imgui_impl_opengl3:35",
"location": "imgui_impl_opengl3:31",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -418,7 +589,7 @@
"glsl_version": "((void*)0)"
},
"funcname": "ImGui_ImplOpenGL3_Init",
"location": "imgui_impl_opengl3:28",
"location": "imgui_impl_opengl3:24",
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
"ret": "bool",
"signature": "(const char*)",
@@ -434,7 +605,7 @@
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_NewFrame",
"location": "imgui_impl_opengl3:30",
"location": "imgui_impl_opengl3:26",
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"ret": "void",
"signature": "()",
@@ -455,7 +626,7 @@
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
"location": "imgui_impl_opengl3:31",
"location": "imgui_impl_opengl3:27",
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -471,7 +642,7 @@
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_Shutdown",
"location": "imgui_impl_opengl3:29",
"location": "imgui_impl_opengl3:25",
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"ret": "void",
"signature": "()",
@@ -492,7 +663,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl:25",
"location": "imgui_impl_sdl:27",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -513,7 +684,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl:26",
"location": "imgui_impl_sdl:28",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -538,13 +709,38 @@
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl:23",
"location": "imgui_impl_sdl:25",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
"stname": ""
}
],
"ImGui_ImplSDL2_InitForSDLRenderer": [
{
"args": "(SDL_Window* window,SDL_Renderer* renderer)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
},
{
"name": "renderer",
"type": "SDL_Renderer*"
}
],
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
"call_args": "(window,renderer)",
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
"location": "imgui_impl_sdl:29",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
"stname": ""
}
],
"ImGui_ImplSDL2_InitForVulkan": [
{
"args": "(SDL_Window* window)",
@@ -559,7 +755,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl:24",
"location": "imgui_impl_sdl:26",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -568,22 +764,17 @@
],
"ImGui_ImplSDL2_NewFrame": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"args": "()",
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl:28",
"location": "imgui_impl_sdl:31",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void",
"signature": "(SDL_Window*)",
"signature": "()",
"stname": ""
}
],
@@ -601,7 +792,7 @@
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl:29",
"location": "imgui_impl_sdl:32",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
@@ -617,7 +808,7 @@
"cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl:27",
"location": "imgui_impl_sdl:30",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void",
"signature": "()",

View File

@@ -14,12 +14,57 @@ defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:35"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:45"
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1]
defs["ImGui_ImplGlfw_CursorEnterCallback"] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["args"] = "(GLFWwindow* window,int entered)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2]["name"] = "entered"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int entered)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["call_args"] = "(window,entered)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:40"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["signature"] = "(GLFWwindow*,int)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CursorEnterCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_CursorEnterCallback"][1]
defs["ImGui_ImplGlfw_CursorPosCallback"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["args"] = "(GLFWwindow* window,double x,double y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["name"] = "x"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["type"] = "double"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["name"] = "y"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["type"] = "double"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double x,double y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["call_args"] = "(window,x,y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["location"] = "imgui_impl_glfw:41"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CursorPosCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_CursorPosCallback"][1]
defs["ImGui_ImplGlfw_InitForOpenGL"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
@@ -35,12 +80,33 @@ defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:24"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:26"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForOpenGL"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOpenGL"][1]
defs["ImGui_ImplGlfw_InitForOther"] = {}
defs["ImGui_ImplGlfw_InitForOther"][1] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["name"] = "install_callbacks"
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["type"] = "bool"
defs["ImGui_ImplGlfw_InitForOther"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForOther"][1]["call_args"] = "(window,install_callbacks)"
defs["ImGui_ImplGlfw_InitForOther"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["funcname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["location"] = "imgui_impl_glfw:28"
defs["ImGui_ImplGlfw_InitForOther"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOther"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForOther"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForOther"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOther"][1]
defs["ImGui_ImplGlfw_InitForVulkan"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
@@ -56,12 +122,30 @@ defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:25"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:27"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
defs["ImGui_ImplGlfw_InstallCallbacks"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["args"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["call_args"] = "(window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["location"] = "imgui_impl_glfw:35"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["signature"] = "(GLFWwindow*)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InstallCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_InstallCallbacks"][1]
defs["ImGui_ImplGlfw_KeyCallback"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
@@ -86,12 +170,33 @@ defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,actio
defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:34"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:44"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_KeyCallback"]["(GLFWwindow*,int,int,int,int)"] = defs["ImGui_ImplGlfw_KeyCallback"][1]
defs["ImGui_ImplGlfw_MonitorCallback"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["args"] = "(GLFWmonitor* monitor,int event)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1]["name"] = "monitor"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1]["type"] = "GLFWmonitor*"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2]["name"] = "event"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsoriginal"] = "(GLFWmonitor* monitor,int event)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["call_args"] = "(monitor,event)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:46"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_MonitorCallback"]["(GLFWmonitor*,int)"] = defs["ImGui_ImplGlfw_MonitorCallback"][1]
defs["ImGui_ImplGlfw_MouseButtonCallback"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["args"] = "(GLFWwindow* window,int button,int action,int mods)"
@@ -113,7 +218,7 @@ defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,act
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:32"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:42"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
@@ -128,12 +233,30 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:27"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:30"
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
defs["ImGui_ImplGlfw_RestoreCallbacks"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["args"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["call_args"] = "(window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["location"] = "imgui_impl_glfw:36"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["signature"] = "(GLFWwindow*)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["stname"] = ""
defs["ImGui_ImplGlfw_RestoreCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_RestoreCallbacks"][1]
defs["ImGui_ImplGlfw_ScrollCallback"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
@@ -152,7 +275,7 @@ defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:33"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:43"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
@@ -167,12 +290,33 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:26"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:29"
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
defs["ImGui_ImplGlfw_WindowFocusCallback"] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["args"] = "(GLFWwindow* window,int focused)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2]["name"] = "focused"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int focused)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["call_args"] = "(window,focused)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["funcname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:39"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["signature"] = "(GLFWwindow*,int)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_WindowFocusCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_WindowFocusCallback"][1]
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
@@ -182,7 +326,7 @@ defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
@@ -197,7 +341,7 @@ defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:28"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:29"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
@@ -212,7 +356,7 @@ defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:32"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -227,7 +371,7 @@ defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:29"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
@@ -242,7 +386,7 @@ defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:22"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:23"
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
@@ -257,7 +401,7 @@ defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:24"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:25"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
@@ -275,7 +419,7 @@ defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:25"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:26"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -290,7 +434,7 @@ defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:23"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:24"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
@@ -305,7 +449,7 @@ defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:36"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:32"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
@@ -320,7 +464,7 @@ defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:34"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:30"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
@@ -335,7 +479,7 @@ defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:37"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:33"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -350,7 +494,7 @@ defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:35"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
@@ -369,7 +513,7 @@ defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "((void*)0)"
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:28"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:24"
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
@@ -384,7 +528,7 @@ defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:30"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:26"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
@@ -402,7 +546,7 @@ defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:27"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -417,7 +561,7 @@ defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:29"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:25"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
@@ -435,7 +579,7 @@ defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:25"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
@@ -453,7 +597,7 @@ defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:26"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
@@ -474,12 +618,33 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:23"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:25"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
defs["ImGui_ImplSDL2_InitForSDLRenderer"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["args"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["name"] = "renderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["type"] = "SDL_Renderer*"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsoriginal"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["call_args"] = "(window,renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["signature"] = "(SDL_Window*,SDL_Renderer*)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForSDLRenderer"]["(SDL_Window*,SDL_Renderer*)"] = defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]
defs["ImGui_ImplSDL2_InitForVulkan"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
@@ -492,7 +657,7 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:24"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:26"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
@@ -500,22 +665,19 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
defs["ImGui_ImplSDL2_NewFrame"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:31"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplSDL2_NewFrame"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_NewFrame"][1]
defs["ImGui_ImplSDL2_NewFrame"]["()"] = defs["ImGui_ImplSDL2_NewFrame"][1]
defs["ImGui_ImplSDL2_ProcessEvent"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
@@ -528,7 +690,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:32"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -543,7 +705,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:30"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

View File

@@ -1,247 +1,261 @@
----------------overloadings---------------------------
ImColor_ImColor 5
1 nil ImColor_ImColorNil ()
2 nil ImColor_ImColorInt (int,int,int,int)
3 nil ImColor_ImColorU32 (ImU32)
4 nil ImColor_ImColorFloat (float,float,float,float)
5 nil ImColor_ImColorVec4 (const ImVec4)
1 nil ImColor_ImColor_Nil ()
2 nil ImColor_ImColor_Int (int,int,int,int)
3 nil ImColor_ImColor_U32 (ImU32)
4 nil ImColor_ImColor_Float (float,float,float,float)
5 nil ImColor_ImColor_Vec4 (const ImVec4)
ImDrawList_AddText 2
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddText_FontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int)
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
ImGuiStoragePair_ImGuiStoragePair 3
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
1 nil ImGuiStoragePair_ImGuiStoragePair_Int (ImGuiID,int)
2 nil ImGuiStoragePair_ImGuiStoragePair_Float (ImGuiID,float)
3 nil ImGuiStoragePair_ImGuiStoragePair_Ptr (ImGuiID,void*)
ImGuiStyleMod_ImGuiStyleMod 3
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int)
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float)
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2)
1 nil ImGuiStyleMod_ImGuiStyleMod_Int (ImGuiStyleVar,int)
2 nil ImGuiStyleMod_ImGuiStyleMod_Float (ImGuiStyleVar,float)
3 nil ImGuiStyleMod_ImGuiStyleMod_Vec2 (ImGuiStyleVar,ImVec2)
ImGuiTextRange_ImGuiTextRange 2
1 nil ImGuiTextRange_ImGuiTextRangeNil ()
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
1 nil ImGuiTextRange_ImGuiTextRange_Nil ()
2 nil ImGuiTextRange_ImGuiTextRange_Str (const char*,const char*)
ImGuiWindow_GetID 3
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDPtr (const void*)
3 ImGuiID ImGuiWindow_GetIDInt (int)
1 ImGuiID ImGuiWindow_GetID_Str (const char*,const char*)
2 ImGuiID ImGuiWindow_GetID_Ptr (const void*)
3 ImGuiID ImGuiWindow_GetID_Int (int)
ImGuiWindow_GetIDNoKeepAlive 3
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*)
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int)
1 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Str (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Ptr (const void*)
3 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Int (int)
ImPool_Remove 2
1 void ImPool_RemoveTPtr (ImGuiID,const T*)
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx)
1 void ImPool_Remove_TPtr (ImGuiID,const T*)
2 void ImPool_Remove_PoolIdx (ImGuiID,ImPoolIdx)
ImRect_Add 2
1 void ImRect_AddVec2 (const ImVec2)
2 void ImRect_AddRect (const ImRect)
1 void ImRect_Add_Vec2 (const ImVec2)
2 void ImRect_Add_Rect (const ImRect)
ImRect_Contains 2
1 bool ImRect_ContainsVec2 (const ImVec2)const
2 bool ImRect_ContainsRect (const ImRect)const
1 bool ImRect_Contains_Vec2 (const ImVec2)const
2 bool ImRect_Contains_Rect (const ImRect)const
ImRect_Expand 2
1 void ImRect_ExpandFloat (const float)
2 void ImRect_ExpandVec2 (const ImVec2)
1 void ImRect_Expand_Float (const float)
2 void ImRect_Expand_Vec2 (const ImVec2)
ImRect_ImRect 4
1 nil ImRect_ImRectNil ()
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2)
3 nil ImRect_ImRectVec4 (const ImVec4)
4 nil ImRect_ImRectFloat (float,float,float,float)
1 nil ImRect_ImRect_Nil ()
2 nil ImRect_ImRect_Vec2 (const ImVec2,const ImVec2)
3 nil ImRect_ImRect_Vec4 (const ImVec4)
4 nil ImRect_ImRect_Float (float,float,float,float)
ImSpan_ImSpan 3
1 nil ImSpan_ImSpanNil ()
2 nil ImSpan_ImSpanTPtrInt (T*,int)
3 nil ImSpan_ImSpanTPtrTPtr (T*,T*)
1 nil ImSpan_ImSpan_Nil ()
2 nil ImSpan_ImSpan_TPtrInt (T*,int)
3 nil ImSpan_ImSpan_TPtrTPtr (T*,T*)
ImSpan_begin 2
1 T* ImSpan_beginNil ()
2 const T* ImSpan_begin_const ()const
1 T* ImSpan_begin_Nil ()
2 const T* ImSpan_begin__const ()const
ImSpan_end 2
1 T* ImSpan_endNil ()
2 const T* ImSpan_end_const ()const
1 T* ImSpan_end_Nil ()
2 const T* ImSpan_end__const ()const
ImSpan_set 2
1 void ImSpan_setInt (T*,int)
2 void ImSpan_setTPtr (T*,T*)
1 void ImSpan_set_Int (T*,int)
2 void ImSpan_set_TPtr (T*,T*)
ImVec1_ImVec1 2
1 nil ImVec1_ImVec1Nil ()
2 nil ImVec1_ImVec1Float (float)
1 nil ImVec1_ImVec1_Nil ()
2 nil ImVec1_ImVec1_Float (float)
ImVec2_ImVec2 2
1 nil ImVec2_ImVec2Nil ()
2 nil ImVec2_ImVec2Float (float,float)
1 nil ImVec2_ImVec2_Nil ()
2 nil ImVec2_ImVec2_Float (float,float)
ImVec2ih_ImVec2ih 3
1 nil ImVec2ih_ImVec2ihNil ()
2 nil ImVec2ih_ImVec2ihshort (short,short)
3 nil ImVec2ih_ImVec2ihVec2 (const ImVec2)
1 nil ImVec2ih_ImVec2ih_Nil ()
2 nil ImVec2ih_ImVec2ih_short (short,short)
3 nil ImVec2ih_ImVec2ih_Vec2 (const ImVec2)
ImVec4_ImVec4 2
1 nil ImVec4_ImVec4Nil ()
2 nil ImVec4_ImVec4Float (float,float,float,float)
1 nil ImVec4_ImVec4_Nil ()
2 nil ImVec4_ImVec4_Float (float,float,float,float)
ImVector_ImVector 2
1 nil ImVector_ImVectorNil ()
2 nil ImVector_ImVectorVector (const ImVector)
1 nil ImVector_ImVector_Nil ()
2 nil ImVector_ImVector_Vector_T_ (const ImVector_T )
ImVector_back 2
1 T* ImVector_backNil ()
2 const T* ImVector_back_const ()const
1 T* ImVector_back_Nil ()
2 const T* ImVector_back__const ()const
ImVector_begin 2
1 T* ImVector_beginNil ()
2 const T* ImVector_begin_const ()const
1 T* ImVector_begin_Nil ()
2 const T* ImVector_begin__const ()const
ImVector_end 2
1 T* ImVector_endNil ()
2 const T* ImVector_end_const ()const
1 T* ImVector_end_Nil ()
2 const T* ImVector_end__const ()const
ImVector_erase 2
1 T* ImVector_eraseNil (const T*)
2 T* ImVector_eraseTPtr (const T*,const T*)
1 T* ImVector_erase_Nil (const T*)
2 T* ImVector_erase_TPtr (const T*,const T*)
ImVector_find 2
1 T* ImVector_findNil (const T)
2 const T* ImVector_find_const (const T)const
1 T* ImVector_find_Nil (const T)
2 const T* ImVector_find__const (const T)const
ImVector_front 2
1 T* ImVector_frontNil ()
2 const T* ImVector_front_const ()const
1 T* ImVector_front_Nil ()
2 const T* ImVector_front__const ()const
ImVector_resize 2
1 void ImVector_resizeNil (int)
2 void ImVector_resizeT (int,const T)
1 void ImVector_resize_Nil (int)
2 void ImVector_resize_T (int,const T)
igBeginChild 2
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
1 bool igBeginChild_Str (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChild_ID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
igCheckboxFlags 4
1 bool igCheckboxFlagsIntPtr (const char*,int*,int)
2 bool igCheckboxFlagsUintPtr (const char*,unsigned int*,unsigned int)
3 bool igCheckboxFlagsS64Ptr (const char*,ImS64*,ImS64)
4 bool igCheckboxFlagsU64Ptr (const char*,ImU64*,ImU64)
1 bool igCheckboxFlags_IntPtr (const char*,int*,int)
2 bool igCheckboxFlags_UintPtr (const char*,unsigned int*,unsigned int)
3 bool igCheckboxFlags_S64Ptr (const char*,ImS64*,ImS64)
4 bool igCheckboxFlags_U64Ptr (const char*,ImU64*,ImU64)
igCollapsingHeader 2
1 bool igCollapsingHeaderTreeNodeFlags (const char*,ImGuiTreeNodeFlags)
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
1 bool igCollapsingHeader_TreeNodeFlags (const char*,ImGuiTreeNodeFlags)
2 bool igCollapsingHeader_BoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
igCombo 3
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int)
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igCombo_Str (const char*,int*,const char*,int)
3 bool igCombo_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igGetBackgroundDrawList 2
1 ImDrawList* igGetBackgroundDrawList_Nil ()
2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
igGetColorU32 3
1 ImU32 igGetColorU32Col (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32)
igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawListNil ()
2 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*)
1 ImU32 igGetColorU32_Col (ImGuiCol,float)
2 ImU32 igGetColorU32_Vec4 (const ImVec4)
3 ImU32 igGetColorU32_U32 (ImU32)
igGetForegroundDrawList 3
1 ImDrawList* igGetForegroundDrawList_Nil ()
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
igGetID 3
1 ImGuiID igGetIDStr (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*)
igImAbs 2
1 float igImAbsFloat (float)
2 double igImAbsdouble (double)
1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetID_StrStr (const char*,const char*)
3 ImGuiID igGetID_Ptr (const void*)
igImAbs 3
1 int igImAbs_Int (int)
2 float igImAbs_Float (float)
3 double igImAbs_double (double)
igImFloor 2
1 float igImFloorFloat (float)
2 ImVec2 igImFloorVec2 (const ImVec2)
1 float igImFloor_Float (float)
2 ImVec2 igImFloor_Vec2 (const ImVec2)
igImFloorSigned 2
1 float igImFloorSigned_Float (float)
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
igImIsPowerOfTwo 2
1 bool igImIsPowerOfTwoInt (int)
2 bool igImIsPowerOfTwoU64 (ImU64)
1 bool igImIsPowerOfTwo_Int (int)
2 bool igImIsPowerOfTwo_U64 (ImU64)
igImLengthSqr 2
1 float igImLengthSqrVec2 (const ImVec2)
2 float igImLengthSqrVec4 (const ImVec4)
1 float igImLengthSqr_Vec2 (const ImVec2)
2 float igImLengthSqr_Vec4 (const ImVec4)
igImLerp 3
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float)
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float)
1 ImVec2 igImLerp_Vec2Float (const ImVec2,const ImVec2,float)
2 ImVec2 igImLerp_Vec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
3 ImVec4 igImLerp_Vec4 (const ImVec4,const ImVec4,float)
igImLog 2
1 float igImLogFloat (float)
2 double igImLogdouble (double)
1 float igImLog_Float (float)
2 double igImLog_double (double)
igImPow 2
1 float igImPowFloat (float,float)
2 double igImPowdouble (double,double)
1 float igImPow_Float (float,float)
2 double igImPow_double (double,double)
igImRsqrt 2
1 float igImRsqrt_Float (float)
2 double igImRsqrt_double (double)
igImSign 2
1 float igImSignFloat (float)
2 double igImSigndouble (double)
1 float igImSign_Float (float)
2 double igImSign_double (double)
igIsPopupOpen 2
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags)
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags)
1 bool igIsPopupOpen_Str (const char*,ImGuiPopupFlags)
2 bool igIsPopupOpen_ID (ImGuiID,ImGuiPopupFlags)
igIsRectVisible 2
1 bool igIsRectVisibleNil (const ImVec2)
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
1 bool igIsRectVisible_Nil (const ImVec2)
2 bool igIsRectVisible_Vec2 (const ImVec2,const ImVec2)
igItemSize 2
1 void igItemSizeVec2 (const ImVec2,float)
2 void igItemSizeRect (const ImRect,float)
1 void igItemSize_Vec2 (const ImVec2,float)
2 void igItemSize_Rect (const ImRect,float)
igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igListBoxHeader 2
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
2 bool igListBoxHeaderInt (const char*,int,int)
1 bool igListBox_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igListBox_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igMarkIniSettingsDirty 2
1 void igMarkIniSettingsDirtyNil ()
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*)
1 void igMarkIniSettingsDirty_Nil ()
2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*)
igMenuItem 2
1 bool igMenuItemBool (const char*,const char*,bool,bool)
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
1 bool igMenuItem_Bool (const char*,const char*,bool,bool)
2 bool igMenuItem_BoolPtr (const char*,const char*,bool*,bool)
igOpenPopup 2
1 void igOpenPopup_Str (const char*,ImGuiPopupFlags)
2 void igOpenPopup_ID (ImGuiID,ImGuiPopupFlags)
igPlotHistogram 2
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotHistogramFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
1 void igPlotHistogram_FloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotHistogram_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPlotLines 2
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLinesFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
1 void igPlotLines_FloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLines_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPushID 4
1 void igPushIDStr (const char*)
2 void igPushIDStrStr (const char*,const char*)
3 void igPushIDPtr (const void*)
4 void igPushIDInt (int)
1 void igPushID_Str (const char*)
2 void igPushID_StrStr (const char*,const char*)
3 void igPushID_Ptr (const void*)
4 void igPushID_Int (int)
igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4)
1 void igPushStyleColor_U32 (ImGuiCol,ImU32)
2 void igPushStyleColor_Vec4 (ImGuiCol,const ImVec4)
igPushStyleVar 2
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
1 void igPushStyleVar_Float (ImGuiStyleVar,float)
2 void igPushStyleVar_Vec2 (ImGuiStyleVar,const ImVec2)
igRadioButton 2
1 bool igRadioButtonBool (const char*,bool)
2 bool igRadioButtonIntPtr (const char*,int*,int)
1 bool igRadioButton_Bool (const char*,bool)
2 bool igRadioButton_IntPtr (const char*,int*,int)
igSelectable 2
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
1 bool igSelectable_Bool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectable_BoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igSetScrollFromPosX 2
1 void igSetScrollFromPosXFloat (float,float)
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float)
1 void igSetScrollFromPosX_Float (float,float)
2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float)
igSetScrollFromPosY 2
1 void igSetScrollFromPosYFloat (float,float)
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float)
1 void igSetScrollFromPosY_Float (float,float)
2 void igSetScrollFromPosY_WindowPtr (ImGuiWindow*,float,float)
igSetScrollX 2
1 void igSetScrollXFloat (float)
2 void igSetScrollXWindowPtr (ImGuiWindow*,float)
1 void igSetScrollX_Float (float)
2 void igSetScrollX_WindowPtr (ImGuiWindow*,float)
igSetScrollY 2
1 void igSetScrollYFloat (float)
2 void igSetScrollYWindowPtr (ImGuiWindow*,float)
1 void igSetScrollY_Float (float)
2 void igSetScrollY_WindowPtr (ImGuiWindow*,float)
igSetWindowCollapsed 3
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond)
1 void igSetWindowCollapsed_Bool (bool,ImGuiCond)
2 void igSetWindowCollapsed_Str (const char*,bool,ImGuiCond)
3 void igSetWindowCollapsed_WindowPtr (ImGuiWindow*,bool,ImGuiCond)
igSetWindowFocus 2
1 void igSetWindowFocusNil ()
2 void igSetWindowFocusStr (const char*)
1 void igSetWindowFocus_Nil ()
2 void igSetWindowFocus_Str (const char*)
igSetWindowPos 3
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
1 void igSetWindowPos_Vec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPos_Str (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowPos_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igSetWindowSize 3
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSize_Str (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSize_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igTableGcCompactTransientBuffers 2
1 void igTableGcCompactTransientBuffers_TablePtr (ImGuiTable*)
2 void igTableGcCompactTransientBuffers_TableTempDataPtr (ImGuiTableTempData*)
igTableGetColumnName 2
1 const char* igTableGetColumnNameInt (int)
2 const char* igTableGetColumnNameTablePtr (const ImGuiTable*,int)
1 const char* igTableGetColumnName_Int (int)
2 const char* igTableGetColumnName_TablePtr (const ImGuiTable*,int)
igTreeNode 3
1 bool igTreeNodeStr (const char*)
2 bool igTreeNodeStrStr (const char*,const char*,...)
3 bool igTreeNodePtr (const void*,const char*,...)
1 bool igTreeNode_Str (const char*)
2 bool igTreeNode_StrStr (const char*,const char*,...)
3 bool igTreeNode_Ptr (const void*,const char*,...)
igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
1 bool igTreeNodeEx_Str (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeEx_StrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeEx_Ptr (const void*,ImGuiTreeNodeFlags,const char*,...)
igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
1 bool igTreeNodeExV_Str (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExV_Ptr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
igTreeNodeV 2
1 bool igTreeNodeVStr (const char*,const char*,va_list)
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
1 bool igTreeNodeV_Str (const char*,const char*,va_list)
2 bool igTreeNodeV_Ptr (const void*,const char*,va_list)
igTreePush 2
1 void igTreePushStr (const char*)
2 void igTreePushPtr (const void*)
1 void igTreePush_Str (const char*)
2 void igTreePush_Ptr (const void*)
igValue 4
1 void igValueBool (const char*,bool)
2 void igValueInt (const char*,int)
3 void igValueUint (const char*,unsigned int)
4 void igValueFloat (const char*,float,const char*)
172 overloaded
1 void igValue_Bool (const char*,bool)
2 void igValue_Int (const char*,int)
3 void igValue_Uint (const char*,unsigned int)
4 void igValue_Float (const char*,float,const char*)
182 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,14 @@
{
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
"ImDrawChannel": "struct ImDrawChannel",
"ImDrawCmd": "struct ImDrawCmd",
"ImDrawCmdHeader": "struct ImDrawCmdHeader",
"ImDrawCornerFlags": "int",
"ImDrawData": "struct ImDrawData",
"ImDrawDataBuilder": "struct ImDrawDataBuilder",
"ImDrawFlags": "int",
"ImDrawIdx": "unsigned short",
"ImDrawList": "struct ImDrawList",
"ImDrawListFlags": "int",
@@ -19,15 +20,18 @@
"ImFontAtlas": "struct ImFontAtlas",
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
"ImFontAtlasFlags": "int",
"ImFontBuilderIO": "struct ImFontBuilderIO",
"ImFontConfig": "struct ImFontConfig",
"ImFontGlyph": "struct ImFontGlyph",
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiActivateFlags": "int",
"ImGuiBackendFlags": "int",
"ImGuiButtonFlags": "int",
"ImGuiCol": "int",
"ImGuiColorEditFlags": "int",
"ImGuiColorMod": "struct ImGuiColorMod",
"ImGuiComboFlags": "int",
"ImGuiComboPreviewData": "struct ImGuiComboPreviewData",
"ImGuiCond": "int",
"ImGuiConfigFlags": "int",
"ImGuiContext": "struct ImGuiContext",
@@ -44,6 +48,13 @@
"ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int",
"ImGuiIO": "struct ImGuiIO",
"ImGuiInputEvent": "struct ImGuiInputEvent",
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int",
@@ -51,10 +62,15 @@
"ImGuiItemFlags": "int",
"ImGuiItemStatusFlags": "int",
"ImGuiKey": "int",
"ImGuiKeyData": "struct ImGuiKeyData",
"ImGuiKeyModFlags": "int",
"ImGuiLastItemDataBackup": "struct ImGuiLastItemDataBackup",
"ImGuiLastItemData": "struct ImGuiLastItemData",
"ImGuiLayoutType": "int",
"ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
"ImGuiMouseButton": "int",
@@ -62,8 +78,8 @@
"ImGuiNavDirSourceFlags": "int",
"ImGuiNavHighlightFlags": "int",
"ImGuiNavInput": "int",
"ImGuiNavItemData": "struct ImGuiNavItemData",
"ImGuiNavMoveFlags": "int",
"ImGuiNavMoveResult": "struct ImGuiNavMoveResult",
"ImGuiNextItemData": "struct ImGuiNextItemData",
"ImGuiNextItemDataFlags": "int",
"ImGuiNextWindowData": "struct ImGuiNextWindowData",
@@ -73,9 +89,11 @@
"ImGuiOldColumns": "struct ImGuiOldColumns",
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
"ImGuiPayload": "struct ImGuiPayload",
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
"ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
"ImGuiScrollFlags": "int",
"ImGuiSelectableFlags": "int",
"ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
@@ -84,7 +102,9 @@
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStackTool": "struct ImGuiStackTool",
"ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle",
@@ -108,26 +128,31 @@
"ImGuiTableRowFlags": "int",
"ImGuiTableSettings": "struct ImGuiTableSettings",
"ImGuiTableSortSpecs": "struct ImGuiTableSortSpecs",
"ImGuiTableTempData": "struct ImGuiTableTempData",
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
"ImGuiTextFilter": "struct ImGuiTextFilter",
"ImGuiTextFlags": "int",
"ImGuiTextRange": "struct ImGuiTextRange",
"ImGuiTooltipFlags": "int",
"ImGuiTreeNodeFlags": "int",
"ImGuiViewport": "struct ImGuiViewport",
"ImGuiViewportFlags": "int",
"ImGuiViewportP": "struct ImGuiViewportP",
"ImGuiWindow": "struct ImGuiWindow",
"ImGuiWindowFlags": "int",
"ImGuiWindowSettings": "struct ImGuiWindowSettings",
"ImGuiWindowStackData": "struct ImGuiWindowStackData",
"ImGuiWindowTempData": "struct ImGuiWindowTempData",
"ImPoolIdx": "int",
"ImRect": "struct ImRect",
"ImS16": "signed short",
"ImS32": "signed int",
"ImS64": "int64_t",
"ImS64": "signed long long",
"ImS8": "signed char",
"ImTextureID": "void*",
"ImU16": "unsigned short",
"ImU32": "unsigned int",
"ImU64": "uint64_t",
"ImU64": "unsigned long long",
"ImU8": "unsigned char",
"ImVec1": "struct ImVec1",
"ImVec2": "struct ImVec2",

View File

@@ -1,13 +1,14 @@
local defs = {}
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
defs["ImBitVector"] = "struct ImBitVector"
defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
defs["ImDrawChannel"] = "struct ImDrawChannel"
defs["ImDrawCmd"] = "struct ImDrawCmd"
defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
defs["ImDrawCornerFlags"] = "int"
defs["ImDrawData"] = "struct ImDrawData"
defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
defs["ImDrawFlags"] = "int"
defs["ImDrawIdx"] = "unsigned short"
defs["ImDrawList"] = "struct ImDrawList"
defs["ImDrawListFlags"] = "int"
@@ -19,15 +20,18 @@ defs["ImFont"] = "struct ImFont"
defs["ImFontAtlas"] = "struct ImFontAtlas"
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
defs["ImFontAtlasFlags"] = "int"
defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
defs["ImFontConfig"] = "struct ImFontConfig"
defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
defs["ImGuiActivateFlags"] = "int"
defs["ImGuiBackendFlags"] = "int"
defs["ImGuiButtonFlags"] = "int"
defs["ImGuiCol"] = "int"
defs["ImGuiColorEditFlags"] = "int"
defs["ImGuiColorMod"] = "struct ImGuiColorMod"
defs["ImGuiComboFlags"] = "int"
defs["ImGuiComboPreviewData"] = "struct ImGuiComboPreviewData"
defs["ImGuiCond"] = "int"
defs["ImGuiConfigFlags"] = "int"
defs["ImGuiContext"] = "struct ImGuiContext"
@@ -44,6 +48,13 @@ defs["ImGuiGroupData"] = "struct ImGuiGroupData"
defs["ImGuiHoveredFlags"] = "int"
defs["ImGuiID"] = "unsigned int"
defs["ImGuiIO"] = "struct ImGuiIO"
defs["ImGuiInputEvent"] = "struct ImGuiInputEvent"
defs["ImGuiInputEventAppFocused"] = "struct ImGuiInputEventAppFocused"
defs["ImGuiInputEventKey"] = "struct ImGuiInputEventKey"
defs["ImGuiInputEventMouseButton"] = "struct ImGuiInputEventMouseButton"
defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextFlags"] = "int"
@@ -51,10 +62,15 @@ defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemFlags"] = "int"
defs["ImGuiItemStatusFlags"] = "int"
defs["ImGuiKey"] = "int"
defs["ImGuiKeyData"] = "struct ImGuiKeyData"
defs["ImGuiKeyModFlags"] = "int"
defs["ImGuiLastItemDataBackup"] = "struct ImGuiLastItemDataBackup"
defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
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"
@@ -62,8 +78,8 @@ defs["ImGuiMouseCursor"] = "int"
defs["ImGuiNavDirSourceFlags"] = "int"
defs["ImGuiNavHighlightFlags"] = "int"
defs["ImGuiNavInput"] = "int"
defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
defs["ImGuiNavMoveFlags"] = "int"
defs["ImGuiNavMoveResult"] = "struct ImGuiNavMoveResult"
defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
defs["ImGuiNextItemDataFlags"] = "int"
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
@@ -73,9 +89,11 @@ defs["ImGuiOldColumnFlags"] = "int"
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
defs["ImGuiPayload"] = "struct ImGuiPayload"
defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
defs["ImGuiPopupData"] = "struct ImGuiPopupData"
defs["ImGuiPopupFlags"] = "int"
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
defs["ImGuiScrollFlags"] = "int"
defs["ImGuiSelectableFlags"] = "int"
defs["ImGuiSeparatorFlags"] = "int"
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
@@ -84,7 +102,9 @@ defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
defs["ImGuiStyle"] = "struct ImGuiStyle"
@@ -108,26 +128,31 @@ defs["ImGuiTableFlags"] = "int"
defs["ImGuiTableRowFlags"] = "int"
defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
defs["ImGuiTableTempData"] = "struct ImGuiTableTempData"
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
defs["ImGuiTextFlags"] = "int"
defs["ImGuiTextRange"] = "struct ImGuiTextRange"
defs["ImGuiTooltipFlags"] = "int"
defs["ImGuiTreeNodeFlags"] = "int"
defs["ImGuiViewport"] = "struct ImGuiViewport"
defs["ImGuiViewportFlags"] = "int"
defs["ImGuiViewportP"] = "struct ImGuiViewportP"
defs["ImGuiWindow"] = "struct ImGuiWindow"
defs["ImGuiWindowFlags"] = "int"
defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
defs["ImGuiWindowStackData"] = "struct ImGuiWindowStackData"
defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData"
defs["ImPoolIdx"] = "int"
defs["ImRect"] = "struct ImRect"
defs["ImS16"] = "signed short"
defs["ImS32"] = "signed int"
defs["ImS64"] = "int64_t"
defs["ImS64"] = "signed long long"
defs["ImS8"] = "signed char"
defs["ImTextureID"] = "void*"
defs["ImU16"] = "unsigned short"
defs["ImU32"] = "unsigned int"
defs["ImU64"] = "uint64_t"
defs["ImU64"] = "unsigned long long"
defs["ImU8"] = "unsigned char"
defs["ImVec1"] = "struct ImVec1"
defs["ImVec2"] = "struct ImVec2"

View File

@@ -0,0 +1,25 @@
#include "imgui.h"
#define CIMGUI_STRINGIZE_(x) #x
#define CIMGUI_STRINGIZE(x) CIMGUI_STRINGIZE_(x)
#define CIMGUI_DEFSTRING(x) "#define " #x " " CIMGUI_STRINGIZE(x)
#ifdef IMGUI_VERSION
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION))
#endif
#ifdef IMGUI_HAS_DOCK
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK))
#endif
#ifdef IMGUI_HAS_IMSTR
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_IMSTR))
#endif
#ifdef FLT_MIN
#pragma message(CIMGUI_DEFSTRING(FLT_MIN))
#endif
#ifdef FLT_MAX
#pragma message(CIMGUI_DEFSTRING(FLT_MAX))
#endif

2
imgui

Submodule imgui updated: 58075c4414...c71a50deb5

View File

@@ -2,6 +2,15 @@
#include <assert.h>
#include "../cimgui.h"
#ifdef IMGUI_HAS_IMSTR
#define igBegin igBegin_Str
#define igSliderFloat igSliderFloat_Str
#define igCheckbox igCheckbox_Str
#define igColorEdit3 igColorEdit3_Str
#define igButton igButton_Str
#define igDebugCheckVersionAndDataLayout igDebugCheckVersionAndDataLayout_Str
#endif
int main(void)
{
assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle),