Compare commits

...

93 Commits

Author SHA1 Message Date
sonoro1234
2b03f434d4 one day I wont forget readme 2019-06-12 19:47:52 +02:00
sonoro1234
37c52332f4 pull imgui 1.71 and generate 2019-06-12 19:45:37 +02:00
sonoro1234
84932b4830 update README.md 2019-05-07 15:56:11 +02:00
sonoro1234
022f60320f add characters | < to defaults parsing 2019-05-06 16:41:40 +02:00
sonoro1234
1aeb9ad132 pull imgui 1.70 and generate 2019-05-06 15:59:27 +02:00
sonoro1234
648cf587c9 README.md update for 1.69 2019-04-29 11:45:37 +02:00
Victor Bombi
aa99302d24 Merge pull request #94 from nihuynh/Makefile_fix
fixing makefile
2019-04-16 12:45:18 +02:00
Nicolas Huynh
4fca16eada fixing makefile 2019-04-16 02:15:52 +02:00
sonoro1234
ff404142f4 readme : use generator before compilation 2019-04-03 13:50:49 +02:00
sonoro1234
4be0522d9f pull imgui 1.69 and generate 2019-03-13 17:05:22 +01:00
sonoro1234
bc6f6e664e readme use generator2.bat 2019-03-06 11:00:21 +01:00
sonoro1234
343a8e4ea5 update README.md 2019-02-19 13:18:20 +01:00
Victor Bombi
0d4fa8b8bc Merge pull request #91 from cimgui/ImVector
Im vector
2019-02-19 13:13:02 +01:00
sonoro1234
666a687e0f pull imgui 1.68 2019-02-19 13:11:06 +01:00
sonoro1234
806ff124a1 build test -Wall std=99 -Wpedantic 2019-02-18 12:33:12 +01:00
sonoro1234
186ebd8f06 drop comments and update README.md for top level functions 2019-02-15 16:54:23 +01:00
sonoro1234
d331453422 correct issue #88 (Pair union member) 2019-02-15 12:24:06 +01:00
sonoro1234
e125f405e3 more README.md update 2019-02-15 12:10:52 +01:00
sonoro1234
498f9802d1 update README.md 2019-02-15 11:17:51 +01:00
sonoro1234
6c9a018705 drop ImVector:contains() for not applicable types 2019-02-14 20:15:33 +01:00
sonoro1234
347d8d58b0 with templated structs generated 2019-02-14 13:05:49 +01:00
sonoro1234
161385607d not templated structs generated 2019-02-12 19:59:39 +01:00
sonoro1234
23f2a1f026 get template typenames generated 2019-02-12 19:40:00 +01:00
sonoro1234
490effa341 get template typenames 2019-02-12 18:52:00 +01:00
sonoro1234
0d864f94bd ImVector functions inclusion 2019-02-12 12:16:21 +01:00
sonoro1234
55f1afa2db update readme 2019-01-27 22:51:31 +01:00
sonoro1234
71a9410ce6 cpp2ffi take care or type and name separated by * without spaces 2019-01-27 17:20:07 +01:00
Victor Bombi
036d2c1f9e Merge pull request #86 from mellinoe/update-to-1.67
Update imgui submodule to 1.67 and re-generate.
2019-01-17 16:43:00 +01:00
Eric Mellino
b5c7ed5862 Update imgui submodule to 1.67 and re-generate. 2019-01-14 18:42:10 -08:00
sonoro1234
d2ee8fc7dd improve functionD_re 2018-12-24 12:28:37 +01:00
sonoro1234
593867e320 generator2 files 2018-12-23 19:53:14 +01:00
sonoro1234
907c2fddce generator.lua take care of type and name separated by * without spaces 2018-12-21 11:59:35 +01:00
sonoro1234
67f3b097a5 pull imgui 1.66b 2018-12-03 16:46:17 +01:00
sonoro1234
fd0199809d json: TAB 2 spaces solves #82? 2018-12-03 10:02:33 +01:00
sonoro1234
d174a02a0f indented json files 2018-12-02 18:37:52 +01:00
sonoro1234
291922f72c alphabetical sorted json files 2018-12-02 11:15:17 +01:00
Victor Bombi
7d963113c9 Merge pull request #84 from dos1/static
cmake: add an option to build as a static library
2018-11-28 19:37:05 +01:00
Sebastian Krzyszkowiak
8cbdca3344 cmake: add an option to build as a static library
Useful when including cimgui as a subproject in another CMake project.
2018-11-28 18:19:52 +01:00
sonoro1234
204f2828bb add folder testbuildc 2018-11-27 12:09:03 +01:00
sonoro1234
2c10d47b9a remove static char EmptyString lines 2018-11-27 12:07:56 +01:00
sonoro1234
df00156746 output json files with newline 2018-11-26 17:54:36 +01:00
sonoro1234
553364f7d8 add cimgui.h include guards 2018-11-26 15:57:19 +01:00
sonoro1234
14cd6715d2 remove static from structs 2018-11-23 10:22:48 +01:00
sonoro1234
76935a7d83 manually removed static 2018-11-22 20:46:49 +01:00
sonoro1234
4397e9a3f1 update README.md 2018-11-22 20:18:11 +01:00
Victor Bombi
d44c05cbbd Merge pull request #81 from mellinoe/update-to-1.66
Update to v1.66
2018-11-22 20:14:49 +01:00
Eric Mellino
ed6212bb34 Update to v1.66. 2018-11-22 11:06:40 -08:00
sonoro1234
8911a5a992 avoid ImNewDummy issue #80 for MSVC 2018-11-13 18:17:59 +01:00
sonoro1234
4397288459 some generator.lua cleaning 2018-10-23 11:56:02 +02:00
sonoro1234
354f316b89 CIMGUI_DEFINE_ENUMS_AND_STRUCTS in README.md 2018-10-21 13:18:36 +02:00
sonoro1234
f6fdec9d98 do check of bad overloading 2018-10-21 11:39:23 +02:00
sonoro1234
3da4350671 readme hard coded overloaded names 2018-10-20 19:42:33 +02:00
sonoro1234
fe1d9d081b more readme update 2018-10-20 19:36:46 +02:00
Victor Bombi
f531be148d Merge pull request #76 from cimgui/master_refactor
Master refactor
2018-10-20 18:17:33 +02:00
sonoro1234
eac028b1f3 delete screenshot.png 2018-10-20 17:51:01 +02:00
sonoro1234
eb81995978 update README.md 2018-10-20 17:32:22 +02:00
sonoro1234
b600ea9fab structs and enums show C ImVector type 2018-10-20 17:32:03 +02:00
sonoro1234
5656bf7c73 simplify generation and modify order saved 2018-10-20 13:54:59 +02:00
sonoro1234
d33da701aa simplify function generation 2018-10-20 12:50:55 +02:00
sonoro1234
95d65fdf49 saved ordered tables 2018-10-20 12:37:42 +02:00
sonoro1234
0b7bd49de5 save in an ordered way 2018-10-20 12:32:41 +02:00
sonoro1234
1643bbf284 tabs to spaces 2018-10-19 20:10:24 +02:00
sonoro1234
80f82b6ed8 add destructors for no simple constructors 2018-10-19 20:06:51 +02:00
sonoro1234
f4df31de6e correct ImVector typedefs 2018-10-18 20:20:23 +02:00
Victor Bombi
1789ec81fe Merge pull request #74 from sonoro1234/ImVector_templates
add ImVector template types
2018-10-18 13:07:28 +02:00
sonoro1234
aca412fe7a add ImVector template types 2018-10-18 13:05:57 +02:00
sonoro1234
7a54d1276d drop ImFontConfig_DefaultConstructor (already automated) 2018-10-18 09:34:33 +02:00
Victor Bombi
97113ef7ad Merge pull request #73 from sonoro1234/GlyphRanges
Glyph ranges
2018-10-17 20:11:39 +02:00
sonoro1234
2a4dcaf2a2 add constructors and destructor 2018-10-17 20:08:40 +02:00
sonoro1234
5a9a20d139 GlyphRanges test 2018-10-17 12:14:22 +02:00
sonoro1234
7ee838ae2d include stdint.h 2018-10-16 11:56:31 +02:00
sonoro1234
3091435042 explain template_type 2018-10-14 17:51:10 +02:00
sonoro1234
804acdcecd add template_type for ImVector templates in structs_and_enums 2018-10-14 17:47:38 +02:00
sonoro1234
51f02dca4d add igGetIDRange to overloads table 2018-10-14 10:09:04 +02:00
sonoro1234
84a9656889 dont assert in virtual preprocessor, just warn 2018-10-13 19:13:52 +02:00
sonoro1234
553df3da32 type error 2018-10-13 13:56:11 +02:00
sonoro1234
04d4a19beb update link to odin-imgui 2018-10-13 13:08:30 +02:00
sonoro1234
3b9c53b2a2 more robust nocompiler option, can assert on unknown preprocesor conditions 2018-10-13 11:56:35 +02:00
sonoro1234
6f9e3db1d1 structs and enums in README.md 2018-10-10 14:23:41 +02:00
sonoro1234
d3eb876266 definitions in README.md 2018-10-10 14:05:08 +02:00
sonoro1234
3efb1001aa explain this repo option for generating 2018-10-10 11:16:01 +02:00
Victor Bombi
a91c611bca Merge pull request #70 from sonoro1234/noprepro_master
be able to generate without precompiler
2018-10-10 11:04:29 +02:00
sonoro1234
5b7abe8b4d be able to generate without precompiler 2018-10-10 10:59:51 +02:00
sonoro1234
812af400f1 allow cl compiler (MSVC) to work as preprocessor 2018-10-09 20:13:56 +02:00
sonoro1234
2d3cf59b21 clang information in README.md 2018-10-09 15:09:52 +02:00
sonoro1234
e7eb9c511b nopreprocess version without comments to enable easy comparation 2018-10-09 13:58:46 +02:00
sonoro1234
2759a8ed4d allow gcc or clang compiler 2018-10-09 11:03:49 +02:00
sonoro1234
073f438467 dont warn not const reference argument if it is manual 2018-10-09 10:39:49 +02:00
Victor Bombi
f7856b27b0 Merge pull request #69 from mellinoe/no-lib-prefix
Remove the "lib" prefix in CMakeLists.txt.
2018-10-09 10:14:55 +02:00
Eric Mellino
99c7d7cfdf Remove the "lib" prefix in CMakeLists.txt. 2018-10-09 00:48:03 -07:00
sonoro1234
31871f9975 still more README.md updates 2018-10-08 13:54:58 +02:00
sonoro1234
c487b0266e more README.md updates 2018-10-08 13:44:43 +02:00
sonoro1234
3b386799e4 add mellinoe autogeneration 2018-10-08 13:28:50 +02:00
32 changed files with 64469 additions and 18421 deletions

