Compare commits

...

163 Commits
1.77 ... 1.79

Author SHA1 Message Date
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
ddc93fb07f update README.md 2020-10-09 16:47:28 +02:00
Victor Bombi
e35d99e432 cpp2ffi: add skipped table for functions not wrapped but not manually created 2020-10-09 16:43:01 +02:00
Victor Bombi
a3ad64dbfa cpp2ffi: ftemplate_list functions where left out from comments changes 2020-10-09 16:24:18 +02:00
Victor Bombi
78ed715f21 Merge branch 'docking_inter' 2020-10-07 10:03:20 +02:00
Victor Bombi
711940a064 Use consistent JSON type for empty tables alternative to PR #155 2020-10-07 09:59:41 +02:00
Thomas Versteeg
d6be58f33f Always make enum values a string 2020-10-06 20:31:03 +02:00
Thomas Versteeg
0842366596 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 20:26:30 +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
0e408d392e cpp2ffi: gen_structs_and_enums declares nested struct before parent struct, if nested struct declares member of parent keep it (imnodes needs that) 2020-10-03 16:34:58 +02:00
Victor Bombi
cbed1120b1 Merge branch 'docking_inter' 2020-10-02 21:20:58 +02:00
Victor Bombi
8c6dbf6de7 cpp2ffi: take struct name; inside namespace (needed by imnodes) 2020-10-02 21:19:33 +02:00
Victor Bombi
3f0f7d2ba5 Merge branch 'docking_inter' 2020-09-26 09:58:19 +02:00
Victor Bombi
246c0e580f delete cimgui.h and cimgui.cpp from output folder 2020-09-26 09:53:54 +02:00
Victor Bombi
e748e6bc95 Merge branch 'docking_inter' 2020-09-26 09:37:39 +02:00
Victor Bombi
d2de965b2a generation 2020-09-25 17:47:58 +02:00
Victor Bombi
2bb45e2d77 cpp2ffi: linenumdict allows several repeated items 2020-09-25 17:47:42 +02:00
Victor Bombi
c64cef9b8c generation 2020-09-25 16:11:45 +02:00
Victor Bombi
3fd24c568d generator.lua: repair_defaults only check ImU32 values and NULL 2020-09-25 16:11:28 +02:00
Victor Bombi
416b4f017b cpp2ffi: get correct line number when compiler outputs defines (gcc -dD) 2020-09-25 15:46:33 +02:00
Victor Bombi
c2bd39271b README.md: update with location info 2020-09-25 14:53:35 +02:00
Victor Bombi
5f4aa99a3c cpp2ffi and generator: add parser:take_lines and use it 2020-09-25 14:08:36 +02:00
Victor Bombi
aa5d3646be generation 2020-09-25 13:52:25 +02:00
Victor Bombi
a898224cdc cpp2ffi and generator: cleaning and add linenumber for imgui_impl_ files also 2020-09-25 13:51:59 +02:00
Victor Bombi
10c52cc266 generation 2020-09-25 13:25:34 +02:00
Victor Bombi
350a316439 generator.lua: keep defaults values as strings 2020-09-25 13:25:14 +02:00
Victor Bombi
02834e8480 generate 2020-09-25 13:15:26 +02:00
Victor Bombi
d52d267351 cpp2ffi: add destructors location info and realdestructor field 2020-09-25 13:15:12 +02:00
Victor Bombi
c37df4d0b8 generate 2020-09-25 10:00:15 +02:00
Victor Bombi
31b598af72 cpp2ffi: dont generate comments 2020-09-25 09:59:59 +02:00
Victor Bombi
7685bab86f generation 2020-09-24 16:21:29 +02:00
Victor Bombi
abe5b56fd6 cpp2ffi and generator: allow parsing of header lines 2020-09-24 16:21:11 +02:00
Victor Bombi
3270e6b0f2 cpp2ffi: manage comments in several enums values in one line 2020-09-24 14:02:44 +02:00
Victor Bombi
9339b62303 cpp2ffi: clean enumbody only if there is one 2020-09-24 13:18:54 +02:00
Victor Bombi
81e7df17c9 generation 2020-09-24 12:32:53 +02:00
Victor Bombi
59e6a69d88 generator.lua: add function to repair default values 2020-09-24 12:32:36 +02:00
Victor Bombi
6ee1d4c3fc generation 2020-09-24 11:57:31 +02:00
Victor Bombi
b14352b9ef cpp2ffi: dont keep empty comments 2020-09-24 11:56:56 +02:00
Victor Bombi
277e37f4ef generation 2020-09-24 11:14:13 +02:00
Victor Bombi
54e64ba9c4 cpp2ffi: dont add comments to cimgui.h 2020-09-24 11:13:14 +02:00
Victor Bombi
060df0f4eb cpp2ffi: process comments also 2020-09-24 10:53:41 +02:00
tga
9edbc20e89 Makefile add option to compile as static lib 2020-09-20 16:11:55 +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
b230afa909 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:12:13 +02:00
Victor Bombi
d59448763f Freetype2 allow generation and compilation with Freetype2 2020-09-10 12:22:35 +02:00
Victor Bombi
d9b50e696f Freetype2 allow generation and compilation with Freetype2 2020-09-10 12:20:58 +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
Victor Bombi
6fbdf5ce62 generation 2020-09-09 17:59:31 +02:00
Victor Bombi
7bbb7c79b7 cpp2ffi: new parseFunction allowing not named args and some & corrections 2020-09-09 17:58:55 +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
3b73c15805 cpp2ffi: reconstruct signature from argsT (needed after allowing not named function arguments) 2020-09-08 18:37:36 +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
bcad423dc7 cpp2ffi: dont break on untagged enums or unamed function arguments but post warning and try to repair 2020-09-08 16:30:51 +02:00
Victor Bombi
dbcc6d1529 cpp2ffi: implement func templates by ftemplate_list 2020-09-07 12:29:46 +02:00
Victor Bombi
477f60f822 cpp2ffi: implement func templates by ftemplate_list 2020-09-07 12:28:45 +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
1109a79367 cpp2ffi: export parse_enum_value (used in LuaJIT-ImGui class_gen) 2020-09-06 18:42:02 +02:00
Victor Bombi
a91865dc27 cpp2ffi: add ":" to characters in default detection 2020-09-06 15:59:03 +02:00
Victor Bombi
d766b79138 cpp2ffi: add ":" to characters in default detection 2020-09-06 15:58: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
596f3008f6 cpp2ffi: split func_header_generate into func_header_generate_structs and func_header_generate_funcs 2020-09-06 10:48:39 +02:00
Victor Bombi
59e49145e8 cpp2ffi: skip static variable from template detection also 2020-09-05 11:25:45 +02:00
Victor Bombi
512efb3505 cpp2ffi: skip static variable from template detection also 2020-09-05 11:24:03 +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
3d997ffdae generation 2020-09-04 16:57:18 +02:00
Victor Bombi
95d626aef9 generator.lua: generate_templates with table_do_sorted for output consistency 2020-09-04 16:56:02 +02:00
Victor Bombi
3c30c86405 generator.lua: pre sorted changes 2020-09-04 16:56:02 +02:00
Victor Bombi
41ea43b13f cpp2ffi: use table_do_sorted in func_header_generate to have more output consistency 2020-09-04 16:19:30 +02:00
Victor Bombi
670965cbe5 generator: cpp2ffi rule out template typename (ex. T) so avoid correction in generator.lua 2020-09-04 15:44:40 +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
f635eb28c5 generation with new recursive parser 2020-09-04 10:43:31 +02:00
Victor Bombi
710ff2ae12 new parser: update README.md 2020-09-04 10:41:18 +02:00
Victor Bombi
a7ba601962 new parser: clean_structR1 clean vardef_re initializations 2020-09-04 10:41:18 +02:00
Victor Bombi
6d112735ee move parseFunctions to gen_structs_and_enums 2020-09-04 10:41:18 +02:00
Victor Bombi
ea1e5a3ab8 clean get_parents_name 2020-09-04 10:41:18 +02:00
Victor Bombi
46f51395eb new generator: embeded_structs use get_parents_name 2020-09-04 10:41:18 +02:00
Victor Bombi
8fee1a6fe7 new generator move embeded_structs detection to gen_structs_and_enums 2020-09-04 10:41:18 +02:00
Victor Bombi
8ba8ced1f5 new parser move templates in struct detection to parseItems 2020-09-04 10:41:17 +02:00
Victor Bombi
13aafdee96 new recursive parser3: take care of static functions 2020-09-04 10:41:17 +02:00
Victor Bombi
18745e0713 new recusive parser2 2020-09-04 10:41:17 +02:00
Victor Bombi
5f1243c42c cpp2ffi: new recursive parser 2020-09-04 10:41:17 +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
804b0c0bab cpp2ffi: skip function_re and functionD_re as not processed (they are processed already) 2020-08-31 09:30:34 +02:00
Victor Bombi
4630f434ea cpp2ffi: function_re: avoid confusion with asignment, templated args: allow several, add not processed info 2020-08-31 09:15:37 +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
a68f4a93ae cpp2ffi: embeded_enums typedef generation (for ImGuizmo) and gen_structs_and_enums keeps strings (to avoid running twice) 2020-08-29 14:28:17 +02:00
Victor Bombi
7cf1592256 cpp2ffi: get enums in namespace (needed by ImGuizmo) 2020-08-28 19:05:48 +02:00
Victor Bombi
b6bc895d01 cpp2ffi: get enums in namespace (needed by ImGuizmo) 2020-08-28 19:04:55 +02:00
Victor Bombi
f4e1cc4135 generator: move C writting functions inside cpp2ffi 2020-08-28 17:10:36 +02:00
Victor Bombi
e105d9f793 generator: move C writting functions inside cpp2ffi 2020-08-28 17:09:37 +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
df229d94ac cpp2ffi: functions defined inside class may have optional ; ending (needed by implot v0.5) 2020-08-28 12:59:43 +02:00
Victor Bombi
f66c7e1cf8 README.md: add kotlin-imgui 2020-08-28 12:07:48 +02:00
Victor Bombi
debf951581 README.md: add kotlin-imgui 2020-08-28 12:06:59 +02:00
Victor Bombi
0ae7a19bbd README.md update example bindings 2020-08-28 11:58:24 +02:00
Victor Bombi
c99cf02537 README.md update example bindings 2020-08-28 11:56:38 +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
9abc3207aa generation with last cpp2ffi 2020-08-28 10:44:22 +02:00
Victor Bombi
2fa6d06a67 cpp2ffi: name [] to name[] 2020-08-28 10:43:37 +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
cdd1fbb2df generation with last ccp2ffi modifications (STB_TexteditState) issue #145 2020-08-24 20:05:08 +02:00
Victor Bombi
e2c64a1808 cpp2ffi: add json parsing for typedef struct inside namespace (STB_TexteditState) 2020-08-24 20:02:35 +02:00
Victor Bombi
c9921e9e0f cpp2ffi: typedef_st_re modification for separating diferent consecutive typedef structs 2020-08-24 19:49:28 +02:00
Victor Bombi
90ddbc37b0 pull imgui 1.78 and generate 2020-08-18 21:11:32 +02:00
Victor Bombi
c04ed4fa16 pull imgui 1.78 docking branch and generate 2020-08-18 21:01:56 +02:00
Oleh Prypin
c31750d25e Switch Ubuntu version to focal 2020-08-13 11:26:37 +02:00
Oleh Prypin
76eaf80082 Simplify CMake invocation in CI 2020-08-13 11:26:37 +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
f41dd1cf2e generation for location in structs_and_enums 2020-07-07 09:59:48 +02:00
Victor Bombi
fba064065d update readme for locations in struct_and_enums 2020-07-07 09:59:06 +02:00
Victor Bombi
b875a545b2 cpp2ffi: add locations to struct_and_enums 2020-07-07 09:55:09 +02:00
Victor Bombi
38a744674e generate again 2020-06-30 09:45:35 +02:00
Victor Bombi
2f4c2c03db cpp2ffi.lua: remove explicit keyword, get template_type from parser.templates instead of string substitution (solves issues #140 and #141) 2020-06-30 09:43:35 +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
8c5bda8548 pull imgui docking 1.77 and generate 2020-06-29 19:06:28 +02:00
Victor Bombi
92a029f678 README.md update 2020-06-29 18:57:39 +02:00
Victor Bombi
bb54fa5e20 generation with non const ref to pointer 2020-06-06 11:40:34 +02:00
Victor Bombi
38bcc91220 non const ref to pointer 2020-06-06 11:38:56 +02:00
Victor Bombi
36522778d0 readme: argsT when arg is function pointer 2020-06-05 21:46:31 +02:00
Victor Bombi
f69b042105 generation with location info 2020-06-05 20:43:42 +02:00
Victor Bombi
1efb54810c update readme with location info 2020-06-05 20:41:42 +02:00
Victor Bombi
4edb09f7c4 keep implementations locations 2020-06-05 20:41:42 +02:00
Victor Bombi
0f2a41e273 keep function locations
keep locations
2020-06-05 20:41:42 +02:00
Victor Bombi
981eafaa3e readme: size field in struct description 2020-05-31 10:35:37 +02:00
Victor Bombi
09bd080a0c generate with FnPtr change 2020-05-30 15:20:49 +02:00
Victor Bombi
217e55b5b3 FnPtr changes to FnretvalPtr to allow 2 overloadings with different FnPtr, corrected checking equal ov_cimguiname 2020-05-30 15:18:38 +02:00
Victor Bombi
6e52c26817 CMakeLists.txt modification for MSVC thanks to @Sewer56 2020-05-25 16:56:07 +02:00
Victor Bombi
78c1ef224d pull imgui again for issue 3243 2020-05-18 16:40:43 +02:00
Victor Bombi
9f99062c6f getCname uses namespace 2020-05-16 16:49:08 +02:00
Victor Bombi
da72704aa1 pull docking and generate 2020-05-16 16:27:17 +02:00
Victor Bombi
b861387d21 pull imgui docking branch and generate 2020-04-29 18:11:57 +02:00
25 changed files with 7981 additions and 12626 deletions

View File

@@ -1,5 +1,5 @@
language: cpp
dist: trusty
dist: focal
os:
- linux
@@ -10,20 +10,11 @@ compiler:
- gcc
- clang
env:
- MSBUILD_PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
script:
- mkdir bld
- cd bld
- cmake -D CIMGUI_TEST=1 ..
- |
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
export PATH=$MSBUILD_PATH:$PATH
MSBuild.exe cimgui.sln
else
make
fi
- cmake --build .
- |
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
./Debug/cimgui_test.exe

View File

@@ -12,6 +12,15 @@ file(GLOB IMGUI_SOURCES
)
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library")
set(IMGUI_LIBRARIES )
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)
#add library and link
if (IMGUI_STATIC)
@@ -30,6 +39,7 @@ endif (WIN32)
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
set_target_properties(cimgui PROPERTIES PREFIX "")
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
#install
install(TARGETS cimgui

View File

@@ -12,6 +12,8 @@ CXXFLAGS=-O2 -fno-exceptions -fno-rtti
UNAME_S := $(shell uname -s)
AR := ar -rc
ifeq ($(UNAME_S), Linux) #LINUX
ECHO_MESSAGE = "Linux"
@@ -49,6 +51,9 @@ endif
all:$(OUTPUTNAME)
@echo Build complete for $(ECHO_MESSAGE)
static:$(OBJS)
$(AR) libcimgui.a $(OBJS)
$(OUTPUTNAME):$(OBJS)
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
@@ -60,4 +65,4 @@ fclean: clean
re: fclean all
.PHONY: all clean fclean re
.PHONY: all clean fclean re static

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes:
* currently this wrapper is based on version [1.76 of Dear ImGui with internal api]
* currently this wrapper is based on version [1.79 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui implementations 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.
@@ -20,10 +20,11 @@ Notes:
# compilation
* clone
* git clone --recursive https://github.com/cimgui/cimgui.git
* git submodule update
* `git clone --recursive https://github.com/cimgui/cimgui.git`
* `git submodule update`
* compile
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location)
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
# using generator
@@ -32,7 +33,7 @@ Notes:
* 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)
* 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.
* 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 config_generator.lua for adding includes needed by your chosen implementations (vulkan needs that).
* 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.
@@ -55,15 +56,18 @@ Notes:
* call_args : a string with the argument names separated by commas for calling imgui function
* defaults : a collection in which key is argument name and value is the default value.
* manual : will be true if this function is hand-written (not generated)
* skipped : will be true if this function is not generated (and not hand-written)
* isvararg : is set if some argument is a vararg
* constructor : is set if the function is a constructor for a class
* destructor : is set if the function is a destructor for a class
* constructor : is set if the function is a constructor for a class.
* destructor : is set if the function is a destructor for a class but not just a default destructor.
* realdestructor : is set if the function is a destructor for a class
* templated : is set if the function belongs to a templated class (ImVector)
* templatedgen: is set if the function belongs to a struct generated from template (ImVector_ImWchar)
* nonUDT : if present the original function was returning a user defined type so that signature has been changed to accept a pointer to the UDT as first argument.
* location : name of the header file this function comes from. (imgui, internal, imgui_impl_xxx)
* location : name of the header file and linenumber this function comes from. (imgui:000, internal:123, imgui_impl_xxx:123)
* is_static_function : is setted when it is an struct static function.
### structs_and_enums description
* Is is a collection with two items:
* Is is a collection with three items:
* under key enums we get the enums collection in which each key is the enum tagname and the value is an array of the ordered values represented as a collection with keys
* name : the name of this enum value
* value : the C string
@@ -74,6 +78,7 @@ Notes:
* name : the name of the struct member
* size : the number of array elements (when it is an array)
* bitfield : the bitfield width (in case it is a bitfield)
* under key locations we get the locations collection in which each key is the enum tagname or the struct name and the value is the name of the header file and line number this comes from.
# usage
* use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig`
@@ -83,13 +88,16 @@ Notes:
# example bindings based on cimgui
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
* [nimgl/imgui](https://github.com/nimgl/imgui)
* [kotlin-imgui](https://github.com/Dominaezzz/kotlin-imgui)
* [CImGui.jl](https://github.com/Gnimuc/CImGui.jl)
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
* [imgui-pas](https://github.com/dpethes/imgui-pas)
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
# C examples based on cimgui

View File

@@ -1,8 +1,11 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.77" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.79" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
#include "./imgui/imgui.h"
#ifdef CIMGUI_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"
#endif
#include "./imgui/imgui_internal.h"
#include "cimgui.h"
@@ -598,9 +601,9 @@ CIMGUI_API bool igSmallButton(const char* label)
{
return ImGui::SmallButton(label);
}
CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size)
CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size,ImGuiButtonFlags flags)
{
return ImGui::InvisibleButton(str_id,size);
return ImGui::InvisibleButton(str_id,size,flags);
}
CIMGUI_API bool igArrowButton(const char* str_id,ImGuiDir dir)
{
@@ -658,109 +661,109 @@ CIMGUI_API bool igComboFnBoolPtr(const char* label,int* current_item,bool(*items
{
return ImGui::Combo(label,current_item,items_getter,data,items_count,popup_max_height_in_items);
}
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragFloat(label,v,v_speed,v_min,v_max,format,power);
return ImGui::DragFloat(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragFloat2(label,v,v_speed,v_min,v_max,format,power);
return ImGui::DragFloat2(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragFloat3(label,v,v_speed,v_min,v_max,format,power);
return ImGui::DragFloat3(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragFloat4(label,v,v_speed,v_min,v_max,format,power);
return ImGui::DragFloat4(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,float power)
CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,ImGuiSliderFlags flags)
{
return ImGui::DragFloatRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max,power);
return ImGui::DragFloatRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max,flags);
}
CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format)
CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragInt(label,v,v_speed,v_min,v_max,format);
return ImGui::DragInt(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format)
CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragInt2(label,v,v_speed,v_min,v_max,format);
return ImGui::DragInt2(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format)
CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragInt3(label,v,v_speed,v_min,v_max,format);
return ImGui::DragInt3(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format)
CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragInt4(label,v,v_speed,v_min,v_max,format);
return ImGui::DragInt4(label,v,v_speed,v_min,v_max,format,flags);
}
CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max)
CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max,ImGuiSliderFlags flags)
{
return ImGui::DragIntRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max);
return ImGui::DragIntRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max,flags);
}
CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* p_data,float v_speed,const void* p_min,const void* p_max,const char* format,float power)
CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* p_data,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragScalar(label,data_type,p_data,v_speed,p_min,p_max,format,power);
return ImGui::DragScalar(label,data_type,p_data,v_speed,p_min,p_max,format,flags);
}
CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,float v_speed,const void* p_min,const void* p_max,const char* format,float power)
CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragScalarN(label,data_type,p_data,components,v_speed,p_min,p_max,format,power);
return ImGui::DragScalarN(label,data_type,p_data,components,v_speed,p_min,p_max,format,flags);
}
CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderFloat(label,v,v_min,v_max,format,power);
return ImGui::SliderFloat(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderFloat2(label,v,v_min,v_max,format,power);
return ImGui::SliderFloat2(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderFloat3(label,v,v_min,v_max,format,power);
return ImGui::SliderFloat3(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderFloat4(label,v,v_min,v_max,format,power);
return ImGui::SliderFloat4(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format)
CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderAngle(label,v_rad,v_degrees_min,v_degrees_max,format);
return ImGui::SliderAngle(label,v_rad,v_degrees_min,v_degrees_max,format,flags);
}
CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format)
CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderInt(label,v,v_min,v_max,format);
return ImGui::SliderInt(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format)
CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderInt2(label,v,v_min,v_max,format);
return ImGui::SliderInt2(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format)
CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderInt3(label,v,v_min,v_max,format);
return ImGui::SliderInt3(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format)
CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderInt4(label,v,v_min,v_max,format);
return ImGui::SliderInt4(label,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,float power)
CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderScalar(label,data_type,p_data,p_min,p_max,format,power);
return ImGui::SliderScalar(label,data_type,p_data,p_min,p_max,format,flags);
}
CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_min,const void* p_max,const char* format,float power)
CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::SliderScalarN(label,data_type,p_data,components,p_min,p_max,format,power);
return ImGui::SliderScalarN(label,data_type,p_data,components,p_min,p_max,format,flags);
}
CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,float power)
CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::VSliderFloat(label,size,v,v_min,v_max,format,power);
return ImGui::VSliderFloat(label,size,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format)
CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::VSliderInt(label,size,v,v_min,v_max,format);
return ImGui::VSliderInt(label,size,v,v_min,v_max,format,flags);
}
CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,float power)
CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::VSliderScalar(label,size,data_type,p_data,p_min,p_max,format,power);
return ImGui::VSliderScalar(label,size,data_type,p_data,p_min,p_max,format,flags);
}
CIMGUI_API bool igInputText(const char* label,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
{
@@ -1053,9 +1056,9 @@ CIMGUI_API void igOpenPopup(const char* str_id,ImGuiPopupFlags popup_flags)
{
return ImGui::OpenPopup(str_id,popup_flags);
}
CIMGUI_API bool igOpenPopupContextItem(const char* str_id,ImGuiPopupFlags popup_flags)
CIMGUI_API void igOpenPopupOnItemClick(const char* str_id,ImGuiPopupFlags popup_flags)
{
return ImGui::OpenPopupContextItem(str_id,popup_flags);
return ImGui::OpenPopupOnItemClick(str_id,popup_flags);
}
CIMGUI_API void igCloseCurrentPopup()
{
@@ -1125,6 +1128,10 @@ CIMGUI_API void igEndTabItem()
{
return ImGui::EndTabItem();
}
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags)
{
return ImGui::TabItemButton(label,flags);
}
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label)
{
return ImGui::SetTabItemClosed(tab_or_docked_window_label);
@@ -1509,6 +1516,14 @@ CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackDat
{
return self->InsertChars(pos,text,text_end);
}
CIMGUI_API void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self)
{
return self->SelectAll();
}
CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self)
{
return self->ClearSelection();
}
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self)
{
return self->HasSelection();
@@ -1713,18 +1728,14 @@ CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
{
return self->BuildSortByKey();
}
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void)
{
return IM_NEW(ImGuiListClipper)(items_count,items_height);
return IM_NEW(ImGuiListClipper)();
}
CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self)
{
IM_DELETE(self);
}
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{
return self->Step();
}
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height)
{
return self->Begin(items_count,items_height);
@@ -1733,6 +1744,10 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
{
return self->End();
}
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{
return self->Step();
}
CIMGUI_API ImColor* ImColor_ImColorNil(void)
{
return IM_NEW(ImColor)();
@@ -1761,9 +1776,9 @@ CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a)
{
return self->SetHSV(h,s,v,a);
}
CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a)
CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a)
{
*pOut = self->HSV(h,s,v,a);
*pOut = ImColor::HSV(h,s,v,a);
}
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
{
@@ -2217,7 +2232,7 @@ CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font
{
return self->AddCustomRectFontGlyph(font,id,width,height,advance_x,offset);
}
CIMGUI_API const ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index)
CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index)
{
return self->GetCustomRectByIndex(index);
}
@@ -2285,9 +2300,9 @@ CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size)
{
return self->GrowIndex(new_size);
}
CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x)
CIMGUI_API void ImFont_AddGlyph(ImFont* self,const ImFontConfig* src_cfg,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x)
{
return self->AddGlyph(c,x0,y0,x1,y1,u0,v0,u1,v1,advance_x);
return self->AddGlyph(src_cfg,c,x0,y0,x1,y1,u0,v0,u1,v1,advance_x);
}
CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst)
{
@@ -2465,6 +2480,30 @@ CIMGUI_API double igImPowdouble(double x,double y)
{
return ImPow(x,y);
}
CIMGUI_API float igImLogFloat(float x)
{
return ImLog(x);
}
CIMGUI_API double igImLogdouble(double x)
{
return ImLog(x);
}
CIMGUI_API float igImAbsFloat(float x)
{
return ImAbs(x);
}
CIMGUI_API double igImAbsdouble(double x)
{
return ImAbs(x);
}
CIMGUI_API float igImSignFloat(float x)
{
return ImSign(x);
}
CIMGUI_API double igImSigndouble(double x)
{
return ImSign(x);
}
CIMGUI_API void igImMin(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs)
{
*pOut = ImMin(lhs,rhs);
@@ -3025,19 +3064,19 @@ CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self)
{
*pOut = self->MenuBarRect();
}
CIMGUI_API ImGuiItemHoveredDataBackup* ImGuiItemHoveredDataBackup_ImGuiItemHoveredDataBackup(void)
CIMGUI_API ImGuiLastItemDataBackup* ImGuiLastItemDataBackup_ImGuiLastItemDataBackup(void)
{
return IM_NEW(ImGuiItemHoveredDataBackup)();
return IM_NEW(ImGuiLastItemDataBackup)();
}
CIMGUI_API void ImGuiItemHoveredDataBackup_destroy(ImGuiItemHoveredDataBackup* self)
CIMGUI_API void ImGuiLastItemDataBackup_destroy(ImGuiLastItemDataBackup* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiItemHoveredDataBackup_Backup(ImGuiItemHoveredDataBackup* self)
CIMGUI_API void ImGuiLastItemDataBackup_Backup(ImGuiLastItemDataBackup* self)
{
return self->Backup();
}
CIMGUI_API void ImGuiItemHoveredDataBackup_Restore(ImGuiItemHoveredDataBackup* self)
CIMGUI_API void ImGuiLastItemDataBackup_Restore(ImGuiLastItemDataBackup* self)
{
return self->Restore();
}
@@ -3113,6 +3152,10 @@ CIMGUI_API void igSetWindowCollapsedWindowPtr(ImGuiWindow* window,bool collapsed
{
return ImGui::SetWindowCollapsed(window,collapsed,cond);
}
CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size)
{
return ImGui::SetWindowHitTestHole(window,pos,size);
}
CIMGUI_API void igFocusWindow(ImGuiWindow* window)
{
return ImGui::FocusWindow(window);
@@ -3201,13 +3244,13 @@ CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll)
{
return ImGui::SetNextWindowScroll(scroll);
}
CIMGUI_API void igSetScrollXWindowPtr(ImGuiWindow* window,float new_scroll_x)
CIMGUI_API void igSetScrollXWindowPtr(ImGuiWindow* window,float scroll_x)
{
return ImGui::SetScrollX(window,new_scroll_x);
return ImGui::SetScrollX(window,scroll_x);
}
CIMGUI_API void igSetScrollYWindowPtr(ImGuiWindow* window,float new_scroll_y)
CIMGUI_API void igSetScrollYWindowPtr(ImGuiWindow* window,float scroll_y)
{
return ImGui::SetScrollY(window,new_scroll_y);
return ImGui::SetScrollY(window,scroll_y);
}
CIMGUI_API void igSetScrollFromPosXWindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio)
{
@@ -3269,6 +3312,10 @@ CIMGUI_API void igPushOverrideID(ImGuiID id)
{
return ImGui::PushOverrideID(id);
}
CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed)
{
return ImGui::GetIDWithSeed(str_id_begin,str_id_end,seed);
}
CIMGUI_API void igItemSizeVec2(const ImVec2 size,float text_baseline_y)
{
return ImGui::ItemSize(size,text_baseline_y);
@@ -3289,6 +3336,10 @@ CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id,bool clip_even_when_log
{
return ImGui::IsClippedEx(bb,id,clip_even_when_logged);
}
CIMGUI_API void igSetLastItemData(ImGuiWindow* window,ImGuiID item_id,ImGuiItemStatusFlags status_flags,const ImRect item_rect)
{
return ImGui::SetLastItemData(window,item_id,status_flags,item_rect);
}
CIMGUI_API bool igFocusableItemRegister(ImGuiWindow* window,ImGuiID id)
{
return ImGui::FocusableItemRegister(window,id);
@@ -3533,9 +3584,13 @@ CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarCloseTab(tab_bar,tab);
}
CIMGUI_API void igTabBarQueueChangeTabOrder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir)
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir)
{
return ImGui::TabBarQueueChangeTabOrder(tab_bar,tab,dir);
return ImGui::TabBarQueueReorder(tab_bar,tab,dir);
}
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar)
{
return ImGui::TabBarProcessReorder(tab_bar);
}
CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags)
{
@@ -3621,6 +3676,10 @@ CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list,const ImRect rect
{
return ImGui::RenderRectFilledRangeH(draw_list,rect,col,x_start_norm,x_end_norm,rounding);
}
CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,ImRect outer,ImRect inner,ImU32 col,float rounding)
{
return ImGui::RenderRectFilledWithHole(draw_list,outer,inner,col,rounding);
}
CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags)
{
return ImGui::TextEx(text,text_end,flags);
@@ -3673,13 +3732,13 @@ CIMGUI_API bool igButtonBehavior(const ImRect bb,ImGuiID id,bool* out_hovered,bo
{
return ImGui::ButtonBehavior(bb,id,out_hovered,out_held,flags);
}
CIMGUI_API bool igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,float power,ImGuiDragFlags flags)
CIMGUI_API bool igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags)
{
return ImGui::DragBehavior(id,data_type,p_v,v_speed,p_min,p_max,format,power,flags);
return ImGui::DragBehavior(id,data_type,p_v,v_speed,p_min,p_max,format,flags);
}
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,float power,ImGuiSliderFlags flags,ImRect* out_grab_bb)
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags,ImRect* out_grab_bb)
{
return ImGui::SliderBehavior(bb,id,data_type,p_v,p_min,p_max,format,power,flags,out_grab_bb);
return ImGui::SliderBehavior(bb,id,data_type,p_v,p_min,p_max,format,flags,out_grab_bb);
}
CIMGUI_API bool igSplitterBehavior(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* size1,float* size2,float min_size1,float min_size2,float hover_extend,float hover_visibility_delay)
{
@@ -3705,7 +3764,7 @@ CIMGUI_API int igDataTypeFormatString(char* buf,int buf_size,ImGuiDataType data_
{
return ImGui::DataTypeFormatString(buf,buf_size,data_type,p_data,format);
}
CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,void* arg_1,const void* arg_2)
CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,const void* arg_1,const void* arg_2)
{
return ImGui::DataTypeApplyOp(data_type,op,output,arg_1,arg_2);
}
@@ -3713,6 +3772,10 @@ CIMGUI_API bool igDataTypeApplyOpFromText(const char* buf,const char* initial_va
{
return ImGui::DataTypeApplyOpFromText(buf,initial_value_buf,data_type,p_data,format);
}
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2)
{
return ImGui::DataTypeCompare(data_type,arg_1,arg_2);
}
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max)
{
return ImGui::DataTypeClamp(data_type,p_data,p_min,p_max);
@@ -3797,6 +3860,10 @@ CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas)
{
return ImFontAtlasBuildFinish(atlas);
}
CIMGUI_API void igImFontAtlasBuildRender1bppRectFromString(ImFontAtlas* atlas,int atlas_x,int atlas_y,int w,int h,const char* in_str,char in_marker_char,unsigned char in_marker_pixel_value)
{
return ImFontAtlasBuildRender1bppRectFromString(atlas,atlas_x,atlas_y,w,h,in_str,in_marker_char,in_marker_pixel_value);
}
CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor)
{
return ImFontAtlasBuildMultiplyCalcLookupTable(out_table,in_multiply_factor);

506
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.77" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.79" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
@@ -42,16 +42,15 @@ typedef unsigned __int64 ImU64;
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextRange ImGuiTextRange;
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage;
typedef struct ImVec2ih ImVec2ih;
typedef struct ImVec1 ImVec1;
typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
typedef struct ImVec4 ImVec4;
typedef struct ImVec2 ImVec2;
typedef struct StbTexteditRow StbTexteditRow;
typedef struct STB_TexteditState STB_TexteditState;
typedef struct StbUndoState StbUndoState;
typedef struct StbUndoRecord StbUndoRecord;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindow ImGuiWindow;
@@ -64,7 +63,7 @@ typedef struct ImGuiNextItemData ImGuiNextItemData;
typedef struct ImGuiNextWindowData ImGuiNextWindowData;
typedef struct ImGuiNavMoveResult ImGuiNavMoveResult;
typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiItemHoveredDataBackup ImGuiItemHoveredDataBackup;
typedef struct ImGuiLastItemDataBackup ImGuiLastItemDataBackup;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
@@ -74,6 +73,11 @@ typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImRect ImRect;
typedef struct ImBitVector ImBitVector;
typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextRange ImGuiTextRange;
typedef struct ImVec4 ImVec4;
typedef struct ImVec2 ImVec2;
typedef struct ImGuiTextFilter ImGuiTextFilter;
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
typedef struct ImGuiStyle ImGuiStyle;
@@ -98,6 +102,7 @@ typedef struct ImDrawList ImDrawList;
typedef struct ImDrawData ImDrawData;
typedef struct ImDrawCmd ImDrawCmd;
typedef struct ImDrawChannel ImDrawChannel;
struct ImDrawChannel;
struct ImDrawCmd;
struct ImDrawData;
@@ -135,6 +140,7 @@ typedef int ImDrawCornerFlags;
typedef int ImDrawListFlags;
typedef int ImFontAtlasFlags;
typedef int ImGuiBackendFlags;
typedef int ImGuiButtonFlags;
typedef int ImGuiColorEditFlags;
typedef int ImGuiConfigFlags;
typedef int ImGuiComboFlags;
@@ -145,13 +151,14 @@ typedef int ImGuiInputTextFlags;
typedef int ImGuiKeyModFlags;
typedef int ImGuiPopupFlags;
typedef int ImGuiSelectableFlags;
typedef int ImGuiSliderFlags;
typedef int ImGuiTabBarFlags;
typedef int ImGuiTabItemFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiWindowFlags;
typedef void* ImTextureID;
typedef unsigned int ImGuiID;
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data);
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
typedef unsigned short ImWchar16;
typedef unsigned int ImWchar32;
@@ -177,7 +184,7 @@ struct ImGuiContext;
struct ImGuiDataTypeInfo;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiItemHoveredDataBackup;
struct ImGuiLastItemDataBackup;
struct ImGuiMenuColumns;
struct ImGuiNavMoveResult;
struct ImGuiNextWindowData;
@@ -193,7 +200,6 @@ struct ImGuiWindowSettings;
typedef int ImGuiLayoutType;
typedef int ImGuiButtonFlags;
typedef int ImGuiColumnsFlags;
typedef int ImGuiDragFlags;
typedef int ImGuiItemFlags;
typedef int ImGuiItemStatusFlags;
typedef int ImGuiNavHighlightFlags;
@@ -202,83 +208,47 @@ typedef int ImGuiNavMoveFlags;
typedef int ImGuiNextItemDataFlags;
typedef int ImGuiNextWindowDataFlags;
typedef int ImGuiSeparatorFlags;
typedef int ImGuiSliderFlags;
typedef int ImGuiTextFlags;
typedef int ImGuiTooltipFlags;
extern ImGuiContext* GImGui;
typedef FILE* ImFileHandle;
typedef int ImPoolIdx;
typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImGuiColumnData {int Size;int Capacity;ImGuiColumnData* Data;} ImVector_ImGuiColumnData;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2;
typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph;
typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImDrawChannel {int Size;int Capacity;ImDrawChannel* Data;} ImVector_ImDrawChannel;
typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx;
typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings;
typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings;
typedef struct ImVector_ImDrawChannel {int Size;int Capacity;ImDrawChannel* Data;} ImVector_ImDrawChannel;
typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx;
typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect;
typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImGuiColumnData {int Size;int Capacity;ImGuiColumnData* Data;} ImVector_ImGuiColumnData;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2;
typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct
{
int where;
int insert_length;
int delete_length;
int char_storage;
} StbUndoRecord;
typedef struct
{
StbUndoRecord undo_rec [99];
ImWchar undo_char[999];
short undo_point, redo_point;
int undo_char_point, redo_char_point;
} StbUndoState;
typedef struct
{
int cursor;
int select_start;
int select_end;
unsigned char insert_mode;
unsigned char cursor_at_end_of_line;
unsigned char initialized;
unsigned char has_preferred_x;
unsigned char single_line;
unsigned char padding1, padding2, padding3;
float preferred_x;
StbUndoState undostate;
} STB_TexteditState;
typedef struct
{
float x0,x1;
float baseline_y_delta;
float ymin,ymax;
int num_chars;
} StbTexteditRow;
struct ImVec2
{
float x, y;
@@ -340,6 +310,7 @@ typedef enum {
ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
ImGuiInputTextFlags_CharsScientific = 1 << 17,
ImGuiInputTextFlags_CallbackResize = 1 << 18,
ImGuiInputTextFlags_CallbackEdit = 1 << 19,
ImGuiInputTextFlags_Multiline = 1 << 20,
ImGuiInputTextFlags_NoMarkEdited = 1 << 21
}ImGuiInputTextFlags_;
@@ -412,7 +383,10 @@ typedef enum {
ImGuiTabItemFlags_SetSelected = 1 << 1,
ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2,
ImGuiTabItemFlags_NoPushId = 1 << 3,
ImGuiTabItemFlags_NoTooltip = 1 << 4
ImGuiTabItemFlags_NoTooltip = 1 << 4,
ImGuiTabItemFlags_NoReorder = 1 << 5,
ImGuiTabItemFlags_Leading = 1 << 6,
ImGuiTabItemFlags_Trailing = 1 << 7
}ImGuiTabItemFlags_;
typedef enum {
ImGuiFocusedFlags_None = 0,
@@ -619,6 +593,14 @@ typedef enum {
ImGuiStyleVar_SelectableTextAlign,
ImGuiStyleVar_COUNT
}ImGuiStyleVar_;
typedef enum {
ImGuiButtonFlags_None = 0,
ImGuiButtonFlags_MouseButtonLeft = 1 << 0,
ImGuiButtonFlags_MouseButtonRight = 1 << 1,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft
}ImGuiButtonFlags_;
typedef enum {
ImGuiColorEditFlags_None = 0,
ImGuiColorEditFlags_NoAlpha = 1 << 1,
@@ -644,12 +626,20 @@ typedef enum {
ImGuiColorEditFlags_PickerHueWheel = 1 << 26,
ImGuiColorEditFlags_InputRGB = 1 << 27,
ImGuiColorEditFlags_InputHSV = 1 << 28,
ImGuiColorEditFlags__OptionsDefault = ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_PickerHueBar,
ImGuiColorEditFlags__DisplayMask = ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_DisplayHSV|ImGuiColorEditFlags_DisplayHex,
ImGuiColorEditFlags__DataTypeMask = ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_Float,
ImGuiColorEditFlags__PickerMask = ImGuiColorEditFlags_PickerHueWheel|ImGuiColorEditFlags_PickerHueBar,
ImGuiColorEditFlags__InputMask = ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_InputHSV
ImGuiColorEditFlags__OptionsDefault = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar,
ImGuiColorEditFlags__DisplayMask = ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV | ImGuiColorEditFlags_DisplayHex,
ImGuiColorEditFlags__DataTypeMask = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float,
ImGuiColorEditFlags__PickerMask = ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar,
ImGuiColorEditFlags__InputMask = ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_InputHSV
}ImGuiColorEditFlags_;
typedef enum {
ImGuiSliderFlags_None = 0,
ImGuiSliderFlags_AlwaysClamp = 1 << 4,
ImGuiSliderFlags_Logarithmic = 1 << 5,
ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
ImGuiSliderFlags_NoInput = 1 << 7,
ImGuiSliderFlags_InvalidMask_ = 0x7000000F
}ImGuiSliderFlags_;
typedef enum {
ImGuiMouseButton_Left = 0,
ImGuiMouseButton_Right = 1,
@@ -701,9 +691,10 @@ struct ImGuiStyle
float ScrollbarRounding;
float GrabMinSize;
float GrabRounding;
float LogSliderDeadzone;
float TabRounding;
float TabBorderSize;
float TabMinWidthForUnselectedCloseButton;
float TabMinWidthForCloseButton;
ImGuiDir ColorButtonPosition;
ImVec2 ButtonTextAlign;
ImVec2 SelectableTextAlign;
@@ -711,6 +702,7 @@ struct ImGuiStyle
ImVec2 DisplaySafeAreaPadding;
float MouseCursorScale;
bool AntiAliasedLines;
bool AntiAliasedLinesUseTex;
bool AntiAliasedFill;
float CurveTessellationTol;
float CircleSegmentMaxError;
@@ -828,7 +820,7 @@ struct ImGuiPayload
ImGuiID SourceId;
ImGuiID SourceParentId;
int DataFrameCount;
char DataType[32+1];
char DataType[32 + 1];
bool Preview;
bool Delivery;
};
@@ -836,6 +828,11 @@ struct ImGuiOnceUponAFrame
{
int RefFrame;
};
struct ImGuiTextRange
{
const char* b;
const char* e;
};
struct ImGuiTextFilter
{
char InputBuf[256];
@@ -846,6 +843,11 @@ struct ImGuiTextBuffer
{
ImVector_char Buf;
};
struct ImGuiStoragePair
{
ImGuiID key;
union { int val_i; float val_f; void* val_p; };
};
struct ImGuiStorage
{
ImVector_ImGuiStoragePair Data;
@@ -854,7 +856,8 @@ typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} I
typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_ImGuiTabBar;
struct ImGuiListClipper
{
int DisplayStart, DisplayEnd;
int DisplayStart;
int DisplayEnd;
int ItemsCount;
int StepNo;
float ItemsHeight;
@@ -906,8 +909,9 @@ typedef enum {
typedef enum {
ImDrawListFlags_None = 0,
ImDrawListFlags_AntiAliasedLines = 1 << 0,
ImDrawListFlags_AntiAliasedFill = 1 << 1,
ImDrawListFlags_AllowVtxOffset = 1 << 2
ImDrawListFlags_AntiAliasedLinesUseTex = 1 << 1,
ImDrawListFlags_AntiAliasedFill = 1 << 2,
ImDrawListFlags_AllowVtxOffset = 1 << 3
}ImDrawListFlags_;
struct ImDrawList
{
@@ -983,7 +987,8 @@ struct ImFontAtlasCustomRect
typedef enum {
ImFontAtlasFlags_None = 0,
ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0,
ImFontAtlasFlags_NoMouseCursors = 1 << 1
ImFontAtlasFlags_NoMouseCursors = 1 << 1,
ImFontAtlasFlags_NoBakedLines = 1 << 2
}ImFontAtlasFlags_;
struct ImFontAtlas
{
@@ -1001,7 +1006,9 @@ struct ImFontAtlas
ImVector_ImFontPtr Fonts;
ImVector_ImFontAtlasCustomRect CustomRects;
ImVector_ImFontConfig ConfigData;
int CustomRectIds[1];
ImVec4 TexUvLines[(63) + 1];
int PackIdMouseCursors;
int PackIdLines;
};
struct ImFont
{
@@ -1011,7 +1018,6 @@ struct ImFont
ImVector_ImWchar IndexLookup;
ImVector_ImFontGlyph Glyphs;
const ImFontGlyph* FallbackGlyph;
ImVec2 DisplayOffset;
ImFontAtlas* ContainerAtlas;
const ImFontConfig* ConfigData;
short ConfigDataCount;
@@ -1023,6 +1029,42 @@ struct ImFont
int MetricsTotalSurface;
ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8];
};
struct StbUndoRecord
{
int where;
int insert_length;
int delete_length;
int char_storage;
};
struct StbUndoState
{
StbUndoRecord undo_rec [99];
ImWchar undo_char[999];
short undo_point, redo_point;
int undo_char_point, redo_char_point;
};
struct STB_TexteditState
{
int cursor;
int select_start;
int select_end;
unsigned char insert_mode;
int row_count_per_page;
unsigned char cursor_at_end_of_line;
unsigned char initialized;
unsigned char has_preferred_x;
unsigned char single_line;
unsigned char padding1, padding2, padding3;
float preferred_x;
StbUndoState undostate;
};
struct StbTexteditRow
{
float x0,x1;
float baseline_y_delta;
float ymin,ymax;
int num_chars;
};
struct ImVec1
{
float x;
@@ -1051,6 +1093,7 @@ struct ImDrawListSharedData
ImDrawListFlags InitialFlags;
ImVec2 ArcFastVtx[12 * 1];
ImU8 CircleSegmentCounts[64];
const ImVec4* TexUvLines;
};
struct ImDrawDataBuilder
{
@@ -1065,6 +1108,7 @@ typedef enum {
ImGuiItemFlags_NoNavDefaultFocus = 1 << 4,
ImGuiItemFlags_SelectableDontClosePopup = 1 << 5,
ImGuiItemFlags_MixedValue = 1 << 6,
ImGuiItemFlags_ReadOnly = 1 << 7,
ImGuiItemFlags_Default_ = 0
}ImGuiItemFlags_;
typedef enum {
@@ -1078,47 +1122,37 @@ typedef enum {
ImGuiItemStatusFlags_Deactivated = 1 << 6
}ImGuiItemStatusFlags_;
typedef enum {
ImGuiButtonFlags_None = 0,
ImGuiButtonFlags_Repeat = 1 << 0,
ImGuiButtonFlags_PressedOnClick = 1 << 1,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 2,
ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 3,
ImGuiButtonFlags_PressedOnRelease = 1 << 4,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 5,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 6,
ImGuiButtonFlags_FlattenChildren = 1 << 7,
ImGuiButtonFlags_AllowItemOverlap = 1 << 8,
ImGuiButtonFlags_DontClosePopups = 1 << 9,
ImGuiButtonFlags_Disabled = 1 << 10,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 11,
ImGuiButtonFlags_NoKeyModifiers = 1 << 12,
ImGuiButtonFlags_NoHoldingActiveId = 1 << 13,
ImGuiButtonFlags_NoNavFocus = 1 << 14,
ImGuiButtonFlags_NoHoveredOnFocus = 1 << 15,
ImGuiButtonFlags_MouseButtonLeft = 1 << 16,
ImGuiButtonFlags_MouseButtonRight = 1 << 17,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 18,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonShift_ = 16,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
ImGuiButtonFlags_PressedOnClick = 1 << 4,
ImGuiButtonFlags_PressedOnClickRelease = 1 << 5,
ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6,
ImGuiButtonFlags_PressedOnRelease = 1 << 7,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9,
ImGuiButtonFlags_Repeat = 1 << 10,
ImGuiButtonFlags_FlattenChildren = 1 << 11,
ImGuiButtonFlags_AllowItemOverlap = 1 << 12,
ImGuiButtonFlags_DontClosePopups = 1 << 13,
ImGuiButtonFlags_Disabled = 1 << 14,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 15,
ImGuiButtonFlags_NoKeyModifiers = 1 << 16,
ImGuiButtonFlags_NoHoldingActiveId = 1 << 17,
ImGuiButtonFlags_NoNavFocus = 1 << 18,
ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19,
ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold,
ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease
}ImGuiButtonFlags_;
}ImGuiButtonFlagsPrivate_;
typedef enum {
ImGuiSliderFlags_None = 0,
ImGuiSliderFlags_Vertical = 1 << 0
}ImGuiSliderFlags_;
typedef enum {
ImGuiDragFlags_None = 0,
ImGuiDragFlags_Vertical = 1 << 0
}ImGuiDragFlags_;
ImGuiSliderFlags_Vertical = 1 << 20,
ImGuiSliderFlags_ReadOnly = 1 << 21
}ImGuiSliderFlagsPrivate_;
typedef enum {
ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20,
ImGuiSelectableFlags_SelectOnClick = 1 << 21,
ImGuiSelectableFlags_SelectOnRelease = 1 << 22,
ImGuiSelectableFlags_SpanAvailWidth = 1 << 23,
ImGuiSelectableFlags_DrawHoveredWhenHeld= 1 << 24,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25
ImGuiSelectableFlags_DrawHoveredWhenHeld = 1 << 24,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25,
ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26
}ImGuiSelectableFlagsPrivate_;
typedef enum {
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20
@@ -1208,7 +1242,8 @@ typedef enum {
}ImGuiNavLayer;
typedef enum {
ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox
ImGuiPopupPositionPolicy_ComboBox,
ImGuiPopupPositionPolicy_Tooltip
}ImGuiPopupPositionPolicy;
struct ImGuiDataTypeTempStorage
{
@@ -1217,6 +1252,7 @@ struct ImGuiDataTypeTempStorage
struct ImGuiDataTypeInfo
{
size_t Size;
const char* Name;
const char* PrintFmt;
const char* ScanFmt;
};
@@ -1267,6 +1303,7 @@ struct ImGuiInputTextState
float CursorAnim;
bool CursorFollow;
bool SelectedAllMouseLock;
bool Edited;
ImGuiInputTextFlags UserFlags;
ImGuiInputTextCallback UserCallback;
void* UserCallbackData;
@@ -1372,7 +1409,7 @@ struct ImGuiColumns
float HostCursorMaxPosX;
ImRect HostInitialClipRect;
ImRect HostBackupClipRect;
ImRect HostWorkRect;
ImRect HostBackupParentWorkRect;
ImVector_ImGuiColumnData Columns;
ImDrawListSplitter Splitter;
};
@@ -1425,13 +1462,15 @@ struct ImGuiContext
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredRootWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
float WheelingWindowTimer;
ImGuiID HoveredId;
bool HoveredIdAllowOverlap;
ImGuiID HoveredIdPreviousFrame;
bool HoveredIdAllowOverlap;
bool HoveredIdDisabled;
float HoveredIdTimer;
float HoveredIdNotActiveTimer;
ImGuiID ActiveId;
@@ -1439,6 +1478,7 @@ struct ImGuiContext
float ActiveIdTimer;
bool ActiveIdIsJustActivated;
bool ActiveIdAllowOverlap;
bool ActiveIdNoClearOnFocusLoss;
bool ActiveIdHasBeenPressedBefore;
bool ActiveIdHasBeenEditedBefore;
bool ActiveIdHasBeenEditedThisFrame;
@@ -1488,7 +1528,6 @@ struct ImGuiContext
bool NavInitRequestFromMove;
ImGuiID NavInitResultId;
ImRect NavInitResultRectRel;
bool NavMoveFromClampedRefRect;
bool NavMoveRequest;
ImGuiNavMoveFlags NavMoveRequestFlags;
ImGuiNavForward NavMoveRequestForward;
@@ -1549,6 +1588,8 @@ struct ImGuiContext
float ColorEditLastSat;
float ColorEditLastColor[3];
ImVec4 ColorPickerRef;
float SliderCurrentAccum;
bool SliderCurrentAccumDirty;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
@@ -1558,6 +1599,7 @@ struct ImGuiContext
ImVector_ImGuiID MenusIdSubmittedThisFrame;
ImVec2 PlatformImePos;
ImVec2 PlatformImeLastPos;
char PlatformLocaleDecimalPoint;
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
@@ -1580,7 +1622,7 @@ struct ImGuiContext
int WantCaptureMouseNextFrame;
int WantCaptureKeyboardNextFrame;
int WantTextInputNextFrame;
char TempBuffer[1024*3+1];
char TempBuffer[1024 * 3 + 1];
};
struct ImGuiWindowTempData
{
@@ -1600,7 +1642,6 @@ struct ImGuiWindowTempData
ImRect LastItemRect;
ImRect LastItemDisplayRect;
ImGuiNavLayer NavLayerCurrent;
int NavLayerCurrentMask;
int NavLayerActiveMask;
int NavLayerActiveMaskNext;
ImGuiID NavFocusScopeIdCurrent;
@@ -1647,6 +1688,7 @@ struct ImGuiWindow
ImVec2 ScrollMax;
ImVec2 ScrollTarget;
ImVec2 ScrollTargetCenterRatio;
ImVec2 ScrollTargetEdgeSnapDist;
ImVec2 ScrollbarSizes;
bool ScrollbarX, ScrollbarY;
bool Active;
@@ -1681,8 +1723,11 @@ struct ImGuiWindow
ImRect InnerRect;
ImRect InnerClipRect;
ImRect WorkRect;
ImRect ParentWorkRect;
ImRect ClipRect;
ImRect ContentRegionRect;
ImVec2ih HitTestHoleSize;
ImVec2ih HitTestHoleOffset;
int LastFrameActive;
float LastTimeActive;
float ItemWidthDefault;
@@ -1703,7 +1748,7 @@ struct ImGuiWindow
int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
};
struct ImGuiItemHoveredDataBackup
struct ImGuiLastItemDataBackup
{
ImGuiID LastItemId;
ImGuiItemStatusFlags LastItemStatusFlags;
@@ -1716,7 +1761,8 @@ typedef enum {
ImGuiTabBarFlags_SaveSettings = 1 << 22
}ImGuiTabBarFlagsPrivate_;
typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20
ImGuiTabItemFlags_NoCloseButton = 1 << 20,
ImGuiTabItemFlags_Button = 1 << 21
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
@@ -1724,10 +1770,13 @@ struct ImGuiTabItem
ImGuiTabItemFlags Flags;
int LastFrameVisible;
int LastFrameSelected;
int NameOffset;
float Offset;
float Width;
float ContentWidth;
ImS16 NameOffset;
ImS8 BeginOrder;
ImS8 IndexDuringLayout;
bool WantClose;
};
struct ImGuiTabBar
{
@@ -1740,32 +1789,25 @@ struct ImGuiTabBar
int PrevFrameVisible;
ImRect BarRect;
float LastTabContentHeight;
float OffsetMax;
float OffsetMaxIdeal;
float OffsetNextTab;
float WidthAllTabs;
float WidthAllTabsIdeal;
float ScrollingAnim;
float ScrollingTarget;
float ScrollingTargetDistToVisibility;
float ScrollingSpeed;
float ScrollingRectMinX;
float ScrollingRectMaxX;
ImGuiTabBarFlags Flags;
ImGuiID ReorderRequestTabId;
ImS8 ReorderRequestDir;
ImS8 TabsActiveCount;
bool WantLayout;
bool VisibleTabWasSubmitted;
bool TabsAddedNew;
short LastTabItemIdx;
ImVec2 FramePadding;
ImGuiTextBuffer TabsNames;
};
struct ImGuiTextRange
{
const char* b;
const char* e;
};
struct ImGuiStoragePair
{
ImGuiID key;
union { int val_i; float val_f; void* val_p; };
};
#else
struct GLFWwindow;
struct SDL_Window;
@@ -1775,40 +1817,44 @@ typedef union SDL_Event SDL_Event;
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
typedef ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
typedef ImVector<float> ImVector_float;
typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector<ImDrawVert> ImVector_ImDrawVert;
typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiID> ImVector_ImGuiID;
typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImGuiColumnData> ImVector_ImGuiColumnData;
typedef ImVector<ImGuiColumns> ImVector_ImGuiColumns;
typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
typedef ImVector<ImDrawChannel> ImVector_ImDrawChannel;
typedef ImVector<ImDrawList*> ImVector_ImDrawListPtr;
typedef ImVector<ImU32> ImVector_ImU32;
typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
typedef ImVector<ImFontAtlasCustomRect> ImVector_ImFontAtlasCustomRect;
typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem;
typedef ImVector<unsigned char> ImVector_unsigned_char;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImFont*> ImVector_ImFontPtr;
typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImDrawIdx> ImVector_ImDrawIdx;
typedef ImVector<char> ImVector_char;
typedef ImStb::STB_TexteditState STB_TexteditState;
typedef ImStb::StbTexteditRow StbTexteditRow;
typedef ImStb::StbUndoRecord StbUndoRecord;
typedef ImStb::StbUndoState StbUndoState;
typedef ImChunkStream<ImGuiWindowSettings> ImChunkStream_ImGuiWindowSettings;
typedef ImPool<ImGuiTabBar> ImPool_ImGuiTabBar;
typedef ImVector<ImDrawChannel> ImVector_ImDrawChannel;
typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
typedef ImVector<ImDrawIdx> ImVector_ImDrawIdx;
typedef ImVector<ImDrawList*> ImVector_ImDrawListPtr;
typedef ImVector<ImDrawVert> ImVector_ImDrawVert;
typedef ImVector<ImFont*> ImVector_ImFontPtr;
typedef ImVector<ImFontAtlasCustomRect> ImVector_ImFontAtlasCustomRect;
typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImGuiColumnData> ImVector_ImGuiColumnData;
typedef ImVector<ImGuiColumns> ImVector_ImGuiColumns;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiID> ImVector_ImGuiID;
typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem;
typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImU32> ImVector_ImU32;
typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector<char> ImVector_char;
typedef ImVector<float> ImVector_float;
typedef ImVector<unsigned char> ImVector_unsigned_char;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API ImVec2* ImVec2_ImVec2Nil(void);
CIMGUI_API void ImVec2_destroy(ImVec2* self);
@@ -1953,7 +1999,7 @@ CIMGUI_API void igBulletText(const char* fmt,...);
CIMGUI_API void igBulletTextV(const char* fmt,va_list args);
CIMGUI_API bool igButton(const char* label,const ImVec2 size);
CIMGUI_API bool igSmallButton(const char* label);
CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size);
CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size,ImGuiButtonFlags flags);
CIMGUI_API bool igArrowButton(const char* str_id,ImGuiDir dir);
CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col);
CIMGUI_API bool igImageButton(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,int frame_padding,const ImVec4 bg_col,const ImVec4 tint_col);
@@ -1968,32 +2014,32 @@ CIMGUI_API void igEndCombo(void);
CIMGUI_API bool igComboStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items);
CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items);
CIMGUI_API bool igComboFnBoolPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items);
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,float power);
CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format);
CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format);
CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format);
CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format);
CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max);
CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* p_data,float v_speed,const void* p_min,const void* p_max,const char* format,float power);
CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,float v_speed,const void* p_min,const void* p_max,const char* format,float power);
CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format);
CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format);
CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format);
CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format);
CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format);
CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,float power);
CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_min,const void* p_max,const char* format,float power);
CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,float power);
CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format);
CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,float power);
CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,ImGuiSliderFlags flags);
CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max,ImGuiSliderFlags flags);
CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* p_data,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igInputText(const char* label,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
CIMGUI_API bool igInputTextMultiline(const char* label,char* buf,size_t buf_size,const ImVec2 size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
CIMGUI_API bool igInputTextWithHint(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
@@ -2062,7 +2108,7 @@ CIMGUI_API bool igBeginPopup(const char* str_id,ImGuiWindowFlags flags);
CIMGUI_API bool igBeginPopupModal(const char* name,bool* p_open,ImGuiWindowFlags flags);
CIMGUI_API void igEndPopup(void);
CIMGUI_API void igOpenPopup(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igOpenPopupContextItem(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API void igOpenPopupOnItemClick(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API void igCloseCurrentPopup(void);
CIMGUI_API bool igBeginPopupContextItem(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,ImGuiPopupFlags popup_flags);
@@ -2080,6 +2126,7 @@ CIMGUI_API bool igBeginTabBar(const char* str_id,ImGuiTabBarFlags flags);
CIMGUI_API void igEndTabBar(void);
CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags flags);
CIMGUI_API void igEndTabItem(void);
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
CIMGUI_API void igLogToTTY(int auto_open_depth);
CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename);
@@ -2176,6 +2223,8 @@ CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputText
CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
CIMGUI_API void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
@@ -2227,11 +2276,11 @@ CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float
CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void);
CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API ImColor* ImColor_ImColorNil(void);
CIMGUI_API void ImColor_destroy(ImColor* self);
CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a);
@@ -2239,7 +2288,7 @@ CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba);
CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a);
CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col);
CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
CIMGUI_API void ImColor_HSV(ImColor *pOut,ImColor* self,float h,float s,float v,float a);
CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a);
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void);
@@ -2353,7 +2402,7 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self);
CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,int width,int height);
CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
CIMGUI_API const ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const ImFontAtlasCustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
CIMGUI_API ImFont* ImFont_ImFont(void);
@@ -2370,7 +2419,7 @@ CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size);
CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x);
CIMGUI_API void ImFont_AddGlyph(ImFont* self,const ImFontConfig* src_cfg,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x);
CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst);
CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self,ImWchar c,bool visible);
CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c);
@@ -2414,6 +2463,12 @@ CIMGUI_API ImU64 igImFileWrite(const void* data,ImU64 size,ImU64 count,ImFileHan
CIMGUI_API void* igImFileLoadToMemory(const char* filename,const char* mode,size_t* out_file_size,int padding_bytes);
CIMGUI_API float igImPowFloat(float x,float y);
CIMGUI_API double igImPowdouble(double x,double y);
CIMGUI_API float igImLogFloat(float x);
CIMGUI_API double igImLogdouble(double x);
CIMGUI_API float igImAbsFloat(float x);
CIMGUI_API double igImAbsdouble(double x);
CIMGUI_API float igImSignFloat(float x);
CIMGUI_API double igImSigndouble(double x);
CIMGUI_API void igImMin(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,ImVec2 mx);
@@ -2554,10 +2609,10 @@ CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self);
CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self);
CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API ImGuiItemHoveredDataBackup* ImGuiItemHoveredDataBackup_ImGuiItemHoveredDataBackup(void);
CIMGUI_API void ImGuiItemHoveredDataBackup_destroy(ImGuiItemHoveredDataBackup* self);
CIMGUI_API void ImGuiItemHoveredDataBackup_Backup(ImGuiItemHoveredDataBackup* self);
CIMGUI_API void ImGuiItemHoveredDataBackup_Restore(ImGuiItemHoveredDataBackup* self);
CIMGUI_API ImGuiLastItemDataBackup* ImGuiLastItemDataBackup_ImGuiLastItemDataBackup(void);
CIMGUI_API void ImGuiLastItemDataBackup_destroy(ImGuiLastItemDataBackup* self);
CIMGUI_API void ImGuiLastItemDataBackup_Backup(ImGuiLastItemDataBackup* self);
CIMGUI_API void ImGuiLastItemDataBackup_Restore(ImGuiLastItemDataBackup* self);
CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void);
CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self);
CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void);
@@ -2576,6 +2631,7 @@ CIMGUI_API void igGetWindowAllowedExtentRect(ImRect *pOut,ImGuiWindow* window);
CIMGUI_API void igSetWindowPosWindowPtr(ImGuiWindow* window,const ImVec2 pos,ImGuiCond cond);
CIMGUI_API void igSetWindowSizeWindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsedWindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size);
CIMGUI_API void igFocusWindow(ImGuiWindow* window);
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window);
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window);
@@ -2598,8 +2654,8 @@ CIMGUI_API ImGuiWindowSettings* igFindWindowSettings(ImGuiID id);
CIMGUI_API ImGuiWindowSettings* igFindOrCreateWindowSettings(const char* name);
CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name);
CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll);
CIMGUI_API void igSetScrollXWindowPtr(ImGuiWindow* window,float new_scroll_x);
CIMGUI_API void igSetScrollYWindowPtr(ImGuiWindow* window,float new_scroll_y);
CIMGUI_API void igSetScrollXWindowPtr(ImGuiWindow* window,float scroll_x);
CIMGUI_API void igSetScrollYWindowPtr(ImGuiWindow* window,float scroll_y);
CIMGUI_API void igSetScrollFromPosXWindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
CIMGUI_API void igSetScrollFromPosYWindowPtr(ImGuiWindow* window,float local_y,float center_y_ratio);
CIMGUI_API void igScrollToBringRectIntoView(ImVec2 *pOut,ImGuiWindow* window,const ImRect item_rect);
@@ -2615,11 +2671,13 @@ CIMGUI_API void igSetHoveredID(ImGuiID id);
CIMGUI_API void igKeepAliveID(ImGuiID id);
CIMGUI_API void igMarkItemEdited(ImGuiID id);
CIMGUI_API void igPushOverrideID(ImGuiID id);
CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed);
CIMGUI_API void igItemSizeVec2(const ImVec2 size,float text_baseline_y);
CIMGUI_API void igItemSizeRect(const ImRect bb,float text_baseline_y);
CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb);
CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id);
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id,bool clip_even_when_logged);
CIMGUI_API void igSetLastItemData(ImGuiWindow* window,ImGuiID item_id,ImGuiItemStatusFlags status_flags,const ImRect item_rect);
CIMGUI_API bool igFocusableItemRegister(ImGuiWindow* window,ImGuiID id);
CIMGUI_API void igFocusableItemUnregister(ImGuiWindow* window);
CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h);
@@ -2681,7 +2739,8 @@ CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBar
CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueChangeTabOrder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir);
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir);
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags);
CIMGUI_API void igTabItemCalcSize(ImVec2 *pOut,const char* label,bool has_close_button);
CIMGUI_API void igTabItemBackground(ImDrawList* draw_list,const ImRect bb,ImGuiTabItemFlags flags,ImU32 col);
@@ -2703,6 +2762,7 @@ CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list,ImVec2 pos,ImU32 col,flo
CIMGUI_API void igRenderMouseCursor(ImDrawList* draw_list,ImVec2 pos,float scale,ImGuiMouseCursor mouse_cursor,ImU32 col_fill,ImU32 col_border,ImU32 col_shadow);
CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list,ImVec2 pos,ImVec2 half_sz,ImGuiDir direction,ImU32 col);
CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list,const ImRect rect,ImU32 col,float x_start_norm,float x_end_norm,float rounding);
CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,ImRect outer,ImRect inner,ImU32 col,float rounding);
CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags);
CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
@@ -2716,16 +2776,17 @@ CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowResizeID(ImGuiWindow* window,int n);
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags);
CIMGUI_API bool igButtonBehavior(const ImRect bb,ImGuiID id,bool* out_hovered,bool* out_held,ImGuiButtonFlags flags);
CIMGUI_API bool igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,float power,ImGuiDragFlags flags);
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,float power,ImGuiSliderFlags flags,ImRect* out_grab_bb);
CIMGUI_API bool igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags,ImRect* out_grab_bb);
CIMGUI_API bool igSplitterBehavior(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* size1,float* size2,float min_size1,float min_size2,float hover_extend,float hover_visibility_delay);
CIMGUI_API bool igTreeNodeBehavior(ImGuiID id,ImGuiTreeNodeFlags flags,const char* label,const char* label_end);
CIMGUI_API bool igTreeNodeBehaviorIsOpen(ImGuiID id,ImGuiTreeNodeFlags flags);
CIMGUI_API void igTreePushOverrideID(ImGuiID id);
CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type);
CIMGUI_API int igDataTypeFormatString(char* buf,int buf_size,ImGuiDataType data_type,const void* p_data,const char* format);
CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,void* arg_1,const void* arg_2);
CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeApplyOpFromText(const char* buf,const char* initial_value_buf,ImGuiDataType data_type,void* p_data,const char* format);
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max);
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags);
@@ -2747,6 +2808,7 @@ CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas);
CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas,ImFont* font,ImFontConfig* font_config,float ascent,float descent);
CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas,void* stbrp_context_opaque);
CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas);
CIMGUI_API void igImFontAtlasBuildRender1bppRectFromString(ImFontAtlas* atlas,int atlas_x,int atlas_y,int w,int h,const char* in_str,char in_marker_char,unsigned char in_marker_pixel_value);
CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor);
CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256],unsigned char* pixels,int x,int y,int w,int h,int stride);

View File

@@ -1,5 +1,8 @@
#include "./imgui/imgui.h"
#ifdef CIMGUI_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"
#endif
#include "./imgui/imgui_internal.h"
#include "cimgui.h"

File diff suppressed because it is too large Load Diff

View File

@@ -15,9 +15,10 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
::process files
:: arg[1] compiler name gcc, clang or cl
:: arg[2] imgui_internal functions generation: true or false
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
:: examples: "" "internal" "internal freetype"
:: arg[3..n] name of implementations to generate
luajit ./generator.lua gcc true glfw opengl3 opengl2 sdl
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
::leave console open
cmd /k

View File

@@ -6,7 +6,8 @@ assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
assert(bit,"Must use LuaJIT")
local script_args = {...}
local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]=="true"
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 CPRE,CTEST
if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
@@ -40,6 +41,7 @@ assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
--get implementations
local implementations = {}
for i=3,#script_args do table.insert(implementations,script_args[i]) end
@@ -115,151 +117,10 @@ local function func_header_impl_generate(FP)
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
return cfuncsstr
end
local function func_header_generate(FP)
local outtab = {}
table.insert(outtab,"#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
for k,v in pairs(FP.embeded_structs) do
table.insert(outtab,"typedef "..v.." "..k..";\n")
end
local func_header_generate = cpp2ffi.func_header_generate
local func_implementation = cpp2ffi.func_implementation
for ttype,v in pairs(FP.templates) do
for ttypein,_ in pairs(v) do
local te = ttypein:gsub("%s","_")
te = te:gsub("%*","Ptr")
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype.."_"..te..";\n")
end
end
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
for _,t in ipairs(FP.funcdefs) do
if t.cimguiname then
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def,t.signature..t.cimguiname)
local manual = FP.get_manuals(def)
if not manual and not def.templated then
local addcoment = def.comment or ""
local empty = def.args:match("^%(%)") --no args
if def.constructor then
assert(def.stname ~= "","constructor without struct")
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
elseif def.destructor then
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
else --not constructor
if def.stname == "" then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API "..def.ret.." ".. def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
else
table.insert(outtab,"CIMGUI_API "..def.ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
end
end
end
else --not cimguiname
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
end
end
local cfuncsstr = table.concat(outtab)
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
return cfuncsstr
end
local function ImGui_f_implementation(outtab,def)
local ptret = def.retref and "&" or ""
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
table.insert(outtab,"{\n")
local namespace = def.namespace and def.namespace.."::" or ""
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = "..namespace..def.funcname.."V"..call_args..";\n")
else
table.insert(outtab," "..namespace..def.funcname.."V"..call_args..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
elseif def.nonUDT then
if def.nonUDT == 1 then
table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n")
end
else --standard ImGui
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
end
table.insert(outtab,"}\n")
end
local function struct_f_implementation(outtab,def)
local empty = def.args:match("^%(%)") --no args
local ptret = def.retref and "&" or ""
local imgui_stname = def.stname
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
table.insert(outtab,"{\n")
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = self->"..def.funcname.."V"..call_args..";\n")
else
table.insert(outtab," self->"..def.funcname.."V"..call_args..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
elseif def.nonUDT then
if def.nonUDT == 1 then
table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n")
end
else --standard struct
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
end
table.insert(outtab,"}\n")
end
local function func_implementation(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
repeat -- continue simulation
if not t.cimguiname then break end
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def)
local manual = FP.get_manuals(def)
if not manual and not def.templated then
if def.constructor then
assert(def.stname ~= "","constructor without struct")
local empty = def.args:match("^%(%)") --no args
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
table.insert(outtab,"{\n")
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
table.insert(outtab,"}\n")
elseif def.destructor then
local args = "("..def.stname.."* self)"
local fname = def.stname.."_destroy"
table.insert(outtab,"CIMGUI_API void "..fname..args.."\n")
table.insert(outtab,"{\n")
table.insert(outtab," IM_DELETE(self);\n")
table.insert(outtab,"}\n")
elseif def.stname == "" then
ImGui_f_implementation(outtab,def)
else -- stname
struct_f_implementation(outtab,def)
end
end
until true
end
return table.concat(outtab)
end
-------------------functions for getting and setting defines
local function get_defines(t)
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end
@@ -317,32 +178,74 @@ local function DefsByStruct(FP)
FP.defsBystruct = structs
end
----------custom ImVector templates
local function generate_templates(code,codeimpool,templates)
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
for ttype,v in pairs(templates) do
--local te = k:gsub("%s","_")
--te = te:gsub("%*","Ptr")
if ttype == "ImVector" then
for te,newte in pairs(v) do
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
-- function for repairing funcdefs default values
local function repair_defaults(defsT,str_and_enu)
local function deleteOuterPars(def)
local w = def:match("^%b()$")
if w then
w = w:gsub("^%((.+)%)$","%1")
return w
else
return def
end
end
local function CleanImU32(def)
def = def:gsub("%(ImU32%)","")
--quitar () de numeros
def = def:gsub("%((%d+)%)","%1")
def = deleteOuterPars(def)
local bb=cpp2ffi.strsplit(def,"|")
for i=1,#bb do
local val = deleteOuterPars(bb[i])
if val:match"<<" then
local v1,v2 = val:match("(%d+)%s*<<%s*(%d+)")
val = v1*2^v2
bb[i] = val
end
elseif ttype == "ImPool" then
--declare ImGuiStorage
for te,newte in pairs(v) do
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
for te,newte in pairs(v) do
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")
assert(type(bb[i])=="number")
end
local res = 0
for i=1,#bb do res = res + bb[i] end
return res
end
for k,defT in pairs(defsT) do
for i,def in ipairs(defT) do
for k,v in pairs(def.defaults) do
--do only if not a c string
local is_cstring = v:sub(1,1)=='"' and v:sub(-1,-1) =='"'
if not is_cstring then
def.defaults[k] = def.defaults[k]:gsub("%(%(void%s*%*%)0%)","NULL")
if def.defaults[k]:match"%(ImU32%)" then
def.defaults[k] = tostring(CleanImU32(def.defaults[k]))
end
end
end
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
local function cimgui_generation(parser)
@@ -370,8 +273,7 @@ local function cimgui_generation(parser)
--------------------------------------------------
local hstrfile = read_data"./cimgui_template.h"
local outpre,outpost = parser:gen_structs_and_enums()
parser.templates.ImVector.T = nil
local outpre,outpost = parser.structs_and_enums[1],parser.structs_and_enums[2]
cpp2ffi.prtable(parser.templates)
cpp2ffi.prtable(parser.typenames)
@@ -419,6 +321,10 @@ if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api
]]
end
if FREETYPE_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_freetype.h api
]]
end
print("IMGUI_VERSION",imgui_version)
--get some defines----------------------------
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
@@ -429,19 +335,6 @@ local function parseImGuiHeader(header,names)
--prepare parser
local parser = cpp2ffi.Parser()
parser.separate_locations = function(self,cdefs)
local imguicdefs = {}
local othercdefs = {}
for i,cdef in ipairs(cdefs) do
if cdef[2]=="imgui" then
table.insert(imguicdefs,cdef[1])
else
table.insert(othercdefs,cdef[1])
end
end
return {{"imgui",imguicdefs},{"internal",othercdefs}}
end
parser.getCname = function(stname,funcname,namespace)
local pre = (stname == "") and (namespace and (namespace=="ImGui" and "ig" or namespace.."_") or "ig") or stname.."_"
return pre..funcname
@@ -450,61 +343,49 @@ local function parseImGuiHeader(header,names)
parser.manuals = cimgui_manuals
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
local pipe,err = io.popen(CPRE..header,"r")
local defines = parser:take_lines(CPRE..header,names,COMPILER)
if not pipe then
error("could not execute COMPILER "..err)
end
local iterator = cpp2ffi.location
--[[
local tableo = {}
local line
repeat
line =pipe:read"*l"
table.insert(tableo,line)
until not line
cpp2ffi.save_data("cdefs1.lua",table.concat(tableo,"\n"))
--]]
for line,loca,loca2 in iterator(pipe,names,{},COMPILER) do
parser:insert(line, loca)
--table.insert(tableo,line)
--print(loca,loca2)
end
--cpp2ffi.save_data("cdefs1.lua",table.concat(tableo))
pipe:close()
return parser
end
--generation
print("------------------generation with "..COMPILER.."------------------------")
local parser1
local headers = [[#include "../imgui/imgui.h"
]]
local headersT = {[[imgui]]}
if INTERNAL_GENERATION then
save_data("headers.h",[[#include "../imgui/imgui.h"
#include "../imgui/imgui_internal.h"]])
parser1 = parseImGuiHeader([[headers.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
os.remove("headers.h")
else
parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
headers = headers .. [[#include "../imgui/imgui_internal.h"
]]
headersT[#headersT + 1] = [[imgui_internal]]
headersT[#headersT + 1] = [[imstb_textedit]]
end
if FREETYPE_GENERATION then
headers = headers .. [[
#include "../imgui/misc/freetype/imgui_freetype.h"
]]
headersT[#headersT + 1] = [[imgui_freetype]]
end
save_data("headers.h",headers)
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
local extra_includes = include_cmd.." ../imgui "
local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
os.remove("headers.h")
parser1:do_parse()
save_data("./output/overloads.txt",parser1.overloadstxt)
cimgui_generation(parser1)
----------save fundefs in definitions.lua for using in bindings
--DefsByStruct(pFP)
set_defines(parser1.defsT)
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
----------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()
-----------------------
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
----------save fundefs in definitions.lua for using in bindings
--DefsByStruct(pFP)
set_defines(parser1.defsT)
repair_defaults(parser1.defsT, structs_and_enums_table)
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
--check every function has ov_cimguiname
-- for k,v in pairs(parser1.defsT) do
@@ -537,40 +418,16 @@ if #implementations > 0 then
extra_includes = extra_includes .. include_cmd .. inc .. " "
end
end
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
local pipe,err = io.popen(CPRE..extra_defines..extra_includes..source,"r")
if not pipe then
error("could not get file: "..err)
end
local iterator = cpp2ffi.location
for line,locat in iterator(pipe,{locati},{},COMPILER) do
--local line, comment = split_comment(line)
parser2:insert(line,locat)
end
pipe:close()
end
parser2.separate_locations = function(self, cdefs)
local sepcdefs = {}
for i,impl in ipairs(implementations) do
sepcdefs[i] = {[[imgui_impl_]].. impl,{}}
for j,cdef in ipairs(cdefs) do
if cdef[2]==sepcdefs[i][1] then
table.insert(sepcdefs[i][2],cdef[1])
end
end
end
return sepcdefs
end
parser2:do_parse()
-- save ./cimgui_impl.h
local cfuncsstr = func_header_impl_generate(parser2)
local cstructstr1,cstructstr2 = parser2:gen_structs_and_enums()
local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
----------save fundefs in impl_definitions.lua for using in bindings
@@ -593,14 +450,16 @@ local function json_prepare(defs)
end
---[[
local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT)))
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
end
--]]
-------------------copy C files to repo root
copyfile("./output/cimgui.h", "../cimgui.h")
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
os.remove("./output/cimgui.h")
os.remove("./output/cimgui.cpp")
print"all done!!"

View File

@@ -13,6 +13,7 @@
#process files
# arg[1] compiler name gcc, clang, or cl
# arg[2] imgui_internal functions generation: true or false
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
# examples: "" "internal" "internal freetype"
# arg[3..n] name of implementations to generate
luajit ./generator.lua gcc true glfw opengl3 opengl2 sdl
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl

View File

@@ -21,7 +21,10 @@
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
--
--changes---------------------------------------------------------------------
--prettify: adding carriage return, indentation, dictionaries sorted by key
--dict_on_empty: table to json.encode to make empty table a dictionary instead of array
------------------------------------------------------------------------------
local json = { _version = "0.1.1" }
-------------------------------------------------------------------------------
@@ -30,6 +33,7 @@ local json = { _version = "0.1.1" }
local TAB = " "
local rep = string.rep
local encode
local dict_on_empty = {}
local escape_char_map = {
[ "\\" ] = "\\\\",
@@ -90,7 +94,6 @@ local function encode_table(val, stack,level,isvalue)
return rep(isvalue and "" or TAB,level).."[" .. inner .. "]"
else
---[[
local ordered_keys = {}
for k,v in pairs(val) do
table.insert(ordered_keys,k)
@@ -99,12 +102,15 @@ local function encode_table(val, stack,level,isvalue)
-- Treat as an object
for _,k in ipairs(ordered_keys) do
local v = val[k]
--]]
--for k, v in pairs(val) do
if type(k) ~= "string" then
error("invalid table: mixed or invalid key types")
end
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
if type(v) == "table" and next(v) == nil and dict_on_empty[k] then
table.insert(res, encode(k, stack,level+1) .. ": {}")
else
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
end
end
stack[val] = nil
local inner = table.concat(res, ",\n")
@@ -147,7 +153,8 @@ encode = function(val, stack,level,isvalue)
end
function json.encode(val)
function json.encode(val,opts)
dict_on_empty = opts and opts.dict_on_empty or {}
return ( encode(val) )
end
@@ -412,5 +419,4 @@ function json.decode(str)
return res
end
return json

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,9 @@
typedef struct SDL_Window SDL_Window;
typedef struct GLFWwindow GLFWwindow;
struct GLFWwindow;struct SDL_Window;
struct GLFWwindow;
struct SDL_Window;
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 void ImGui_ImplGlfw_Shutdown();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,9 +15,9 @@
"argsoriginal": "(GLFWwindow* window,unsigned int c)",
"call_args": "(window,c)",
"cimguiname": "ImGui_ImplGlfw_CharCallback",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:35",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void",
"signature": "(GLFWwindow*,unsigned int)",
@@ -40,9 +40,9 @@
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:24",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -65,9 +65,9 @@
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForVulkan",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:25",
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -102,9 +102,9 @@
"argsoriginal": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
"call_args": "(window,key,scancode,action,mods)",
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:34",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)",
@@ -135,9 +135,9 @@
"argsoriginal": "(GLFWwindow* window,int button,int action,int mods)",
"call_args": "(window,button,action,mods)",
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:32",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int)",
@@ -151,9 +151,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplGlfw_NewFrame",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_NewFrame",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:27",
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
"ret": "void",
"signature": "()",
@@ -180,9 +180,9 @@
"argsoriginal": "(GLFWwindow* window,double xoffset,double yoffset)",
"call_args": "(window,xoffset,yoffset)",
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:33",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
@@ -196,9 +196,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplGlfw_Shutdown",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplGlfw_Shutdown",
"location": "imgui_impl_glfw",
"location": "imgui_impl_glfw:26",
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
"ret": "void",
"signature": "()",
@@ -212,9 +212,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:30",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -228,9 +228,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:28",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -244,9 +244,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:31",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -260,9 +260,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:29",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -276,9 +276,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_Init",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Init",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:22",
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
"ret": "bool",
"signature": "()",
@@ -292,9 +292,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_NewFrame",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:24",
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -313,9 +313,9 @@
"argsoriginal": "(ImDrawData* draw_data)",
"call_args": "(draw_data)",
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:25",
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -329,9 +329,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Shutdown",
"location": "imgui_impl_opengl2",
"location": "imgui_impl_opengl2:23",
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"ret": "void",
"signature": "()",
@@ -345,9 +345,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:36",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -361,9 +361,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:34",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -377,9 +377,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:37",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -393,9 +393,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:35",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -418,7 +418,7 @@
"glsl_version": "((void*)0)"
},
"funcname": "ImGui_ImplOpenGL3_Init",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:28",
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
"ret": "bool",
"signature": "(const char*)",
@@ -432,9 +432,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_NewFrame",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:30",
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"ret": "void",
"signature": "()",
@@ -453,9 +453,9 @@
"argsoriginal": "(ImDrawData* draw_data)",
"call_args": "(draw_data)",
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:31",
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -469,9 +469,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_Shutdown",
"location": "imgui_impl_opengl3",
"location": "imgui_impl_opengl3:29",
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"ret": "void",
"signature": "()",
@@ -490,9 +490,9 @@
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:25",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -511,9 +511,9 @@
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:26",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -536,9 +536,9 @@
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
"call_args": "(window,sdl_gl_context)",
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:23",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
@@ -557,9 +557,9 @@
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:24",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -578,9 +578,9 @@
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:28",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void",
"signature": "(SDL_Window*)",
@@ -599,9 +599,9 @@
"argsoriginal": "(const SDL_Event* event)",
"call_args": "(event)",
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:29",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
@@ -615,9 +615,9 @@
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": [],
"defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl",
"location": "imgui_impl_sdl:27",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void",
"signature": "()",

View File

@@ -14,7 +14,7 @@ defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:35"
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
@@ -35,7 +35,7 @@ defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:24"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
@@ -56,7 +56,7 @@ defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:25"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
@@ -86,7 +86,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]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:34"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
@@ -113,7 +113,7 @@ defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,act
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:32"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
@@ -128,7 +128,7 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:27"
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
@@ -152,7 +152,7 @@ defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:33"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
@@ -167,7 +167,7 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:26"
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
@@ -182,7 +182,7 @@ defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
@@ -197,7 +197,7 @@ defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:28"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
@@ -212,7 +212,7 @@ defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -227,7 +227,7 @@ defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:29"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
@@ -242,7 +242,7 @@ defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:22"
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
@@ -257,7 +257,7 @@ defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:24"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
@@ -275,7 +275,7 @@ defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:25"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -290,7 +290,7 @@ defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:23"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
@@ -305,7 +305,7 @@ defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:36"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
@@ -320,7 +320,7 @@ defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:34"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
@@ -335,7 +335,7 @@ defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:37"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -350,7 +350,7 @@ defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:35"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
@@ -369,7 +369,7 @@ defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "((void*)0)"
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:28"
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
@@ -384,7 +384,7 @@ defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:30"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
@@ -402,7 +402,7 @@ defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -417,7 +417,7 @@ defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:29"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
@@ -435,7 +435,7 @@ defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:25"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
@@ -453,7 +453,7 @@ defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:26"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
@@ -474,7 +474,7 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:23"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
@@ -492,7 +492,7 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:24"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
@@ -510,7 +510,7 @@ defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
@@ -528,7 +528,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -543,7 +543,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

View File

@@ -1,214 +1,223 @@
----------------overloadings---------------------------
ImVector_resize 2
1 void ImVector_resizeNil (int)
2 void ImVector_resizeT (int,const T)
igSetScrollFromPosY 2
1 void igSetScrollFromPosYFloat (float,float)
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float)
ImVec4_ImVec4 2
1 nil ImVec4_ImVec4Nil ()
2 nil ImVec4_ImVec4Float (float,float,float,float)
igValue 4
1 void igValueBool (const char*,bool)
2 void igValueInt (const char*,int)
3 void igValueUint (const char*,unsigned int)
4 void igValueFloat (const char*,float,const char*)
igIsRectVisible 2
1 bool igIsRectVisibleNil (const ImVec2)
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
igRadioButton 2
1 bool igRadioButtonBool (const char*,bool)
2 bool igRadioButtonIntPtr (const char*,int*,int)
ImGuiTextRange_ImGuiTextRange 2
1 nil ImGuiTextRange_ImGuiTextRangeNil ()
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
ImVec2_ImVec2 2
1 nil ImVec2_ImVec2Nil ()
2 nil ImVec2_ImVec2Float (float,float)
ImVector_back 2
1 T* ImVector_backNil ()
2 const T* ImVector_back_const ()const
igPlotHistogram 2
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotHistogramFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igGetID 3
1 ImGuiID igGetIDStr (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*)
ImVec1_ImVec1 2
1 nil ImVec1_ImVec1Nil ()
2 nil ImVec1_ImVec1Float (float)
igImPow 2
1 float igImPowFloat (float,float)
2 double igImPowdouble (double,double)
igSetWindowPos 3
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igBeginChild 2
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
igPushID 4
1 void igPushIDStr (const char*)
2 void igPushIDStrStr (const char*,const char*)
3 void igPushIDPtr (const void*)
4 void igPushIDInt (int)
ImRect_Contains 2
1 bool ImRect_ContainsVec2 (const ImVec2)const
2 bool ImRect_ContainsRect (const ImRect)const
ImRect_Add 2
1 void ImRect_AddVec2 (const ImVec2)
2 void ImRect_AddRect (const ImRect)
ImGuiStoragePair_ImGuiStoragePair 3
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
igSetScrollFromPosX 2
1 void igSetScrollFromPosXFloat (float,float)
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float)
igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawListNil ()
2 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*)
ImVector_front 2
1 T* ImVector_frontNil ()
2 const T* ImVector_front_const ()const
ImGuiWindow_GetID 3
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDPtr (const void*)
3 ImGuiID ImGuiWindow_GetIDInt (int)
igImLengthSqr 2
1 float igImLengthSqrVec2 (const ImVec2)
2 float igImLengthSqrVec4 (const ImVec4)
igImFloor 2
1 float igImFloorFloat (float)
2 ImVec2 igImFloorVec2 (const ImVec2)
igTreeNode 3
1 bool igTreeNodeStr (const char*)
2 bool igTreeNodeStrStr (const char*,const char*,...)
3 bool igTreeNodePtr (const void*,const char*,...)
igCombo 3
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int)
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igSetScrollY 2
1 void igSetScrollYFloat (float)
2 void igSetScrollYWindowPtr (ImGuiWindow*,float)
ImVector_erase 2
1 T* ImVector_eraseNil (const T*)
2 T* ImVector_eraseTPtr (const T*,const T*)
ImDrawList_AddText 2
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
igPushStyleVar 2
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
igSetWindowFocus 2
1 void igSetWindowFocusNil ()
2 void igSetWindowFocusStr (const char*)
igImLerp 3
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float)
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float)
ImVector_end 2
1 T* ImVector_endNil ()
2 const T* ImVector_end_const ()const
igItemSize 2
1 void igItemSizeVec2 (const ImVec2,float)
2 void igItemSizeRect (const ImRect,float)
igMarkIniSettingsDirty 2
1 void igMarkIniSettingsDirtyNil ()
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*)
igSetWindowSize 3
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igSetScrollX 2
1 void igSetScrollXFloat (float)
2 void igSetScrollXWindowPtr (ImGuiWindow*,float)
igIsPopupOpen 2
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags)
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags)
ImVector_ImVector 2
1 nil ImVector_ImVectorNil ()
2 nil ImVector_ImVectorVector (const ImVector)
igSetWindowCollapsed 3
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond)
igPlotLines 2
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLinesFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4)
ImGuiWindow_GetIDNoKeepAlive 3
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*)
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int)
igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
ImVec2ih_ImVec2ih 3
1 nil ImVec2ih_ImVec2ihNil ()
2 nil ImVec2ih_ImVec2ihshort (short,short)
3 explicit ImVec2ih_ImVec2ihVec2 (const ImVec2)
ImGuiStyleMod_ImGuiStyleMod 3
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int)
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float)
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2)
ImPool_Remove 2
1 void ImPool_RemoveTPtr (ImGuiID,const T*)
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx)
ImRect_Expand 2
1 void ImRect_ExpandFloat (const float)
2 void ImRect_ExpandVec2 (const ImVec2)
igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int)
ImRect_ImRect 4
1 nil ImRect_ImRectNil ()
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2)
3 nil ImRect_ImRectVec4 (const ImVec4)
4 nil ImRect_ImRectFloat (float,float,float,float)
igTreePush 2
1 void igTreePushStr (const char*)
2 void igTreePushPtr (const void*)
igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
igGetColorU32 3
1 ImU32 igGetColorU32Col (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32)
ImVector_find 2
1 T* ImVector_findNil (const T)
2 const T* ImVector_find_const (const T)const
ImColor_ImColor 5
1 nil ImColor_ImColorNil ()
2 nil ImColor_ImColorInt (int,int,int,int)
3 nil ImColor_ImColorU32 (ImU32)
4 nil ImColor_ImColorFloat (float,float,float,float)
5 nil ImColor_ImColorVec4 (const ImVec4)
ImDrawList_AddText 2
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int)
ImGuiStoragePair_ImGuiStoragePair 3
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
ImGuiStyleMod_ImGuiStyleMod 3
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int)
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float)
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2)
ImGuiTextRange_ImGuiTextRange 2
1 nil ImGuiTextRange_ImGuiTextRangeNil ()
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
ImGuiWindow_GetID 3
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDPtr (const void*)
3 ImGuiID ImGuiWindow_GetIDInt (int)
ImGuiWindow_GetIDNoKeepAlive 3
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*)
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*)
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int)
ImPool_Remove 2
1 void ImPool_RemoveTPtr (ImGuiID,const T*)
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx)
ImRect_Add 2
1 void ImRect_AddVec2 (const ImVec2)
2 void ImRect_AddRect (const ImRect)
ImRect_Contains 2
1 bool ImRect_ContainsVec2 (const ImVec2)const
2 bool ImRect_ContainsRect (const ImRect)const
ImRect_Expand 2
1 void ImRect_ExpandFloat (const float)
2 void ImRect_ExpandVec2 (const ImVec2)
ImRect_ImRect 4
1 nil ImRect_ImRectNil ()
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2)
3 nil ImRect_ImRectVec4 (const ImVec4)
4 nil ImRect_ImRectFloat (float,float,float,float)
ImVec1_ImVec1 2
1 nil ImVec1_ImVec1Nil ()
2 nil ImVec1_ImVec1Float (float)
ImVec2_ImVec2 2
1 nil ImVec2_ImVec2Nil ()
2 nil ImVec2_ImVec2Float (float,float)
ImVec2ih_ImVec2ih 3
1 nil ImVec2ih_ImVec2ihNil ()
2 nil ImVec2ih_ImVec2ihshort (short,short)
3 nil ImVec2ih_ImVec2ihVec2 (const ImVec2)
ImVec4_ImVec4 2
1 nil ImVec4_ImVec4Nil ()
2 nil ImVec4_ImVec4Float (float,float,float,float)
ImVector_ImVector 2
1 nil ImVector_ImVectorNil ()
2 nil ImVector_ImVectorVector (const ImVector)
ImVector_back 2
1 T* ImVector_backNil ()
2 const T* ImVector_back_const ()const
ImVector_begin 2
1 T* ImVector_beginNil ()
2 const T* ImVector_begin_const ()const
ImVector_end 2
1 T* ImVector_endNil ()
2 const T* ImVector_end_const ()const
ImVector_erase 2
1 T* ImVector_eraseNil (const T*)
2 T* ImVector_eraseTPtr (const T*,const T*)
ImVector_find 2
1 T* ImVector_findNil (const T)
2 const T* ImVector_find_const (const T)const
ImVector_front 2
1 T* ImVector_frontNil ()
2 const T* ImVector_front_const ()const
ImVector_resize 2
1 void ImVector_resizeNil (int)
2 void ImVector_resizeT (int,const T)
igBeginChild 2
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
igCollapsingHeader 2
1 bool igCollapsingHeaderTreeNodeFlags (const char*,ImGuiTreeNodeFlags)
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
igCombo 3
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int)
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igGetColorU32 3
1 ImU32 igGetColorU32Col (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32)
igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawListNil ()
2 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*)
igGetID 3
1 ImGuiID igGetIDStr (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*)
igImAbs 2
1 float igImAbsFloat (float)
2 double igImAbsdouble (double)
igImFloor 2
1 float igImFloorFloat (float)
2 ImVec2 igImFloorVec2 (const ImVec2)
igImLengthSqr 2
1 float igImLengthSqrVec2 (const ImVec2)
2 float igImLengthSqrVec4 (const ImVec4)
igImLerp 3
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float)
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float)
igImLog 2
1 float igImLogFloat (float)
2 double igImLogdouble (double)
igImPow 2
1 float igImPowFloat (float,float)
2 double igImPowdouble (double,double)
igImSign 2
1 float igImSignFloat (float)
2 double igImSigndouble (double)
igIsPopupOpen 2
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags)
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags)
igIsRectVisible 2
1 bool igIsRectVisibleNil (const ImVec2)
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
igItemSize 2
1 void igItemSizeVec2 (const ImVec2,float)
2 void igItemSizeRect (const ImRect,float)
igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igListBoxHeader 2
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
2 bool igListBoxHeaderInt (const char*,int,int)
igSelectable 2
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igMarkIniSettingsDirty 2
1 void igMarkIniSettingsDirtyNil ()
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*)
igMenuItem 2
1 bool igMenuItemBool (const char*,const char*,bool,bool)
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
igPlotHistogram 2
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotHistogramFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPlotLines 2
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLinesFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPushID 4
1 void igPushIDStr (const char*)
2 void igPushIDStrStr (const char*,const char*)
3 void igPushIDPtr (const void*)
4 void igPushIDInt (int)
igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4)
igPushStyleVar 2
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
igRadioButton 2
1 bool igRadioButtonBool (const char*,bool)
2 bool igRadioButtonIntPtr (const char*,int*,int)
igSelectable 2
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igSetScrollFromPosX 2
1 void igSetScrollFromPosXFloat (float,float)
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float)
igSetScrollFromPosY 2
1 void igSetScrollFromPosYFloat (float,float)
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float)
igSetScrollX 2
1 void igSetScrollXFloat (float)
2 void igSetScrollXWindowPtr (ImGuiWindow*,float)
igSetScrollY 2
1 void igSetScrollYFloat (float)
2 void igSetScrollYWindowPtr (ImGuiWindow*,float)
igSetWindowCollapsed 3
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond)
igSetWindowFocus 2
1 void igSetWindowFocusNil ()
2 void igSetWindowFocusStr (const char*)
igSetWindowPos 3
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igSetWindowSize 3
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igTreeNode 3
1 bool igTreeNodeStr (const char*)
2 bool igTreeNodeStrStr (const char*,const char*,...)
3 bool igTreeNodePtr (const void*,const char*,...)
igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
igTreeNodeV 2
1 bool igTreeNodeVStr (const char*,const char*,va_list)
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
149 overloaded
igTreePush 2
1 void igTreePushStr (const char*)
2 void igTreePushPtr (const void*)
igValue 4
1 void igValueBool (const char*,bool)
2 void igValueInt (const char*,int)
3 void igValueUint (const char*,unsigned int)
4 void igValueFloat (const char*,float,const char*)
155 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -38,21 +38,20 @@
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
"ImGuiDir": "int",
"ImGuiDragDropFlags": "int",
"ImGuiDragFlags": "int",
"ImGuiFocusedFlags": "int",
"ImGuiGroupData": "struct ImGuiGroupData",
"ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int",
"ImGuiIO": "struct ImGuiIO",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData *data);",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int",
"ImGuiInputTextState": "struct ImGuiInputTextState",
"ImGuiItemFlags": "int",
"ImGuiItemHoveredDataBackup": "struct ImGuiItemHoveredDataBackup",
"ImGuiItemStatusFlags": "int",
"ImGuiKey": "int",
"ImGuiKeyModFlags": "int",
"ImGuiLastItemDataBackup": "struct ImGuiLastItemDataBackup",
"ImGuiLayoutType": "int",
"ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
@@ -116,6 +115,10 @@
"ImWchar": "ImWchar16",
"ImWchar16": "unsigned short",
"ImWchar32": "unsigned int",
"STB_TexteditState": "struct STB_TexteditState",
"StbTexteditRow": "struct StbTexteditRow",
"StbUndoRecord": "struct StbUndoRecord",
"StbUndoState": "struct StbUndoState",
"const_iterator": "const value_type*",
"iterator": "value_type*",
"value_type": "T"

View File

@@ -38,21 +38,20 @@ defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
defs["ImGuiDir"] = "int"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiDragFlags"] = "int"
defs["ImGuiFocusedFlags"] = "int"
defs["ImGuiGroupData"] = "struct ImGuiGroupData"
defs["ImGuiHoveredFlags"] = "int"
defs["ImGuiID"] = "unsigned int"
defs["ImGuiIO"] = "struct ImGuiIO"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData *data);"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemFlags"] = "int"
defs["ImGuiItemHoveredDataBackup"] = "struct ImGuiItemHoveredDataBackup"
defs["ImGuiItemStatusFlags"] = "int"
defs["ImGuiKey"] = "int"
defs["ImGuiKeyModFlags"] = "int"
defs["ImGuiLastItemDataBackup"] = "struct ImGuiLastItemDataBackup"
defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
@@ -116,6 +115,10 @@ defs["ImVec4"] = "struct ImVec4"
defs["ImWchar"] = "ImWchar16"
defs["ImWchar16"] = "unsigned short"
defs["ImWchar32"] = "unsigned int"
defs["STB_TexteditState"] = "struct STB_TexteditState"
defs["StbTexteditRow"] = "struct StbTexteditRow"
defs["StbUndoRecord"] = "struct StbUndoRecord"
defs["StbUndoState"] = "struct StbUndoState"
defs["const_iterator"] = "const value_type*"
defs["iterator"] = "value_type*"
defs["value_type"] = "T"

2
imgui

Submodule imgui updated: 9418dcb693...e5cb04b132