Compare commits

..

228 Commits

Author SHA1 Message Date
sonoro1234
4492660bb9 pull imgui docking 1.87 and generate 2022-02-07 18:56:16 +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
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
Victor Bombi
6791a95f79 Merge branch 'docking_inter' 2021-01-27 10:54:09 +01:00
Victor Bombi
86112e0b45 generation 2021-01-27 10:48:46 +01:00
Victor Bombi
c4d1f5423e generator: replace FLT_MIN in substring 2021-01-27 10:48:25 +01:00
Victor Bombi
36e0d7a41e generator: take care of FLT_MIN 2021-01-27 10:21:07 +01:00
Victor Bombi
1bdfc0964e pull submodule imgui master 2021-01-24 13:15:57 +01:00
Victor Bombi
7b9f0c7499 pull imgui master and generate 2021-01-24 11:34:52 +01:00
Victor Bombi
0d96f60b80 pull imgui 1.80 docking and generate 2021-01-22 11:09:18 +01:00
Victor Bombi
3eec69f133 generator.lua: correctly detect IMGUI_HAS_DOCK 2021-01-22 11:07:21 +01:00
Victor Bombi
ab67137994 gitmodules: set correct branch for docking 2021-01-10 20:01:54 +01:00
Victor Bombi
7d5f753a9d pull imgui docking and regenerate 2020-12-23 10:13:02 +01:00
Victor Bombi
3b563153fd readme: update readme cloning 2020-12-23 10:05:01 +01:00
Victor Bombi
7f4ca76e37 Merge branch 'docking_inter' 2020-12-17 13:07:25 +01:00
Victor Bombi
6047c638c4 cpp2ffi: take_lines drop spaces after line (needed by cl) fixes #171 2020-12-17 13:05:54 +01:00
Victor Bombi
414ad3f8f4 Merge branch 'docking_inter' 2020-12-15 11:41:00 +01:00
Victor Bombi
a21c31f123 generator: detect IMGUI_HAS_DOCK and keep it in cimgui.h 2020-12-15 11:33:30 +01:00
Victor Bombi
99611664b7 Merge branch 'docking_inter' 2020-12-14 18:00:16 +01:00
Victor Bombi
45aada6ecb preparation for 1.80 with imgui_tables.cpp addition and 8bytes enum values 2020-12-14 17:57:47 +01:00
Victor Bombi
98bfe43755 Merge branch 'docking_inter' 2020-12-05 14:06:52 +01:00
Victor Bombi
4a4c804ad9 add TODO.txt 2020-12-05 14:05:29 +01:00
Victor Bombi
48c97106cc Merge branch 'docking_inter' 2020-12-01 16:35:11 +01:00
Victor Bombi
e417e3500b cpp2ffi: only use ftemplate_list if ftemplate_list[ttype] is defined (needed by implot_internal) 2020-12-01 12:35:43 +01:00
Victor Bombi
ee5534d7cd Merge branch 'docking_inter' 2020-10-30 15:37:48 +01:00
Victor Bombi
54cfcabdde correct readme 2020-10-30 15:36:17 +01:00
Victor Bombi
e0279fa53d Merge branch 'docking_inter' 2020-10-30 15:34:38 +01:00
M. Frink ~ Lemur
43bfbe227d Fixed typo 2020-10-30 15:31:53 +01:00
M. Frink ~ Lemur
2a6970b50b Fixed typo 2020-10-30 15:31:53 +01:00
Micon Frink
507e19bc7e adding documentation 2020-10-30 15:31:53 +01:00
Micon Frink
3f2e6f40df added a ternary to check for cl so that we don't have problems with Linux absolute paths... 2020-10-30 15:31:53 +01:00
Micon Frink
be7bb9a72e forgot to add the CFLAGS to to the actual calls. Also realized that we really should process the cl calls so fixed that too. 2020-10-30 15:31:53 +01:00
Micon Frink
fc677cb849 adding flags to generator.lua 2020-10-30 15:31:53 +01:00
Victor Bombi
aa1b438f7f Merge pull request #165 from frink/flags
Adding CFLAGS to generator.lua
2020-10-29 20:37:34 +01:00
M. Frink ~ Lemur
9828871a89 Fixed typo 2020-10-29 12:28:40 -05:00
M. Frink ~ Lemur
236c296049 Fixed typo 2020-10-29 12:26:36 -05:00
Micon Frink
3b01e79d6d adding documentation 2020-10-29 16:31:38 +00:00
Victor Bombi
ebfa448e25 Merge branch 'docking_inter' 2020-10-28 17:52:30 +01:00
Victor Bombi
0704912579 cpp2ffi: get_parents_nameC correction 2020-10-28 17:51:16 +01:00
Micon Frink
06f3c006c3 added a ternary to check for cl so that we don't have problems with Linux absolute paths... 2020-10-28 06:31:32 +00:00
Micon Frink
5c469cca4e forgot to add the CFLAGS to to the actual calls. Also realized that we really should process the cl calls so fixed that too. 2020-10-28 06:19:41 +00:00
Micon Frink
7d6fdb66bb adding flags to generator.lua 2020-10-28 05:44:57 +00:00
Victor Bombi
e1ea75be6e Merge branch 'docking_inter' 2020-10-27 15:05:36 +01:00
Victor Bombi
c46a2eded6 cpp2ffi: parseFunction receives nested namespace name (ImNodes needs it) 2020-10-27 15:03:53 +01:00
Victor Bombi
756ce6330a Merge branch 'docking_inter' 2020-10-27 12:35:15 +01:00
Victor Bombi
4e5d12e86e cpp2ffi: take care of template different of typename, generator: ImSpan template generation 2020-10-27 12:32:44 +01:00
Victor Bombi
bb0cb8090a Merge branch 'docking_inter' 2020-10-24 16:46:33 +02:00
Victor Bombi
9cb4b4f63c detect backends folder in generator and backend_test 2020-10-24 16:41:57 +02:00
Oleh Prypin
a97c90ec4f Add crystal-imgui as an example binding 2020-10-19 18:21:53 +02:00
Victor Bombi
b50e8c0d85 Merge pull request #161 from oprypin/patch-1
Add crystal-imgui as an example binding
2020-10-19 18:19:45 +02:00
Oleh Prypin
ad5580b5d7 Add crystal-imgui as an example binding 2020-10-19 18:06:47 +02:00
Victor Bombi
a1f2cef9d3 readme: correct links 2020-10-19 17:42:32 +02:00
Victor Bombi
75a27d5e34 readme: correct links 2020-10-19 17:39:51 +02:00
Marcelo Silva Nascimento Mancini
59e4829b4b Add bindbc-cimgui as an example binding
DerelictImGui is too old for the state ImGui is right now, so I made  a binding which is -betterC switch compatible with D and it is updated to the 1.79 version which I'll be supporting for a great time
2020-10-19 17:36:51 +02:00
Victor Bombi
7aa18d11a1 Merge pull request #160 from MrcSnm/patch-1
Add bindbc-cimgui as an example binding
2020-10-19 17:35:22 +02:00
Marcelo Silva Nascimento Mancini
b26f477c20 Add bindbc-cimgui as an example binding
DerelictImGui is too old for the state ImGui is right now, so I made  a binding which is -betterC switch compatible with D and it is updated to the 1.79 version which I'll be supporting for a great time
2020-10-19 08:10:02 -07:00
Victor Bombi
33fb5eb309 readme: explain defaults of generator, change implementations by backends 2020-10-19 16:41:13 +02:00
Victor Bombi
3700abd326 readme: explain defaults of generator, change implementations by backends 2020-10-19 16:25:21 +02:00
Victor Bombi
16609ed627 Merge branch 'master' into docking_inter 2020-10-19 10:17:32 +02:00
Victor Bombi
87158fa6b4 Merge pull request #159 from MrcSnm/master
Added another check for null sdl include on backend_test
2020-10-19 10:14:05 +02:00
Hipreme
7ce241d5d8 Added another check for null sdl include 2020-10-18 15:31:43 -03:00
Victor Bombi
44af224530 repair docking branch (some merge commit broke it) 2020-10-18 19:46:25 +02:00
Victor Bombi
213086639f backend_test: make mingw with SDL have console output 2020-10-18 19:39:29 +02:00
Victor Bombi
5bd8981f19 backend_test: make mingw with SDL have console output 2020-10-18 19:32:26 +02:00
Victor Bombi
bd89e83f70 Merge branch 'docking_inter' 2020-10-18 15:14:30 +02:00
Victor Bombi
1f5590c0b0 backend_test/main: include windows.h for GL in MSVC 2020-10-18 13:51:37 +02:00
Victor Bombi
8eff25b5ee backend_test: main dont uses USE_DOCKING in master branch 2020-10-16 17:35:40 +02:00
Victor Bombi
31bc8389d3 Merge branch 'docking_inter' 2020-10-16 17:33:50 +02:00
Victor Bombi
64ed803093 backend_test: dont use glw3 loader on main, add USE_DOCKING define 2020-10-16 17:33:05 +02:00
Victor Bombi
e58ac87fba Merge branch 'docking_inter' 2020-10-16 16:30:42 +02:00
Victor Bombi
c1a4efeb10 README.md updated with backend_test info 2020-10-16 16:29:47 +02:00
Victor Bombi
9b6769e810 Merge branch 'docking_inter' 2020-10-16 16:17:35 +02:00
Victor Bombi
5a5ac45e55 add backend_test for sdl2 opengl3 2020-10-16 15:56:11 +02:00
Victor Bombi
c0d36ab1d6 pull imgui master 1.79 and generate 2020-10-09 16:55:18 +02:00
Victor Bombi
d32282504c Merge branch 'docking_inter' 2020-10-09 16:48:56 +02:00
Victor Bombi
78ed715f21 Merge branch 'docking_inter' 2020-10-07 10:03:20 +02:00
Victor Bombi
708787b8f0 Merge pull request #154 from tversteeg/consistent-json
Always make enum values a string
2020-10-06 20:15:14 +02:00
Victor Bombi
2280cfa91b Merge pull request #153 from tversteeg/patch-1
Make git commands in README.md code blocks
2020-10-06 20:13:54 +02:00
Thomas Versteeg
d813613997 Always make enum values a string 2020-10-06 17:35:18 +02:00
Thomas Versteeg
0e46431ad7 Make git commands in README.md code blocks
This way they can be copied and `https://github.com/cimgui/cimgui.git` won't be shortened to `cimgui/cimgui.git`.
2020-10-06 12:29:25 +02:00
Victor Bombi
0c877db449 Merge branch 'docking_inter' 2020-10-03 16:35:53 +02:00
Victor Bombi
cbed1120b1 Merge branch 'docking_inter' 2020-10-02 21:20:58 +02:00
Victor Bombi
3f0f7d2ba5 Merge branch 'docking_inter' 2020-09-26 09:58:19 +02:00
Victor Bombi
e748e6bc95 Merge branch 'docking_inter' 2020-09-26 09:37:39 +02:00
Victor Bombi
67c49ea1fd Merge pull request #149 from slmjkdbtl/make-static
Makefile: add option to compile as static lib
2020-09-20 16:09:08 +02:00
Victor Bombi
101631d3c8 cpp2ffi: only generate typedef of structs when it is a vardef_re of struct, location get more defines (not only two words) 2020-09-11 18:13:35 +02:00
Victor Bombi
d59448763f Freetype2 allow generation and compilation with Freetype2 2020-09-10 12:22:35 +02:00
Victor Bombi
1ed28e5a0e generation 2020-09-09 18:01:06 +02:00
Victor Bombi
db6d57f899 cpp2ffi: new parseFunction allowing not named args and some & corrections 2020-09-09 18:00:31 +02:00
tga
e6540f7682 Makefile add option to compile as static lib 2020-09-09 05:04:29 -04:00
Victor Bombi
4c1d18802f cpp2ffi: reconstruct signature from argsT (needed after allowing not named function arguments) 2020-09-08 18:38:56 +02:00
Victor Bombi
aa75ad3e99 cpp2ffi: dont break on untagged enums or unamed function arguments but post warning and try to repair 2020-09-08 16:31:58 +02:00
Victor Bombi
dbcc6d1529 cpp2ffi: implement func templates by ftemplate_list 2020-09-07 12:29:46 +02:00
Victor Bombi
53156c32c6 cpp2ffi: export parse_enum_value (used in LuaJIT-ImGui class_gen) 2020-09-06 18:43:07 +02:00
Victor Bombi
a91865dc27 cpp2ffi: add ":" to characters in default detection 2020-09-06 15:59:03 +02:00
Victor Bombi
bb0dd1ac93 cpp2ffi: split func_header_generate into func_header_generate_structs and func_header_generate_funcs 2020-09-06 10:49:48 +02:00
Victor Bombi
59e49145e8 cpp2ffi: skip static variable from template detection also 2020-09-05 11:25:45 +02:00
Victor Bombi
75c05adbcb generation 2020-09-04 16:59:21 +02:00
Victor Bombi
22728d5470 generator.lua: generate_templates with table_do_sorted for output consistency 2020-09-04 16:58:42 +02:00
Victor Bombi
aeac366ece generator.lua: pre sorted changes 2020-09-04 16:58:42 +02:00
Victor Bombi
678ae8b32b cpp2ffi: use table_do_sorted in func_header_generate to have more output consistency 2020-09-04 16:58:42 +02:00
Victor Bombi
2b0058b61e generator: cpp2ffi rule out template typename (ex. T) so avoid correction in generator.lua 2020-09-04 16:58:42 +02:00
Victor Bombi
18af68901e generation with new recursive parser 2020-09-04 10:53:15 +02:00
Victor Bombi
ebc4b3548a new parser: update README.md 2020-09-04 10:51:57 +02:00
Victor Bombi
c6c733bac4 new parser: clean_structR1 clean vardef_re initializations 2020-09-04 10:51:57 +02:00
Victor Bombi
bf98608d4f move parseFunctions to gen_structs_and_enums 2020-09-04 10:51:57 +02:00
Victor Bombi
83b5cc19a0 clean get_parents_name 2020-09-04 10:51:57 +02:00
Victor Bombi
e9fa5cb5e2 new generator: embeded_structs use get_parents_name 2020-09-04 10:51:56 +02:00
Victor Bombi
66ae832d05 new generator move embeded_structs detection to gen_structs_and_enums 2020-09-04 10:51:56 +02:00
Victor Bombi
1d7ef93de9 new parser move templates in struct detection to parseItems 2020-09-04 10:51:56 +02:00
Victor Bombi
d08bad2477 new recursive parser3: take care of static functions 2020-09-04 10:51:56 +02:00
Victor Bombi
2afe1f5beb new recusive parser2 2020-09-04 10:51:56 +02:00
Victor Bombi
7b6e549e9c cpp2ffi: new recursive parser 2020-09-04 10:51:56 +02:00
Victor Bombi
cfdfe11c10 cpp2ffi: skip function_re and functionD_re as not processed (they are processed already) 2020-08-31 11:19:43 +02:00
Victor Bombi
a0056887df cpp2ffi: function_re: avoid confusion with asignment, templated args: allow several, add not processed info 2020-08-31 11:19:42 +02:00
Victor Bombi
a486f2999a cpp2ffi: embeded_enums typedef generation (for ImGuizmo) and gen_structs_and_enums keeps strings (to avoid running twice) 2020-08-29 14:29:33 +02:00
Victor Bombi
7cf1592256 cpp2ffi: get enums in namespace (needed by ImGuizmo) 2020-08-28 19:05:48 +02:00
Victor Bombi
f4e1cc4135 generator: move C writting functions inside cpp2ffi 2020-08-28 17:10:36 +02:00
Victor Bombi
e328a55f4c cpp2ffi: functions defined inside class may have optional ; ending (needed by implot v0.5) 2020-08-28 13:00:39 +02:00
Victor Bombi
f66c7e1cf8 README.md: add kotlin-imgui 2020-08-28 12:07:48 +02:00
Victor Bombi
0ae7a19bbd README.md update example bindings 2020-08-28 11:58:24 +02:00
Victor Bombi
a4cf018ba8 generation with last cpp2ffi 2020-08-28 10:46:48 +02:00
Victor Bombi
fb2c0816db cpp2ffi: name [] to name[] 2020-08-28 10:45:38 +02:00
Victor Bombi
2d8b3fb731 generation after cpp2ffi modification 2020-08-24 20:07:25 +02:00
Victor Bombi
47fbe806a2 cpp2ffi: add json parsing for typedef struct inside namespace (STB_TexteditState) 2020-08-24 20:06:17 +02:00
Victor Bombi
050d68a614 cpp2ffi: typedef_st_re modification for separating diferent consecutive typedef structs 2020-08-24 20:06:17 +02:00
Victor Bombi
90ddbc37b0 pull imgui 1.78 and generate 2020-08-18 21:11:32 +02:00
Victor Bombi
fe65bbf5cd Merge pull request #143 from oprypin/cimake
Simplify CMake invocation in CI
2020-08-13 10:43:34 +02:00
Oleh Prypin
8668cb268c Switch Ubuntu version to focal 2020-08-12 22:04:55 +02:00
Oleh Prypin
5ee318e21e Simplify CMake invocation in CI 2020-08-09 19:19:57 +02:00
Victor Bombi
d335744253 generation for locations in structs_and_enums 2020-07-07 10:04:13 +02:00
Victor Bombi
6ddccdc1de update readme for locations in struct_and_enums 2020-07-07 10:02:39 +02:00
Victor Bombi
45c3de9423 cpp2ffi: add locations to struct_and_enums 2020-07-07 10:02:21 +02:00
Victor Bombi
c1f0030b20 generate again 2020-06-30 09:41:01 +02:00
Victor Bombi
4645c082fa cpp2ffi.lua: remove explicit keyword, get template_type from parser.templates instead of string substitution (solves issues #140 and #141) 2020-06-30 09:39:48 +02:00
Victor Bombi
92a029f678 README.md update 2020-06-29 18:57:39 +02:00
Victor Bombi
bc3bc4583d pull imgui master 1.77 and generate 2020-06-29 18:55:13 +02:00
Victor Bombi
13ad240b74 readme: argsT when arg is function pointer 2020-06-08 18:03:20 +02:00
Victor Bombi
74ca33d026 generation with non const ref to ptr 2020-06-06 11:42:25 +02:00
Victor Bombi
ab53af765f non const ref to pointer 2020-06-06 11:41:33 +02:00
Victor Bombi
4e160d8017 generation with location info 2020-06-05 20:46:02 +02:00
Victor Bombi
8b4ebff2e2 update readme with location info 2020-06-05 20:45:08 +02:00
Victor Bombi
a27b5236db keep implementations locations 2020-06-05 20:45:08 +02:00
Victor Bombi
19e41cf8e9 keep function locations
keep locations
2020-06-05 20:45:08 +02:00
Victor Bombi
61784f32f9 readme: size field in struct description 2020-05-31 10:37:10 +02:00
Victor Bombi
250169feb7 generation after FnPtr change 2020-05-30 15:33:12 +02:00
Victor Bombi
16846a206b FnPtr changes to FnretvalPtr to allow 2 overloadings with different FnPtr, corrected checking equal ov_cimguiname 2020-05-30 15:30:57 +02:00
Victor Bombi
f30441fd5d CMakeLists.txt modification for MSVC thanks to @Sewer56 2020-05-25 16:54:55 +02:00
Victor Bombi
787939bebc getCname uses namespace 2020-05-16 16:50:12 +02:00
28 changed files with 26923 additions and 8415 deletions

1
.gitmodules vendored
View File

@@ -1,3 +1,4 @@
[submodule "imgui"] [submodule "imgui"]
path = imgui path = imgui
url = https://github.com/ocornut/imgui.git url = https://github.com/ocornut/imgui.git
branch = master

View File

@@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.1)
project(cimgui) project(cimgui)
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui_tables.cpp)
set(TABLES_SOURCE "imgui/imgui_tables.cpp")
else()
set(TABLES_SOURCE "")
endif()
#general settings #general settings
file(GLOB IMGUI_SOURCES file(GLOB IMGUI_SOURCES
cimgui.cpp cimgui.cpp
@@ -9,6 +16,7 @@ file(GLOB IMGUI_SOURCES
imgui/imgui_draw.cpp imgui/imgui_draw.cpp
imgui/imgui_demo.cpp imgui/imgui_demo.cpp
imgui/imgui_widgets.cpp imgui/imgui_widgets.cpp
${TABLES_SOURCE}
) )
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library") set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
@@ -32,6 +40,7 @@ endif (IMGUI_STATIC)
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1) target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
if (WIN32) if (WIN32)
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\)) target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
list(APPEND IMGUI_LIBRARIES imm32)
else (WIN32) else (WIN32)
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t) target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
endif (WIN32) endif (WIN32)