View File

@@ -16,14 +16,21 @@ else(WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
#add library and link
add_library(cimgui SHARED ${IMGUI_SOURCES})
if (IMGUI_STATIC)
add_library(cimgui STATIC ${IMGUI_SOURCES})
else (IMGUI_STATIC)
add_library(cimgui SHARED ${IMGUI_SOURCES})
endif (IMGUI_STATIC)
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
set_target_properties(cimgui PROPERTIES PREFIX "")
#install
install(TARGETS cimgui
RUNTIME DESTINATION .
LIBRARY DESTINATION .
#ARCHIVE DESTINATION lib
)
ARCHIVE DESTINATION .
)

View File

@@ -46,11 +46,18 @@ endif
.cpp.o:
$(CXX) $(CXXFLAGS) -c -o $@ $<
all:imgui_example
all:$(OUTPUTNAME)
@echo Build complete for $(ECHO_MESSAGE)
imgui_example:$(OBJS)
$(OUTPUTNAME):$(OBJS)
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
clean:
rm $(OBJS)
rm -f $(OBJS)
fclean: clean
rm -f $(OUTPUTNAME)
re: fclean all
.PHONY: all clean fclean re

View File

@@ -1,9 +1,8 @@
# cimgui [![Build Status](https://travis-ci.org/sonoro1234/cimgui.svg?branch=master)](https://travis-ci.org/sonoro1234/cimgui)
![sample](screenshot.png)
This is a thin c-api wrapper programmatically generated for the excellent C++ immediate mode gui [Dear ImGui](https://github.com/ocornut/imgui).
All functions are programmatically wrapped except constructors, destructors and `ImVector`. (Unless someone find a use case for them)
All imgui.h functions are programmatically wrapped.
Generated files are: `cimgui.cpp`, `cimgui.h` for C compilation. Also for helping in bindings creation, `definitions.lua` with function definition information and `structs_and_enums.lua`.
This library is intended as a intermediate layer to be able to use Dear ImGui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
@@ -12,32 +11,69 @@ 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.65 of Dear ImGui]
* overloaded function names try to be the most compatible with traditional cimgui names. So all naming is algorithmic except for those names that were in conflict with widely used cimgui names and were thus coded in a table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L40). Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt)
* currently this wrapper is based on version [1.71 of Dear ImGui]
* only functions, structs and enums from imgui.h are wrapped.
* if you are interested in imgui implementations you should look LuaJIT-ImGui project.
* overloaded function names try to be the most compatible with traditional cimgui names. So all naming is algorithmic except for those names that were in conflict with widely used cimgui names and were thus coded in a table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L58). Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt)
# compilation
* clone
* git clone --recursive https://github.com/cimgui/cimgui.git
* git submodule update
* make using makefile on linux/macOS/mingw (Or use CMake to generate project)
* compile
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build
# auto binding generation
# using generator
* this is only needed (before compilation) if you want an imgui version different from the one provided, otherwise generation is already done.
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
* need also gcc compiler for doing preprocessing (In windows MinGW-W64-builds for example)
* you can use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC) or not use a compiler (experimental nocompiler option) at all. (this repo was done with gcc)
* update `imgui` folder to the version you desire.
* run `generator/generator.bat` (or make a .sh version and please PR) with gcc 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.
* build as shown in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build
* generate binding as done in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat
* edit `generator/generator2.bat` (or make a .sh version and please PR) to choose between gcc, clang, cl or nocompiler. Run it 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.
# generate binding
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
* with your prefered language you can use the lua or json files generated as in:
* https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/class_gen.lua)
* https://github.com/mellinoe/ImGui.NET/tree/autogen/src/CodeGenerator
### definitions description
* It is a collection in which key is the cimgui name that would result without overloadings and the value is an array of overloadings (may be only one overloading)
* Each overloading is a collection. Some relevant keys and values are:
* stname : the name of the struct the function belongs to (will be "" if it is top level in ImGui namespace)
* ov_cimguiname : the overloaded cimgui name (if absent it would be taken from cimguiname)
* cimguiname : the name without overloading (this should be used if there is not ov_cimguiname)
* ret : the return type
* retref : is setted if original return type is a reference. (will be a pointer in cimgui)
* argsT : an array of collections (each one with type: argument type and name: the argument name)
* args : a string of argsT concatenated and separated by commas
* 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)
* isvararg : is setted if some argument is a vararg
* constructor : is setted if the function is a constructor for a class
* destructor : is setted if the function is a destructor for a class
* templated : is setted if the function belongs to a templated class (ImVector)
* templatedgen: is setted if the function belongs to a struct generated from template (ImVector_ImWchar)
* nonUDT : if present can be 1 or 2 (explained meaning in usage) if return type was a user defined type
### structs_and_enums description
* Is is a collection with two 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
* calc_value : the numeric value corresponding to value
* under key structs we get the structs collection in which the key is the struct name and the value is an array of the struct members. Each one given as a collection with keys
* type : the type of the struct member
* template_type : if type has a template argument (as ImVector) here will be
* name : the name of the struct member
# 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`
* methods have the same parameter list and return values (where possible)
* functions that belong to a struct have an extra first argument with a pointer to the struct.
* where a function returns UDT (user defined type) by value some compilers complain so another function with the name `function_name_nonUDT` is generated accepting a pointer to the UDT type as the first argument. (or second argument if it is a struct function)
* where a function returns UDT (user defined type) by value some compilers complain so another function with the name `function_name_nonUDT` is generated accepting a pointer to the UDT type as the first argument.
* also is generated `function_name_nonUDT2` which instead of returning the UDT type returns a simple version (without functions) called `UDTType_Simple` (`ImVec2_Simple` for `ImVec2`)
# example bindings based on cimgui
@@ -47,5 +83,5 @@ Notes:
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
* [imgui-pas](https://github.com/dpethes/imgui-pas)
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
* [LuaJIT-imgui](https://github.com/sonoro1234/LuaJIT-ImGui)

2629
cimgui.cpp

File diff suppressed because it is too large Load Diff

998
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -25,10 +25,7 @@ CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const ch
buffer->appendfv(fmt, args);
va_end(args);
}
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig *config)
{
*config = ImFontConfig();
}
CIMGUI_API float igGET_FLT_MAX()
{
return FLT_MAX;
@@ -41,3 +38,18 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
{
ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
}
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
{
return IM_NEW(ImVector<ImWchar>) ();
}
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
{
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
}
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
{
p->~ImVector<ImWchar>();
}

View File

@@ -1,6 +1,7 @@
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
#include <stdio.h>
#include <stdint.h>
#if defined _WIN32 || defined __CYGWIN__
#ifdef CIMGUI_NO_EXPORT
#define API
@@ -75,12 +76,17 @@ inline ImColor_Simple ImColorToSimple(ImColor col)
CIMGUI_API void igLogText(CONST char *fmt, ...);
//no appendfV
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig *config);
//for getting FLT_MAX in bindings
CIMGUI_API float igGET_FLT_MAX();
//not const args from & to *
CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v);
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
#endif //CIMGUI_INCLUDED