View File

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

View File

@@ -11,9 +11,9 @@ 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) 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: Notes:
* currently this wrapper is based on version [1.79 docking 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. * only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui implementations you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project. * 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. * 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.
* Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt) * Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt)
@@ -21,22 +21,27 @@ Notes:
* clone * clone
* `git clone --recursive https://github.com/cimgui/cimgui.git` * `git clone --recursive https://github.com/cimgui/cimgui.git`
* `git submodule update` * `git submodule update --init --recursive` (If already cloned)
* compile * compile
* using makefile on linux/macOS/mingw (Or use CMake to generate project) * 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 * 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.
# using generator # using generator
* this is only needed (before compilation) if you want an imgui version different from the one provided, otherwise generation is already done. * this is only needed (before compilation) if you want an imgui version different from the one provided, otherwise generation is already done.
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download * you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc) * you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
* update `imgui` folder to the version you desire. * update `imgui` folder to the version you desire.
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired implementations and whether imgui_internal is generated or not and Freetype2 is used or not. * edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not and Freetype2 is used or not.
* edit config_generator.lua for adding includes needed by your chosen implementations (vulkan needs that). * the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, opengl2 and opengl3 as backends.
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH. * Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info. * as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
* You can pass compiler flags to generator.sh or generator.bat at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
# generate binding # generate binding
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS * C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
@@ -86,6 +91,10 @@ Notes:
* functions that belong to a struct have an extra first argument with a pointer to the struct. * functions that belong to a struct have an extra first argument with a pointer to the struct.
* where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct). * where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct).
# usage with backends
* look at backend_test folder for a cmake module building with SDL and opengl3.
# example bindings based on cimgui # example bindings based on cimgui
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) * [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
@@ -95,12 +104,14 @@ Notes:
* [CImGui.jl](https://github.com/Gnimuc/CImGui.jl) * [CImGui.jl](https://github.com/Gnimuc/CImGui.jl)
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui) * [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui) * [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
* [BindBC-CimGui](https://github.com/MrcSnm/bindbc-cimgui)
* [imgui-rs](https://github.com/Gekkio/imgui-rs) * [imgui-rs](https://github.com/Gekkio/imgui-rs)
* [imgui-pas](https://github.com/dpethes/imgui-pas) * [imgui-pas](https://github.com/dpethes/imgui-pas)
* [crystal-imgui](https://github.com/oprypin/crystal-imgui)
# C examples based on cimgui # C examples based on cimgui
* [sdl2_opengl3](https://github.com/cimgui/cimgui/tree/docking_inter/backend_test)
* [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo) * [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo)
* [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/) * [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/)
* [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW * [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW

5
TODO.txt Normal file
View File

@@ -0,0 +1,5 @@
- Being able to use a prefix for structs and enums. Could be a manual dictionary or an option to take parent namespace and struct (https://github.com/rokups/ImNodes/pull/20#issuecomment-719713982)
- Being able to generate separate headers for imgui and imgui_internal. (https://github.com/cimgui/cimgui/pull/126#issuecomment-735674105)

106
backend_test/CMakeLists.txt Normal file
View File

@@ -0,0 +1,106 @@
Project(cimgui_sdl)
cmake_minimum_required(VERSION 2.8)
if(WIN32) #to mingw work as all the others
set(CMAKE_SHARED_LIBRARY_PREFIX "")
endif(WIN32)
#general settings
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/backends)
set(BAKENDS_FOLDER "../imgui/backends/")
else()
set(BAKENDS_FOLDER "../imgui/examples/")
endif()
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/imgui_tables.cpp)
set(TABLES_SOURCE "../imgui/imgui_tables.cpp")
else()
set(TABLES_SOURCE "")
endif()
include_directories(../imgui)
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../)
set(IMGUI_SOURCES ../cimgui.cpp
../imgui/imgui.cpp
../imgui/imgui_draw.cpp
../imgui/imgui_demo.cpp
../imgui/imgui_widgets.cpp
${TABLES_SOURCE}
)
set(IMGUI_SOURCES_sdl)
set(IMGUI_LIBRARIES )
if (WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
#optional adding freetype
option(IMGUI_FREETYPE "add Freetype2" OFF)
if(IMGUI_FREETYPE)
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
list(APPEND IMGUI_LIBRARIES freetype)
list(APPEND IMGUI_SOURCES ../imgui/misc/freetype/imgui_freetype.cpp)
add_definitions("-DCIMGUI_FREETYPE=1")
endif(IMGUI_FREETYPE)
#opengl3
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
include_directories(../imgui/examples/libs/gl3w)
if(WIN32)
list(APPEND IMGUI_LIBRARIES opengl32)
else(WIN32)#Unix
list(APPEND IMGUI_LIBRARIES GL)
endif(WIN32)
#sdl2
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 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
message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
include_directories(${SDL2_INCLUDE_DIRS})
set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
else()#use new one SDL2 config
include_directories(${SDL_INCLUDE})
set(IMGUI_SDL_LIBRARY SDL2::SDL2)
set(SDL_MAIN SDL2::SDL2main)
message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
endif()
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})
#using library
include_directories(../generator/output/)
add_executable(test_sdl main.c)
if (MINGW)
target_link_options(test_sdl PRIVATE "-mconsole")
endif()
target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)

195
backend_test/main.c Normal file
View File

@@ -0,0 +1,195 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h"
#include "cimgui_impl.h"
#include <stdio.h>
#define SDL_MAIN_HANDLED
#include <SDL.h>
#ifdef _MSC_VER
#include <windows.h>
#endif
#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;
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
SDL_Log("failed to init: %s", SDL_GetError());
return -1;
}
// Decide GL+GLSL versions
#if __APPLE__
// GL 3.2 Core + GLSL 150
const char* glsl_version = "#version 150";
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG); // Always required on Mac
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
#else
// GL 3.0 + GLSL 130
const char* glsl_version = "#version 130";
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
#endif
// and prepare OpenGL stuff
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_DisplayMode current;
SDL_GetCurrentDisplayMode(0, &current);
window = SDL_CreateWindow(
"Hello", 0, 0, 1024, 768,
SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE
);
if (window == NULL) {
SDL_Log("Failed to create window: %s", SDL_GetError());
return -1;
}
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
SDL_GL_SetSwapInterval(1); // enable vsync
// check opengl version sdl uses
SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION));
// setup imgui
igCreateContext(NULL);
//set docking
ImGuiIO* ioptr = igGetIO();
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
#ifdef IMGUI_HAS_DOCK
ioptr->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
#endif
ImGui_ImplSDL2_InitForOpenGL(window, gl_context);
ImGui_ImplOpenGL3_Init(glsl_version);
igStyleColorsDark(NULL);
//ImFontAtlas_AddFontDefault(io.Fonts, NULL);
bool showDemoWindow = true;
bool showAnotherWindow = false;
ImVec4 clearColor;
clearColor.x = 0.45f;
clearColor.y = 0.55f;
clearColor.z = 0.60f;
clearColor.w = 1.00f;
bool quit = false;
while (!quit)
{
SDL_Event e;
// we need to call SDL_PollEvent to let window rendered, otherwise
// no window will be shown
while (SDL_PollEvent(&e) != 0)
{
ImGui_ImplSDL2_ProcessEvent(&e);
if (e.type == SDL_QUIT)
quit = true;
if (e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_CLOSE && e.window.windowID == SDL_GetWindowID(window))
quit = true;
}
// start imgui frame
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplSDL2_NewFrame(window);
igNewFrame();
if (showDemoWindow)
igShowDemoWindow(&showDemoWindow);
// show a simple window that we created ourselves.
{
static float f = 0.0f;
static int counter = 0;
igBegin("Hello, world!", NULL, 0);
igText("This is some useful text");
igCheckbox("Demo window", &showDemoWindow);
igCheckbox("Another window", &showAnotherWindow);
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
igColorEdit3("clear color", (float*)&clearColor, 0);
ImVec2 buttonSize;
buttonSize.x = 0;
buttonSize.y = 0;
if (igButton("Button", buttonSize))
counter++;
igSameLine(0.0f, -1.0f);
igText("counter = %d", counter);
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
igEnd();
}
if (showAnotherWindow)
{
igBegin("imgui Another Window", &showAnotherWindow, 0);
igText("Hello from imgui");
ImVec2 buttonSize;
buttonSize.x = 0; buttonSize.y = 0;
if (igButton("Close me", buttonSize))
{
showAnotherWindow = false;
}
igEnd();
}
// render
igRender();
SDL_GL_MakeCurrent(window, gl_context);
glViewport(0, 0, (int)ioptr->DisplaySize.x, (int)ioptr->DisplaySize.y);
glClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w);
glClear(GL_COLOR_BUFFER_BIT);
ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData());
#ifdef IMGUI_HAS_DOCK
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
{
SDL_Window* backup_current_window = SDL_GL_GetCurrentWindow();
SDL_GLContext backup_current_context = SDL_GL_GetCurrentContext();
igUpdatePlatformWindows();
igRenderPlatformWindowsDefault(NULL,NULL);
SDL_GL_MakeCurrent(backup_current_window, backup_current_context);
}
#endif
SDL_GL_SwapWindow(window);
}
// clean up
ImGui_ImplOpenGL3_Shutdown();
ImGui_ImplSDL2_Shutdown();
igDestroyContext(NULL);
SDL_GL_DeleteContext(gl_context);
if (window != NULL)
{
SDL_DestroyWindow(window);
window = NULL;
}
SDL_Quit();
return 0;
}

1648
cimgui.cpp

File diff suppressed because it is too large Load Diff