1320
generator/cpp2ffi.lua Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -10,12 +10,13 @@
:: impl_definitions.lua for implementation function definitions
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
:: set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
::process files
:: arg[1..n] name of implementations to generate
luajit ./generator.lua glfw opengl3 opengl2 sdl
:: arg[1] compiler name gcc, clang, cl or nocompiler
:: arg[2..n] name of implementations to generate
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
::leave console open
cmd /k

File diff suppressed because it is too large Load Diff

23
generator/generator2.bat Normal file
View File

@@ -0,0 +1,23 @@
:: this script must be executed in this directory
:: all the output goes to generator/output folder
:: .cpp and .h files:
:: cimgui.h and cimgui.cpp with gcc preprocess
:: cimgui_nopreprocess.h and cimgui_nopreprocess.cpp generated without preprocess
:: cimgui_impl.h with implementation function cdefs
:: lua and json files:
:: definitions.lua for function definitions
:: structs_and_enums.lua with struct and enum information-definitions
:: impl_definitions.lua for implementation function definitions
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
::process files
:: arg[1] compiler name gcc, clang, cl or nocompiler
:: arg[2..n] name of implementations to generate
luajit ./generator2.lua gcc glfw opengl3 opengl2 sdl
::leave console open
cmd /k

646
generator/generator2.lua Normal file
View File