2342
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,14 @@
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/imgui.h" #ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE #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" #include "./imgui/misc/freetype/imgui_freetype.h"
#endif #endif
#include "./imgui/imgui_internal.h" #include "./imgui/imgui_internal.h"
@@ -35,6 +43,11 @@ CIMGUI_API float igGET_FLT_MAX()
return FLT_MAX; return FLT_MAX;
} }
CIMGUI_API float igGET_FLT_MIN()
{
return FLT_MIN;
}
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create() CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
{ {

View File

@@ -8,9 +8,6 @@
#else #else
#define API __declspec(dllexport) #define API __declspec(dllexport)
#endif #endif
#ifndef __GNUC__
#define snprintf sprintf_s
#endif
#else #else
#ifdef __GNUC__ #ifdef __GNUC__
#define API __attribute__((__visibility__("default"))) #define API __attribute__((__visibility__("default")))
@@ -55,6 +52,8 @@ CIMGUI_API void igLogText(CONST char *fmt, ...);
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...); CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
//for getting FLT_MAX in bindings //for getting FLT_MAX in bindings
CIMGUI_API float igGET_FLT_MAX(); CIMGUI_API float igGET_FLT_MAX();
//for getting FLT_MIN in bindings
CIMGUI_API float igGET_FLT_MIN();
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create(); CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();

View File

@@ -139,6 +139,7 @@ local function clean_spaces(cad)
cad = strip(cad) cad = strip(cad)
cad = cad:gsub("%s+"," ") --not more than one space 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") --not spaces with ( , ) or ( = ) or ( : ) or +
cad = cad:gsub("%s*(>>)%s*","%1")
--name [] to name[] --name [] to name[]
cad = cad:gsub("(%S)%s(%[)","%1%2") cad = cad:gsub("(%S)%s(%[)","%1%2")
--clean %d * %d (could be done above but type*name should be treated different in other places) --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 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 parse_enum_value(value, allenums,dontpost)
local function clean(val) local function clean(val)
if type(val)=="string" then if type(val)=="string" then
@@ -159,21 +176,25 @@ local function parse_enum_value(value, allenums,dontpost)
if type(value)=="number" then if type(value)=="number" then
return value return value
elseif type(value)=="string" then elseif type(value)=="string" then
--print(value)
--numbers --numbers
local numval = tonumber(value) local numval = tonumber(value)
if numval then return numval end if numval then return numval end
--already in allenums --already in allenums
if allenums[clean(value)] then return allenums[clean(value)] end if allenums[clean(value)] then return allenums[clean(value)] end
--must be several and operators --must be several and operators
--precedence order (hope not ()) ------------precedence order (hope not ())
assert(not value:match("[%(%)]")) --first drop outer ()
local several,seps = strsplit(value,"([<>&|~%+]+)") value = value:gsub("^(%()",""):gsub("(%))$","")
assert(not value:match("[%(%)]"),value)
local several,seps = strsplit(value,"([<>&|~%+%-]+)")
--M.prtable(value,several,seps) --M.prtable(value,several,seps)
assert(#seps+1==#several) assert(#seps+1==#several)
local i = 1 local i = 1
local ik = 1 local ik = 1
local sepk = {"~","<<",">>","&","^","|","+"} local sepk = {"~","<<",">>","&","^","|","+","-"}
while(#seps>0) do while(#seps>0) do
local sep = sepk[ik] local sep = sepk[ik]
local v = seps[i] local v = seps[i]
@@ -182,6 +203,12 @@ local function parse_enum_value(value, allenums,dontpost)
local val2 = clean(several[i+1]) local val2 = clean(several[i+1])
if allenums[val1] then val1 = allenums[val1] end if allenums[val1] then val1 = allenums[val1] end
if allenums[val2] then val2 = allenums[val2] 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
if v=="~" then if v=="~" then
assert(several[i]==" " or several[i]=="") assert(several[i]==" " or several[i]=="")
several[i] = bit.bnot(val2) several[i] = bit.bnot(val2)
@@ -197,6 +224,8 @@ local function parse_enum_value(value, allenums,dontpost)
several[i] = bit.bor(val1,val2) several[i] = bit.bor(val1,val2)
elseif v=="+" then elseif v=="+" then
several[i] = val1 + val2 several[i] = val1 + val2
elseif v=="-" then
several[i] = val1 - val2
else else
error("unknown operator "..v) error("unknown operator "..v)
end end
@@ -214,12 +243,14 @@ local function parse_enum_value(value, allenums,dontpost)
end end
if #seps>0 or type(several[1])~="number" and not dontpost then if #seps>0 or type(several[1])~="number" and not dontpost then
--M.prtable("enline",enline) --M.prtable("enline",enline)
print("parse_enum_value WARNING",value) print("parse_enum_value WARNING:",value,several[1])
--M.prtable(several,seps) --M.prtable(several,seps)
--M.prtable("allenums",allenums) --M.prtable("allenums",allenums)
end end
assert(#seps==0) assert(#seps==0)
assert(type(several[1])=="number") assert(type(several[1])=="number" or type(several[1])=="cdata")
--converst 1ULL to "1ULL"
if type(several[1])=="cdata" then several[1] = tostring(several[1]) end
return several[1] return several[1]
end end
end end
@@ -267,16 +298,17 @@ local function getRE()
local res = { local res = {
function_re = "^([^;{}]+%b()[\n%s]*;)%s*", function_re = "^([^;{}]+%b()[\n%s]*;)%s*",
function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end
function_re = "^([^;{}=]+%b()[\n%s%w%(%)_]*;)", --attribute(deprecated)
struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)", struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)",
enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)", enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)",
union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)", union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)",
structenum_re = "^([^;{}]-%b{}[%s%w_%(%)]*;)", structenum_re = "^([^;{}]-%b{}[%s%w_%(%)]*;)",
namespace_re = "^([^;{}]-namespace[^;{}]-%b{})", namespace_re = "^([^;{}]-namespace[^;{}]-%b{})",
class_re = "^([^;{}]-class[^;{}]-%b{}%s*;)", class_re = "^([^;{}]-class[^;{}]-%b{}%s*;)",
typedef_re = "^\n*(typedef[^;]+;)", typedef_re = "^\n*%s*(typedef[^;]+;)",
typedef_st_re = "^\n*(typedef%s+struct%s*%b{}.-;)", 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*%*%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*([^;{}%(%)]+;)", --vardef_re = "^\n*([^;{}%(%)]+;)",
--change for things as --change for things as
--[[ImU8 Used4kPagesMap[((sizeof(ImWchar16) == 2 ? 0xFFFF : 0x10FFFF)+1)/4096/8];]] --[[ImU8 Used4kPagesMap[((sizeof(ImWchar16) == 2 ? 0xFFFF : 0x10FFFF)+1)/4096/8];]]
@@ -313,7 +345,9 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
local re = res[re_name] local re = res[re_name]
local i,e = txt:find(re,ini) local i,e = txt:find(re,ini)
if i then if i then
item = txt:sub(i,e) item = txt:sub(i,e)
--print("re_name",re_name,item)
------------------ ------------------
--[[ --[[
--if re~=functionD_re then --skip defined functions --if re~=functionD_re then --skip defined functions
@@ -365,8 +399,19 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
loca = table.remove(loca,1) loca = table.remove(loca,1)
end end
if not loca then if not loca then
print(itemold) print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline)
error"no entry in linenumdict" -- 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
end end
else else
error"no linenumdict" error"no linenumdict"
@@ -404,14 +449,13 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
end end
M.parseItems = parseItems M.parseItems = parseItems
local function name_overloadsAlgo(v) local function name_overloadsAlgo(v)
local aa = {} local aa = {}
local bb = {} local bb = {}
local done = {} local done = {}
local maxnum = 0 local maxnum = 0
for i,t in ipairs(v) do for i,t in ipairs(v) do
bb[i] = "" bb[i] = ""
--local signature = t.signature:sub(2,-2) -- without parenthesis
--inside parenthesis
local signature = t.signature:match("%b()") local signature = t.signature:match("%b()")
signature = signature:sub(2,-2) signature = signature:sub(2,-2)
--add const function --add const function
@@ -420,47 +464,52 @@ local function name_overloadsAlgo(v)
end end
aa[i] = {} aa[i] = {}
local num = 1 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 for typec in signature:gsub("(%(.-%))", function(x) return x:gsub(",","\0") end):gmatch(".-([^,]+),?") do
--typec = typec:gsub
aa[i][num] = typec:gsub("%z+", ",") aa[i][num] = typec:gsub("%z+", ",")
num = num + 1 num = num + 1
end end
num = num - 1 num = num - 1
maxnum = (num > maxnum) and num or maxnum maxnum = (num > maxnum) and num or maxnum
end end
for l=1,maxnum do for l=1,maxnum do
local keys = {} local keys = {}
local diferent = true local diferent = true
local equal = true local equal = true
for i=1,#v do for i=1,#v do
aa[i][l] = aa[i][l] or "nil" 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 if not done[i] then
for j=i+1,#v do for j=i+1,#v do
if not done[j] then if not done[j] then
if aa[i][l] == aa[j][l] then if aa[i][l] == aa[j][l] then
diferent = false diferent = false
else else
equal = false equal = false
end
end
end end
end
end
end end
end end
if not equal then -- not all the same if not equal then -- not all the same
for i=1,#v do for i=1,#v do
if not done[i] then if not done[i] then
bb[i] = bb[i]..(aa[i][l]=="nil" and "" or aa[i][l]) bb[i] = bb[i]..(aa[i][l]=="nil" and "" or aa[i][l])
if keys[aa[i][l]] == 1 then -- if keys[aa[i][l]] == 1 then
done[i] = true -- done[i] = true
end -- end
end end
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 end
--avoid empty postfix which will be reserved to generic --avoid empty postfix which will be reserved to generic
for i,v in ipairs(bb) do if v=="" then bb[i]="Nil" end end for i,v in ipairs(bb) do if v=="" then bb[i]="Nil" end end
@@ -483,9 +532,10 @@ local function typetoStr(typ)
typ = typ:gsub("float","Float") typ = typ:gsub("float","Float")
typ = typ:gsub("uInt","Uint") typ = typ:gsub("uInt","Uint")
typ = typ:gsub("ImGui","") typ = typ:gsub("ImGui","")
--typ = typ:gsub("ImStr","STR")
typ = typ:gsub("Im","") typ = typ:gsub("Im","")
typ = typ:gsub("[<>]","") typ = typ:gsub("[<>]","")
return typ return "_"..typ
end end
--used to clean signature in function ptr argument --used to clean signature in function ptr argument
local function clean_names_from_signature(self,signat) local function clean_names_from_signature(self,signat)
@@ -580,33 +630,30 @@ local function parseFunction(self,stname,itt,namespace,locat)
--- templates in args --- templates in args
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
--TODO several diferent templates --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 template then
if self.typenames[stname] ~= template then --rule out template typename if self.typenames[stname] ~= template then --rule out template typename
te = template:gsub("%s","_") self.templates[ttype] = self.templates[ttype] or {}
te = te:gsub("%*","Ptr") self.templates[ttype][template] = te
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
te = "_"..te
end end
end end
argsTa[i] = ar:gsub("<([%w_%*%s]+)>",te) --ImVector argsTa[i] = te and code2 or ar --ar:gsub("<([%w_%*%s]+)>",te) --ImVector
end end
--get typ, name and defaults --get typ, name and defaults
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))" local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
local functype_arg_rest = "^(%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)),*(.*)"
local argsTa2 = {} local argsTa2 = {}
local noname_counter = 0 local noname_counter = 0
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
local typ,name,retf,sigf,reftoptr,defa,ar1 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 if ar:match(functype_re) then
local t1,namef,t2 = ar:match(functype_reex) 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 retf = t1
sigf = t2 sigf = t2
else else
@@ -627,7 +674,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
typ,name = ar1:match("(.+)%s([^%s]+)") typ,name = ar1:match("(.+)%s([^%s]+)")
end end
if not typ or not name or name:match"%*" or M.c_types[name] or self.typedefs_dict[name] then 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,defa = ar:match"([^=]+)=([^=]+)"
ar1 = ar1 or ar ar1 = ar1 or ar
typ = ar1 typ = ar1
@@ -641,7 +688,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
name = name:gsub("(%[%d*%])","") name = name:gsub("(%[%d*%])","")
end end
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 if ar:match("&") and not ar:match("const") then
--only post error if not manual --only post error if not manual
local cname = self.getCname(stname,funcname, namespace) --cimguiname local cname = self.getCname(stname,funcname, namespace) --cimguiname
@@ -661,9 +708,10 @@ local function parseFunction(self,stname,itt,namespace,locat)
signat = "(" signat = "("
for i,v in ipairs(argsArr) do for i,v in ipairs(argsArr) do
if v.ret then --function pointer 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 .. "," 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 else
local siz = v.type:match("(%[%d*%])") or "" local siz = v.type:match("(%[%d*%])") or ""
local typ = v.type:gsub("(%[%d*%])","") local typ = v.type:gsub("(%[%d*%])","")
@@ -759,6 +807,89 @@ local function AdjustArguments(FP)
end end
end 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 function ADDnonUDT(FP)
local defsT = FP.defsT local defsT = FP.defsT
--local newcdefs = {} --local newcdefs = {}
@@ -935,7 +1066,9 @@ function M.Parser()
par.UDTs = {} par.UDTs = {}
function par:insert(line,loca) function par:insert(line,loca)
table.insert(cdefs,{line,loca}) --table.insert(cdefs,{line,loca})
--table.insert(cdefs,{line:gsub("^%s*(.-)%s*$", "%1"),loca})
table.insert(cdefs,{line:gsub("^(%s*.-)%s*$", "%1"),loca})
end end
function par.getCname(stname,funcname, namespace) function par.getCname(stname,funcname, namespace)
if #stname == 0 then return funcname end --top level if #stname == 0 then return funcname end --top level
@@ -959,14 +1092,18 @@ function M.Parser()
error("could not execute COMPILER "..err) error("could not execute COMPILER "..err)
end end
local defines = {} local defines = {}
local preprocessed = {}--
for line,loca,loca2 in M.location(pipe,names,defines,compiler) do for line,loca,loca2 in M.location(pipe,names,defines,compiler) do
self:insert(line, tostring(loca)..":"..tostring(loca2)) self:insert(line, tostring(loca)..":"..tostring(loca2))
table.insert(preprocessed,line)--
end end
save_data("preprocesed.h",table.concat(preprocessed,"\n"))
pipe:close() pipe:close()
return defines return defines
end end
function par:do_parse() function par:do_parse()
self:parseItems() self:parseItems()
self:gen_structs_and_enums_table()
self:gen_structs_and_enums() self:gen_structs_and_enums()
self:compute_overloads() self:compute_overloads()
--self:compute_templated() --self:compute_templated()
@@ -982,16 +1119,25 @@ function M.Parser()
local value,key = line:match("typedef%s+(.+)%s+([%w_]+);") local value,key = line:match("typedef%s+(.+)%s+([%w_]+);")
if key and value then if key and value then
self.typedefs_dict[key] = value self.typedefs_dict[key] = value
else --try function typedef else --try function pointer typedef
local key = line:match("%(%*([%w_]+)%)%([^%(%)]*%)") local key = line:match("%(%*([%w_]+)%)%([^%(%)]*%)")
if key then if key then
local linet = line local linet = line
linet = linet:gsub("typedef ","") linet = linet:gsub("typedef ","")
linet = linet:gsub("%(%*("..key..")%)","(*)") linet = linet:gsub("%(%*("..key..")%)","(*)")
self.typedefs_dict[key] = linet self.typedefs_dict[key] = linet
elseif not line:match"typedef%s*struct" then --discard typedef struct else
print("typedef not found") --try function typedef
print(key,value,line) 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 end
end end
@@ -1017,12 +1163,17 @@ function M.Parser()
child.parent = it child.parent = it
end end
if it.re_name == "struct_re" then if it.re_name == "struct_re" then
local typename = it.item:match("%s*template%s*<%s*typename%s*(%S+)%s*>") local typename = it.item:match("^%s*template%s*<%s*typename%s*(%S+)%s*>")
local stname = it.item:match("struct%s+(%S+)") local stname = it.item:match("struct%s+(%S+)")
it.name = stname it.name = stname
if typename then -- it is a struct template
--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
self.typenames = self.typenames or {} self.typenames = self.typenames or {}
self.typenames[stname] = typename self.typenames[stname] = typename or templa2
end end
elseif it.re_name == "namespace_re" then elseif it.re_name == "namespace_re" then
it.name = it.item:match("namespace%s+(%S+)") it.name = it.item:match("namespace%s+(%S+)")
@@ -1038,13 +1189,14 @@ function M.Parser()
local cdefs2 = {} local cdefs2 = {}
for i,cdef in ipairs(cdefs) do for i,cdef in ipairs(cdefs) do
if self.linenumdict[cdef[1]] then 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 if type(self.linenumdict[cdef[1]])=="string" then
self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]} self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]}
else -- must be table already else -- must be table already
table.insert(self.linenumdict[cdef[1]],cdef[2]) table.insert(self.linenumdict[cdef[1]],cdef[2])
end end
else else
--print("nuevo linenumdict es",cdef[1],cdef[2])
self.linenumdict[cdef[1]]=cdef[2] self.linenumdict[cdef[1]]=cdef[2]
end end
table.insert(cdefs2,cdef[1]) table.insert(cdefs2,cdef[1])
@@ -1059,8 +1211,25 @@ function M.Parser()
printItems(items) printItems(items)
end end
par.parseFunction = parseFunction par.parseFunction = parseFunction
local uniques = {}
function par:clean_structR1(itst) 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 stru = itst.item
local outtab = {} local outtab = {}
local commtab = {} local commtab = {}
@@ -1110,15 +1279,16 @@ function M.Parser()
if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables 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 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 = it.item:match"([^%s,%(%)]+)%s*<(.+)>" local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
if template then if template then
if self.typenames[ttype] ~= template then --rule out T (template typename) if self.typenames[ttype] ~= template then --rule out T (template typename)
local te = template:gsub("%s","_") self.templates[ttype] = self.templates[ttype] or {}
te = te:gsub("%*","Ptr") self.templates[ttype][template] = te
self.templates[ttype] = self.templates[ttype] or {} it2=code2
self.templates[ttype][template] = te end
it2 = it2:gsub("(<[%w_%*%s]+>)([^%s])","%1 %2") --add if not present space after <> if doheader then
it2 = it2:gsub("<([%w_%*%s]+)>","_"..te) local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
predeclare = predeclare .. templatetypedef
end end
end end
--clean mutable --clean mutable
@@ -1139,12 +1309,20 @@ function M.Parser()
table.insert(outtab,"\n "..it.name.." "..decl..";") table.insert(outtab,"\n "..it.name.." "..decl..";")
table.insert(commtab,it.comments )--or "") table.insert(commtab,it.comments )--or "")
end 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 predeclare = predeclare .. predec .. cleanst
elseif it.re_name == "enum_re" then elseif it.re_name == "enum_re" then
--nop --nop
elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" then elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" then
print(it.re_name,"not processed clean_struct",it.item:sub(1,12)) print(it.re_name,"not processed clean_struct in",stname,it.item:sub(1,24))
--M.prtable(it) --M.prtable(it)
end end
end end
@@ -1160,20 +1338,57 @@ function M.Parser()
end end
return parnam return parnam
end end
local function get_parents_nameC(it)
local parnam = ""
while it.parent do
parnam = it.parent.name.."::"..parnam
it = it.parent
end
if parnam~="" then parnam = parnam:sub(1,-3) end
return parnam
end
function par:gen_structs_and_enums() function par:gen_structs_and_enums()
print"--------------gen_structs_and_enums"
--M.prtable(self.typenames)
local outtab = {} local outtab = {}
local outtabpre = {} local outtabpre = {}
local typedefs_table = {} local typedefs_table = {}
self.embeded_enums = {} self.embeded_enums = {}
--local uniques = {}
local processer = function(it) local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then 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 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 -- add typedef after struct name
if it.re_name == "vardef_re" and it.item:match"^%s*struct" then if it.re_name == "vardef_re" and it.item:match"^%s*struct" then
local stname = it.item:match("struct%s*(%S+)%s*;") 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 self.typedefs_dict[stname]="struct "..stname
if it.parent then --must be struct name; inside namespace if it.parent then --must be struct name; inside namespace
local parname = get_parents_name(it) local parname = get_parents_name(it)
@@ -1182,10 +1397,28 @@ function M.Parser()
end end
end end
elseif it.re_name == "enum_re" then elseif it.re_name == "enum_re" then
local enumname, enumbody = it.item:match"^%s*enum%s+([^%s;{}]+)[%s\n\r]*(%b{})" --local enumname, enumbody = it.item:match"^%s*enum%s+([^%s;{}]+)[%s\n\r]*(%b{})"
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
if enumname then if enumname then
enumbody = clean_comments(enumbody) --if it's an enum with int type changed
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";") if self.structs_and_enums_table.enumtypes[enumname] then
local enumtype = self.structs_and_enums_table.enumtypes[enumname]
local enumbody = ""
local extraenums = ""
for i,v in ipairs(self.structs_and_enums_table.enums[enumname]) do
if type(v.calc_value)=="string" then
extraenums = extraenums .."\nstatic const "..enumtype.." "..v.name.." = "..v.calc_value..";"
else
enumbody = enumbody .. "\n" ..v.name .."="..v.value..","
end
end
enumbody = "{"..enumbody.."\n}"
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums)
else
local enumbody = it.item:match"(%b{})"
enumbody = clean_comments(enumbody)
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
end
if it.parent then if it.parent then
if it.parent.re_name == "namespace_re" then if it.parent.re_name == "namespace_re" then
local namespace = it.parent.item:match("namespace%s+(%S+)") local namespace = it.parent.item:match("namespace%s+(%S+)")
@@ -1195,25 +1428,36 @@ function M.Parser()
else --unamed enum just repeat declaration else --unamed enum just repeat declaration
local cl_item = clean_comments(it.item) local cl_item = clean_comments(it.item)
table.insert(outtab,cl_item) table.insert(outtab,cl_item)
print("unnamed enum",cl_item)
end end
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then 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 structname then print("NO NAME",cleanst,it.item) end
--if not void stname or templated --if not void stname or templated
if structname and not self.typenames[structname] then 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 --dont insert child structs as they are inserted before parent struct
if not (it.parent and it.parent.re_name == "struct_re") then if not (it.parent and it.parent.re_name == "struct_re") then
table.insert(outtab,predec .. cleanst) table.insert(outtab,predec .. cleanst)
end end
table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
self.typedefs_dict[structname]="struct "..structname
end end
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then 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+)")) 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*;")) or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
--TODO nesting namespace and class --TODO nesting namespace and class
local parname = get_parents_name(it) 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 end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop --nop
@@ -1224,12 +1468,12 @@ function M.Parser()
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
stname = it.parent.name stname = it.parent.name
elseif it.parent.re_name == "namespace_re" then elseif it.parent.re_name == "namespace_re" then
namespace = it.parent.name namespace = get_parents_nameC(it) --it.parent.name
end end
end end
if it.item:match"^%s*template%s+<" then if it.item:match"^%s*template%s+<" then
local ttype,fun = it.item:match"^%s*template%s+<%s*typename%s+([^>]+)%s*>%s*(.+)$" local ttype,fun = it.item:match"^%s*template%s+<%s*typename%s+([^>]+)%s*>%s*(.+)$"
if self.ftemplate_list then if self.ftemplate_list and self.ftemplate_list[ttype] then
for iT,vT in ipairs(self.ftemplate_list[ttype]) do for iT,vT in ipairs(self.ftemplate_list[ttype]) do
local funT = fun:gsub(ttype,vT) local funT = fun:gsub(ttype,vT)
self:parseFunction(stname,{item=funT},namespace,it.locat) self:parseFunction(stname,{item=funT},namespace,it.locat)
@@ -1245,13 +1489,13 @@ function M.Parser()
self:Listing(itemsarr,processer) self:Listing(itemsarr,processer)
local uniques = {} -- local uniques = {}
for i,l in ipairs(typedefs_table) do -- for i,l in ipairs(typedefs_table) do
if not uniques[l] then -- if not uniques[l] then
uniques[l] = true -- uniques[l] = true
table.insert(outtabpre,1,l) -- table.insert(outtabpre,1,l)
end -- end
end -- end
--check arg detection failure if no name in function declaration --check arg detection failure if no name in function declaration
check_arg_detection(self.defsT,self.typedefs_dict) check_arg_detection(self.defsT,self.typedefs_dict)
local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"") local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"")
@@ -1269,6 +1513,7 @@ function M.Parser()
else else
--split type name1,name2; in several lines --split type name1,name2; in several lines
local typen,rest = line:match("%s*([^,]+)%s(%S+[,;])") local typen,rest = line:match("%s*([^,]+)%s(%S+[,;])")
--print(typen,"rest:",rest)
if not typen then -- Lets try Type*name if not typen then -- Lets try Type*name
typen,rest = line:match("([^,]+%*)(%S+[,;])") typen,rest = line:match("([^,]+%*)(%S+[,;])")
end end
@@ -1306,6 +1551,11 @@ function M.Parser()
enumname = "unnamed"..unnamed_enum_counter enumname = "unnamed"..unnamed_enum_counter
print("unamed enum",enumname,it.parent and ("parent:"..it.parent.name) or "no parent") print("unamed enum",enumname,it.parent and ("parent:"..it.parent.name) or "no parent")
end end
local enumtype = it.item:match"^%s*enum%s+[^%s;{}:]+%s*:%s*([^{%s]+)"
if enumtype then
print("enumtype",enumtype)
outtab.enumtypes[enumname] = enumtype
end
outtab.enums[enumname] = {} outtab.enums[enumname] = {}
table.insert(enumsordered,enumname) table.insert(enumsordered,enumname)
local inner = strip_end(it.item:match("%b{}"):sub(2,-2)) local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
@@ -1353,10 +1603,25 @@ function M.Parser()
end end
par.enums_for_table = enums_for_table par.enums_for_table = enums_for_table
function par:gen_structs_and_enums_table() function par:gen_structs_and_enums_table()
local outtab = {enums={},structs={},locations={}} print"--------------gen_structs_and_enums_table"
local outtab = {enums={},structs={},locations={},enumtypes={}}
self.typedefs_table = {} self.typedefs_table = {}
local enumsordered = {} local enumsordered = {}
unnamed_enum_counter = 0 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) local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
@@ -1377,6 +1642,18 @@ function M.Parser()
for j=3,#strtab-1 do for j=3,#strtab-1 do
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j]) self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
end end
else
--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 end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop --nop
@@ -1388,7 +1665,16 @@ function M.Parser()
self:Listing(itemsarr,processer) self:Listing(itemsarr,processer)
--calcule size of name[16+1] [xxx_COUNT] --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 --first calc_value in enums
for i,enumname in ipairs(enumsordered) do for i,enumname in ipairs(enumsordered) do
--for enumname,enum in pairs(outtab.enums) do --for enumname,enum in pairs(outtab.enums) do
@@ -1414,10 +1700,15 @@ function M.Parser()
f() f()
t.size = estevalor t.size = estevalor
end end
assert(t.size,val) --assert(t.size,val)
if not t.size then
print("not t.size for",val,"in",t.name)
error"not t.size"
end
end end
end end
end end
self.structs_and_enums_table = outtab
return outtab return outtab
end end
par.alltypes = {} par.alltypes = {}
@@ -1434,6 +1725,7 @@ function M.Parser()
for k,v in pairs(self.alltypes) do print(k, typetoStr(k) ) end for k,v in pairs(self.alltypes) do print(k, typetoStr(k) ) end
end end
function par:compute_overloads() function par:compute_overloads()
ADDIMSTR_S(self)
local strt = {} local strt = {}
local numoverloaded = 0 local numoverloaded = 0
self.alltypes = {} self.alltypes = {}
@@ -1446,11 +1738,19 @@ function M.Parser()
--print(k,#v) --print(k,#v)
table.insert(strt,string.format("%s\t%d",k,#v)) table.insert(strt,string.format("%s\t%d",k,#v))
local typesc,post = name_overloadsAlgo(v) local typesc,post = name_overloadsAlgo(v)
--M.prtable(v)
for i,t in ipairs(v) do for i,t in ipairs(v) do
--take overloaded name from manual table or algorythm --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]) 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)) 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 end
--check not two names are equal (produced by bad cimguiname_overload) --check not two names are equal (produced by bad cimguiname_overload)
for i=1,#v-1 do for i=1,#v-1 do
@@ -1468,8 +1768,10 @@ function M.Parser()
end) end)
--print(numoverloaded, "overloaded") --print(numoverloaded, "overloaded")
table.insert(strt,string.format("%d overloaded",numoverloaded)) table.insert(strt,string.format("%d overloaded",numoverloaded))
--ADDIMSTR_S(self)
AdjustArguments(self) AdjustArguments(self)
ADDnonUDT(self) ADDnonUDT(self)
--ADDdestructors(self) --ADDdestructors(self)
self.overloadstxt = table.concat(strt,"\n") self.overloadstxt = table.concat(strt,"\n")
end end
@@ -1577,6 +1879,58 @@ function M.Parser()
table.insert(self.funcdefs,v) table.insert(self.funcdefs,v)
end end
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 return par
end end
@@ -1909,26 +2263,49 @@ end
M.func_header_generate = func_header_generate M.func_header_generate = func_header_generate
--[=[ --[=[
-- tests -- tests
local line = [[struct ImDrawListSharedData local code = [[
{
ImVec2 TexUvWhitePixel; bool BeginPlot(const char* title_id,
ImFont* Font; const char* x_label, const char* y_label,
float FontSize; const ImVec2& size = ImVec2(-1,0),
float CurveTessellationTol; ImPlotFlags flags = ImPlotFlags_None,
float CircleSegmentMaxError; ImPlotAxisFlags x_flags = ImPlotAxisFlags_None,
ImVec4 ClipRectFullscreen; ImPlotAxisFlags y_flags = ImPlotAxisFlags_None,
ImDrawListFlags InitialFlags; ImPlotAxisFlags y2_flags = ImPlotAxisFlags_AuxDefault,
ImVec2 ArcFastVtx[12 * 1]; ImPlotAxisFlags y3_flags = ImPlotAxisFlags_AuxDefault,
ImU8 CircleSegmentCounts[64]; const char* y2_label = ((void *)0),
ImDrawListSharedData(); const char* y3_label = ((void *)0)) __attribute__( ( deprecated ) );
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 parser = M.Parser() 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() parser:do_parse()
--M.prtable(parser) M.prtable(parser)
M.prtable(parser:gen_structs_and_enums_table()) --M.prtable(parser:gen_structs_and_enums_table())
--]=] --]=]
--print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]]) --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 return M

View File

@@ -17,7 +17,7 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
:: arg[1] compiler name gcc, clang or cl :: arg[1] compiler name gcc, clang or cl
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation :: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
:: examples: "" "internal" "internal freetype" :: examples: "" "internal" "internal freetype"
:: arg[3..n] name of implementations to generate :: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
::leave console open ::leave console open

View File

@@ -8,12 +8,33 @@ local script_args = {...}
local COMPILER = script_args[1] local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
local CFLAGS = ""
local CPRE,CTEST local CPRE,CTEST
--get implementations
local implementations = {}
for i=3,#script_args do
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("\"", "\\\"") .. "\"";
else
CFLAGS = CFLAGS .. " " .. script_args[i]
end
else
table.insert(implementations,script_args[i])
end
end
if FREETYPE_GENERATION then
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
end
if COMPILER == "gcc" or COMPILER == "clang" then if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version" CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER CTEST = COMPILER
else else
print("Working without compiler ") print("Working without compiler ")
@@ -42,10 +63,7 @@ assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
print("HAVE_COMPILER",HAVE_COMPILER) print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION) print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION) print("FREETYPE_GENERATION",FREETYPE_GENERATION)
--get implementations print("CPRE",CPRE)
local implementations = {}
for i=3,#script_args do table.insert(implementations,script_args[i]) end
-------------------------------------------------------------------------- --------------------------------------------------------------------------
--this table has the functions to be skipped in generation --this table has the functions to be skipped in generation
-------------------------------------------------------------------------- --------------------------------------------------------------------------
@@ -123,17 +141,20 @@ local func_implementation = cpp2ffi.func_implementation
-------------------functions for getting and setting defines -------------------functions for getting and setting defines
local function get_defines(t) local function get_defines(t)
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end local compiler_cmd = COMPILER == "cl"
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r") 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 = {} local defines = {}
while true do while true do
local line = pipe:read"*l" local line = pipe:read"*l"
if not line then break end 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 or not value then if not key then --or not value then
--print(line) --print(line)
else else
defines[key]=value defines[key]=value or ""
end end
end end
pipe:close() pipe:close()
@@ -145,7 +166,7 @@ local function get_defines(t)
local aa = defines[v] local aa = defines[v]
while true do while true do
local tmp = defines[aa] local tmp = defines[aa]
if not tmp then if not tmp then
break break
else else
aa = tmp aa = tmp
@@ -155,13 +176,16 @@ local function get_defines(t)
end end
return ret return ret
end end
--subtitution of FLT_MAX value for FLT_MAX --subtitution of FLT_MAX value for FLT_MAX or FLT_MIN
local function set_defines(fdefs) local function set_defines(fdefs)
local FLT_MINpat = gdefines.FLT_MIN:gsub("([%.%-])","%%%1")
for k,defT in pairs(fdefs) do for k,defT in pairs(fdefs) do
for i,def in ipairs(defT) do for i,def in ipairs(defT) do
for name,default in pairs(def.defaults) do for name,default in pairs(def.defaults) do
if default == gdefines.FLT_MAX then if default == gdefines.FLT_MAX then
def.defaults[name] = "FLT_MAX" def.defaults[name] = "FLT_MAX"
elseif default:match(FLT_MINpat) then
def.defaults[name] = default:gsub(FLT_MINpat,"FLT_MIN")
end end
end end
end end
@@ -224,29 +248,7 @@ local function repair_defaults(defsT,str_and_enu)
end end
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)
end
end)
end
--generate cimgui.cpp cimgui.h --generate cimgui.cpp cimgui.h
local function cimgui_generation(parser) local function cimgui_generation(parser)
@@ -277,16 +279,17 @@ local function cimgui_generation(parser)
cpp2ffi.prtable(parser.templates) cpp2ffi.prtable(parser.templates)
cpp2ffi.prtable(parser.typenames) cpp2ffi.prtable(parser.typenames)
local outtab = {}
local outtabpool = {} local tdt = parser:generate_templates()
generate_templates(outtab, outtabpool, parser.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
--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 "")
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr) hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser) local cfuncsstr = func_header_generate(parser)
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr) hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
@@ -298,25 +301,21 @@ local function cimgui_generation(parser)
local hstrfile = read_data"./cimgui_template.cpp" local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) 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 end
-------------------------------------------------------- --------------------------------------------------------
-----------------------------do it---------------------- -----------------------------do it----------------------
-------------------------------------------------------- --------------------------------------------------------
--get imgui.h version-------------------------- --get imgui.h version and IMGUI_HAS_DOCK--------------------------
local pipe,err = io.open("../imgui/imgui.h","r") --defines for the cl compiler must be present in the print_defines.cpp file
if not pipe then gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
error("could not open file:"..err)
end if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
local imgui_version if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
while true do
local line = pipe:read"*l" cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION)
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
if imgui_version then break end
end
pipe:close()
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
if INTERNAL_GENERATION then if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api cimgui_header = cimgui_header..[[//with imgui_internal.h api
]] ]]
@@ -325,10 +324,15 @@ if FREETYPE_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_freetype.h api cimgui_header = cimgui_header..[[//with imgui_freetype.h api
]] ]]
end end
print("IMGUI_VERSION",imgui_version) if gdefines.IMGUI_HAS_DOCK then
--get some defines---------------------------- cimgui_header = cimgui_header..[[//docking branch
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"} ]]
end
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
--funtion for parsing imgui headers --funtion for parsing imgui headers
local function parseImGuiHeader(header,names) local function parseImGuiHeader(header,names)
@@ -342,6 +346,7 @@ local function parseImGuiHeader(header,names)
parser.cname_overloads = cimgui_overloads parser.cname_overloads = cimgui_overloads
parser.manuals = cimgui_manuals parser.manuals = cimgui_manuals
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"} parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto
local defines = parser:take_lines(CPRE..header,names,COMPILER) local defines = parser:take_lines(CPRE..header,names,COMPILER)
@@ -350,24 +355,24 @@ end
--generation --generation
print("------------------generation with "..COMPILER.."------------------------") print("------------------generation with "..COMPILER.."------------------------")
local parser1 local parser1
local headers = [[#include "../imgui/imgui.h" local headers = [[#include "]]..IMGUI_PATH..[[/imgui.h"
]] ]]
local headersT = {[[imgui]]} local headersT = {[[imgui]]}
if INTERNAL_GENERATION then 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] = [[imgui_internal]]
headersT[#headersT + 1] = [[imstb_textedit]] headersT[#headersT + 1] = [[imstb_textedit]]
end end
if FREETYPE_GENERATION then if FREETYPE_GENERATION then
headers = headers .. [[ headers = headers .. [[
#include "../imgui/misc/freetype/imgui_freetype.h" #include "]]..IMGUI_PATH..[[/misc/freetype/imgui_freetype.h"
]] ]]
headersT[#headersT + 1] = [[imgui_freetype]] headersT[#headersT + 1] = [[imgui_freetype]]
end end
save_data("headers.h",headers) save_data("headers.h",headers)
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]] 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) local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
os.remove("headers.h") os.remove("headers.h")
parser1:do_parse() parser1:do_parse()
@@ -377,7 +382,11 @@ cimgui_generation(parser1)
----------save struct and enums lua table in structs_and_enums.lua for using in bindings ----------save struct and enums lua table in structs_and_enums.lua for using in bindings
local structs_and_enums_table = parser1:gen_structs_and_enums_table() 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/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict)) save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
@@ -395,7 +404,15 @@ save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
-- end -- end
--=================================Now implementations --=================================Now implementations
local backends_folder
local ff,err = io.open (IMGUI_PATH .. "/examples/imgui_impl_glfw.h" ,"r")
if ff then
backends_folder = IMGUI_PATH .. "/examples/"
ff:close()
else
backends_folder = IMGUI_PATH .. "/backends/"
end
local parser2 local parser2
if #implementations > 0 then if #implementations > 0 then
@@ -405,14 +422,14 @@ if #implementations > 0 then
local config = require"config_generator" local config = require"config_generator"
for i,impl in ipairs(implementations) do for i,impl in ipairs(implementations) do
local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h " local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
local locati = [[imgui_impl_]].. impl local locati = [[imgui_impl_]].. impl
local define_cmd = COMPILER=="cl" and [[ /E /D]] or [[ -E -D]] local define_cmd = COMPILER=="cl" and [[ /E /D]] or [[ -E -D]]
local extra_defines = "" local extra_defines = ""
if impl == "opengl3" then extra_defines = define_cmd .. "IMGUI_IMPL_OPENGL_LOADER_GL3W " end if impl == "opengl3" then extra_defines = define_cmd .. "IMGUI_IMPL_OPENGL_LOADER_GL3W " end
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]] 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 if config[impl] then
for j,inc in ipairs(config[impl]) do for j,inc in ipairs(config[impl]) do
extra_includes = extra_includes .. include_cmd .. inc .. " " extra_includes = extra_includes .. include_cmd .. inc .. " "
@@ -451,6 +468,10 @@ end
---[[ ---[[
local json = require"json" local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}})) 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/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict)) save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then if parser2 then

View File

@@ -15,5 +15,5 @@
# arg[1] compiler name gcc, clang, or cl # arg[1] compiler name gcc, clang, or cl
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation # arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
# examples: "" "internal" "internal freetype" # examples: "" "internal" "internal freetype"
# arg[3..n] name of implementations to generate # arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl

View File

@@ -1,15 +1,23 @@
typedef struct SDL_Window SDL_Window;
typedef struct GLFWmonitor GLFWmonitor;
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 GLFWwindow;
struct GLFWmonitor; struct GLFWmonitor;
struct SDL_Window; struct SDL_Window;
struct SDL_Renderer;
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks); 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_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_Shutdown();
CIMGUI_API void ImGui_ImplGlfw_NewFrame(); 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_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_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_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
@@ -35,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_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(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_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_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); 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", "cimguiname": "ImGui_ImplGlfw_CharCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback", "funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw:40", "location": "imgui_impl_glfw:50",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback", "ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,unsigned int)", "signature": "(GLFWwindow*,unsigned int)",
"stname": "" "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:45",
"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:46",
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForOpenGL": [ "ImGui_ImplGlfw_InitForOpenGL": [
{ {
"args": "(GLFWwindow* window,bool install_callbacks)", "args": "(GLFWwindow* window,bool install_callbacks)",
@@ -42,13 +96,38 @@
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL", "cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOpenGL", "funcname": "ImGui_ImplGlfw_InitForOpenGL",
"location": "imgui_impl_glfw:29", "location": "imgui_impl_glfw:31",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL", "ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"ret": "bool", "ret": "bool",
"signature": "(GLFWwindow*,bool)", "signature": "(GLFWwindow*,bool)",
"stname": "" "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:33",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForVulkan": [ "ImGui_ImplGlfw_InitForVulkan": [
{ {
"args": "(GLFWwindow* window,bool install_callbacks)", "args": "(GLFWwindow* window,bool install_callbacks)",
@@ -67,13 +146,34 @@
"cimguiname": "ImGui_ImplGlfw_InitForVulkan", "cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_InitForVulkan", "funcname": "ImGui_ImplGlfw_InitForVulkan",
"location": "imgui_impl_glfw:30", "location": "imgui_impl_glfw:32",
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan", "ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"ret": "bool", "ret": "bool",
"signature": "(GLFWwindow*,bool)", "signature": "(GLFWwindow*,bool)",
"stname": "" "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:40",
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_KeyCallback": [ "ImGui_ImplGlfw_KeyCallback": [
{ {
"args": "(GLFWwindow* window,int key,int scancode,int action,int mods)", "args": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
@@ -104,7 +204,7 @@
"cimguiname": "ImGui_ImplGlfw_KeyCallback", "cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback", "funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw:39", "location": "imgui_impl_glfw:49",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback", "ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)", "signature": "(GLFWwindow*,int,int,int,int)",
@@ -129,7 +229,7 @@
"cimguiname": "ImGui_ImplGlfw_MonitorCallback", "cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_MonitorCallback", "funcname": "ImGui_ImplGlfw_MonitorCallback",
"location": "imgui_impl_glfw:41", "location": "imgui_impl_glfw:51",
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback", "ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWmonitor*,int)", "signature": "(GLFWmonitor*,int)",
@@ -162,7 +262,7 @@
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback", "cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback", "funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw:37", "location": "imgui_impl_glfw:47",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback", "ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int,int,int)", "signature": "(GLFWwindow*,int,int,int)",
@@ -178,13 +278,34 @@
"cimguiname": "ImGui_ImplGlfw_NewFrame", "cimguiname": "ImGui_ImplGlfw_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_NewFrame", "funcname": "ImGui_ImplGlfw_NewFrame",
"location": "imgui_impl_glfw:32", "location": "imgui_impl_glfw:35",
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame", "ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
"stname": "" "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:41",
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_ScrollCallback": [ "ImGui_ImplGlfw_ScrollCallback": [
{ {
"args": "(GLFWwindow* window,double xoffset,double yoffset)", "args": "(GLFWwindow* window,double xoffset,double yoffset)",
@@ -207,7 +328,7 @@
"cimguiname": "ImGui_ImplGlfw_ScrollCallback", "cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback", "funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw:38", "location": "imgui_impl_glfw:48",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback", "ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,double,double)", "signature": "(GLFWwindow*,double,double)",
@@ -223,13 +344,38 @@
"cimguiname": "ImGui_ImplGlfw_Shutdown", "cimguiname": "ImGui_ImplGlfw_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_Shutdown", "funcname": "ImGui_ImplGlfw_Shutdown",
"location": "imgui_impl_glfw:31", "location": "imgui_impl_glfw:34",
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown", "ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
"stname": "" "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:44",
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
"stname": ""
}
],
"ImGui_ImplOpenGL2_CreateDeviceObjects": [ "ImGui_ImplOpenGL2_CreateDeviceObjects": [
{ {
"args": "()", "args": "()",
@@ -239,7 +385,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects", "cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects", "funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"location": "imgui_impl_opengl2:31", "location": "imgui_impl_opengl2:32",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects", "ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"ret": "bool", "ret": "bool",
"signature": "()", "signature": "()",
@@ -255,7 +401,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture", "cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture", "funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"location": "imgui_impl_opengl2:29", "location": "imgui_impl_opengl2:30",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture", "ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"ret": "bool", "ret": "bool",
"signature": "()", "signature": "()",
@@ -271,7 +417,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects", "cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects", "funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"location": "imgui_impl_opengl2:32", "location": "imgui_impl_opengl2:33",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects", "ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -287,7 +433,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture", "cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture", "funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"location": "imgui_impl_opengl2:30", "location": "imgui_impl_opengl2:31",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture", "ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -303,7 +449,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Init", "cimguiname": "ImGui_ImplOpenGL2_Init",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_Init", "funcname": "ImGui_ImplOpenGL2_Init",
"location": "imgui_impl_opengl2:23", "location": "imgui_impl_opengl2:24",
"ov_cimguiname": "ImGui_ImplOpenGL2_Init", "ov_cimguiname": "ImGui_ImplOpenGL2_Init",
"ret": "bool", "ret": "bool",
"signature": "()", "signature": "()",
@@ -319,7 +465,7 @@
"cimguiname": "ImGui_ImplOpenGL2_NewFrame", "cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_NewFrame", "funcname": "ImGui_ImplOpenGL2_NewFrame",
"location": "imgui_impl_opengl2:25", "location": "imgui_impl_opengl2:26",
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame", "ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -340,7 +486,7 @@
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData", "cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_RenderDrawData", "funcname": "ImGui_ImplOpenGL2_RenderDrawData",
"location": "imgui_impl_opengl2:26", "location": "imgui_impl_opengl2:27",
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData", "ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"ret": "void", "ret": "void",
"signature": "(ImDrawData*)", "signature": "(ImDrawData*)",
@@ -356,7 +502,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Shutdown", "cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL2_Shutdown", "funcname": "ImGui_ImplOpenGL2_Shutdown",
"location": "imgui_impl_opengl2:24", "location": "imgui_impl_opengl2:25",
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown", "ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -372,7 +518,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects", "cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects", "funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"location": "imgui_impl_opengl3:37", "location": "imgui_impl_opengl3:33",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects", "ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"ret": "bool", "ret": "bool",
"signature": "()", "signature": "()",
@@ -388,7 +534,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture", "cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture", "funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"location": "imgui_impl_opengl3:35", "location": "imgui_impl_opengl3:31",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture", "ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"ret": "bool", "ret": "bool",
"signature": "()", "signature": "()",
@@ -404,7 +550,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects", "cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects", "funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"location": "imgui_impl_opengl3:38", "location": "imgui_impl_opengl3:34",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects", "ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -420,7 +566,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture", "cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture", "funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"location": "imgui_impl_opengl3:36", "location": "imgui_impl_opengl3:32",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture", "ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -443,7 +589,7 @@
"glsl_version": "((void*)0)" "glsl_version": "((void*)0)"
}, },
"funcname": "ImGui_ImplOpenGL3_Init", "funcname": "ImGui_ImplOpenGL3_Init",
"location": "imgui_impl_opengl3:29", "location": "imgui_impl_opengl3:25",
"ov_cimguiname": "ImGui_ImplOpenGL3_Init", "ov_cimguiname": "ImGui_ImplOpenGL3_Init",
"ret": "bool", "ret": "bool",
"signature": "(const char*)", "signature": "(const char*)",
@@ -459,7 +605,7 @@
"cimguiname": "ImGui_ImplOpenGL3_NewFrame", "cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_NewFrame", "funcname": "ImGui_ImplOpenGL3_NewFrame",
"location": "imgui_impl_opengl3:31", "location": "imgui_impl_opengl3:27",
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame", "ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -480,7 +626,7 @@
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData", "cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_RenderDrawData", "funcname": "ImGui_ImplOpenGL3_RenderDrawData",
"location": "imgui_impl_opengl3:32", "location": "imgui_impl_opengl3:28",
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData", "ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"ret": "void", "ret": "void",
"signature": "(ImDrawData*)", "signature": "(ImDrawData*)",
@@ -496,7 +642,7 @@
"cimguiname": "ImGui_ImplOpenGL3_Shutdown", "cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplOpenGL3_Shutdown", "funcname": "ImGui_ImplOpenGL3_Shutdown",
"location": "imgui_impl_opengl3:30", "location": "imgui_impl_opengl3:26",
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown", "ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -517,7 +663,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForD3D", "cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D", "funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl:27", "location": "imgui_impl_sdl:29",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D", "ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -538,7 +684,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForMetal", "cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal", "funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl:28", "location": "imgui_impl_sdl:30",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal", "ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -563,13 +709,38 @@
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL", "cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL", "funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl:25", "location": "imgui_impl_sdl:27",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL", "ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*,void*)", "signature": "(SDL_Window*,void*)",
"stname": "" "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:31",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
"stname": ""
}
],
"ImGui_ImplSDL2_InitForVulkan": [ "ImGui_ImplSDL2_InitForVulkan": [
{ {
"args": "(SDL_Window* window)", "args": "(SDL_Window* window)",
@@ -584,7 +755,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForVulkan", "cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan", "funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl:26", "location": "imgui_impl_sdl:28",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan", "ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -593,22 +764,17 @@
], ],
"ImGui_ImplSDL2_NewFrame": [ "ImGui_ImplSDL2_NewFrame": [
{ {
"args": "(SDL_Window* window)", "args": "()",
"argsT": [ "argsT": [],
{ "argsoriginal": "()",
"name": "window", "call_args": "()",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_NewFrame", "cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame", "funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl:30", "location": "imgui_impl_sdl:33",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame", "ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void", "ret": "void",
"signature": "(SDL_Window*)", "signature": "()",
"stname": "" "stname": ""
} }
], ],
@@ -626,7 +792,7 @@
"cimguiname": "ImGui_ImplSDL2_ProcessEvent", "cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent", "funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl:31", "location": "imgui_impl_sdl:34",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent", "ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool", "ret": "bool",
"signature": "(const SDL_Event*)", "signature": "(const SDL_Event*)",
@@ -642,7 +808,7 @@
"cimguiname": "ImGui_ImplSDL2_Shutdown", "cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown", "funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl:29", "location": "imgui_impl_sdl:32",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown", "ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "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]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback" defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:40" defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:50"
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback" defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)" defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = "" defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1] 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:45"
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:46"
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"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {} defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)" 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]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {} defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:29" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:31"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = "" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForOpenGL"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOpenGL"][1] 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:33"
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"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {} defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)" 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]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {} defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan" defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:30" defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:32"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan" defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool" defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)" defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = "" defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1] 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:40"
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"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1] = {} defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)" defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
@@ -86,7 +170,7 @@ 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]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback" defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:39" defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:49"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback" defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)" defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
@@ -107,7 +191,7 @@ defs["ImGui_ImplGlfw_MonitorCallback"][1]["call_args"] = "(monitor,event)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:41" defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:51"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)" defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)"
@@ -134,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]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:37" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:47"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
@@ -149,12 +233,30 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame" defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame" defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:32" defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:35"
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame" defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void" defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = "" defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1] 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:41"
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"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {} defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)" defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
@@ -173,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]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback" defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:38" defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:48"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback" defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)" defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
@@ -188,12 +290,33 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown" defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown" defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:31" defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:34"
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown" defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = "" defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1] 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:44"
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"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {} defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
@@ -203,7 +326,7 @@ defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:32"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
@@ -218,7 +341,7 @@ defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:29" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
@@ -233,7 +356,7 @@ defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:32" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:33"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -248,7 +371,7 @@ defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:30" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
@@ -263,7 +386,7 @@ defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init" defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init" defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:23" defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:24"
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init" defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
@@ -278,7 +401,7 @@ defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame" defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame" defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:25" defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:26"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame" defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void" defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
@@ -296,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]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData" defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:26" defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:27"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData" defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void" defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)" defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -311,7 +434,7 @@ defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown" defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown" defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:24" defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:25"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown" defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
@@ -326,7 +449,7 @@ defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:37" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:33"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
@@ -341,7 +464,7 @@ defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:35" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
@@ -356,7 +479,7 @@ defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:38" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:34"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -371,7 +494,7 @@ defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:36" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:32"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
@@ -390,7 +513,7 @@ defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "((void*)0)" defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "((void*)0)"
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init" defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:29" defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:25"
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init" defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool" defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)" defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
@@ -405,7 +528,7 @@ defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame" defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame" defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:31" defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:27"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame" defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void" defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
@@ -423,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]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData" defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:32" defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:28"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData" defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void" defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)" defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -438,7 +561,7 @@ defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown" defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown" defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:30" defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:26"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown" defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
@@ -456,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]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D" defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:27" defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D" defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
@@ -474,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]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal" defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:28" defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:30"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal" defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
@@ -495,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]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:25" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = "" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1] 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:31"
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"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {} defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)" defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
@@ -513,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]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan" defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:26" defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan" defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
@@ -521,22 +665,19 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1] defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
defs["ImGui_ImplSDL2_NewFrame"] = {} defs["ImGui_ImplSDL2_NewFrame"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1] = {} 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"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1] = {} defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["name"] = "window" defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
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]["cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:30" defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:33"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void" 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"][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"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {} defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)" defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
@@ -549,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]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {} defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:31" defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:34"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)" defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -564,7 +705,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:29" defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:32"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