@@ -0,0 +1,646 @@
--------------------------------------------------------------------------
--script for auto_funcs.h and auto_funcs.cpp generation
--expects LuaJIT
--------------------------------------------------------------------------
assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
assert(bit,"Must use LuaJIT")
local script_args = {...}
local COMPILER = script_args[1]
local CPRE,CTEST
if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]]
CTEST = COMPILER
else
print("Working without compiler ")
end
--test compiler present
local HAVE_COMPILER = false
if CTEST then
local pipe,err = io.popen(CTEST,"r")
if pipe then
local str = pipe:read"*a"
print(str)
pipe:close()
if str=="" then
HAVE_COMPILER = false
else
HAVE_COMPILER = true
end
else
HAVE_COMPILER = false
print(err)
end
assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
end --CTEST
print("HAVE_COMPILER",HAVE_COMPILER)
--get implementations
local implementations = {}
for i=2,#script_args do table.insert(implementations,script_args[i]) end
--------------------------------------------------------------------------
--this table has the functions to be skipped in generation
--------------------------------------------------------------------------
local cimgui_manuals = {
igLogText = true,
ImGuiTextBuffer_appendf = true,
igColorConvertRGBtoHSV = true,
igColorConvertHSVtoRGB = true
}
--------------------------------------------------------------------------
--this table is a dictionary to force a naming of function overloading (instead of algorythmic generated)
--first level is cimguiname without postfix, second level is the signature of the function, value is the
--desired name
---------------------------------------------------------------------------
local cimgui_overloads = {
igPushID = {
--["(const char*)"] = "igPushIDStr",
["(const char*,const char*)"] = "igPushIDRange",
--["(const void*)"] = "igPushIDPtr",
--["(int)"] = "igPushIDInt"
},
igGetID = {
["(const char*,const char*)"] = "igGetIDRange",
},
ImDrawList_AddText = {
["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText",
},
igGetColorU32 = {
["(ImGuiCol,float)"] = "igGetColorU32",
},
igCollapsingHeader = {
["(const char*,ImGuiTreeNodeFlags)"] = "igCollapsingHeader",
},
igCombo = {
["(const char*,int*,const char* const[],int,int)"] = "igCombo",
},
igPlotLines = {
["(const char*,const float*,int,int,const char*,float,float,ImVec2,int)"] = "igPlotLines",
},
igBeginChild = {
["(const char*,const ImVec2,bool,ImGuiWindowFlags)"] = "igBeginChild",
},
igSelectable = {
["(const char*,bool,ImGuiSelectableFlags,const ImVec2)"] = "igSelectable"
},
igPushStyleColor = {
["(ImGuiCol,const ImVec4)"] = "igPushStyleColor"
}
}
--------------------------header definitions
local cimgui_header =
[[//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version XXX from Dear ImGui https://github.com/ocornut/imgui
]]
local gdefines = {} --for FLT_MAX and others
--------------------------------------------------------------------------
--helper functions
---------------------------minimal preprocessor without compiler for ImGui.h
local function filelines(file,locats)
local split_comment = require"cpp2ffi".split_comment
local iflevels = {}
--generated known prepros
local prepro = {
["#if"]={
[ "defined(__clang__) || defined(__GNUC__)" ]=false,
[ "defined(__clang__)" ]=false,
[ "defined(_MSC_VER) && !defined(__clang__)" ]=false,
[ "!defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)" ]=false,
[ "!defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \\" ]=false,
},
["#elif"]={
[ "defined(__GNUC__) && __GNUC__ >= 8" ]=false,
[ "(defined(__clang__) || defined(__GNUC__)) && (__cplusplus < 201100)" ]=false,
},
["#ifdef"]={
[ "IM_VEC4_CLASS_EXTRA" ]=false,
[ "IMGUI_USER_CONFIG" ]=false,
[ "IMGUI_INCLUDE_IMGUI_USER_H" ]=false,
[ "IMGUI_USE_BGRA_PACKED_COLOR" ]=false,
[ "IM_VEC2_CLASS_EXTRA" ]=false,
},
["#ifndef"]={
[ "IMGUI_API" ]=false,
[ "IMGUI_IMPL_API" ]=false,
[ "IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT" ]=true,
[ "IM_ASSERT" ]=false,
[ "ImTextureID" ]=true,
[ "ImDrawIdx" ]=true,
[ "IMGUI_DISABLE_OBSOLETE_FUNCTIONS" ]=false,
},
}
local function prepro_boolif(pre,cond)
local conds = prepro[pre]
assert(conds,pre.." has no conds-----------------------------")
local res = conds[cond]
--assert(type(res)~="nil",cond.." not found")
if type(res)=="nil" then
print(pre,cond,"not found in precompiler database, returning false.")
res = false
end
return res
end
local function location_it()
repeat
local line = file:read"*l"
if not line then return nil end
line,_ = split_comment(line)
--if line:sub(1,1) == "#" then
if line:match("^%s*#") then
local pre,cond = line:match("^%s*(#%S*)%s+(.*)%s*$")
if line:match("#if") then
iflevels[#iflevels +1 ] = prepro_boolif(pre,cond)
elseif line:match("#endif") then
iflevels[#iflevels] = nil
elseif line:match("#elif") then
if not iflevels[#iflevels] then
iflevels[#iflevels] = prepro_boolif(pre,cond)
else --was true
iflevels[#iflevels] = false
end
elseif line:match("#else") then
iflevels[#iflevels] = not iflevels[#iflevels]
else
if not (pre:match("#define") or pre:match"#include" or pre:match"#pragma") then
print("not expected preprocessor directive ",pre)
end
end
-- skip
elseif #iflevels == 0 or iflevels[#iflevels] then
-- drop IMGUI_APIX
line = line:gsub("IMGUI_IMPL_API","")
-- drop IMGUI_API
line = line:gsub("IMGUI_API","")
return line,locats[1]
end
until false
end
return location_it
end
--------------------------------functions for C generation
local function func_header_impl_generate(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
if t.cimguiname then
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
if def.ret then --not constructor
local addcoment = def.comment or ""
if def.stname == "" then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
else
error("class function in implementations")
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 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
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")
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 = ImGui::"..def.funcname.."V"..call_args..";\n")
else
table.insert(outtab," ImGui::"..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 = ImGui::"..def.funcname..def.call_args..";\n")
else --nonUDT==2
table.insert(outtab," "..def.retorig.." ret = ImGui::"..def.funcname..def.call_args..";\n")
table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n")
table.insert(outtab," return ret2;\n")
end
else --standard ImGui
table.insert(outtab," return "..ptret.."ImGui::"..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")
else --nonUDT==2
table.insert(outtab," "..def.retorig.." ret = self->"..def.funcname..def.call_args..";\n")
table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n")
table.insert(outtab," return ret2;\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
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r")
local defines = {}
while true do
local line = pipe:read"*l"
if not line then break end
local key,value = line:match([[#define%s+(%S+)%s+(.+)]])
if not key or not value then
--print(line)
else
defines[key]=value
end
end
pipe:close()
--require"anima.utils"
--prtable(defines)
--FLT_MAX
local ret = {}
for i,v in ipairs(t) do
local aa = defines[v]
while true do
local tmp = defines[aa]
if not tmp then
break
else
aa = tmp
end
end
ret[v] = aa
end
return ret
end
--subtitution of FLT_MAX value for FLT_MAX
local function set_defines(fdefs)
for k,defT in pairs(fdefs) do
for i,def in ipairs(defT) do
for name,default in pairs(def.defaults) do
if default == gdefines.FLT_MAX then
def.defaults[name] = "FLT_MAX"
end
end
end
end
end
--this creates defsBystruct in case you need to list by struct container
local function DefsByStruct(FP)
local structs = {}
for fun,defs in pairs(FP.defsT) do
local stname = defs[1].stname
structs[stname] = structs[stname] or {}
table.insert(structs[stname],defs)--fun)
end
FP.defsBystruct = structs
end
--load parser module
local cpp2ffi = require"cpp2ffi"
local read_data = cpp2ffi.read_data
local save_data = cpp2ffi.save_data
local copyfile = cpp2ffi.copyfile
local serializeTableF = cpp2ffi.serializeTableF
----------custom ImVector templates
local function generate_templates(code,templates)
table.insert(code,[[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")
end
end
end
end
--generate cimgui.cpp cimgui.h
local function cimgui_generation(parser)
cpp2ffi.prtable(parser.templates)
cpp2ffi.prtable(parser.typenames)
-- clean ImVector:contains() for not applicable types
local clean_f = {}
for k,v in pairs(parser.defsT) do
if k:match"ImVector" and k:match"contains" then
--cpp2ffi.prtable(k,v)
local stname = v[1].stname
if not(stname:match"float" or stname:match"int" or stname:match"char") then
parser.defsT[k] = nil
--delete also from funcdefs
for i,t in ipairs(parser.funcdefs) do
if t.cimguiname == k then
table.remove(parser.funcdefs, i)
break
end
end
end
end
end
--------------------------------------------------
local hstrfile = read_data"./cimgui_template.h"
local outpre,outpost = parser:gen_structs_and_enums()
--parser.templates get completely defined here
--cpp2ffi.prtable(parser.templates)
local outtab = {}
generate_templates(outtab,parser.templates)
local cstructsstr = outpre..table.concat(outtab,"")..outpost
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser)
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
save_data("./output/cimgui.h",cimgui_header,hstrfile)
--merge it in cimgui_template.cpp to cimgui.cpp
local cimplem = func_implementation(parser)
local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
save_data("./output/cimgui.cpp",cimgui_header,hstrfile)
end
--------------------------------------------------------
-----------------------------do it----------------------
--------------------------------------------------------
--get imgui.h version--------------------------
local pipe,err = io.open("../imgui/imgui.h","r")
if not pipe then
error("could not open file:"..err)
end
local imgui_version
while true do
local line = pipe:read"*l"
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
if imgui_version then break end
end
pipe:close()
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
print("IMGUI_VERSION",imgui_version)
--get some defines----------------------------
if HAVE_COMPILER then
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
end
--generation
print("------------------generation with "..COMPILER.."------------------------")
local typedefs_dict2
--prepare parser
local parser1 = cpp2ffi.Parser()
parser1.getCname = function(stname,funcname)
local pre = (stname == "") and "ig" or stname.."_"
return pre..funcname
end
parser1.cname_overloads = cimgui_overloads
parser1.manuals = cimgui_manuals
parser1.UDTs = {"ImVec2","ImVec4","ImColor"}
local pipe,err
if HAVE_COMPILER then
pipe,err = io.popen(CPRE..[[../imgui/imgui.h]],"r")
else
pipe,err = io.open([[../imgui/imgui.h]],"r")
end
if not pipe then
error("could not execute gcc "..err)
end
--local file,err = io.open("output_compiler.txt","w")
--if not file then error(err) end
local iterator = (HAVE_COMPILER and cpp2ffi.location) or filelines
for line in iterator(pipe,{"imgui"},{}) do
parser1:insert(line)
--file:write(line)
end
--file:close()
pipe:close()
parser1:do_parse()
--table.sort(parser1.funcdefs, function(a,b) return a.cimguiname < b.cimguiname end)
--parser1:dump_alltypes()
--parser1:printItems()
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()
--correct Pair union member
structs_and_enums_table["structs"]["Pair"][2]["name"] = ""
structs_and_enums_table["structs"]["Pair"][2]["type"] = structs_and_enums_table["structs"]["Pair"][2]["type"] .. "}"
-----------------------
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
--check every function has ov_cimguiname
-- for k,v in pairs(parser1.defsT) do
-- for _,def in ipairs(v) do
-- assert(def.ov_cimguiname)
-- end
-- end
--=================================Now implementations
local parser2
if #implementations > 0 then
parser2 = cpp2ffi.Parser()
for i,impl in ipairs(implementations) do
local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h "
local locati = [[imgui_impl_]].. impl
local pipe,err
if HAVE_COMPILER then
pipe,err = io.popen(CPRE..source,"r")
else
pipe,err = io.open(source,"r")
end
if not pipe then
error("could not get file: "..err)
end
local iterator = (HAVE_COMPILER and cpp2ffi.location) or filelines
for line,locat in iterator(pipe,{locati},{}) do
--local line, comment = split_comment(line)
parser2:insert(line)
end
pipe:close()
end
parser2:do_parse()
-- save ./cimgui_impl.h
local cfuncsstr = func_header_impl_generate(parser2)
local cstructstr1,cstructstr2 = parser2:gen_structs_and_enums()
save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
----------save fundefs in impl_definitions.lua for using in bindings
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
end -- #implementations > 0 then
-------------------------------json saving
--avoid mixed tables (with string and integer keys)
local function json_prepare(defs)
--delete signatures in function
for k,def in pairs(defs) do
for k2,v in pairs(def) do
if type(k2)=="string" then
def[k2] = nil
end
end
end
return defs
end
---[[
local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
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)))
end
--]]
-------------------copy C files to repo root
copyfile("./output/cimgui.h", "../cimgui.h")
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
print"all done!!"

View File

@@ -27,7 +27,8 @@ local json = { _version = "0.1.1" }
-------------------------------------------------------------------------------
-- Encode
-------------------------------------------------------------------------------
local TAB = " "
local rep = string.rep
local encode
local escape_char_map = {
@@ -56,10 +57,10 @@ local function encode_nil(val)
end
local function encode_table(val, stack)
local function encode_table(val, stack,level,isvalue)
local res = {}
stack = stack or {}
level = level or 0
-- Circular reference?
if stack[val] then error("circular reference") end
@@ -77,38 +78,53 @@ local function encode_table(val, stack)
if n ~= #val then
error("invalid table: sparse array")
end
-- Encode
for i, v in ipairs(val) do
table.insert(res, encode(v, stack))
table.insert(res, encode(v, stack,level+1))
end
stack[val] = nil
return "[" .. table.concat(res, ",") .. "]"
local inner = table.concat(res, ",\n")
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
return rep(isvalue and "" or TAB,level).."[" .. inner .. "]"
else
---[[
local ordered_keys = {}
for k,v in pairs(val) do
table.insert(ordered_keys,k)
end
table.sort(ordered_keys)
-- Treat as an object
for k, v in pairs(val) do
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) .. ":" .. encode(v, stack))
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
end
stack[val] = nil
return "{" .. table.concat(res, ",") .. "}"
local inner = table.concat(res, ",\n")
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
return rep(isvalue and "" or TAB,level).."{" .. inner .. "}"
end
end
local function encode_string(val)
return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
local function encode_string(val,stack,level,isvalue)
return rep(isvalue and "" or TAB,level)..'"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
end
local function encode_number(val)
local function encode_number(val,stack,level,isvalue)
-- Check for NaN, -inf and inf
if val ~= val or val <= -math.huge or val >= math.huge then
error("unexpected number value '" .. tostring(val) .. "'")
end
return string.format("%.14g", val)
return rep(isvalue and "" or TAB,level)..string.format("%.14g", val)
end
@@ -121,11 +137,11 @@ local type_func_map = {
}
encode = function(val, stack)
encode = function(val, stack,level,isvalue)
local t = type(val)
local f = type_func_map[t]
if f then
return f(val, stack)
return f(val, stack,level,isvalue)
end
error("unexpected type '" .. t .. "'")
end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,10 @@
struct GLFWwindow;
typedef struct SDL_Window SDL_Window;
typedef struct GLFWwindow GLFWwindow;
struct GLFWwindow;
struct SDL_Window;
typedef union SDL_Event SDL_Event;
CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
CIMGUI_API void ImGui_ImplGlfw_Shutdown();
CIMGUI_API void ImGui_ImplGlfw_NewFrame();
@@ -31,4 +32,4 @@ CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_con
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL2_Shutdown();
CIMGUI_API void ImGui_ImplSDL2_NewFrame(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(SDL_Event* event);
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,517 +1,488 @@
local defs = {}
defs["ImGui_ImplOpenGL3_NewFrame"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"]["()"] = defs["ImGui_ImplOpenGL3_NewFrame"][1]
defs["ImGui_ImplSDL2_Shutdown"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["comment"] = ""
defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["argsoriginal"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplSDL2_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"]["()"] = defs["ImGui_ImplSDL2_Shutdown"][1]
defs["ImGui_ImplGlfw_KeyCallback"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["comment"] = ""
defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,action,mods)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["name"] = "key"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["name"] = "scancode"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["name"] = "action"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["name"] = "mods"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"]["(GLFWwindow*,int,int,int,int)"] = defs["ImGui_ImplGlfw_KeyCallback"][1]
defs["ImGui_ImplGlfw_InitForVulkan"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["comment"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callbacks)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["type"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["name"] = "install_callbacks"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
defs["ImGui_ImplSDL2_NewFrame"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["comment"] = ""
defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_NewFrame"][1]
defs["ImGui_ImplSDL2_InitForVulkan"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["comment"] = ""
defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
defs["ImGui_ImplGlfw_ScrollCallback"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["comment"] = ""
defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double xoffset,double yoffset)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["type"] = "double"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["name"] = "xoffset"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["type"] = "double"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["name"] = "yoffset"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_ScrollCallback"][1]
defs["ImGui_ImplOpenGL3_Init"] = {}
defs["ImGui_ImplOpenGL3_Init"][1] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["args"] = "(const char* glsl_version)"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_Init"][1]["call_args"] = "(glsl_version)"
defs["ImGui_ImplOpenGL3_Init"][1]["argsoriginal"] = "(const char* glsl_version=NULL)"
defs["ImGui_ImplOpenGL3_Init"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["type"] = "const char*"
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["name"] = "glsl_version"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "NULL"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"]["(const char*)"] = defs["ImGui_ImplOpenGL3_Init"][1]
defs["ImGui_ImplSDL2_InitForOpenGL"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["comment"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsoriginal"] = "(SDL_Window* window,void* sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["type"] = "void*"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["name"] = "sdl_gl_context"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
defs["ImGui_ImplGlfw_CharCallback"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["args"] = "(GLFWwindow* window,unsigned int c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["name"] = "c"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["type"] = "unsigned int"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsoriginal"] = "(GLFWwindow* window,unsigned int c)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1]
defs["ImGui_ImplGlfw_InitForOpenGL"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["comment"] = ""
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callbacks)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["type"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["name"] = "install_callbacks"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["type"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callbacks)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForOpenGL"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOpenGL"][1]
defs["ImGui_ImplGlfw_InitForVulkan"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["name"] = "install_callbacks"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["type"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callbacks)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
defs["ImGui_ImplGlfw_KeyCallback"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["name"] = "key"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["name"] = "scancode"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["name"] = "action"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["name"] = "mods"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["type"] = "int"
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,action,mods)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
defs["ImGui_ImplGlfw_KeyCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_KeyCallback"]["(GLFWwindow*,int,int,int,int)"] = defs["ImGui_ImplGlfw_KeyCallback"][1]
defs["ImGui_ImplGlfw_MouseButtonCallback"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["args"] = "(GLFWwindow* window,int button,int action,int mods)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["name"] = "button"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["name"] = "action"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["name"] = "mods"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int button,int action,int mods)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,action,mods)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_MouseButtonCallback"]["(GLFWwindow*,int,int,int)"] = defs["ImGui_ImplGlfw_MouseButtonCallback"][1]
defs["ImGui_ImplGlfw_NewFrame"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
defs["ImGui_ImplGlfw_ScrollCallback"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["name"] = "xoffset"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["type"] = "double"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["name"] = "yoffset"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["type"] = "double"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double xoffset,double yoffset)"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_ScrollCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_ScrollCallback"][1]
defs["ImGui_ImplGlfw_Shutdown"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]
defs["ImGui_ImplOpenGL2_CreateFontsTexture"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]
defs["ImGui_ImplOpenGL3_CreateFontsTexture"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]
defs["ImGui_ImplGlfw_Shutdown"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["comment"] = ""
defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["argsoriginal"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplGlfw_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
defs["ImGui_ImplOpenGL2_RenderDrawData"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL2_RenderDrawData"][1]
defs["ImGui_ImplOpenGL2_NewFrame"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"]["()"] = defs["ImGui_ImplOpenGL2_NewFrame"][1]
defs["ImGui_ImplOpenGL2_Shutdown"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"]["()"] = defs["ImGui_ImplOpenGL2_Shutdown"][1]
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]
defs["ImGui_ImplGlfw_NewFrame"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["comment"] = ""
defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplGlfw_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
defs["ImGui_ImplOpenGL3_Shutdown"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"]["()"] = defs["ImGui_ImplOpenGL3_Shutdown"][1]
defs["ImGui_ImplOpenGL2_Init"] = {}
defs["ImGui_ImplOpenGL2_Init"][1] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_Init"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_Init"]["()"] = defs["ImGui_ImplOpenGL2_Init"][1]
defs["ImGui_ImplSDL2_ProcessEvent"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(SDL_Event* event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["comment"] = ""
defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsoriginal"] = "(SDL_Event* event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["stname"] = ""
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["type"] = "SDL_Event*"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["name"] = "event"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(SDL_Event*)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"]["(SDL_Event*)"] = defs["ImGui_ImplSDL2_ProcessEvent"][1]
defs["ImGui_ImplGlfw_MouseButtonCallback"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["args"] = "(GLFWwindow* window,int button,int action,int mods)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["comment"] = ""
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,action,mods)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int button,int action,int mods)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["name"] = "button"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["name"] = "action"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["type"] = "int"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["name"] = "mods"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"]["(GLFWwindow*,int,int,int)"] = defs["ImGui_ImplGlfw_MouseButtonCallback"][1]
defs["ImGui_ImplOpenGL2_CreateFontsTexture"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["comment"] = ""
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]
defs["ImGui_ImplGlfw_CharCallback"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["args"] = "(GLFWwindow* window,unsigned int c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["comment"] = ""
defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsoriginal"] = "(GLFWwindow* window,unsigned int c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["type"] = "unsigned int"
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["name"] = "c"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1]
defs["ImGui_ImplOpenGL3_RenderDrawData"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL3_RenderDrawData"][1]
defs["ImGui_ImplOpenGL2_NewFrame"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_NewFrame"]["()"] = defs["ImGui_ImplOpenGL2_NewFrame"][1]
defs["ImGui_ImplOpenGL2_RenderDrawData"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL2_RenderDrawData"][1]
defs["ImGui_ImplOpenGL2_Shutdown"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplOpenGL2_Shutdown"]["()"] = defs["ImGui_ImplOpenGL2_Shutdown"][1]
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["comment"] = ""
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsoriginal"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]
defs["ImGui_ImplOpenGL3_CreateFontsTexture"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]
defs["ImGui_ImplOpenGL3_Init"] = {}
defs["ImGui_ImplOpenGL3_Init"][1] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["args"] = "(const char* glsl_version)"
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["name"] = "glsl_version"
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["type"] = "const char*"
defs["ImGui_ImplOpenGL3_Init"][1]["argsoriginal"] = "(const char* glsl_version=NULL)"
defs["ImGui_ImplOpenGL3_Init"][1]["call_args"] = "(glsl_version)"
defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "NULL"
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
defs["ImGui_ImplOpenGL3_Init"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_Init"]["(const char*)"] = defs["ImGui_ImplOpenGL3_Init"][1]
defs["ImGui_ImplOpenGL3_NewFrame"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_NewFrame"]["()"] = defs["ImGui_ImplOpenGL3_NewFrame"][1]
defs["ImGui_ImplOpenGL3_RenderDrawData"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL3_RenderDrawData"][1]
defs["ImGui_ImplOpenGL3_Shutdown"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplOpenGL3_Shutdown"]["()"] = defs["ImGui_ImplOpenGL3_Shutdown"][1]
defs["ImGui_ImplSDL2_InitForOpenGL"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["name"] = "sdl_gl_context"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["type"] = "void*"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsoriginal"] = "(SDL_Window* window,void* sdl_gl_context)"
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]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
defs["ImGui_ImplSDL2_InitForVulkan"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsoriginal"] = "(SDL_Window* window)"
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]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
defs["ImGui_ImplSDL2_NewFrame"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplSDL2_NewFrame"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_NewFrame"][1]
defs["ImGui_ImplSDL2_ProcessEvent"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["name"] = "event"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["type"] = "const SDL_Event*"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsoriginal"] = "(const SDL_Event* event)"
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]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["stname"] = ""
defs["ImGui_ImplSDL2_ProcessEvent"]["(const SDL_Event*)"] = defs["ImGui_ImplSDL2_ProcessEvent"][1]
defs["ImGui_ImplSDL2_Shutdown"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["argsoriginal"] = "()"
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]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplSDL2_Shutdown"]["()"] = defs["ImGui_ImplSDL2_Shutdown"][1]
return defs

View File

@@ -1,8 +1,7 @@
----------------overloadings---------------------------
igCombo 3
1 bool igCombo (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int)
3 bool igComboFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
ImVector_resize 2
1 void ImVector_resize (int)
2 void ImVector_resizeT (int,const T)
ImVec4_ImVec4 2
1 nil ImVec4_ImVec4 ()
2 nil ImVec4_ImVec4Float (float,float,float,float)
@@ -11,58 +10,31 @@ igValue 4
2 void igValueInt (const char*,int)
3 void igValueUint (const char*,unsigned int)
4 void igValueFloat (const char*,float,const char*)
igPushStyleVar 2
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
igIsRectVisible 2
1 bool igIsRectVisible (const ImVec2)
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
igRadioButton 2
1 bool igRadioButtonBool (const char*,bool)
2 bool igRadioButtonIntPtr (const char*,int*,int)
igSetWindowSize 2
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
igSetWindowCollapsed 2
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
igPlotLines 2
1 void igPlotLines (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLinesFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
ImVec2_ImVec2 2
1 nil ImVec2_ImVec2 ()
2 nil ImVec2_ImVec2Float (float,float)
ImVector_back 2
1 T* ImVector_back ()
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 igPlotHistogramFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
igMenuItem 2
1 bool igMenuItemBool (const char*,const char*,bool,bool)
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
igGetID 3
1 ImGuiID igGetIDStr (const char*)
2 ImGuiID igGetIDStrStr (const char*,const char*)
2 ImGuiID igGetIDRange (const char*,const char*)
3 ImGuiID igGetIDPtr (const void*)
igListBoxHeader 2
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
2 bool igListBoxHeaderInt (const char*,int,int)
igTreePush 2
1 void igTreePushStr (const char*)
2 void igTreePushPtr (const void*)
igSetWindowPos 2
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
igBeginChild 2
1 bool igBeginChild (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
ImDrawList_AddText 2
1 void ImDrawList_AddText (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
igSelectable 2
1 bool igSelectable (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igPushID 4
1 void igPushIDStr (const char*)
2 void igPushIDRange (const char*,const char*)
@@ -75,37 +47,86 @@ Pair_Pair 3
TextRange_TextRange 2
1 nil TextRange_TextRange ()
2 nil TextRange_TextRangeStr (const char*,const char*)
igGetColorU32 3
1 ImU32 igGetColorU32 (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32)
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 igCombo (const char*,int*,const char* const[],int,int)
2 bool igComboStr (const char*,int*,const char*,int)
3 bool igComboFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
ImVector_erase 2
1 T* ImVector_erase (const T*)
2 T* ImVector_eraseTPtr (const T*,const T*)
ImDrawList_AddText 2
1 void ImDrawList_AddText (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 igSetWindowFocus ()
2 void igSetWindowFocusStr (const char*)
ImVector_end 2
1 T* ImVector_end ()
2 const T* ImVector_end_const ()const
igSetWindowSize 2
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
ImVector_ImVector 2
1 nil ImVector_ImVector ()
2 nil ImVector_ImVectorVector (const ImVector)
igSetWindowCollapsed 2
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
igPlotLines 2
1 void igPlotLines (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
2 void igPlotLinesFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
2 void igPushStyleColor (ImGuiCol,const ImVec4)
igTreeNodeExV 2
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
igListBox 2
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
2 bool igListBoxFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igTreePush 2
1 void igTreePushStr (const char*)
2 void igTreePushPtr (const void*)
igListBoxHeader 2
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
2 bool igListBoxHeaderInt (const char*,int,int)
igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
ImVector_front 2
1 T* ImVector_front ()
2 const T* ImVector_front_const ()const
ImColor_ImColor 5
1 nil ImColor_ImColor ()
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)
igPushStyleColor 2
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
2 void igPushStyleColor (ImGuiCol,const ImVec4)
igCollapsingHeader 2
1 bool igCollapsingHeader (const char*,ImGuiTreeNodeFlags)
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
igGetColorU32 3
1 ImU32 igGetColorU32 (ImGuiCol,float)
2 ImU32 igGetColorU32Vec4 (const ImVec4)
3 ImU32 igGetColorU32U32 (ImU32)
igSetWindowPos 2
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
igTreeNodeEx 3
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
igTreeNode 3
1 bool igTreeNodeStr (const char*)
2 bool igTreeNodeStrStr (const char*,const char*,...)
3 bool igTreeNodePtr (const void*,const char*,...)
ImVector_begin 2
1 T* ImVector_begin ()
2 const T* ImVector_begin_const ()const
igSelectable 2
1 bool igSelectable (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igMenuItem 2
1 bool igMenuItemBool (const char*,const char*,bool,bool)
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
igTreeNodeV 2
1 bool igTreeNodeVStr (const char*,const char*,va_list)
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
77 overloaded
91 overloaded

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1,74 @@
{"ImGuiColumnsFlags":"int","ImFontConfig":"struct ImFontConfig","ImS32":"signed int","ImGuiTreeNodeFlags":"int","ImGuiFocusedFlags":"int","ImGuiHoveredFlags":"int","ImU64":"uint64_t","ImGuiID":"unsigned int","ImGuiStyle":"struct ImGuiStyle","ImDrawData":"struct ImDrawData","ImDrawListFlags":"int","ImGuiBackendFlags":"int","ImGuiMouseCursor":"int","ImDrawListSharedData":"struct ImDrawListSharedData","ImGuiStyleVar":"int","ImGuiDir":"int","ImFontAtlas":"struct ImFontAtlas","ImGuiCol":"int","ImGuiOnceUponAFrame":"struct ImGuiOnceUponAFrame","value_type":"T","iterator":"value_type*","ImGuiTextFilter":"struct ImGuiTextFilter","ImDrawIdx":"unsigned short","ImGuiComboFlags":"int","ImDrawCornerFlags":"int","ImWchar":"unsigned short","const_iterator":"const value_type*","ImDrawVert":"struct ImDrawVert","GlyphRangesBuilder":"struct GlyphRangesBuilder","ImVec4":"struct ImVec4","ImGuiSizeCallback":"void(*)(ImGuiSizeCallbackData* data);","ImGuiConfigFlags":"int","ImGuiTextBuffer":"struct ImGuiTextBuffer","ImGuiContext":"struct ImGuiContext","ImColor":"struct ImColor","ImGuiInputTextCallback":"int(*)(ImGuiInputTextCallbackData *data);","ImVec2":"struct ImVec2","ImFontGlyph":"struct ImFontGlyph","ImGuiWindowFlags":"int","Pair":"struct Pair","ImGuiKey":"int","ImGuiInputTextFlags":"int","ImGuiListClipper":"struct ImGuiListClipper","ImGuiDataType":"int","ImDrawChannel":"struct ImDrawChannel","ImGuiIO":"struct ImGuiIO","ImGuiStorage":"struct ImGuiStorage","ImGuiCond":"int","ImU32":"unsigned int","ImGuiNavInput":"int","ImGuiColorEditFlags":"int","ImFont":"struct ImFont","ImGuiSelectableFlags":"int","ImDrawCallback":"void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);","ImTextureID":"void*","ImDrawList":"struct ImDrawList","TextRange":"struct TextRange","CustomRect":"struct CustomRect","ImFontAtlasFlags":"int","ImGuiInputTextCallbackData":"struct ImGuiInputTextCallbackData","ImDrawCmd":"struct ImDrawCmd","ImGuiSizeCallbackData":"struct ImGuiSizeCallbackData","ImS64":"int64_t","ImGuiDragDropFlags":"int","ImGuiPayload":"struct ImGuiPayload"}
{
"CustomRect": "struct CustomRect",
"ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
"ImDrawChannel": "struct ImDrawChannel",
"ImDrawCmd": "struct ImDrawCmd",
"ImDrawCornerFlags": "int",
"ImDrawData": "struct ImDrawData",
"ImDrawIdx": "unsigned short",
"ImDrawList": "struct ImDrawList",
"ImDrawListFlags": "int",
"ImDrawListSharedData": "struct ImDrawListSharedData",
"ImDrawListSplitter": "struct ImDrawListSplitter",
"ImDrawVert": "struct ImDrawVert",
"ImFont": "struct ImFont",
"ImFontAtlas": "struct ImFontAtlas",
"ImFontAtlasFlags": "int",
"ImFontConfig": "struct ImFontConfig",
"ImFontGlyph": "struct ImFontGlyph",
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiBackendFlags": "int",
"ImGuiCol": "int",
"ImGuiColorEditFlags": "int",
"ImGuiColumnsFlags": "int",
"ImGuiComboFlags": "int",
"ImGuiCond": "int",
"ImGuiConfigFlags": "int",
"ImGuiContext": "struct ImGuiContext",
"ImGuiDataType": "int",
"ImGuiDir": "int",
"ImGuiDragDropFlags": "int",
"ImGuiFocusedFlags": "int",
"ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int",
"ImGuiIO": "struct ImGuiIO",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData *data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int",
"ImGuiKey": "int",
"ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiMouseCursor": "int",
"ImGuiNavInput": "int",
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
"ImGuiPayload": "struct ImGuiPayload",
"ImGuiSelectableFlags": "int",
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiStorage": "struct ImGuiStorage",
"ImGuiStyle": "struct ImGuiStyle",
"ImGuiStyleVar": "int",
"ImGuiTabBarFlags": "int",
"ImGuiTabItemFlags": "int",
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
"ImGuiTextFilter": "struct ImGuiTextFilter",
"ImGuiTreeNodeFlags": "int",
"ImGuiWindowFlags": "int",
"ImS16": "signed short",
"ImS32": "signed int",
"ImS64": "int64_t",
"ImS8": "signed char",
"ImTextureID": "void*",
"ImU16": "unsigned short",
"ImU32": "unsigned int",
"ImU64": "uint64_t",
"ImU8": "unsigned char",
"ImVec2": "struct ImVec2",
"ImVec4": "struct ImVec4",
"ImWchar": "unsigned short",
"Pair": "struct Pair",
"TextRange": "struct TextRange",
"const_iterator": "const value_type*",
"iterator": "value_type*",
"value_type": "T"
}

View File

@@ -1,68 +1,75 @@
local defs = {}
defs["ImGuiColumnsFlags"] = "int"
defs["CustomRect"] = "struct CustomRect"
defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
defs["ImDrawChannel"] = "struct ImDrawChannel"
defs["ImDrawCmd"] = "struct ImDrawCmd"
defs["ImDrawCornerFlags"] = "int"
defs["ImDrawData"] = "struct ImDrawData"
defs["ImDrawIdx"] = "unsigned short"
defs["ImDrawList"] = "struct ImDrawList"
defs["ImDrawListFlags"] = "int"
defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
defs["ImDrawVert"] = "struct ImDrawVert"
defs["ImFont"] = "struct ImFont"
defs["ImFontAtlas"] = "struct ImFontAtlas"
defs["ImFontAtlasFlags"] = "int"
defs["ImFontConfig"] = "struct ImFontConfig"
defs["ImS32"] = "signed int"
defs["ImGuiTreeNodeFlags"] = "int"
defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
defs["ImGuiBackendFlags"] = "int"
defs["ImGuiCol"] = "int"
defs["ImGuiColorEditFlags"] = "int"
defs["ImGuiColumnsFlags"] = "int"
defs["ImGuiComboFlags"] = "int"
defs["ImGuiCond"] = "int"
defs["ImGuiConfigFlags"] = "int"
defs["ImGuiContext"] = "struct ImGuiContext"
defs["ImGuiDataType"] = "int"
defs["ImGuiDir"] = "int"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiFocusedFlags"] = "int"
defs["ImGuiHoveredFlags"] = "int"
defs["ImU64"] = "uint64_t"
defs["ImGuiID"] = "unsigned int"
defs["ImGuiStyle"] = "struct ImGuiStyle"
defs["ImDrawData"] = "struct ImDrawData"
defs["ImDrawListFlags"] = "int"
defs["ImGuiBackendFlags"] = "int"
defs["ImGuiMouseCursor"] = "int"
defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
defs["ImGuiStyleVar"] = "int"
defs["ImGuiDir"] = "int"
defs["ImFontAtlas"] = "struct ImFontAtlas"
defs["ImGuiCol"] = "int"
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
defs["value_type"] = "T"
defs["iterator"] = "value_type*"
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
defs["ImDrawIdx"] = "unsigned short"
defs["ImGuiComboFlags"] = "int"
defs["ImDrawCornerFlags"] = "int"
defs["ImWchar"] = "unsigned short"
defs["const_iterator"] = "const value_type*"
defs["ImDrawVert"] = "struct ImDrawVert"
defs["GlyphRangesBuilder"] = "struct GlyphRangesBuilder"
defs["ImVec4"] = "struct ImVec4"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiConfigFlags"] = "int"
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
defs["ImGuiContext"] = "struct ImGuiContext"
defs["ImColor"] = "struct ImColor"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData *data);"
defs["ImVec2"] = "struct ImVec2"
defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImGuiWindowFlags"] = "int"
defs["Pair"] = "struct Pair"
defs["ImGuiKey"] = "int"
defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiDataType"] = "int"
defs["ImDrawChannel"] = "struct ImDrawChannel"
defs["ImGuiIO"] = "struct ImGuiIO"
defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiCond"] = "int"
defs["ImU32"] = "unsigned int"
defs["ImGuiNavInput"] = "int"
defs["ImGuiColorEditFlags"] = "int"
defs["ImFont"] = "struct ImFont"
defs["ImGuiSelectableFlags"] = "int"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
defs["ImTextureID"] = "void*"
defs["ImDrawList"] = "struct ImDrawList"
defs["TextRange"] = "struct TextRange"
defs["CustomRect"] = "struct CustomRect"
defs["ImFontAtlasFlags"] = "int"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData *data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImDrawCmd"] = "struct ImDrawCmd"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImS64"] = "int64_t"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiKey"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiMouseCursor"] = "int"
defs["ImGuiNavInput"] = "int"
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
defs["ImGuiPayload"] = "struct ImGuiPayload"
defs["ImGuiSelectableFlags"] = "int"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStyle"] = "struct ImGuiStyle"
defs["ImGuiStyleVar"] = "int"
defs["ImGuiTabBarFlags"] = "int"
defs["ImGuiTabItemFlags"] = "int"
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
defs["ImGuiTreeNodeFlags"] = "int"
defs["ImGuiWindowFlags"] = "int"
defs["ImS16"] = "signed short"
defs["ImS32"] = "signed int"
defs["ImS64"] = "int64_t"
defs["ImS8"] = "signed char"
defs["ImTextureID"] = "void*"
defs["ImU16"] = "unsigned short"
defs["ImU32"] = "unsigned int"
defs["ImU64"] = "uint64_t"
defs["ImU8"] = "unsigned char"
defs["ImVec2"] = "struct ImVec2"
defs["ImVec4"] = "struct ImVec4"
defs["ImWchar"] = "unsigned short"
defs["Pair"] = "struct Pair"
defs["TextRange"] = "struct TextRange"
defs["const_iterator"] = "const value_type*"
defs["iterator"] = "value_type*"
defs["value_type"] = "T"
return defs

2
imgui

Submodule imgui updated: e0cab5664a...2da1c66d15

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

6
testbuildc/build.bat Normal file
View File

@@ -0,0 +1,6 @@
:: set PATH=%PATH%;C:\mingw32\bin;
set PATH=%PATH%;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
::gcc -std=c99 -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimgui.h
::gcc -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimgui.h
gcc -std=c99 -Wall -Wpedantic -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimguitest.c
cmd /k

6
testbuildc/cimguitest.c Normal file
View File

@@ -0,0 +1,6 @@
#include "../cimgui.h"
int main(void)
{
return 0;
}

13
testbuildc/testcl.bat Normal file
View File

@@ -0,0 +1,13 @@
::set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
::gcc -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h > 11.txt
::set PATH=%PATH%;C:\luaGL;
::set PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64;
::ejecutar en cmd esto
::"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
::cl /P /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ../imgui/imgui.h
:: > clout.txt
cl /P /DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimguitest.c
cmd /k