View File

@@ -1,227 +1,261 @@
----------------overloadings--------------------------- ----------------overloadings---------------------------
ImColor_ImColor 5 ImColor_ImColor 5
1 nil ImColor_ImColorNil () 1 nil ImColor_ImColor_Nil ()
2 nil ImColor_ImColorInt (int,int,int,int) 2 nil ImColor_ImColor_Int (int,int,int,int)
3 nil ImColor_ImColorU32 (ImU32) 3 nil ImColor_ImColor_U32 (ImU32)
4 nil ImColor_ImColorFloat (float,float,float,float) 4 nil ImColor_ImColor_Float (float,float,float,float)
5 nil ImColor_ImColorVec4 (const ImVec4) 5 nil ImColor_ImColor_Vec4 (const ImVec4)
ImDrawList_AddText 2 ImDrawList_AddText 2
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*) 1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*) 2 void ImDrawList_AddText_FontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2 ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*) 1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int) 2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
ImGuiStoragePair_ImGuiStoragePair 3 ImGuiStoragePair_ImGuiStoragePair 3
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int) 1 nil ImGuiStoragePair_ImGuiStoragePair_Int (ImGuiID,int)
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float) 2 nil ImGuiStoragePair_ImGuiStoragePair_Float (ImGuiID,float)
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*) 3 nil ImGuiStoragePair_ImGuiStoragePair_Ptr (ImGuiID,void*)
ImGuiStyleMod_ImGuiStyleMod 3 ImGuiStyleMod_ImGuiStyleMod 3
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int) 1 nil ImGuiStyleMod_ImGuiStyleMod_Int (ImGuiStyleVar,int)
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float) 2 nil ImGuiStyleMod_ImGuiStyleMod_Float (ImGuiStyleVar,float)
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2) 3 nil ImGuiStyleMod_ImGuiStyleMod_Vec2 (ImGuiStyleVar,ImVec2)
ImGuiTextRange_ImGuiTextRange 2 ImGuiTextRange_ImGuiTextRange 2
1 nil ImGuiTextRange_ImGuiTextRangeNil () 1 nil ImGuiTextRange_ImGuiTextRange_Nil ()
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*) 2 nil ImGuiTextRange_ImGuiTextRange_Str (const char*,const char*)
ImGuiWindow_GetID 3 ImGuiWindow_GetID 3
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*) 1 ImGuiID ImGuiWindow_GetID_Str (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDPtr (const void*) 2 ImGuiID ImGuiWindow_GetID_Ptr (const void*)
3 ImGuiID ImGuiWindow_GetIDInt (int) 3 ImGuiID ImGuiWindow_GetID_Int (int)
ImGuiWindow_GetIDNoKeepAlive 3 ImGuiWindow_GetIDNoKeepAlive 3
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*) 1 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Str (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*) 2 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Ptr (const void*)
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int) 3 ImGuiID ImGuiWindow_GetIDNoKeepAlive_Int (int)
ImPool_Remove 2 ImPool_Remove 2
1 void ImPool_RemoveTPtr (ImGuiID,const T*) 1 void ImPool_Remove_TPtr (ImGuiID,const T*)
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx) 2 void ImPool_Remove_PoolIdx (ImGuiID,ImPoolIdx)
ImRect_Add 2 ImRect_Add 2
1 void ImRect_AddVec2 (const ImVec2) 1 void ImRect_Add_Vec2 (const ImVec2)
2 void ImRect_AddRect (const ImRect) 2 void ImRect_Add_Rect (const ImRect)
ImRect_Contains 2 ImRect_Contains 2
1 bool ImRect_ContainsVec2 (const ImVec2)const 1 bool ImRect_Contains_Vec2 (const ImVec2)const
2 bool ImRect_ContainsRect (const ImRect)const 2 bool ImRect_Contains_Rect (const ImRect)const
ImRect_Expand 2 ImRect_Expand 2
1 void ImRect_ExpandFloat (const float) 1 void ImRect_Expand_Float (const float)
2 void ImRect_ExpandVec2 (const ImVec2) 2 void ImRect_Expand_Vec2 (const ImVec2)
ImRect_ImRect 4 ImRect_ImRect 4
1 nil ImRect_ImRectNil () 1 nil ImRect_ImRect_Nil ()
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2) 2 nil ImRect_ImRect_Vec2 (const ImVec2,const ImVec2)
3 nil ImRect_ImRectVec4 (const ImVec4) 3 nil ImRect_ImRect_Vec4 (const ImVec4)
4 nil ImRect_ImRectFloat (float,float,float,float) 4 nil ImRect_ImRect_Float (float,float,float,float)
ImSpan_ImSpan 3
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_begin_Nil ()
2 const T* ImSpan_begin__const ()const
ImSpan_end 2
1 T* ImSpan_end_Nil ()
2 const T* ImSpan_end__const ()const
ImSpan_set 2
1 void ImSpan_set_Int (T*,int)
2 void ImSpan_set_TPtr (T*,T*)
ImVec1_ImVec1 2 ImVec1_ImVec1 2
1 nil ImVec1_ImVec1Nil () 1 nil ImVec1_ImVec1_Nil ()
2 nil ImVec1_ImVec1Float (float) 2 nil ImVec1_ImVec1_Float (float)
ImVec2_ImVec2 2 ImVec2_ImVec2 2
1 nil ImVec2_ImVec2Nil () 1 nil ImVec2_ImVec2_Nil ()
2 nil ImVec2_ImVec2Float (float,float) 2 nil ImVec2_ImVec2_Float (float,float)
ImVec2ih_ImVec2ih 3 ImVec2ih_ImVec2ih 3
1 nil ImVec2ih_ImVec2ihNil () 1 nil ImVec2ih_ImVec2ih_Nil ()
2 nil ImVec2ih_ImVec2ihshort (short,short) 2 nil ImVec2ih_ImVec2ih_short (short,short)
3 nil ImVec2ih_ImVec2ihVec2 (const ImVec2) 3 nil ImVec2ih_ImVec2ih_Vec2 (const ImVec2)
ImVec4_ImVec4 2 ImVec4_ImVec4 2
1 nil ImVec4_ImVec4Nil () 1 nil ImVec4_ImVec4_Nil ()
2 nil ImVec4_ImVec4Float (float,float,float,float) 2 nil ImVec4_ImVec4_Float (float,float,float,float)
ImVector_ImVector 2 ImVector_ImVector 2
1 nil ImVector_ImVectorNil () 1 nil ImVector_ImVector_Nil ()
2 nil ImVector_ImVectorVector (const ImVector) 2 nil ImVector_ImVector_Vector_T_ (const ImVector_T )
ImVector_back 2 ImVector_back 2
1 T* ImVector_backNil () 1 T* ImVector_back_Nil ()
2 const T* ImVector_back_const ()const 2 const T* ImVector_back__const ()const
ImVector_begin 2 ImVector_begin 2
1 T* ImVector_beginNil () 1 T* ImVector_begin_Nil ()
2 const T* ImVector_begin_const ()const 2 const T* ImVector_begin__const ()const
ImVector_end 2 ImVector_end 2
1 T* ImVector_endNil () 1 T* ImVector_end_Nil ()
2 const T* ImVector_end_const ()const 2 const T* ImVector_end__const ()const
ImVector_erase 2 ImVector_erase 2
1 T* ImVector_eraseNil (const T*) 1 T* ImVector_erase_Nil (const T*)
2 T* ImVector_eraseTPtr (const T*,const T*) 2 T* ImVector_erase_TPtr (const T*,const T*)
ImVector_find 2 ImVector_find 2
1 T* ImVector_findNil (const T) 1 T* ImVector_find_Nil (const T)
2 const T* ImVector_find_const (const T)const 2 const T* ImVector_find__const (const T)const
ImVector_front 2 ImVector_front 2
1 T* ImVector_frontNil () 1 T* ImVector_front_Nil ()
2 const T* ImVector_front_const ()const 2 const T* ImVector_front__const ()const
ImVector_resize 2 ImVector_resize 2
1 void ImVector_resizeNil (int) 1 void ImVector_resize_Nil (int)
2 void ImVector_resizeT (int,const T) 2 void ImVector_resize_T (int,const T)
igBeginChild 2 igBeginChild 2
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags) 1 bool igBeginChild_Str (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags) 2 bool igBeginChild_ID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
igCheckboxFlags 4
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 igCollapsingHeader 2
1 bool igCollapsingHeaderTreeNodeFlags (const char*,ImGuiTreeNodeFlags) 1 bool igCollapsingHeader_TreeNodeFlags (const char*,ImGuiTreeNodeFlags)
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags) 2 bool igCollapsingHeader_BoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
igCombo 3 igCombo 3
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int) 1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int) 2 bool igCombo_Str (const char*,int*,const char*,int)
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int) 3 bool igCombo_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igGetBackgroundDrawList 2 igGetBackgroundDrawList 2
1 ImDrawList* igGetBackgroundDrawListNil () 1 ImDrawList* igGetBackgroundDrawList_Nil ()
2 ImDrawList* igGetBackgroundDrawListViewportPtr (ImGuiViewport*) 2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
igGetColorU32 3 igGetColorU32 3
1 ImU32 igGetColorU32Col (ImGuiCol,float) 1 ImU32 igGetColorU32_Col (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4) 2 ImU32 igGetColorU32_Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32) 3 ImU32 igGetColorU32_U32 (ImU32)
igGetForegroundDrawList 3 igGetForegroundDrawList 3
1 ImDrawList* igGetForegroundDrawListNil () 1 ImDrawList* igGetForegroundDrawList_Nil ()
2 ImDrawList* igGetForegroundDrawListViewportPtr (ImGuiViewport*) 2 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
3 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*) 3 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
igGetID 3 igGetID 3
1 ImGuiID igGetIDStr (const char*) 1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*) 2 ImGuiID igGetID_StrStr (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*) 3 ImGuiID igGetID_Ptr (const void*)
igImAbs 2 igImAbs 3
1 float igImAbsFloat (float) 1 int igImAbs_Int (int)
2 double igImAbsdouble (double) 2 float igImAbs_Float (float)
3 double igImAbs_double (double)
igImFloor 2 igImFloor 2
1 float igImFloorFloat (float) 1 float igImFloor_Float (float)
2 ImVec2 igImFloorVec2 (const ImVec2) 2 ImVec2 igImFloor_Vec2 (const ImVec2)
igImFloorSigned 2
1 float igImFloorSigned_Float (float)
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
igImIsPowerOfTwo 2
1 bool igImIsPowerOfTwo_Int (int)
2 bool igImIsPowerOfTwo_U64 (ImU64)
igImLengthSqr 2 igImLengthSqr 2
1 float igImLengthSqrVec2 (const ImVec2) 1 float igImLengthSqr_Vec2 (const ImVec2)
2 float igImLengthSqrVec4 (const ImVec4) 2 float igImLengthSqr_Vec4 (const ImVec4)
igImLerp 3 igImLerp 3
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float) 1 ImVec2 igImLerp_Vec2Float (const ImVec2,const ImVec2,float)
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2) 2 ImVec2 igImLerp_Vec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float) 3 ImVec4 igImLerp_Vec4 (const ImVec4,const ImVec4,float)
igImLog 2 igImLog 2
1 float igImLogFloat (float) 1 float igImLog_Float (float)
2 double igImLogdouble (double) 2 double igImLog_double (double)
igImPow 2 igImPow 2
1 float igImPowFloat (float,float) 1 float igImPow_Float (float,float)
2 double igImPowdouble (double,double) 2 double igImPow_double (double,double)
igImRsqrt 2
1 float igImRsqrt_Float (float)
2 double igImRsqrt_double (double)
igImSign 2 igImSign 2
1 float igImSignFloat (float) 1 float igImSign_Float (float)
2 double igImSigndouble (double) 2 double igImSign_double (double)
igIsPopupOpen 2 igIsPopupOpen 2
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags) 1 bool igIsPopupOpen_Str (const char*,ImGuiPopupFlags)
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags) 2 bool igIsPopupOpen_ID (ImGuiID,ImGuiPopupFlags)
igIsRectVisible 2 igIsRectVisible 2
1 bool igIsRectVisibleNil (const ImVec2) 1 bool igIsRectVisible_Nil (const ImVec2)
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2) 2 bool igIsRectVisible_Vec2 (const ImVec2,const ImVec2)
igItemSize 2 igItemSize 2
1 void igItemSizeVec2 (const ImVec2,float) 1 void igItemSize_Vec2 (const ImVec2,float)
2 void igItemSizeRect (const ImRect,float) 2 void igItemSize_Rect (const ImRect,float)
igListBox 2 igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int) 1 bool igListBox_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int) 2 bool igListBox_FnBoolPtr (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)
igMarkIniSettingsDirty 2 igMarkIniSettingsDirty 2
1 void igMarkIniSettingsDirtyNil () 1 void igMarkIniSettingsDirty_Nil ()
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*) 2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*)
igMenuItem 2 igMenuItem 2
1 bool igMenuItemBool (const char*,const char*,bool,bool) 1 bool igMenuItem_Bool (const char*,const char*,bool,bool)
2 bool igMenuItemBoolPtr (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 igPlotHistogram 2
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int) 1 void igPlotHistogram_FloatPtr (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) 2 void igPlotHistogram_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPlotLines 2 igPlotLines 2
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int) 1 void igPlotLines_FloatPtr (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) 2 void igPlotLines_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPushID 4 igPushID 4
1 void igPushIDStr (const char*) 1 void igPushID_Str (const char*)
2 void igPushIDStrStr (const char*,const char*) 2 void igPushID_StrStr (const char*,const char*)
3 void igPushIDPtr (const void*) 3 void igPushID_Ptr (const void*)
4 void igPushIDInt (int) 4 void igPushID_Int (int)
igPushStyleColor 2 igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32) 1 void igPushStyleColor_U32 (ImGuiCol,ImU32)
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4) 2 void igPushStyleColor_Vec4 (ImGuiCol,const ImVec4)
igPushStyleVar 2 igPushStyleVar 2
1 void igPushStyleVarFloat (ImGuiStyleVar,float) 1 void igPushStyleVar_Float (ImGuiStyleVar,float)
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2) 2 void igPushStyleVar_Vec2 (ImGuiStyleVar,const ImVec2)
igRadioButton 2 igRadioButton 2
1 bool igRadioButtonBool (const char*,bool) 1 bool igRadioButton_Bool (const char*,bool)
2 bool igRadioButtonIntPtr (const char*,int*,int) 2 bool igRadioButton_IntPtr (const char*,int*,int)
igSelectable 2 igSelectable 2
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2) 1 bool igSelectable_Bool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2) 2 bool igSelectable_BoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igSetScrollFromPosX 2 igSetScrollFromPosX 2
1 void igSetScrollFromPosXFloat (float,float) 1 void igSetScrollFromPosX_Float (float,float)
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float) 2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float)
igSetScrollFromPosY 2 igSetScrollFromPosY 2
1 void igSetScrollFromPosYFloat (float,float) 1 void igSetScrollFromPosY_Float (float,float)
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float) 2 void igSetScrollFromPosY_WindowPtr (ImGuiWindow*,float,float)
igSetScrollX 2 igSetScrollX 2
1 void igSetScrollXFloat (float) 1 void igSetScrollX_Float (float)
2 void igSetScrollXWindowPtr (ImGuiWindow*,float) 2 void igSetScrollX_WindowPtr (ImGuiWindow*,float)
igSetScrollY 2 igSetScrollY 2
1 void igSetScrollYFloat (float) 1 void igSetScrollY_Float (float)
2 void igSetScrollYWindowPtr (ImGuiWindow*,float) 2 void igSetScrollY_WindowPtr (ImGuiWindow*,float)
igSetWindowCollapsed 3 igSetWindowCollapsed 3
1 void igSetWindowCollapsedBool (bool,ImGuiCond) 1 void igSetWindowCollapsed_Bool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond) 2 void igSetWindowCollapsed_Str (const char*,bool,ImGuiCond)
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond) 3 void igSetWindowCollapsed_WindowPtr (ImGuiWindow*,bool,ImGuiCond)
igSetWindowFocus 2 igSetWindowFocus 2
1 void igSetWindowFocusNil () 1 void igSetWindowFocus_Nil ()
2 void igSetWindowFocusStr (const char*) 2 void igSetWindowFocus_Str (const char*)
igSetWindowPos 3 igSetWindowPos 3
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond) 1 void igSetWindowPos_Vec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond) 2 void igSetWindowPos_Str (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond) 3 void igSetWindowPos_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igSetWindowSize 3 igSetWindowSize 3
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond) 1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond) 2 void igSetWindowSize_Str (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,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* igTableGetColumnName_Int (int)
2 const char* igTableGetColumnName_TablePtr (const ImGuiTable*,int)
igTreeNode 3 igTreeNode 3
1 bool igTreeNodeStr (const char*) 1 bool igTreeNode_Str (const char*)
2 bool igTreeNodeStrStr (const char*,const char*,...) 2 bool igTreeNode_StrStr (const char*,const char*,...)
3 bool igTreeNodePtr (const void*,const char*,...) 3 bool igTreeNode_Ptr (const void*,const char*,...)
igTreeNodeEx 3 igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags) 1 bool igTreeNodeEx_Str (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...) 2 bool igTreeNodeEx_StrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...) 3 bool igTreeNodeEx_Ptr (const void*,ImGuiTreeNodeFlags,const char*,...)
igTreeNodeExV 2 igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list) 1 bool igTreeNodeExV_Str (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list) 2 bool igTreeNodeExV_Ptr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
igTreeNodeV 2 igTreeNodeV 2
1 bool igTreeNodeVStr (const char*,const char*,va_list) 1 bool igTreeNodeV_Str (const char*,const char*,va_list)
2 bool igTreeNodeVPtr (const void*,const char*,va_list) 2 bool igTreeNodeV_Ptr (const void*,const char*,va_list)
igTreePush 2 igTreePush 2
1 void igTreePushStr (const char*) 1 void igTreePush_Str (const char*)
2 void igTreePushPtr (const void*) 2 void igTreePush_Ptr (const void*)
igValue 4 igValue 4
1 void igValueBool (const char*,bool) 1 void igValue_Bool (const char*,bool)
2 void igValueInt (const char*,int) 2 void igValue_Int (const char*,int)
3 void igValueUint (const char*,unsigned int) 3 void igValue_Uint (const char*,unsigned int)
4 void igValueFloat (const char*,float,const char*) 4 void igValue_Float (const char*,float,const char*)
158 overloaded 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,12 +1,14 @@
{ {
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitVector": "struct ImBitVector", "ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor", "ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);", "ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
"ImDrawChannel": "struct ImDrawChannel", "ImDrawChannel": "struct ImDrawChannel",
"ImDrawCmd": "struct ImDrawCmd", "ImDrawCmd": "struct ImDrawCmd",
"ImDrawCornerFlags": "int", "ImDrawCmdHeader": "struct ImDrawCmdHeader",
"ImDrawData": "struct ImDrawData", "ImDrawData": "struct ImDrawData",
"ImDrawDataBuilder": "struct ImDrawDataBuilder", "ImDrawDataBuilder": "struct ImDrawDataBuilder",
"ImDrawFlags": "int",
"ImDrawIdx": "unsigned short", "ImDrawIdx": "unsigned short",
"ImDrawList": "struct ImDrawList", "ImDrawList": "struct ImDrawList",
"ImDrawListFlags": "int", "ImDrawListFlags": "int",
@@ -18,21 +20,23 @@
"ImFontAtlas": "struct ImFontAtlas", "ImFontAtlas": "struct ImFontAtlas",
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect", "ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
"ImFontAtlasFlags": "int", "ImFontAtlasFlags": "int",
"ImFontBuilderIO": "struct ImFontBuilderIO",
"ImFontConfig": "struct ImFontConfig", "ImFontConfig": "struct ImFontConfig",
"ImFontGlyph": "struct ImFontGlyph", "ImFontGlyph": "struct ImFontGlyph",
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder", "ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiActivateFlags": "int",
"ImGuiBackendFlags": "int", "ImGuiBackendFlags": "int",
"ImGuiButtonFlags": "int", "ImGuiButtonFlags": "int",
"ImGuiCol": "int", "ImGuiCol": "int",
"ImGuiColorEditFlags": "int", "ImGuiColorEditFlags": "int",
"ImGuiColorMod": "struct ImGuiColorMod", "ImGuiColorMod": "struct ImGuiColorMod",
"ImGuiColumnData": "struct ImGuiColumnData",
"ImGuiColumns": "struct ImGuiColumns",
"ImGuiColumnsFlags": "int",
"ImGuiComboFlags": "int", "ImGuiComboFlags": "int",
"ImGuiComboPreviewData": "struct ImGuiComboPreviewData",
"ImGuiCond": "int", "ImGuiCond": "int",
"ImGuiConfigFlags": "int", "ImGuiConfigFlags": "int",
"ImGuiContext": "struct ImGuiContext", "ImGuiContext": "struct ImGuiContext",
"ImGuiContextHook": "struct ImGuiContextHook",
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
"ImGuiDataAuthority": "int", "ImGuiDataAuthority": "int",
"ImGuiDataType": "int", "ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo", "ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
@@ -44,11 +48,20 @@
"ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings", "ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings",
"ImGuiDockRequest": "struct ImGuiDockRequest", "ImGuiDockRequest": "struct ImGuiDockRequest",
"ImGuiDragDropFlags": "int", "ImGuiDragDropFlags": "int",
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
"ImGuiFocusedFlags": "int", "ImGuiFocusedFlags": "int",
"ImGuiGroupData": "struct ImGuiGroupData", "ImGuiGroupData": "struct ImGuiGroupData",
"ImGuiHoveredFlags": "int", "ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int", "ImGuiID": "unsigned int",
"ImGuiIO": "struct ImGuiIO", "ImGuiIO": "struct ImGuiIO",
"ImGuiInputEvent": "struct ImGuiInputEvent",
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
"ImGuiInputEventMouseViewport": "struct ImGuiInputEventMouseViewport",
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);", "ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData", "ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int", "ImGuiInputTextFlags": "int",
@@ -56,29 +69,40 @@
"ImGuiItemFlags": "int", "ImGuiItemFlags": "int",
"ImGuiItemStatusFlags": "int", "ImGuiItemStatusFlags": "int",
"ImGuiKey": "int", "ImGuiKey": "int",
"ImGuiKeyData": "struct ImGuiKeyData",
"ImGuiKeyModFlags": "int", "ImGuiKeyModFlags": "int",
"ImGuiLastItemDataBackup": "struct ImGuiLastItemDataBackup", "ImGuiLastItemData": "struct ImGuiLastItemData",
"ImGuiLayoutType": "int", "ImGuiLayoutType": "int",
"ImGuiListClipper": "struct ImGuiListClipper", "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", "ImGuiMenuColumns": "struct ImGuiMenuColumns",
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
"ImGuiMouseButton": "int", "ImGuiMouseButton": "int",
"ImGuiMouseCursor": "int", "ImGuiMouseCursor": "int",
"ImGuiNavDirSourceFlags": "int", "ImGuiNavDirSourceFlags": "int",
"ImGuiNavHighlightFlags": "int", "ImGuiNavHighlightFlags": "int",
"ImGuiNavInput": "int", "ImGuiNavInput": "int",
"ImGuiNavItemData": "struct ImGuiNavItemData",
"ImGuiNavMoveFlags": "int", "ImGuiNavMoveFlags": "int",
"ImGuiNavMoveResult": "struct ImGuiNavMoveResult",
"ImGuiNextItemData": "struct ImGuiNextItemData", "ImGuiNextItemData": "struct ImGuiNextItemData",
"ImGuiNextItemDataFlags": "int", "ImGuiNextItemDataFlags": "int",
"ImGuiNextWindowData": "struct ImGuiNextWindowData", "ImGuiNextWindowData": "struct ImGuiNextWindowData",
"ImGuiNextWindowDataFlags": "int", "ImGuiNextWindowDataFlags": "int",
"ImGuiOldColumnData": "struct ImGuiOldColumnData",
"ImGuiOldColumnFlags": "int",
"ImGuiOldColumns": "struct ImGuiOldColumns",
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame", "ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
"ImGuiPayload": "struct ImGuiPayload", "ImGuiPayload": "struct ImGuiPayload",
"ImGuiPlatformIO": "struct ImGuiPlatformIO", "ImGuiPlatformIO": "struct ImGuiPlatformIO",
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
"ImGuiPlatformMonitor": "struct ImGuiPlatformMonitor", "ImGuiPlatformMonitor": "struct ImGuiPlatformMonitor",
"ImGuiPopupData": "struct ImGuiPopupData", "ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int", "ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex", "ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
"ImGuiScrollFlags": "int",
"ImGuiSelectableFlags": "int", "ImGuiSelectableFlags": "int",
"ImGuiSeparatorFlags": "int", "ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler", "ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
@@ -86,6 +110,10 @@
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);", "ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData", "ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int", "ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStackTool": "struct ImGuiStackTool",
"ImGuiStorage": "struct ImGuiStorage", "ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair", "ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle", "ImGuiStyle": "struct ImGuiStyle",
@@ -95,6 +123,21 @@
"ImGuiTabBarFlags": "int", "ImGuiTabBarFlags": "int",
"ImGuiTabItem": "struct ImGuiTabItem", "ImGuiTabItem": "struct ImGuiTabItem",
"ImGuiTabItemFlags": "int", "ImGuiTabItemFlags": "int",
"ImGuiTable": "struct ImGuiTable",
"ImGuiTableBgTarget": "int",
"ImGuiTableCellData": "struct ImGuiTableCellData",
"ImGuiTableColumn": "struct ImGuiTableColumn",
"ImGuiTableColumnFlags": "int",
"ImGuiTableColumnIdx": "ImS8",
"ImGuiTableColumnSettings": "struct ImGuiTableColumnSettings",
"ImGuiTableColumnSortSpecs": "struct ImGuiTableColumnSortSpecs",
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
"ImGuiTableDrawChannelIdx": "ImU8",
"ImGuiTableFlags": "int",
"ImGuiTableRowFlags": "int",
"ImGuiTableSettings": "struct ImGuiTableSettings",
"ImGuiTableSortSpecs": "struct ImGuiTableSortSpecs",
"ImGuiTableTempData": "struct ImGuiTableTempData",
"ImGuiTextBuffer": "struct ImGuiTextBuffer", "ImGuiTextBuffer": "struct ImGuiTextBuffer",
"ImGuiTextFilter": "struct ImGuiTextFilter", "ImGuiTextFilter": "struct ImGuiTextFilter",
"ImGuiTextFlags": "int", "ImGuiTextFlags": "int",
@@ -106,19 +149,21 @@
"ImGuiViewportP": "struct ImGuiViewportP", "ImGuiViewportP": "struct ImGuiViewportP",
"ImGuiWindow": "struct ImGuiWindow", "ImGuiWindow": "struct ImGuiWindow",
"ImGuiWindowClass": "struct ImGuiWindowClass", "ImGuiWindowClass": "struct ImGuiWindowClass",
"ImGuiWindowDockStyle": "struct ImGuiWindowDockStyle",
"ImGuiWindowFlags": "int", "ImGuiWindowFlags": "int",
"ImGuiWindowSettings": "struct ImGuiWindowSettings", "ImGuiWindowSettings": "struct ImGuiWindowSettings",
"ImGuiWindowStackData": "struct ImGuiWindowStackData",
"ImGuiWindowTempData": "struct ImGuiWindowTempData", "ImGuiWindowTempData": "struct ImGuiWindowTempData",
"ImPoolIdx": "int", "ImPoolIdx": "int",
"ImRect": "struct ImRect", "ImRect": "struct ImRect",
"ImS16": "signed short", "ImS16": "signed short",
"ImS32": "signed int", "ImS32": "signed int",
"ImS64": "int64_t", "ImS64": "signed long long",
"ImS8": "signed char", "ImS8": "signed char",
"ImTextureID": "void*", "ImTextureID": "void*",
"ImU16": "unsigned short", "ImU16": "unsigned short",
"ImU32": "unsigned int", "ImU32": "unsigned int",
"ImU64": "uint64_t", "ImU64": "unsigned long long",
"ImU8": "unsigned char", "ImU8": "unsigned char",
"ImVec1": "struct ImVec1", "ImVec1": "struct ImVec1",
"ImVec2": "struct ImVec2", "ImVec2": "struct ImVec2",

View File

@@ -1,12 +1,14 @@
local defs = {} local defs = {}
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
defs["ImBitVector"] = "struct ImBitVector" defs["ImBitVector"] = "struct ImBitVector"
defs["ImColor"] = "struct ImColor" defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);" defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
defs["ImDrawChannel"] = "struct ImDrawChannel" defs["ImDrawChannel"] = "struct ImDrawChannel"
defs["ImDrawCmd"] = "struct ImDrawCmd" defs["ImDrawCmd"] = "struct ImDrawCmd"
defs["ImDrawCornerFlags"] = "int" defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
defs["ImDrawData"] = "struct ImDrawData" defs["ImDrawData"] = "struct ImDrawData"
defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder" defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
defs["ImDrawFlags"] = "int"
defs["ImDrawIdx"] = "unsigned short" defs["ImDrawIdx"] = "unsigned short"
defs["ImDrawList"] = "struct ImDrawList" defs["ImDrawList"] = "struct ImDrawList"
defs["ImDrawListFlags"] = "int" defs["ImDrawListFlags"] = "int"
@@ -18,21 +20,23 @@ defs["ImFont"] = "struct ImFont"
defs["ImFontAtlas"] = "struct ImFontAtlas" defs["ImFontAtlas"] = "struct ImFontAtlas"
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect" defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
defs["ImFontAtlasFlags"] = "int" defs["ImFontAtlasFlags"] = "int"
defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
defs["ImFontConfig"] = "struct ImFontConfig" defs["ImFontConfig"] = "struct ImFontConfig"
defs["ImFontGlyph"] = "struct ImFontGlyph" defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder" defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
defs["ImGuiActivateFlags"] = "int"
defs["ImGuiBackendFlags"] = "int" defs["ImGuiBackendFlags"] = "int"
defs["ImGuiButtonFlags"] = "int" defs["ImGuiButtonFlags"] = "int"
defs["ImGuiCol"] = "int" defs["ImGuiCol"] = "int"
defs["ImGuiColorEditFlags"] = "int" defs["ImGuiColorEditFlags"] = "int"
defs["ImGuiColorMod"] = "struct ImGuiColorMod" defs["ImGuiColorMod"] = "struct ImGuiColorMod"
defs["ImGuiColumnData"] = "struct ImGuiColumnData"
defs["ImGuiColumns"] = "struct ImGuiColumns"
defs["ImGuiColumnsFlags"] = "int"
defs["ImGuiComboFlags"] = "int" defs["ImGuiComboFlags"] = "int"
defs["ImGuiComboPreviewData"] = "struct ImGuiComboPreviewData"
defs["ImGuiCond"] = "int" defs["ImGuiCond"] = "int"
defs["ImGuiConfigFlags"] = "int" defs["ImGuiConfigFlags"] = "int"
defs["ImGuiContext"] = "struct ImGuiContext" defs["ImGuiContext"] = "struct ImGuiContext"
defs["ImGuiContextHook"] = "struct ImGuiContextHook"
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
defs["ImGuiDataAuthority"] = "int" defs["ImGuiDataAuthority"] = "int"
defs["ImGuiDataType"] = "int" defs["ImGuiDataType"] = "int"
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo" defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
@@ -44,11 +48,20 @@ defs["ImGuiDockNodeFlags"] = "int"
defs["ImGuiDockNodeSettings"] = "struct ImGuiDockNodeSettings" defs["ImGuiDockNodeSettings"] = "struct ImGuiDockNodeSettings"
defs["ImGuiDockRequest"] = "struct ImGuiDockRequest" defs["ImGuiDockRequest"] = "struct ImGuiDockRequest"
defs["ImGuiDragDropFlags"] = "int" defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
defs["ImGuiFocusedFlags"] = "int" defs["ImGuiFocusedFlags"] = "int"
defs["ImGuiGroupData"] = "struct ImGuiGroupData" defs["ImGuiGroupData"] = "struct ImGuiGroupData"
defs["ImGuiHoveredFlags"] = "int" defs["ImGuiHoveredFlags"] = "int"
defs["ImGuiID"] = "unsigned int" defs["ImGuiID"] = "unsigned int"
defs["ImGuiIO"] = "struct ImGuiIO" 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["ImGuiInputEventMouseViewport"] = "struct ImGuiInputEventMouseViewport"
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);" defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData" defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextFlags"] = "int" defs["ImGuiInputTextFlags"] = "int"
@@ -56,29 +69,40 @@ defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemFlags"] = "int" defs["ImGuiItemFlags"] = "int"
defs["ImGuiItemStatusFlags"] = "int" defs["ImGuiItemStatusFlags"] = "int"
defs["ImGuiKey"] = "int" defs["ImGuiKey"] = "int"
defs["ImGuiKeyData"] = "struct ImGuiKeyData"
defs["ImGuiKeyModFlags"] = "int" defs["ImGuiKeyModFlags"] = "int"
defs["ImGuiLastItemDataBackup"] = "struct ImGuiLastItemDataBackup" defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
defs["ImGuiLayoutType"] = "int" defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper" 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["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
defs["ImGuiMouseButton"] = "int" defs["ImGuiMouseButton"] = "int"
defs["ImGuiMouseCursor"] = "int" defs["ImGuiMouseCursor"] = "int"
defs["ImGuiNavDirSourceFlags"] = "int" defs["ImGuiNavDirSourceFlags"] = "int"
defs["ImGuiNavHighlightFlags"] = "int" defs["ImGuiNavHighlightFlags"] = "int"
defs["ImGuiNavInput"] = "int" defs["ImGuiNavInput"] = "int"
defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
defs["ImGuiNavMoveFlags"] = "int" defs["ImGuiNavMoveFlags"] = "int"
defs["ImGuiNavMoveResult"] = "struct ImGuiNavMoveResult"
defs["ImGuiNextItemData"] = "struct ImGuiNextItemData" defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
defs["ImGuiNextItemDataFlags"] = "int" defs["ImGuiNextItemDataFlags"] = "int"
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData" defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
defs["ImGuiNextWindowDataFlags"] = "int" defs["ImGuiNextWindowDataFlags"] = "int"
defs["ImGuiOldColumnData"] = "struct ImGuiOldColumnData"
defs["ImGuiOldColumnFlags"] = "int"
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame" defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
defs["ImGuiPayload"] = "struct ImGuiPayload" defs["ImGuiPayload"] = "struct ImGuiPayload"
defs["ImGuiPlatformIO"] = "struct ImGuiPlatformIO" defs["ImGuiPlatformIO"] = "struct ImGuiPlatformIO"
defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
defs["ImGuiPlatformMonitor"] = "struct ImGuiPlatformMonitor" defs["ImGuiPlatformMonitor"] = "struct ImGuiPlatformMonitor"
defs["ImGuiPopupData"] = "struct ImGuiPopupData" defs["ImGuiPopupData"] = "struct ImGuiPopupData"
defs["ImGuiPopupFlags"] = "int" defs["ImGuiPopupFlags"] = "int"
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex" defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
defs["ImGuiScrollFlags"] = "int"
defs["ImGuiSelectableFlags"] = "int" defs["ImGuiSelectableFlags"] = "int"
defs["ImGuiSeparatorFlags"] = "int" defs["ImGuiSeparatorFlags"] = "int"
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler" defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
@@ -86,6 +110,10 @@ defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);" defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData" defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int" defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
defs["ImGuiStorage"] = "struct ImGuiStorage" defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair" defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
defs["ImGuiStyle"] = "struct ImGuiStyle" defs["ImGuiStyle"] = "struct ImGuiStyle"
@@ -95,6 +123,21 @@ defs["ImGuiTabBar"] = "struct ImGuiTabBar"
defs["ImGuiTabBarFlags"] = "int" defs["ImGuiTabBarFlags"] = "int"
defs["ImGuiTabItem"] = "struct ImGuiTabItem" defs["ImGuiTabItem"] = "struct ImGuiTabItem"
defs["ImGuiTabItemFlags"] = "int" defs["ImGuiTabItemFlags"] = "int"
defs["ImGuiTable"] = "struct ImGuiTable"
defs["ImGuiTableBgTarget"] = "int"
defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
defs["ImGuiTableColumnFlags"] = "int"
defs["ImGuiTableColumnIdx"] = "ImS8"
defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
defs["ImGuiTableDrawChannelIdx"] = "ImU8"
defs["ImGuiTableFlags"] = "int"
defs["ImGuiTableRowFlags"] = "int"
defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
defs["ImGuiTableTempData"] = "struct ImGuiTableTempData"
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer" defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter" defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
defs["ImGuiTextFlags"] = "int" defs["ImGuiTextFlags"] = "int"
@@ -106,19 +149,21 @@ defs["ImGuiViewportFlags"] = "int"
defs["ImGuiViewportP"] = "struct ImGuiViewportP" defs["ImGuiViewportP"] = "struct ImGuiViewportP"
defs["ImGuiWindow"] = "struct ImGuiWindow" defs["ImGuiWindow"] = "struct ImGuiWindow"
defs["ImGuiWindowClass"] = "struct ImGuiWindowClass" defs["ImGuiWindowClass"] = "struct ImGuiWindowClass"
defs["ImGuiWindowDockStyle"] = "struct ImGuiWindowDockStyle"
defs["ImGuiWindowFlags"] = "int" defs["ImGuiWindowFlags"] = "int"
defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings" defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
defs["ImGuiWindowStackData"] = "struct ImGuiWindowStackData"
defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData" defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData"
defs["ImPoolIdx"] = "int" defs["ImPoolIdx"] = "int"
defs["ImRect"] = "struct ImRect" defs["ImRect"] = "struct ImRect"
defs["ImS16"] = "signed short" defs["ImS16"] = "signed short"
defs["ImS32"] = "signed int" defs["ImS32"] = "signed int"
defs["ImS64"] = "int64_t" defs["ImS64"] = "signed long long"
defs["ImS8"] = "signed char" defs["ImS8"] = "signed char"
defs["ImTextureID"] = "void*" defs["ImTextureID"] = "void*"
defs["ImU16"] = "unsigned short" defs["ImU16"] = "unsigned short"
defs["ImU32"] = "unsigned int" defs["ImU32"] = "unsigned int"
defs["ImU64"] = "uint64_t" defs["ImU64"] = "unsigned long long"
defs["ImU8"] = "unsigned char" defs["ImU8"] = "unsigned char"
defs["ImVec1"] = "struct ImVec1" defs["ImVec1"] = "struct ImVec1"
defs["ImVec2"] = "struct ImVec2" 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: 682249396f...1ee252772a

View File

@@ -2,6 +2,15 @@
#include <assert.h> #include <assert.h>
#include "../cimgui.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) int main(void)
{ {
assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle), assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle),
@@ -24,16 +33,19 @@ int main(void)
io->DisplaySize = display_size; io->DisplaySize = display_size;
io->DeltaTime = 1.0f / 60.0f; io->DeltaTime = 1.0f / 60.0f;
igNewFrame(); igNewFrame();
igBegin("mainwindow",NULL,ImGuiWindowFlags_NoTitleBar);
static float f = 0.0f; static float f = 0.0f;
igText("Hello World!"); igText("Hello World!");
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 1.0f); igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 0);
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate); igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate);
igEnd();
igShowDemoWindow(NULL); igShowDemoWindow(NULL);
igRender(); igRender();
} }
printf("%llu\n",ImGuiWindowFlags_NoTitleBar);
printf("size: %d\n",sizeof(ImGuiWindowFlags_NoTitleBar));
printf("DestroyContext()\n"); printf("DestroyContext()\n");
igDestroyContext(NULL); igDestroyContext(NULL);