Compare commits

..

41 Commits
1.84.1 ... 1.87

Author SHA1 Message Date
sonoro1234
bd5a043957 pull imgui 1.87 and generate 2022-02-07 19:07:25 +01:00
sonoro1234
88e0bc9a9a Merge branch 'docking_inter' 2022-01-31 19:14:58 +01:00
sonoro1234
1afd93dd45 generation of 1.86dock with new generator 2022-01-31 17:59:15 +01:00
sonoro1234
dac713c763 generator: use gen_template_typedef_auto 2022-01-31 17:56:42 +01:00
sonoro1234
938f8ccf87 cpp2ffi: function_re changed to allow __attribute__ after function declaration, save and load cimgui_inherited, save preprocessed.h 2022-01-31 17:56:42 +01:00
sonoro1234
e6705a8522 cpp2ffi: add gen_template_typedef_auto so that user does not need to provide function 2022-01-31 17:56:42 +01:00
sonoro1234
fdc9511bd7 cpp2ffi: simplify gen_template_typedef 2022-01-31 17:56:42 +01:00
sonoro1234
fe4dff78bd cpp2ffi: clean_spaces: no spaces around >> operator 2022-01-31 17:56:42 +01:00
sonoro1234
07ceedf37b cpp2ffi: save templated structs 2022-01-31 17:56:42 +01:00
sonoro1234
0be2b20a16 cpp2ffi: check_template: dont add space between template and * 2022-01-29 16:14:28 +01:00
sonoro1234
b5f5a03851 newtypedefs generation3 2022-01-29 12:50:01 +01:00
sonoro1234
a51a8f7a86 newtypedefs generation2 2022-01-29 12:50:01 +01:00
sonoro1234
de25c00ddd generator and cpp2ffi: new typedefs generation 2022-01-29 12:50:01 +01:00
sonoro1234
678887ee99 cpp2ffi: parse_enum_value add - operator, when not loca take parent location, templates take full template string 2022-01-26 13:08:10 +01:00
sonoro1234
b0cfee6183 backend_test: no need for gl3w initialization (done by imgui opengl3 impl) 2022-01-15 20:08:58 +01:00
sonoro1234
d0bcf4551b backend_test: no need for gl3w initialization (done by imgui opengl3 impl) 2022-01-15 20:06:15 +01:00
Victor Bombi
49d45008e0 pull imgui 1.86docking and generate 2021-12-29 12:27:34 +01:00
Victor Bombi
ad929978e9 Merge pull request #192 from GrimMaple/master
Add SDL2 fallback in backend_test\CMakeLists.txt
2021-12-27 09:48:31 +01:00
Victor Bombi
b949d47c8b Merge branch 'docking_inter' 2021-12-27 09:41:02 +01:00
Victor Bombi
d359d907af generator: add IMGUI_ENABLE_FREETYPE on freetype generation 2021-12-27 09:36:31 +01:00
Grim Maple
52bbaf1117 Remove IMGUI_SDL_LIBRARY 2021-12-26 20:06:20 +03:00
Grim Maple
d5f713caa1 Add SDL2 fallback in backend_test\CMakeLists.txt
If SDL was installed using CMake, it normally goes to a location
Where it can be found by `find_package`. There is no need to force
`SDL_PATH` on users, and this commit allows building `backend_test`
Without having to specify it. Backwards compatible.
2021-12-25 22:35:30 +03:00
Victor Bombi
afce852875 Merge branch 'docking_inter' 2021-12-24 11:54:12 +01:00
Victor Bombi
a21aa1d613 pull imgui 1.86 and generate 2021-12-24 11:34:47 +01:00
Victor Bombi
e938d7e0f5 Merge branch 'docking_inter' 2021-12-06 19:41:17 +01:00
Victor Bombi
ff3bb81b34 cpp2ffi: allow __cdecl keyword in functype 2021-12-06 19:38:53 +01:00
Victor Bombi
05d7db048c Merge branch 'docking_inter' 2021-10-18 19:17:22 +02:00
Victor Bombi
ae00a9b604 pull imgui docking 1.85 and generate 2021-10-18 18:14:44 +02:00
Victor Bombi
b679737444 Merge branch 'docking_inter' 2021-09-13 11:43:10 +02:00
Victor Bombi
d9916720aa generation 2021-09-13 11:39:44 +02:00
Victor Bombi
66e28665da cpp2ffi: add struct keyword (needed when struct tag name equals member name) 2021-09-13 11:39:14 +02:00
N/A
9768b42785 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-10 11:10:15 +02:00
N/A
ec64ca94cc Disable unnecessary pragmas that break generator with the cl compiler 2021-09-10 11:10:15 +02:00
N/A
e1ccdc1764 Implement defines extraction with cl compiler 2021-09-10 11:10:15 +02:00
Victor Bombi
00946c45e4 Merge pull request #190 from THE-FYP/fix-cl
Fix generation with MSVC
2021-09-10 11:05:41 +02:00
N/A
9ac28a2d94 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-09 23:01:57 +03:00
N/A
d0e4aaa2c0 Disable unnecessary pragmas that break generator with the cl compiler 2021-09-09 22:55:55 +03:00
N/A
7362cca7ec Implement defines extraction with cl compiler 2021-09-09 22:49:28 +03:00
Victor Bombi
17ffa736d3 backend_test: use custom imgui gl3w 2021-08-22 13:50:21 +02:00
Victor Bombi
873c03c367 backend_test: use custom imgui gl3w 2021-08-22 13:48:02 +02:00
Victor Bombi
42873df6e3 pull imgui docking 1.84.1 and generate 2021-08-22 12:07:03 +02:00
22 changed files with 9779 additions and 4663 deletions

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit) Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes: Notes:
* currently this wrapper is based on version [1.84.1 of Dear ImGui with internal api] * currently this wrapper is based on version [1.87 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped. * only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project. * if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty. * All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
@@ -24,10 +24,10 @@ Notes:
* `git submodule update --init --recursive` (If already cloned) * `git submodule update --init --recursive` (If already cloned)
* compile * compile
* using makefile on linux/macOS/mingw (Or use CMake to generate project) * using makefile on linux/macOS/mingw (Or use CMake to generate project)
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) * cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) (only if cimgui is generated with freetype option)
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build * or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
For compiling with backends there is now an example with SDL2 and opengl3 in folder backend_test. It will generate a cimgui_sdl module and a test_sdl executable. You only need to provide SDL_PATH telling cmake where to look for SDL2 cmake installation. For compiling with backends there is now an example with SDL2 and opengl3 in folder backend_test. It will generate a cimgui_sdl module and a test_sdl executable.
# using generator # using generator

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,5 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS #define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h" #include "cimgui.h"
#include "cimgui_extras.h"
#include "cimgui_impl.h" #include "cimgui_impl.h"
#include <stdio.h> #include <stdio.h>
#define SDL_MAIN_HANDLED #define SDL_MAIN_HANDLED
@@ -66,13 +65,6 @@ int main(int argc, char* argv[])
SDL_GLContext gl_context = SDL_GL_CreateContext(window); SDL_GLContext gl_context = SDL_GL_CreateContext(window);
SDL_GL_SetSwapInterval(1); // enable vsync SDL_GL_SetSwapInterval(1); // enable vsync
// Initialize OpenGL loader for cimgui_sdl
bool err = Do_gl3wInit() != 0;
if (err)
{
SDL_Log("Failed to initialize OpenGL loader for cimgui_sdl!");
return 1;
}
// check opengl version sdl uses // check opengl version sdl uses
SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION)); SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION));

View File

@@ -1,9 +1,17 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.84.1" from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.87" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api //with imgui_internal.h api
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/imgui.h" #ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE #ifdef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
#endif
#endif
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h" #include "./imgui/misc/freetype/imgui_freetype.h"
#endif #endif
#include "./imgui/imgui_internal.h" #include "./imgui/imgui_internal.h"
@@ -83,6 +91,10 @@ CIMGUI_API void igShowMetricsWindow(bool* p_open)
{ {
return ImGui::ShowMetricsWindow(p_open); return ImGui::ShowMetricsWindow(p_open);
} }
CIMGUI_API void igShowStackToolWindow(bool* p_open)
{
return ImGui::ShowStackToolWindow(p_open);
}
CIMGUI_API void igShowAboutWindow(bool* p_open) CIMGUI_API void igShowAboutWindow(bool* p_open)
{ {
return ImGui::ShowAboutWindow(p_open); return ImGui::ShowAboutWindow(p_open);
@@ -255,10 +267,6 @@ CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut)
{ {
*pOut = ImGui::GetWindowContentRegionMax(); *pOut = ImGui::GetWindowContentRegionMax();
} }
CIMGUI_API float igGetWindowContentRegionWidth()
{
return ImGui::GetWindowContentRegionWidth();
}
CIMGUI_API float igGetScrollX() CIMGUI_API float igGetScrollX()
{ {
return ImGui::GetScrollX(); return ImGui::GetScrollX();
@@ -1396,10 +1404,6 @@ CIMGUI_API ImGuiStorage* igGetStateStorage()
{ {
return ImGui::GetStateStorage(); return ImGui::GetStateStorage();
} }
CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end)
{
return ImGui::CalcListClipping(items_count,items_height,out_items_display_start,out_items_display_end);
}
CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags) CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags)
{ {
return ImGui::BeginChildFrame(id,size,flags); return ImGui::BeginChildFrame(id,size,flags);
@@ -1428,25 +1432,25 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float* out_r,floa
{ {
return ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b); return ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
} }
CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key) CIMGUI_API bool igIsKeyDown(ImGuiKey key)
{ {
return ImGui::GetKeyIndex(imgui_key); return ImGui::IsKeyDown(key);
} }
CIMGUI_API bool igIsKeyDown(int user_key_index) CIMGUI_API bool igIsKeyPressed(ImGuiKey key,bool repeat)
{ {
return ImGui::IsKeyDown(user_key_index); return ImGui::IsKeyPressed(key,repeat);
} }
CIMGUI_API bool igIsKeyPressed(int user_key_index,bool repeat) CIMGUI_API bool igIsKeyReleased(ImGuiKey key)
{ {
return ImGui::IsKeyPressed(user_key_index,repeat); return ImGui::IsKeyReleased(key);
} }
CIMGUI_API bool igIsKeyReleased(int user_key_index) CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key,float repeat_delay,float rate)
{ {
return ImGui::IsKeyReleased(user_key_index); return ImGui::GetKeyPressedAmount(key,repeat_delay,rate);
} }
CIMGUI_API int igGetKeyPressedAmount(int key_index,float repeat_delay,float rate) CIMGUI_API const char* igGetKeyName(ImGuiKey key)
{ {
return ImGui::GetKeyPressedAmount(key_index,repeat_delay,rate); return ImGui::GetKeyName(key);
} }
CIMGUI_API void igCaptureKeyboardFromApp(bool want_capture_keyboard_value) CIMGUI_API void igCaptureKeyboardFromApp(bool want_capture_keyboard_value)
{ {
@@ -1468,6 +1472,10 @@ CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button)
{ {
return ImGui::IsMouseDoubleClicked(button); return ImGui::IsMouseDoubleClicked(button);
} }
CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button)
{
return ImGui::GetMouseClickedCount(button);
}
CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip) CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip)
{ {
return ImGui::IsMouseHoveringRect(r_min,r_max,clip); return ImGui::IsMouseHoveringRect(r_min,r_max,clip);
@@ -1568,6 +1576,30 @@ CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor)
{ {
return self->ScaleAllSizes(scale_factor); return self->ScaleAllSizes(scale_factor);
} }
CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self,ImGuiKey key,bool down)
{
return self->AddKeyEvent(key,down);
}
CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self,ImGuiKey key,bool down,float v)
{
return self->AddKeyAnalogEvent(key,down,v);
}
CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self,float x,float y)
{
return self->AddMousePosEvent(x,y);
}
CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self,int button,bool down)
{
return self->AddMouseButtonEvent(button,down);
}
CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self,float wh_x,float wh_y)
{
return self->AddMouseWheelEvent(wh_x,wh_y);
}
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused)
{
return self->AddFocusEvent(focused);
}
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c) CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c)
{ {
return self->AddInputCharacter(c); return self->AddInputCharacter(c);
@@ -1584,9 +1616,13 @@ CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
{ {
return self->ClearInputCharacters(); return self->ClearInputCharacters();
} }
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused) CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self)
{ {
return self->AddFocusEvent(focused); return self->ClearInputKeys();
}
CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self,ImGuiKey key,int native_keycode,int native_scancode,int native_legacy_index)
{
return self->SetKeyEventNativeData(key,native_keycode,native_scancode,native_legacy_index);
} }
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void) CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{ {
@@ -1860,6 +1896,10 @@ CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{ {
return self->Step(); return self->Step();
} }
CIMGUI_API void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self,int item_min,int item_max)
{
return self->ForceDisplayRangeByIndices(item_min,item_max);
}
CIMGUI_API ImColor* ImColor_ImColor_Nil(void) CIMGUI_API ImColor* ImColor_ImColor_Nil(void)
{ {
return IM_NEW(ImColor)(); return IM_NEW(ImColor)();
@@ -2472,6 +2512,18 @@ CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2 *pOut,ImGuiViewport* self)
{ {
*pOut = self->GetWorkCenter(); *pOut = self->GetWorkCenter();
} }
CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void)
{
return IM_NEW(ImGuiPlatformImeData)();
}
CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self)
{
IM_DELETE(self);
}
CIMGUI_API int igGetKeyIndex(ImGuiKey key)
{
return ImGui::GetKeyIndex(key);
}
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed) CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed)
{ {
return ImHashData(data,data_size,seed); return ImHashData(data,data_size,seed);
@@ -2480,6 +2532,10 @@ CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed)
{ {
return ImHashStr(data,data_size,seed); return ImHashStr(data,data_size,seed);
} }
CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*))
{
return ImQsort(base,count,size_of_element,compare_func);
}
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b) CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b)
{ {
return ImAlphaBlendColors(col_a,col_b); return ImAlphaBlendColors(col_a,col_b);
@@ -2720,7 +2776,7 @@ CIMGUI_API float igImFloor_Float(float f)
{ {
return ImFloor(f); return ImFloor(f);
} }
CIMGUI_API float igImFloorSigned(float f) CIMGUI_API float igImFloorSigned_Float(float f)
{ {
return ImFloorSigned(f); return ImFloorSigned(f);
} }
@@ -2728,6 +2784,10 @@ CIMGUI_API void igImFloor_Vec2(ImVec2 *pOut,const ImVec2 v)
{ {
*pOut = ImFloor(v); *pOut = ImFloor(v);
} }
CIMGUI_API void igImFloorSigned_Vec2(ImVec2 *pOut,const ImVec2 v)
{
*pOut = ImFloorSigned(v);
}
CIMGUI_API int igImModPositive(int a,int b) CIMGUI_API int igImModPositive(int a,int b)
{ {
return ImModPositive(a,b); return ImModPositive(a,b);
@@ -2748,6 +2808,10 @@ CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs)
{ {
*pOut = ImMul(lhs,rhs); *pOut = ImMul(lhs,rhs);
} }
CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f)
{
return ImIsFloatAboveGuaranteedIntegerPrecision(f);
}
CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t) CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t)
{ {
*pOut = ImBezierCubicCalc(p1,p2,p3,p4,t); *pOut = ImBezierCubicCalc(p1,p2,p3,p4,t);
@@ -3108,18 +3172,6 @@ CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void)
{
return IM_NEW(ImGuiNavItemData)();
}
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self)
{
return self->Clear();
}
CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void) CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void)
{ {
return IM_NEW(ImGuiNextWindowData)(); return IM_NEW(ImGuiNextWindowData)();
@@ -3152,6 +3204,22 @@ CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void)
{
return IM_NEW(ImGuiStackSizes)();
}
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self)
{
return self->SetToCurrentState();
}
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self)
{
return self->CompareWithCurrentState();
}
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr) CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr)
{ {
return IM_NEW(ImGuiPtrOrIndex)(ptr); return IM_NEW(ImGuiPtrOrIndex)(ptr);
@@ -3164,6 +3232,46 @@ CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index)
{ {
return IM_NEW(ImGuiPtrOrIndex)(index); return IM_NEW(ImGuiPtrOrIndex)(index);
} }
CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void)
{
return IM_NEW(ImGuiInputEvent)();
}
CIMGUI_API void ImGuiInputEvent_destroy(ImGuiInputEvent* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min,int max)
{
return ImGuiListClipperRange::FromIndices(min,max);
}
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromPositions(float y1,float y2,int off_min,int off_max)
{
return ImGuiListClipperRange::FromPositions(y1,y2,off_min,off_max);
}
CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData(void)
{
return IM_NEW(ImGuiListClipperData)();
}
CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self,ImGuiListClipper* clipper)
{
return self->Reset(clipper);
}
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void)
{
return IM_NEW(ImGuiNavItemData)();
}
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self)
{
return self->Clear();
}
CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void) CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void)
{ {
return IM_NEW(ImGuiOldColumnData)(); return IM_NEW(ImGuiOldColumnData)();
@@ -3240,21 +3348,21 @@ CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void) CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void)
{ {
return IM_NEW(ImGuiStackSizes)(); return IM_NEW(ImGuiStackLevelInfo)();
} }
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self) CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self) CIMGUI_API ImGuiStackTool* ImGuiStackTool_ImGuiStackTool(void)
{ {
return self->SetToCurrentState(); return IM_NEW(ImGuiStackTool)();
} }
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self) CIMGUI_API void ImGuiStackTool_destroy(ImGuiStackTool* self)
{ {
return self->CompareWithCurrentState(); IM_DELETE(self);
} }
CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void) CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void)
{ {
@@ -3424,9 +3532,13 @@ CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2 *pOut,ImGuiWindow* window)
{ {
*pOut = ImGui::CalcWindowNextAutoFitSize(window); *pOut = ImGui::CalcWindowNextAutoFitSize(window);
} }
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent) CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy)
{ {
return ImGui::IsWindowChildOf(window,potential_parent); return ImGui::IsWindowChildOf(window,potential_parent,popup_hierarchy);
}
CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window,ImGuiWindow* potential_parent)
{
return ImGui::IsWindowWithinBeginStackOf(window,potential_parent);
} }
CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below) CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below)
{ {
@@ -3452,6 +3564,14 @@ CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,cons
{ {
return ImGui::SetWindowHitTestHole(window,pos,size); return ImGui::SetWindowHitTestHole(window,pos,size);
} }
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r)
{
*pOut = ImGui::WindowRectAbsToRel(window,r);
}
CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r)
{
*pOut = ImGui::WindowRectRelToAbs(window,r);
}
CIMGUI_API void igFocusWindow(ImGuiWindow* window) CIMGUI_API void igFocusWindow(ImGuiWindow* window)
{ {
return ImGui::FocusWindow(window); return ImGui::FocusWindow(window);
@@ -3472,6 +3592,18 @@ CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window)
{ {
return ImGui::BringWindowToDisplayBack(window); return ImGui::BringWindowToDisplayBack(window);
} }
CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window,ImGuiWindow* above_window)
{
return ImGui::BringWindowToDisplayBehind(window,above_window);
}
CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window)
{
return ImGui::FindWindowDisplayIndex(window);
}
CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack(ImGuiWindow* window)
{
return ImGui::FindBottomMostVisibleWindowWithinBeginStack(window);
}
CIMGUI_API void igSetCurrentFont(ImFont* font) CIMGUI_API void igSetCurrentFont(ImFont* font)
{ {
return ImGui::SetCurrentFont(font); return ImGui::SetCurrentFont(font);
@@ -3500,6 +3632,10 @@ CIMGUI_API void igShutdown(ImGuiContext* context)
{ {
return ImGui::Shutdown(context); return ImGui::Shutdown(context);
} }
CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs)
{
return ImGui::UpdateInputEvents(trickle_fast_inputs);
}
CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags() CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags()
{ {
return ImGui::UpdateHoveredWindowAndCaptureFlags(); return ImGui::UpdateHoveredWindowAndCaptureFlags();
@@ -3576,9 +3712,21 @@ CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window,float local_y,
{ {
return ImGui::SetScrollFromPosY(window,local_y,center_y_ratio); return ImGui::SetScrollFromPosY(window,local_y,center_y_ratio);
} }
CIMGUI_API void igScrollToBringRectIntoView(ImVec2 *pOut,ImGuiWindow* window,const ImRect item_rect) CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags)
{ {
*pOut = ImGui::ScrollToBringRectIntoView(window,item_rect); return ImGui::ScrollToItem(flags);
}
CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags)
{
return ImGui::ScrollToRect(window,rect,flags);
}
CIMGUI_API void igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags)
{
*pOut = ImGui::ScrollToRectEx(window,rect,flags);
}
CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect)
{
return ImGui::ScrollToBringRectIntoView(window,rect);
} }
CIMGUI_API ImGuiID igGetItemID() CIMGUI_API ImGuiID igGetItemID()
{ {
@@ -3644,21 +3792,21 @@ CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y)
{ {
return ImGui::ItemSize(bb,text_baseline_y); return ImGui::ItemSize(bb,text_baseline_y);
} }
CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemAddFlags flags) CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemFlags extra_flags)
{ {
return ImGui::ItemAdd(bb,id,nav_bb,flags); return ImGui::ItemAdd(bb,id,nav_bb,extra_flags);
} }
CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id) CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id)
{ {
return ImGui::ItemHoverable(bb,id); return ImGui::ItemHoverable(bb,id);
} }
CIMGUI_API void igItemFocusable(ImGuiWindow* window,ImGuiID id) CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id)
{ {
return ImGui::ItemFocusable(window,id); return ImGui::IsClippedEx(bb,id);
} }
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id,bool clip_even_when_logged) CIMGUI_API void igSetLastItemData(ImGuiID item_id,ImGuiItemFlags in_flags,ImGuiItemStatusFlags status_flags,const ImRect item_rect)
{ {
return ImGui::IsClippedEx(bb,id,clip_even_when_logged); return ImGui::SetLastItemData(item_id,in_flags,status_flags,item_rect);
} }
CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h) CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h)
{ {
@@ -3724,6 +3872,10 @@ CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_foc
{ {
return ImGui::ClosePopupsOverWindow(ref_window,restore_focus_to_window_under_popup); return ImGui::ClosePopupsOverWindow(ref_window,restore_focus_to_window_under_popup);
} }
CIMGUI_API void igClosePopupsExceptModals()
{
return ImGui::ClosePopupsExceptModals();
}
CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags) CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags)
{ {
return ImGui::IsPopupOpen(id,popup_flags); return ImGui::IsPopupOpen(id,popup_flags);
@@ -3732,9 +3884,9 @@ CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags)
{ {
return ImGui::BeginPopupEx(id,extra_flags); return ImGui::BeginPopupEx(id,extra_flags);
} }
CIMGUI_API void igBeginTooltipEx(ImGuiWindowFlags extra_flags,ImGuiTooltipFlags tooltip_flags) CIMGUI_API void igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
{ {
return ImGui::BeginTooltipEx(extra_flags,tooltip_flags); return ImGui::BeginTooltipEx(tooltip_flags,extra_window_flags);
} }
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window) CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window)
{ {
@@ -3744,6 +3896,10 @@ CIMGUI_API ImGuiWindow* igGetTopMostPopupModal()
{ {
return ImGui::GetTopMostPopupModal(); return ImGui::GetTopMostPopupModal();
} }
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal()
{
return ImGui::GetTopMostAndVisiblePopupModal();
}
CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window) CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window)
{ {
*pOut = ImGui::FindBestWindowPosForPopup(window); *pOut = ImGui::FindBestWindowPosForPopup(window);
@@ -3756,6 +3912,10 @@ CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,
{ {
return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags); return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags);
} }
CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled)
{
return ImGui::BeginMenuEx(label,icon,enabled);
}
CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled) CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled)
{ {
return ImGui::MenuItemEx(label,icon,shortcut,selected,enabled); return ImGui::MenuItemEx(label,icon,shortcut,selected,enabled);
@@ -3776,22 +3936,42 @@ CIMGUI_API void igNavInitWindow(ImGuiWindow* window,bool force_reinit)
{ {
return ImGui::NavInitWindow(window,force_reinit); return ImGui::NavInitWindow(window,force_reinit);
} }
CIMGUI_API void igNavInitRequestApplyResult()
{
return ImGui::NavInitRequestApplyResult();
}
CIMGUI_API bool igNavMoveRequestButNoResultYet() CIMGUI_API bool igNavMoveRequestButNoResultYet()
{ {
return ImGui::NavMoveRequestButNoResultYet(); return ImGui::NavMoveRequestButNoResultYet();
} }
CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags)
{
return ImGui::NavMoveRequestSubmit(move_dir,clip_dir,move_flags,scroll_flags);
}
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags)
{
return ImGui::NavMoveRequestForward(move_dir,clip_dir,move_flags,scroll_flags);
}
CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result)
{
return ImGui::NavMoveRequestResolveWithLastItem(result);
}
CIMGUI_API void igNavMoveRequestCancel() CIMGUI_API void igNavMoveRequestCancel()
{ {
return ImGui::NavMoveRequestCancel(); return ImGui::NavMoveRequestCancel();
} }
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,const ImRect bb_rel,ImGuiNavMoveFlags move_flags) CIMGUI_API void igNavMoveRequestApplyResult()
{ {
return ImGui::NavMoveRequestForward(move_dir,clip_dir,bb_rel,move_flags); return ImGui::NavMoveRequestApplyResult();
} }
CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags) CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags)
{ {
return ImGui::NavMoveRequestTryWrapping(window,move_flags); return ImGui::NavMoveRequestTryWrapping(window,move_flags);
} }
CIMGUI_API const char* igGetNavInputName(ImGuiNavInput n)
{
return ImGui::GetNavInputName(n);
}
CIMGUI_API float igGetNavInputAmount(ImGuiNavInput n,ImGuiInputReadMode mode) CIMGUI_API float igGetNavInputAmount(ImGuiNavInput n,ImGuiInputReadMode mode)
{ {
return ImGui::GetNavInputAmount(n,mode); return ImGui::GetNavInputAmount(n,mode);
@@ -3828,6 +4008,22 @@ CIMGUI_API ImGuiID igGetFocusScope()
{ {
return ImGui::GetFocusScope(); return ImGui::GetFocusScope();
} }
CIMGUI_API bool igIsNamedKey(ImGuiKey key)
{
return ImGui::IsNamedKey(key);
}
CIMGUI_API bool igIsLegacyKey(ImGuiKey key)
{
return ImGui::IsLegacyKey(key);
}
CIMGUI_API bool igIsGamepadKey(ImGuiKey key)
{
return ImGui::IsGamepadKey(key);
}
CIMGUI_API ImGuiKeyData* igGetKeyData(ImGuiKey key)
{
return ImGui::GetKeyData(key);
}
CIMGUI_API void igSetItemUsingMouseWheel() CIMGUI_API void igSetItemUsingMouseWheel()
{ {
return ImGui::SetItemUsingMouseWheel(); return ImGui::SetItemUsingMouseWheel();
@@ -3848,14 +4044,14 @@ CIMGUI_API bool igIsActiveIdUsingKey(ImGuiKey key)
{ {
return ImGui::IsActiveIdUsingKey(key); return ImGui::IsActiveIdUsingKey(key);
} }
CIMGUI_API void igSetActiveIdUsingKey(ImGuiKey key)
{
return ImGui::SetActiveIdUsingKey(key);
}
CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_threshold) CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_threshold)
{ {
return ImGui::IsMouseDragPastThreshold(button,lock_threshold); return ImGui::IsMouseDragPastThreshold(button,lock_threshold);
} }
CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat)
{
return ImGui::IsKeyPressedMap(key,repeat);
}
CIMGUI_API bool igIsNavInputDown(ImGuiNavInput n) CIMGUI_API bool igIsNavInputDown(ImGuiNavInput n)
{ {
return ImGui::IsNavInputDown(n); return ImGui::IsNavInputDown(n);
@@ -3868,6 +4064,10 @@ CIMGUI_API ImGuiKeyModFlags igGetMergedKeyModFlags()
{ {
return ImGui::GetMergedKeyModFlags(); return ImGui::GetMergedKeyModFlags();
} }
CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat)
{
return ImGui::IsKeyPressedMap(key,repeat);
}
CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb,ImGuiID id) CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb,ImGuiID id)
{ {
return ImGui::BeginDragDropTargetCustom(bb,id); return ImGui::BeginDragDropTargetCustom(bb,id);
@@ -4236,7 +4436,7 @@ CIMGUI_API void igScrollbar(ImGuiAxis axis)
{ {
return ImGui::Scrollbar(axis); return ImGui::Scrollbar(axis);
} }
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* p_scroll_v,float avail_v,float contents_v,ImDrawFlags flags) CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags)
{ {
return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags); return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags);
} }
@@ -4312,9 +4512,9 @@ CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,co
{ {
return ImGui::DataTypeApplyOp(data_type,op,output,arg_1,arg_2); return ImGui::DataTypeApplyOp(data_type,op,output,arg_1,arg_2);
} }
CIMGUI_API bool igDataTypeApplyOpFromText(const char* buf,const char* initial_value_buf,ImGuiDataType data_type,void* p_data,const char* format) CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format)
{ {
return ImGui::DataTypeApplyOpFromText(buf,initial_value_buf,data_type,p_data,format); return ImGui::DataTypeApplyFromText(buf,data_type,p_data,format);
} }
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2) CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2)
{ {
@@ -4384,6 +4584,10 @@ CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,v
{ {
return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data); return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data);
} }
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data)
{
return ImGui::ErrorCheckEndWindowRecover(log_callback,user_data);
}
CIMGUI_API void igDebugDrawItemRect(ImU32 col) CIMGUI_API void igDebugDrawItemRect(ImU32 col)
{ {
return ImGui::DebugDrawItemRect(col); return ImGui::DebugDrawItemRect(col);
@@ -4396,6 +4600,10 @@ CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas)
{ {
return ImGui::ShowFontAtlas(atlas); return ImGui::ShowFontAtlas(atlas);
} }
CIMGUI_API void igDebugHookIdInfo(ImGuiID id,ImGuiDataType data_type,const void* data_id,const void* data_id_end)
{
return ImGui::DebugHookIdInfo(id,data_type,data_id,data_id_end);
}
CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns) CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns)
{ {
return ImGui::DebugNodeColumns(columns); return ImGui::DebugNodeColumns(columns);
@@ -4440,6 +4648,10 @@ CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const ch
{ {
return ImGui::DebugNodeWindowsList(windows,label); return ImGui::DebugNodeWindowsList(windows,label);
} }
CIMGUI_API void igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack)
{
return ImGui::DebugNodeWindowsListByBeginStackParent(windows,windows_size,parent_in_begin_stack);
}
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport) CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport)
{ {
return ImGui::DebugNodeViewport(viewport); return ImGui::DebugNodeViewport(viewport);

1042
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,14 @@
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/imgui.h" #ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE #ifdef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
#endif
#endif
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h" #include "./imgui/misc/freetype/imgui_freetype.h"
#endif #endif
#include "./imgui/imgui_internal.h" #include "./imgui/imgui_internal.h"

View File

@@ -139,6 +139,7 @@ local function clean_spaces(cad)
cad = strip(cad) cad = strip(cad)
cad = cad:gsub("%s+"," ") --not more than one space cad = cad:gsub("%s+"," ") --not more than one space
cad = cad:gsub("%s*([%(%),=:%+])%s*","%1") --not spaces with ( , ) or ( = ) or ( : ) or + cad = cad:gsub("%s*([%(%),=:%+])%s*","%1") --not spaces with ( , ) or ( = ) or ( : ) or +
cad = cad:gsub("%s*(>>)%s*","%1")
--name [] to name[] --name [] to name[]
cad = cad:gsub("(%S)%s(%[)","%1%2") cad = cad:gsub("(%S)%s(%[)","%1%2")
--clean %d * %d (could be done above but type*name should be treated different in other places) --clean %d * %d (could be done above but type*name should be treated different in other places)
@@ -147,6 +148,22 @@ local function clean_spaces(cad)
end end
------------------------------------ ------------------------------------
local function check_template(code)
local ttype,template = code:match("([^%s,%(%)]+)%s*<(.-)>")
local code2,te
if template then
te = template:gsub("%s*,%s*",",")
te = te:gsub(",","__")
te = te:gsub("%-","less")
te = te:gsub("%s","_")
te = te:gsub("%*","Ptr")
code2 = code:gsub("(<[%w_%*%s]+>)([^%s%*])","%1 %2")
code2 = code2:gsub("<([^<>]-)>","_"..te)
end
return ttype,template,te,code2
end
----------------------------------------
local function parse_enum_value(value, allenums,dontpost) local function parse_enum_value(value, allenums,dontpost)
local function clean(val) local function clean(val)
if type(val)=="string" then if type(val)=="string" then
@@ -159,6 +176,7 @@ local function parse_enum_value(value, allenums,dontpost)
if type(value)=="number" then if type(value)=="number" then
return value return value
elseif type(value)=="string" then elseif type(value)=="string" then
--print(value)
--numbers --numbers
local numval = tonumber(value) local numval = tonumber(value)
if numval then return numval end if numval then return numval end
@@ -170,13 +188,13 @@ local function parse_enum_value(value, allenums,dontpost)
value = value:gsub("^(%()",""):gsub("(%))$","") value = value:gsub("^(%()",""):gsub("(%))$","")
assert(not value:match("[%(%)]"),value) assert(not value:match("[%(%)]"),value)
local several,seps = strsplit(value,"([<>&|~%+]+)") local several,seps = strsplit(value,"([<>&|~%+%-]+)")
--M.prtable(value,several,seps) --M.prtable(value,several,seps)
assert(#seps+1==#several) assert(#seps+1==#several)
local i = 1 local i = 1
local ik = 1 local ik = 1
local sepk = {"~","<<",">>","&","^","|","+"} local sepk = {"~","<<",">>","&","^","|","+","-"}
while(#seps>0) do while(#seps>0) do
local sep = sepk[ik] local sep = sepk[ik]
local v = seps[i] local v = seps[i]
@@ -206,6 +224,8 @@ local function parse_enum_value(value, allenums,dontpost)
several[i] = bit.bor(val1,val2) several[i] = bit.bor(val1,val2)
elseif v=="+" then elseif v=="+" then
several[i] = val1 + val2 several[i] = val1 + val2
elseif v=="-" then
several[i] = val1 - val2
else else
error("unknown operator "..v) error("unknown operator "..v)
end end
@@ -223,7 +243,7 @@ local function parse_enum_value(value, allenums,dontpost)
end end
if #seps>0 or type(several[1])~="number" and not dontpost then if #seps>0 or type(several[1])~="number" and not dontpost then
--M.prtable("enline",enline) --M.prtable("enline",enline)
print("parse_enum_value WARNING",value,several[1]) print("parse_enum_value WARNING:",value,several[1])
--M.prtable(several,seps) --M.prtable(several,seps)
--M.prtable("allenums",allenums) --M.prtable("allenums",allenums)
end end
@@ -278,6 +298,7 @@ local function getRE()
local res = { local res = {
function_re = "^([^;{}]+%b()[\n%s]*;)%s*", function_re = "^([^;{}]+%b()[\n%s]*;)%s*",
function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end
function_re = "^([^;{}=]+%b()[\n%s%w%(%)_]*;)", --attribute(deprecated)
struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)", struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)",
enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)", enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)",
union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)", union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)",
@@ -324,7 +345,9 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
local re = res[re_name] local re = res[re_name]
local i,e = txt:find(re,ini) local i,e = txt:find(re,ini)
if i then if i then
item = txt:sub(i,e) item = txt:sub(i,e)
--print("re_name",re_name,item)
------------------ ------------------
--[[ --[[
--if re~=functionD_re then --skip defined functions --if re~=functionD_re then --skip defined functions
@@ -376,13 +399,19 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
loca = table.remove(loca,1) loca = table.remove(loca,1)
end end
if not loca then if not loca then
print(string.format("%q , %q ",itemold,itemfirstline),#itemfirstline) print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline)
for k,v in pairs(linenumdict) do -- for k,v in pairs(linenumdict) do
if k:match(itemfirstline) then -- if k:match(itemfirstline) then
print(string.format("%q",k),#k) -- print(string.format("%q",k),#k)
end -- end
-- end
--error"no entry in linenumdict"
--take locat from parent
if itparent.locat then
loca = itparent.locat
else
error"no entry in linenumdict"
end end
error"no entry in linenumdict"
end end
else else
error"no linenumdict" error"no linenumdict"
@@ -601,33 +630,30 @@ local function parseFunction(self,stname,itt,namespace,locat)
--- templates in args --- templates in args
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
--TODO several diferent templates --TODO several diferent templates
local ttype,template = ar:match("([^%s,%(%)]+)%s*<(.-)>") local ttype,template,te,code2 = check_template(ar) --ar:match("([^%s,%(%)]+)%s*<(.-)>")
local te=""
if template then if template then
if self.typenames[stname] ~= template then --rule out template typename if self.typenames[stname] ~= template then --rule out template typename
te = template:gsub("%s","_") self.templates[ttype] = self.templates[ttype] or {}
te = te:gsub("%*","Ptr") self.templates[ttype][template] = te
self.templates[ttype] = self.templates[ttype] or {}
self.templates[ttype][template] = te
te = "_"..te
end end
end end
argsTa[i] = ar:gsub("<([%w_%*%s]+)>",te) --ImVector argsTa[i] = te and code2 or ar --ar:gsub("<([%w_%*%s]+)>",te) --ImVector
end end
--get typ, name and defaults --get typ, name and defaults
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))" local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
local functype_arg_rest = "^(%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)),*(.*)"
local argsTa2 = {} local argsTa2 = {}
local noname_counter = 0 local noname_counter = 0
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
local typ,name,retf,sigf,reftoptr,defa,ar1 local typ,name,retf,sigf,reftoptr,defa,ar1
local has_cdecl = ar:match"__cdecl"
if has_cdecl then ar = ar:gsub("__cdecl","") end
if ar:match(functype_re) then if ar:match(functype_re) then
local t1,namef,t2 = ar:match(functype_reex) local t1,namef,t2 = ar:match(functype_reex)
typ, name = t1.."(*)"..t2, namef local f_ = has_cdecl and "(__cdecl*)" or "(*)"
typ, name = t1..f_..t2, namef
retf = t1 retf = t1
sigf = t2 sigf = t2
else else
@@ -662,7 +688,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
name = name:gsub("(%[%d*%])","") name = name:gsub("(%[%d*%])","")
end end
end end
argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf} argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf,has_cdecl=has_cdecl}
if ar:match("&") and not ar:match("const") then if ar:match("&") and not ar:match("const") then
--only post error if not manual --only post error if not manual
local cname = self.getCname(stname,funcname, namespace) --cimguiname local cname = self.getCname(stname,funcname, namespace) --cimguiname
@@ -682,9 +708,10 @@ local function parseFunction(self,stname,itt,namespace,locat)
signat = "(" signat = "("
for i,v in ipairs(argsArr) do for i,v in ipairs(argsArr) do
if v.ret then --function pointer if v.ret then --function pointer
asp = asp .. v.ret .. "(*" .. v.name .. ")" .. v.signature .. "," local f_ = v.has_cdecl and "(__cdecl*" or "(*"
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
caar = caar .. v.name .. "," caar = caar .. v.name .. ","
signat = signat .. v.ret .. "(*)" .. clean_names_from_signature(self,v.signature) .. "," signat = signat .. v.ret .. f_..")" .. clean_names_from_signature(self,v.signature) .. ","
else else
local siz = v.type:match("(%[%d*%])") or "" local siz = v.type:match("(%[%d*%])") or ""
local typ = v.type:gsub("(%[%d*%])","") local typ = v.type:gsub("(%[%d*%])","")
@@ -1065,9 +1092,12 @@ function M.Parser()
error("could not execute COMPILER "..err) error("could not execute COMPILER "..err)
end end
local defines = {} local defines = {}
local preprocessed = {}--
for line,loca,loca2 in M.location(pipe,names,defines,compiler) do for line,loca,loca2 in M.location(pipe,names,defines,compiler) do
self:insert(line, tostring(loca)..":"..tostring(loca2)) self:insert(line, tostring(loca)..":"..tostring(loca2))
table.insert(preprocessed,line)--
end end
save_data("preprocesed.h",table.concat(preprocessed,"\n"))
pipe:close() pipe:close()
return defines return defines
end end
@@ -1137,7 +1167,8 @@ function M.Parser()
local stname = it.item:match("struct%s+(%S+)") local stname = it.item:match("struct%s+(%S+)")
it.name = stname it.name = stname
local templa1,templa2 = it.item:match("^%s*template%s*<%s*(%S+)%s*(%S+)%s*>") --local templa1,templa2 = it.item:match("^%s*template%s*<%s*(%S+)%s*(%S+)%s*>")
local templa2 = it.item:match("^%s*template%s*<%s*([^<>]+)%s*>")
if templa1 or templa2 then print("template found",stname,templa1,templa2,"typename",typename) end if templa1 or templa2 then print("template found",stname,templa1,templa2,"typename",typename) end
if typename or templa2 then -- it is a struct template if typename or templa2 then -- it is a struct template
@@ -1158,13 +1189,14 @@ function M.Parser()
local cdefs2 = {} local cdefs2 = {}
for i,cdef in ipairs(cdefs) do for i,cdef in ipairs(cdefs) do
if self.linenumdict[cdef[1]] then if self.linenumdict[cdef[1]] then
--print("linenumdict alredy defined for", cdef[1],type(self.linenumdict[cdef[1]])) --print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
if type(self.linenumdict[cdef[1]])=="string" then if type(self.linenumdict[cdef[1]])=="string" then
self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]} self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]}
else -- must be table already else -- must be table already
table.insert(self.linenumdict[cdef[1]],cdef[2]) table.insert(self.linenumdict[cdef[1]],cdef[2])
end end
else else
--print("nuevo linenumdict es",cdef[1],cdef[2])
self.linenumdict[cdef[1]]=cdef[2] self.linenumdict[cdef[1]]=cdef[2]
end end
table.insert(cdefs2,cdef[1]) table.insert(cdefs2,cdef[1])
@@ -1179,8 +1211,25 @@ function M.Parser()
printItems(items) printItems(items)
end end
par.parseFunction = parseFunction par.parseFunction = parseFunction
local uniques = {}
function par:clean_structR1(itst) local function check_unique_typedefs(l,uniques)
if not uniques[l] then
uniques[l] = true
return true
end
return false
end
function par:generate_templates()
local ttd = {}
M.table_do_sorted(self.templates , function (ttype, v)
--print("generate_templates",ttype,v)
M.table_do_sorted(v, function(te,newte)
table.insert(ttd,self:gentemplatetypedef(ttype,te,newte))
end)
end)
return table.concat(ttd,"")
end
function par:clean_structR1(itst,doheader)
local stru = itst.item local stru = itst.item
local outtab = {} local outtab = {}
local commtab = {} local commtab = {}
@@ -1230,15 +1279,16 @@ function M.Parser()
if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables
local it2 = it.item --:gsub("<([%w_]+)>","_%1") --templates local it2 = it.item --:gsub("<([%w_]+)>","_%1") --templates
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>") --local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
local ttype,template = it.item:match"([^%s,%(%)]+)%s*<(.+)>" local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
if template then if template then
if self.typenames[ttype] ~= template then --rule out T (template typename) if self.typenames[ttype] ~= template then --rule out T (template typename)
local te = template:gsub("%s","_") self.templates[ttype] = self.templates[ttype] or {}
te = te:gsub("%*","Ptr") self.templates[ttype][template] = te
self.templates[ttype] = self.templates[ttype] or {} it2=code2
self.templates[ttype][template] = te end
it2 = it2:gsub("(<[%w_%*%s]+>)([^%s])","%1 %2") --add if not present space after <> if doheader then
it2 = it2:gsub("<([%w_%*%s]+)>","_"..te) local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
predeclare = predeclare .. templatetypedef
end end
end end
--clean mutable --clean mutable
@@ -1259,7 +1309,15 @@ function M.Parser()
table.insert(outtab,"\n "..it.name.." "..decl..";") table.insert(outtab,"\n "..it.name.." "..decl..";")
table.insert(commtab,it.comments )--or "") table.insert(commtab,it.comments )--or "")
end end
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it) local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,doheader)
if doheader then
local tst = "\ntypedef struct "..structname.." "..structname..";\n"
if check_unique_typedefs(tst,uniques) then
--table.insert(outtab,tst)
--print("xxxxxxxxxxxxxxxinsert typedef",structname)
cleanst = cleanst .. tst
end
end
predeclare = predeclare .. predec .. cleanst predeclare = predeclare .. predec .. cleanst
elseif it.re_name == "enum_re" then elseif it.re_name == "enum_re" then
--nop --nop
@@ -1289,20 +1347,48 @@ function M.Parser()
if parnam~="" then parnam = parnam:sub(1,-3) end if parnam~="" then parnam = parnam:sub(1,-3) end
return parnam return parnam
end end
function par:gen_structs_and_enums() function par:gen_structs_and_enums()
print"--------------gen_structs_and_enums"
--M.prtable(self.typenames)
local outtab = {} local outtab = {}
local outtabpre = {} local outtabpre = {}
local typedefs_table = {} local typedefs_table = {}
self.embeded_enums = {} self.embeded_enums = {}
--local uniques = {}
local processer = function(it) local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
if not it.parent or it.parent.re_name=="namespace_re" then if not it.parent or it.parent.re_name=="namespace_re" then
table.insert(outtabpre,it.item) local it2 = it.item
if it.re_name == "typedef_re" then
--check if it is templated
local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
if template then
--if self.typenames[ttype] ~= template then --rule out T (template typename)
--self.templates[ttype] = self.templates[ttype] or {}
--self.templates[ttype][template] = te
--end
--local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
--predeclare = predeclare .. templatetypedef
local tdt = self:gentemplatetypedef(ttype,template,te)
it2 = tdt..code2
end
end
--table.insert(outtabpre,it2)
table.insert(outtab,it2)
-- add typedef after struct name -- add typedef after struct name
if it.re_name == "vardef_re" and it.item:match"^%s*struct" then if it.re_name == "vardef_re" and it.item:match"^%s*struct" then
local stname = it.item:match("struct%s*(%S+)%s*;") local stname = it.item:match("struct%s*(%S+)%s*;")
table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n") --table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n")
local tst = "\ntypedef struct "..stname.." "..stname..";"
if check_unique_typedefs(tst,uniques) then
table.insert(outtabpre,tst)
end
self.typedefs_dict[stname]="struct "..stname self.typedefs_dict[stname]="struct "..stname
if it.parent then --must be struct name; inside namespace if it.parent then --must be struct name; inside namespace
local parname = get_parents_name(it) local parname = get_parents_name(it)
@@ -1345,23 +1431,33 @@ function M.Parser()
print("unnamed enum",cl_item) print("unnamed enum",cl_item)
end end
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it) local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,true)
if not structname then print("NO NAME",cleanst,it.item) end if not structname then print("NO NAME",cleanst,it.item) end
--if not void stname or templated --if not void stname or templated
if structname and not self.typenames[structname] then if structname and not self.typenames[structname] then
--table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
local tst = "\ntypedef struct "..structname.." "..structname..";"
if check_unique_typedefs(tst,uniques) then
table.insert(outtab,tst)
end
self.typedefs_dict[structname]="struct "..structname
--dont insert child structs as they are inserted before parent struct --dont insert child structs as they are inserted before parent struct
if not (it.parent and it.parent.re_name == "struct_re") then if not (it.parent and it.parent.re_name == "struct_re") then
table.insert(outtab,predec .. cleanst) table.insert(outtab,predec .. cleanst)
end end
table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
self.typedefs_dict[structname]="struct "..structname
end end
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+(%S+)")) local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+(%S+)"))
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;")) or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
--TODO nesting namespace and class --TODO nesting namespace and class
local parname = get_parents_name(it) local parname = get_parents_name(it)
self.embeded_structs[embededst] = parname..embededst if it.parent.re_name == "struct_re" then
--needed by cimnodes with struct tag name equals member name
self.embeded_structs[embededst] = "struct "..parname..embededst
else
self.embeded_structs[embededst] = parname..embededst
end
end end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop --nop
@@ -1393,13 +1489,13 @@ function M.Parser()
self:Listing(itemsarr,processer) self:Listing(itemsarr,processer)
local uniques = {} -- local uniques = {}
for i,l in ipairs(typedefs_table) do -- for i,l in ipairs(typedefs_table) do
if not uniques[l] then -- if not uniques[l] then
uniques[l] = true -- uniques[l] = true
table.insert(outtabpre,1,l) -- table.insert(outtabpre,1,l)
end -- end
end -- end
--check arg detection failure if no name in function declaration --check arg detection failure if no name in function declaration
check_arg_detection(self.defsT,self.typedefs_dict) check_arg_detection(self.defsT,self.typedefs_dict)
local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"") local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"")
@@ -1417,6 +1513,7 @@ function M.Parser()
else else
--split type name1,name2; in several lines --split type name1,name2; in several lines
local typen,rest = line:match("%s*([^,]+)%s(%S+[,;])") local typen,rest = line:match("%s*([^,]+)%s(%S+[,;])")
--print(typen,"rest:",rest)
if not typen then -- Lets try Type*name if not typen then -- Lets try Type*name
typen,rest = line:match("([^,]+%*)(%S+[,;])") typen,rest = line:match("([^,]+%*)(%S+[,;])")
end end
@@ -1506,10 +1603,25 @@ function M.Parser()
end end
par.enums_for_table = enums_for_table par.enums_for_table = enums_for_table
function par:gen_structs_and_enums_table() function par:gen_structs_and_enums_table()
print"--------------gen_structs_and_enums_table"
local outtab = {enums={},structs={},locations={},enumtypes={}} local outtab = {enums={},structs={},locations={},enumtypes={}}
self.typedefs_table = {} self.typedefs_table = {}
local enumsordered = {} local enumsordered = {}
unnamed_enum_counter = 0 unnamed_enum_counter = 0
self.templated_structs = {}
--take cimgui templated_structs if given
if self.cimgui_inherited then
self.templated_structs = self.cimgui_inherited.templated_structs
self.templates_done = self.cimgui_inherited.templates_done
--M.prtable(self.typenames)
for k,v in pairs(self.cimgui_inherited.typenames) do
assert(not self.typenames[k])
if self.typenames[k] then
print("typenames repeated",k,self.typenames[k],v)
end
self.typenames[k] = v
end
end
local processer = function(it) local processer = function(it)
if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then if it.re_name == "typedef_re" or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
@@ -1531,7 +1643,17 @@ function M.Parser()
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j]) self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
end end
else else
print("skipped unnamed or templated struct",structname) --templated struct
if structname then
print("saving templated struct",structname)
self.templated_structs[structname] = {}
for j=3,#strtab-1 do
self:parse_struct_line(strtab[j],self.templated_structs[structname],comstab[j])
end
--M.prtable(self.templated_structs[structname])
else
print("skipped unnamed struct",structname)
end
end end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop --nop
@@ -1543,7 +1665,16 @@ function M.Parser()
self:Listing(itemsarr,processer) self:Listing(itemsarr,processer)
--calcule size of name[16+1] [xxx_COUNT] --calcule size of name[16+1] [xxx_COUNT]
local allenums = {} local allenums = {}
--take cimgui struct_and_enums if given
if self.cimgui_inherited then
for k,v in pairs(self.cimgui_inherited.enums) do
for j,v2 in ipairs(v) do
allenums[v2.name] = v2.calc_value
--print(k,v.calc_value)
end
end
end
--first calc_value in enums --first calc_value in enums
for i,enumname in ipairs(enumsordered) do for i,enumname in ipairs(enumsordered) do
--for enumname,enum in pairs(outtab.enums) do --for enumname,enum in pairs(outtab.enums) do
@@ -1607,6 +1738,7 @@ function M.Parser()
--print(k,#v) --print(k,#v)
table.insert(strt,string.format("%s\t%d",k,#v)) table.insert(strt,string.format("%s\t%d",k,#v))
local typesc,post = name_overloadsAlgo(v) local typesc,post = name_overloadsAlgo(v)
--M.prtable(v)
for i,t in ipairs(v) do for i,t in ipairs(v) do
--take overloaded name from manual table or algorythm --take overloaded name from manual table or algorythm
t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature,t.namespace) or k..typetoStr(post[i]) t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature,t.namespace) or k..typetoStr(post[i])
@@ -1747,6 +1879,58 @@ function M.Parser()
table.insert(self.funcdefs,v) table.insert(self.funcdefs,v)
end end
end end
function par:gentemplatetypedef(ttype,te,newte)
--print("gentemplatetypedef",ttype,te,newte)
if not newte then return "" end
self.templates_done = self.templates_done or {}
self.templates_done[ttype] = self.templates_done[ttype] or {}
if self.templates_done[ttype][te] then return "" end
self.templates_done[ttype][te] = true
--return self:gen_template_typedef(ttype,te,newte) --given by user
return self:gen_template_typedef_auto(ttype,te,newte)
end
function par:gen_template_typedef_auto(ttype,te,newte)
assert(self.templated_structs[ttype],ttype)
local defi = self.templated_structs[ttype]
local Targ = strsplit(self.typenames[ttype],",")
local defa = {}
local tes = strsplit(te,",")
--get the only name of template arg
for i,arg in ipairs(Targ) do
Targ[i] = strip(arg)
defa[i] = Targ[i]:match"=(.+)" --get default
if defa[i] then defa[i] = strip(defa[i]) end
Targ[i] = Targ[i]:gsub("%s*=.+","")
Targ[i] = Targ[i]:match"%S+$"
end
--assert(not Targ:match",") --still not several
local code = {}
local precode = {}
for i,v in ipairs(defi) do
local typ = v.type --:gsub(Targ,te)
local nam = v.name --:gsub(Targ,te)
for j,w in ipairs(Targ) do
local subs = tes[j] or defa[j]
typ = typ:gsub(w,subs)
nam = nam:gsub(w,subs)
end
--if typ still has template
local ttypet,templatet,tet,code2t = check_template(typ)
if templatet then
typ = code2t
table.insert(precode, self:gentemplatetypedef(ttypet,templatet,tet))
end
--if name still has template
local ttypet,templatet,tet,code2t = check_template(nam)
if templatet then
nam = code2t
table.insert(precode, self:gentemplatetypedef(ttypet,templatet,tet))
end
table.insert(code, typ.." "..nam..";")
end
return table.concat(precode).."\ntypedef struct "..ttype.."_"..newte.." {"..table.concat(code).."} "..ttype.."_"..newte..";\n"
end
return par return par
end end
@@ -2079,26 +2263,49 @@ end
M.func_header_generate = func_header_generate M.func_header_generate = func_header_generate
--[=[ --[=[
-- tests -- tests
local line = [[struct ImDrawListSharedData local code = [[
{
ImVec2 TexUvWhitePixel; bool BeginPlot(const char* title_id,
ImFont* Font; const char* x_label, const char* y_label,
float FontSize; const ImVec2& size = ImVec2(-1,0),
float CurveTessellationTol; ImPlotFlags flags = ImPlotFlags_None,
float CircleSegmentMaxError; ImPlotAxisFlags x_flags = ImPlotAxisFlags_None,
ImVec4 ClipRectFullscreen; ImPlotAxisFlags y_flags = ImPlotAxisFlags_None,
ImDrawListFlags InitialFlags; ImPlotAxisFlags y2_flags = ImPlotAxisFlags_AuxDefault,
ImVec2 ArcFastVtx[12 * 1]; ImPlotAxisFlags y3_flags = ImPlotAxisFlags_AuxDefault,
ImU8 CircleSegmentCounts[64]; const char* y2_label = ((void *)0),
ImDrawListSharedData(); const char* y3_label = ((void *)0)) __attribute__( ( deprecated ) );
void SetCircleSegmentMaxError(float max_error);
};]] ]]
local code = [[
bool BeginPlot(const char* title_id, const char* x_label, const char* y_label, const ImVec2& size = ImVec2(-1,0), ImPlotFlags flags = ImPlotFlags_None, ImPlotAxisFlags x_flags = ImPlotAxisFlags_None, ImPlotAxisFlags y_flags = ImPlotAxisFlags_None, ImPlotAxisFlags y2_flags = ImPlotAxisFlags_AuxDefault, ImPlotAxisFlags y3_flags = ImPlotAxisFlags_AuxDefault, const char* y2_label = ((void *)0), const char* y3_label = ((void *)0)) __attribute__( ( deprecated ) )
;
]]
local parser = M.Parser() local parser = M.Parser()
parser:insert(line) for line in code:gmatch("[^\n]+") do
--print("inserting",line)
parser:insert(line,"11")
end
parser:do_parse() parser:do_parse()
--M.prtable(parser) M.prtable(parser)
M.prtable(parser:gen_structs_and_enums_table()) --M.prtable(parser:gen_structs_and_enums_table())
--]=] --]=]
--print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]]) --print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]])
--[=[
local code = [[ImU32 Storage[(BITCOUNT + 31) >> 5];]]
--local code = [[ImU32 Storage[37 + 2];]]
local parser = M.Parser()
parser:insert(code,"11")
--parser:do_parse()
--M.prtable(parser)
local tab={}
print(type(code),code)
print(clean_spaces(code))
parser:parse_struct_line(code,tab)
M.prtable(tab)
--]=]
return M return M

View File

@@ -14,7 +14,7 @@ local CPRE,CTEST
--get implementations --get implementations
local implementations = {} local implementations = {}
for i=3,#script_args do for i=3,#script_args do
if script_args[i]:match(COMPILER == cl and "^/" or "^%-") then if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
local key, value = script_args[i]:match("^(.+)=(.+)$") local key, value = script_args[i]:match("^(.+)=(.+)$")
if key and value then if key and value then
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\""; CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
@@ -26,11 +26,15 @@ for i=3,#script_args do
end end
end end
if FREETYPE_GENERATION then
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
end
if COMPILER == "gcc" or COMPILER == "clang" then if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version" CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER CTEST = COMPILER
else else
print("Working without compiler ") print("Working without compiler ")
@@ -59,6 +63,7 @@ assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
print("HAVE_COMPILER",HAVE_COMPILER) print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION) print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION) print("FREETYPE_GENERATION",FREETYPE_GENERATION)
print("CPRE",CPRE)
-------------------------------------------------------------------------- --------------------------------------------------------------------------
--this table has the functions to be skipped in generation --this table has the functions to be skipped in generation
-------------------------------------------------------------------------- --------------------------------------------------------------------------
@@ -136,14 +141,16 @@ local func_implementation = cpp2ffi.func_implementation
-------------------functions for getting and setting defines -------------------functions for getting and setting defines
local function get_defines(t) local function get_defines(t)
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end local compiler_cmd = COMPILER == "cl"
print(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]] .. CFLAGS) and COMPILER..[[ /TP /nologo /c /Fo"NUL" /I "]]..IMGUI_PATH..[[" print_defines.cpp]]..CFLAGS
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]] .. CFLAGS,"r") or COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]]..CFLAGS
print(compiler_cmd)
local pipe,err = io.popen(compiler_cmd,"r")
local defines = {} local defines = {}
while true do while true do
local line = pipe:read"*l" local line = pipe:read"*l"
if not line then break end if not line then break end
local key,value = line:match([[#define%s+(%S+)%s*(.*)]]) local key,value = line:match([[^#define%s+(%S+)%s*(.*)]])
if not key then --or not value then if not key then --or not value then
--print(line) --print(line)
else else
@@ -159,7 +166,7 @@ local function get_defines(t)
local aa = defines[v] local aa = defines[v]
while true do while true do
local tmp = defines[aa] local tmp = defines[aa]
if not tmp then if not tmp then
break break
else else
aa = tmp aa = tmp
@@ -241,36 +248,7 @@ local function repair_defaults(defsT,str_and_enu)
end end
end end
----------custom ImVector templates
local table_do_sorted = cpp2ffi.table_do_sorted
local function generate_templates(code,codeimpool,templates)
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
table_do_sorted(templates , function (ttype, v)
if ttype == "ImVector" then
table_do_sorted(v, function(te,newte)
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
end)
elseif ttype == "ImPool" then
--declare ImGuiStorage
table_do_sorted(v, function(te, newte)
table.insert(codeimpool,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
table.insert(codeimpool,"typedef struct ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n")
end)
elseif ttype == "ImChunkStream" then
table_do_sorted(v, function(te,newte)
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
table.insert(code,"typedef struct ImChunkStream_"..newte.." {ImVector_"..te.." Buf;} ImChunkStream_"..newte..";\n")
end)
elseif ttype == "ImSpan" then
table_do_sorted(v, function(te,newte)
table.insert(code,"typedef struct ImSpan_"..newte.." {"..te.."* Data;" ..te.."* DataEnd;} ImSpan_"..newte..";\n")
end)
else
print("generate_templates ttype not done",ttype)
error"generate templates"
end
end)
end
--generate cimgui.cpp cimgui.h --generate cimgui.cpp cimgui.h
local function cimgui_generation(parser) local function cimgui_generation(parser)
@@ -301,15 +279,9 @@ local function cimgui_generation(parser)
cpp2ffi.prtable(parser.templates) cpp2ffi.prtable(parser.templates)
cpp2ffi.prtable(parser.typenames) cpp2ffi.prtable(parser.typenames)
local outtab = {}
local outtabpool = {}
generate_templates(outtab, outtabpool, parser.templates)
--move outtabpool after ImGuiStorage definition
local outpost1, outpost2 = outpost:match("^(.+struct ImGuiStorage%s*\n%b{};\n)(.+)$")
outpost = outpost1..table.concat(outtabpool)..outpost2
local cstructsstr = outpre..table.concat(outtab,"")..outpost --..(extra or "") local tdt = parser:generate_templates()
local cstructsstr = outpre..tdt..outpost
if gdefines.IMGUI_HAS_DOCK then if gdefines.IMGUI_HAS_DOCK then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n" cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
@@ -329,41 +301,21 @@ local function cimgui_generation(parser)
local hstrfile = read_data"./cimgui_template.cpp" local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
save_data("./output/cimgui.cpp",cimgui_header,hstrfile) local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)
end end
-------------------------------------------------------- --------------------------------------------------------
-----------------------------do it---------------------- -----------------------------do it----------------------
-------------------------------------------------------- --------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK-------------------------- --get imgui.h version and IMGUI_HAS_DOCK--------------------------
--get some defines wont work for cl ---------------- --defines for the cl compiler must be present in the print_defines.cpp file
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"} gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
--this will work for cl
local pipe,err = io.open(IMGUI_PATH.."/imgui.h","r")
if not pipe then
error("could not open file:"..err)
end
local imgui_version,has_dock,has_imstr
while true do
local line = pipe:read"*l"
if not line then break end
if not imgui_version then
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
end
if not has_dock then
has_dock = line:match([[#define%s+IMGUI_HAS_DOCK]])--%s*(".+")]])
end
if not has_imstr then
has_imstr = line:match([[#define%s+IMGUI_HAS_IMSTR]])--%s*(".+")]])
end
if imgui_version and has_dock and has_imstr then break end
end
pipe:close()
if has_dock then gdefines.IMGUI_HAS_DOCK = true end if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if has_imstr then gdefines.IMGUI_HAS_IMSTR = true end if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
cimgui_header = cimgui_header:gsub("XXX",imgui_version) cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION)
if INTERNAL_GENERATION then if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api cimgui_header = cimgui_header..[[//with imgui_internal.h api
]] ]]
@@ -379,7 +331,7 @@ if gdefines.IMGUI_HAS_DOCK then
end end
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR) print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK) print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",imgui_version) print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
--funtion for parsing imgui headers --funtion for parsing imgui headers
@@ -394,6 +346,7 @@ local function parseImGuiHeader(header,names)
parser.cname_overloads = cimgui_overloads parser.cname_overloads = cimgui_overloads
parser.manuals = cimgui_manuals parser.manuals = cimgui_manuals
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"} parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto
local defines = parser:take_lines(CPRE..header,names,COMPILER) local defines = parser:take_lines(CPRE..header,names,COMPILER)
@@ -430,6 +383,10 @@ cimgui_generation(parser1)
----------save struct and enums lua table in structs_and_enums.lua for using in bindings ----------save struct and enums lua table in structs_and_enums.lua for using in bindings
local structs_and_enums_table = parser1.structs_and_enums_table local structs_and_enums_table = parser1.structs_and_enums_table
structs_and_enums_table.templated_structs = parser1.templated_structs
structs_and_enums_table.typenames = parser1.typenames
structs_and_enums_table.templates_done = parser1.templates_done
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table)) save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict)) save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
@@ -511,6 +468,10 @@ end
---[[ ---[[
local json = require"json" local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}})) save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
--delete extra info for json
structs_and_enums_table.templated_structs = nil
structs_and_enums_table.typenames = nil
structs_and_enums_table.templates_done = nil
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table)) save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict)) save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then if parser2 then

View File

@@ -1,18 +1,23 @@
typedef struct SDL_Window SDL_Window;
typedef struct GLFWmonitor GLFWmonitor;
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWmonitor GLFWmonitor;
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
struct GLFWwindow; struct GLFWwindow;
struct GLFWmonitor; struct GLFWmonitor;
struct SDL_Window; struct SDL_Window;
struct SDL_Renderer;
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks); typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks); CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks); CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
CIMGUI_API void ImGui_ImplGlfw_Shutdown(); CIMGUI_API void ImGui_ImplGlfw_Shutdown();
CIMGUI_API void ImGui_ImplGlfw_NewFrame(); CIMGUI_API void ImGui_ImplGlfw_NewFrame();
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused); CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered); CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods); CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset); CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods); CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
@@ -38,6 +43,7 @@ CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_con
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API void ImGui_ImplSDL2_Shutdown(); CIMGUI_API void ImGui_ImplSDL2_Shutdown();
CIMGUI_API void ImGui_ImplSDL2_NewFrame(); CIMGUI_API void ImGui_ImplSDL2_NewFrame();
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event); CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@
"cimguiname": "ImGui_ImplGlfw_CharCallback", "cimguiname": "ImGui_ImplGlfw_CharCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback", "funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw:40", "location": "imgui_impl_glfw:45",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback", "ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,unsigned int)", "signature": "(GLFWwindow*,unsigned int)",
@@ -42,13 +42,42 @@
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback", "cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_CursorEnterCallback", "funcname": "ImGui_ImplGlfw_CursorEnterCallback",
"location": "imgui_impl_glfw:36", "location": "imgui_impl_glfw:40",
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback", "ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int)", "signature": "(GLFWwindow*,int)",
"stname": "" "stname": ""
} }
], ],
"ImGui_ImplGlfw_CursorPosCallback": [
{
"args": "(GLFWwindow* window,double x,double y)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
},
{
"name": "x",
"type": "double"
},
{
"name": "y",
"type": "double"
}
],
"argsoriginal": "(GLFWwindow* window,double x,double y)",
"call_args": "(window,x,y)",
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
"location": "imgui_impl_glfw:41",
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
"stname": ""
}
],
"ImGui_ImplGlfw_InitForOpenGL": [ "ImGui_ImplGlfw_InitForOpenGL": [
{ {
"args": "(GLFWwindow* window,bool install_callbacks)", "args": "(GLFWwindow* window,bool install_callbacks)",
@@ -124,6 +153,27 @@
"stname": "" "stname": ""
} }
], ],
"ImGui_ImplGlfw_InstallCallbacks": [
{
"args": "(GLFWwindow* window)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
}
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
"location": "imgui_impl_glfw:35",
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_KeyCallback": [ "ImGui_ImplGlfw_KeyCallback": [
{ {
"args": "(GLFWwindow* window,int key,int scancode,int action,int mods)", "args": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
@@ -154,7 +204,7 @@
"cimguiname": "ImGui_ImplGlfw_KeyCallback", "cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback", "funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw:39", "location": "imgui_impl_glfw:44",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback", "ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)", "signature": "(GLFWwindow*,int,int,int,int)",
@@ -179,7 +229,7 @@
"cimguiname": "ImGui_ImplGlfw_MonitorCallback", "cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_MonitorCallback", "funcname": "ImGui_ImplGlfw_MonitorCallback",
"location": "imgui_impl_glfw:41", "location": "imgui_impl_glfw:46",
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback", "ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWmonitor*,int)", "signature": "(GLFWmonitor*,int)",
@@ -212,7 +262,7 @@
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback", "cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback", "funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw:37", "location": "imgui_impl_glfw:42",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback", "ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int,int,int)", "signature": "(GLFWwindow*,int,int,int)",
@@ -235,6 +285,27 @@
"stname": "" "stname": ""
} }
], ],
"ImGui_ImplGlfw_RestoreCallbacks": [
{
"args": "(GLFWwindow* window)",
"argsT": [
{
"name": "window",
"type": "GLFWwindow*"
}
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
"location": "imgui_impl_glfw:36",
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
"stname": ""
}
],
"ImGui_ImplGlfw_ScrollCallback": [ "ImGui_ImplGlfw_ScrollCallback": [
{ {
"args": "(GLFWwindow* window,double xoffset,double yoffset)", "args": "(GLFWwindow* window,double xoffset,double yoffset)",
@@ -257,7 +328,7 @@
"cimguiname": "ImGui_ImplGlfw_ScrollCallback", "cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback", "funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw:38", "location": "imgui_impl_glfw:43",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback", "ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,double,double)", "signature": "(GLFWwindow*,double,double)",
@@ -298,7 +369,7 @@
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback", "cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplGlfw_WindowFocusCallback", "funcname": "ImGui_ImplGlfw_WindowFocusCallback",
"location": "imgui_impl_glfw:35", "location": "imgui_impl_glfw:39",
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback", "ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"ret": "void", "ret": "void",
"signature": "(GLFWwindow*,int)", "signature": "(GLFWwindow*,int)",
@@ -592,7 +663,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForD3D", "cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D", "funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl:26", "location": "imgui_impl_sdl:27",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D", "ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -613,7 +684,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForMetal", "cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal", "funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl:27", "location": "imgui_impl_sdl:28",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal", "ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -638,13 +709,38 @@
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL", "cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL", "funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl:24", "location": "imgui_impl_sdl:25",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL", "ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*,void*)", "signature": "(SDL_Window*,void*)",
"stname": "" "stname": ""
} }
], ],
"ImGui_ImplSDL2_InitForSDLRenderer": [
{
"args": "(SDL_Window* window,SDL_Renderer* renderer)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
},
{
"name": "renderer",
"type": "SDL_Renderer*"
}
],
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
"call_args": "(window,renderer)",
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
"location": "imgui_impl_sdl:29",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
"stname": ""
}
],
"ImGui_ImplSDL2_InitForVulkan": [ "ImGui_ImplSDL2_InitForVulkan": [
{ {
"args": "(SDL_Window* window)", "args": "(SDL_Window* window)",
@@ -659,7 +755,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForVulkan", "cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan", "funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl:25", "location": "imgui_impl_sdl:26",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan", "ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool", "ret": "bool",
"signature": "(SDL_Window*)", "signature": "(SDL_Window*)",
@@ -675,7 +771,7 @@
"cimguiname": "ImGui_ImplSDL2_NewFrame", "cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame", "funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl:29", "location": "imgui_impl_sdl:31",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame", "ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -696,7 +792,7 @@
"cimguiname": "ImGui_ImplSDL2_ProcessEvent", "cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent", "funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl:30", "location": "imgui_impl_sdl:32",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent", "ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool", "ret": "bool",
"signature": "(const SDL_Event*)", "signature": "(const SDL_Event*)",
@@ -712,7 +808,7 @@
"cimguiname": "ImGui_ImplSDL2_Shutdown", "cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown", "funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl:28", "location": "imgui_impl_sdl:30",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown", "ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",

View File

@@ -14,7 +14,7 @@ defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback" defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback" defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:40" defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:45"
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback" defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)" defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
@@ -35,12 +35,36 @@ defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["call_args"] = "(window,entered)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorEnterCallback" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:36" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:40"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["signature"] = "(GLFWwindow*,int)" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["signature"] = "(GLFWwindow*,int)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["stname"] = "" defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CursorEnterCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_CursorEnterCallback"][1] defs["ImGui_ImplGlfw_CursorEnterCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_CursorEnterCallback"][1]
defs["ImGui_ImplGlfw_CursorPosCallback"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["args"] = "(GLFWwindow* window,double x,double y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["name"] = "x"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["type"] = "double"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["name"] = "y"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["type"] = "double"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double x,double y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["call_args"] = "(window,x,y)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["location"] = "imgui_impl_glfw:41"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_CursorPosCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_CursorPosCallback"][1]
defs["ImGui_ImplGlfw_InitForOpenGL"] = {} defs["ImGui_ImplGlfw_InitForOpenGL"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {} defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)" defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
@@ -104,6 +128,24 @@ defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)" defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = "" defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1] defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
defs["ImGui_ImplGlfw_InstallCallbacks"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["args"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["call_args"] = "(window)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["location"] = "imgui_impl_glfw:35"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["signature"] = "(GLFWwindow*)"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["stname"] = ""
defs["ImGui_ImplGlfw_InstallCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_InstallCallbacks"][1]
defs["ImGui_ImplGlfw_KeyCallback"] = {} defs["ImGui_ImplGlfw_KeyCallback"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1] = {} defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)" defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
@@ -128,7 +170,7 @@ defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,actio
defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback" defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback" defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:39" defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:44"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback" defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)" defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
@@ -149,7 +191,7 @@ defs["ImGui_ImplGlfw_MonitorCallback"][1]["call_args"] = "(monitor,event)"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:41" defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:46"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback" defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)" defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)"
@@ -176,7 +218,7 @@ defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,act
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:37" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:42"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)" defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
@@ -197,6 +239,24 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = "" defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1] defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
defs["ImGui_ImplGlfw_RestoreCallbacks"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["args"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["call_args"] = "(window)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["location"] = "imgui_impl_glfw:36"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["signature"] = "(GLFWwindow*)"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["stname"] = ""
defs["ImGui_ImplGlfw_RestoreCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_RestoreCallbacks"][1]
defs["ImGui_ImplGlfw_ScrollCallback"] = {} defs["ImGui_ImplGlfw_ScrollCallback"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {} defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)" defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
@@ -215,7 +275,7 @@ defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback" defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback" defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:38" defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:43"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback" defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)" defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
@@ -251,7 +311,7 @@ defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["call_args"] = "(window,focused)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["defaults"] = {} defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["funcname"] = "ImGui_ImplGlfw_WindowFocusCallback" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["funcname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:35" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:39"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ret"] = "void" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["signature"] = "(GLFWwindow*,int)" defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["signature"] = "(GLFWwindow*,int)"
@@ -519,7 +579,7 @@ defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D" defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D" defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:26" defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D" defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
@@ -537,7 +597,7 @@ defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal" defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal" defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:27" defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal" defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
@@ -558,12 +618,33 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:24" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:25"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = "" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1] defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
defs["ImGui_ImplSDL2_InitForSDLRenderer"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["args"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["name"] = "renderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["type"] = "SDL_Renderer*"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsoriginal"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["call_args"] = "(window,renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["signature"] = "(SDL_Window*,SDL_Renderer*)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForSDLRenderer"]["(SDL_Window*,SDL_Renderer*)"] = defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]
defs["ImGui_ImplSDL2_InitForVulkan"] = {} defs["ImGui_ImplSDL2_InitForVulkan"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {} defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)" defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
@@ -576,7 +657,7 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan" defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {} defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan" defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:25" defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:26"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan" defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)" defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
@@ -591,7 +672,7 @@ defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:29" defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:31"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void" defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()"
@@ -609,7 +690,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {} defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:30" defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:32"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)" defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -624,7 +705,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:28" defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:30"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

View File

@@ -75,7 +75,7 @@ ImVec4_ImVec4 2
2 nil ImVec4_ImVec4_Float (float,float,float,float) 2 nil ImVec4_ImVec4_Float (float,float,float,float)
ImVector_ImVector 2 ImVector_ImVector 2
1 nil ImVector_ImVector_Nil () 1 nil ImVector_ImVector_Nil ()
2 nil ImVector_ImVector_Vector (const ImVector) 2 nil ImVector_ImVector_Vector_T_ (const ImVector_T )
ImVector_back 2 ImVector_back 2
1 T* ImVector_back_Nil () 1 T* ImVector_back_Nil ()
2 const T* ImVector_back__const ()const 2 const T* ImVector_back__const ()const
@@ -134,6 +134,9 @@ igImAbs 3
igImFloor 2 igImFloor 2
1 float igImFloor_Float (float) 1 float igImFloor_Float (float)
2 ImVec2 igImFloor_Vec2 (const ImVec2) 2 ImVec2 igImFloor_Vec2 (const ImVec2)
igImFloorSigned 2
1 float igImFloorSigned_Float (float)
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
igImIsPowerOfTwo 2 igImIsPowerOfTwo 2
1 bool igImIsPowerOfTwo_Int (int) 1 bool igImIsPowerOfTwo_Int (int)
2 bool igImIsPowerOfTwo_U64 (ImU64) 2 bool igImIsPowerOfTwo_U64 (ImU64)
@@ -255,4 +258,4 @@ igValue 4
2 void igValue_Int (const char*,int) 2 void igValue_Int (const char*,int)
3 void igValue_Uint (const char*,unsigned int) 3 void igValue_Uint (const char*,unsigned int)
4 void igValue_Float (const char*,float,const char*) 4 void igValue_Float (const char*,float,const char*)
180 overloaded 182 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
{ {
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitVector": "struct ImBitVector", "ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor", "ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);", "ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
@@ -23,6 +24,7 @@
"ImFontConfig": "struct ImFontConfig", "ImFontConfig": "struct ImFontConfig",
"ImFontGlyph": "struct ImFontGlyph", "ImFontGlyph": "struct ImFontGlyph",
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder", "ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiActivateFlags": "int",
"ImGuiBackendFlags": "int", "ImGuiBackendFlags": "int",
"ImGuiButtonFlags": "int", "ImGuiButtonFlags": "int",
"ImGuiCol": "int", "ImGuiCol": "int",
@@ -46,18 +48,27 @@
"ImGuiHoveredFlags": "int", "ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int", "ImGuiID": "unsigned int",
"ImGuiIO": "struct ImGuiIO", "ImGuiIO": "struct ImGuiIO",
"ImGuiInputEvent": "struct ImGuiInputEvent",
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);", "ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData", "ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int", "ImGuiInputTextFlags": "int",
"ImGuiInputTextState": "struct ImGuiInputTextState", "ImGuiInputTextState": "struct ImGuiInputTextState",
"ImGuiItemAddFlags": "int",
"ImGuiItemFlags": "int", "ImGuiItemFlags": "int",
"ImGuiItemStatusFlags": "int", "ImGuiItemStatusFlags": "int",
"ImGuiKey": "int", "ImGuiKey": "int",
"ImGuiKeyData": "struct ImGuiKeyData",
"ImGuiKeyModFlags": "int", "ImGuiKeyModFlags": "int",
"ImGuiLastItemData": "struct ImGuiLastItemData", "ImGuiLastItemData": "struct ImGuiLastItemData",
"ImGuiLayoutType": "int", "ImGuiLayoutType": "int",
"ImGuiListClipper": "struct ImGuiListClipper", "ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);", "ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);", "ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns", "ImGuiMenuColumns": "struct ImGuiMenuColumns",
@@ -78,9 +89,11 @@
"ImGuiOldColumns": "struct ImGuiOldColumns", "ImGuiOldColumns": "struct ImGuiOldColumns",
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame", "ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
"ImGuiPayload": "struct ImGuiPayload", "ImGuiPayload": "struct ImGuiPayload",
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
"ImGuiPopupData": "struct ImGuiPopupData", "ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int", "ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex", "ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
"ImGuiScrollFlags": "int",
"ImGuiSelectableFlags": "int", "ImGuiSelectableFlags": "int",
"ImGuiSeparatorFlags": "int", "ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler", "ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
@@ -89,7 +102,9 @@
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData", "ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int", "ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int", "ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes", "ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStackTool": "struct ImGuiStackTool",
"ImGuiStorage": "struct ImGuiStorage", "ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair", "ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle", "ImGuiStyle": "struct ImGuiStyle",
@@ -132,12 +147,12 @@
"ImRect": "struct ImRect", "ImRect": "struct ImRect",
"ImS16": "signed short", "ImS16": "signed short",
"ImS32": "signed int", "ImS32": "signed int",
"ImS64": "int64_t", "ImS64": "signed long long",
"ImS8": "signed char", "ImS8": "signed char",
"ImTextureID": "void*", "ImTextureID": "void*",
"ImU16": "unsigned short", "ImU16": "unsigned short",
"ImU32": "unsigned int", "ImU32": "unsigned int",
"ImU64": "uint64_t", "ImU64": "unsigned long long",
"ImU8": "unsigned char", "ImU8": "unsigned char",
"ImVec1": "struct ImVec1", "ImVec1": "struct ImVec1",
"ImVec2": "struct ImVec2", "ImVec2": "struct ImVec2",

View File

@@ -1,4 +1,5 @@
local defs = {} local defs = {}
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
defs["ImBitVector"] = "struct ImBitVector" defs["ImBitVector"] = "struct ImBitVector"
defs["ImColor"] = "struct ImColor" defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);" defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
@@ -23,6 +24,7 @@ defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
defs["ImFontConfig"] = "struct ImFontConfig" defs["ImFontConfig"] = "struct ImFontConfig"
defs["ImFontGlyph"] = "struct ImFontGlyph" defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder" defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
defs["ImGuiActivateFlags"] = "int"
defs["ImGuiBackendFlags"] = "int" defs["ImGuiBackendFlags"] = "int"
defs["ImGuiButtonFlags"] = "int" defs["ImGuiButtonFlags"] = "int"
defs["ImGuiCol"] = "int" defs["ImGuiCol"] = "int"
@@ -46,18 +48,27 @@ defs["ImGuiGroupData"] = "struct ImGuiGroupData"
defs["ImGuiHoveredFlags"] = "int" defs["ImGuiHoveredFlags"] = "int"
defs["ImGuiID"] = "unsigned int" defs["ImGuiID"] = "unsigned int"
defs["ImGuiIO"] = "struct ImGuiIO" defs["ImGuiIO"] = "struct ImGuiIO"
defs["ImGuiInputEvent"] = "struct ImGuiInputEvent"
defs["ImGuiInputEventAppFocused"] = "struct ImGuiInputEventAppFocused"
defs["ImGuiInputEventKey"] = "struct ImGuiInputEventKey"
defs["ImGuiInputEventMouseButton"] = "struct ImGuiInputEventMouseButton"
defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);" defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData" defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextFlags"] = "int" defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState" defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemAddFlags"] = "int"
defs["ImGuiItemFlags"] = "int" defs["ImGuiItemFlags"] = "int"
defs["ImGuiItemStatusFlags"] = "int" defs["ImGuiItemStatusFlags"] = "int"
defs["ImGuiKey"] = "int" defs["ImGuiKey"] = "int"
defs["ImGuiKeyData"] = "struct ImGuiKeyData"
defs["ImGuiKeyModFlags"] = "int" defs["ImGuiKeyModFlags"] = "int"
defs["ImGuiLastItemData"] = "struct ImGuiLastItemData" defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
defs["ImGuiLayoutType"] = "int" defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper" defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);" defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);" defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns" defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
@@ -78,9 +89,11 @@ defs["ImGuiOldColumnFlags"] = "int"
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns" defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame" defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
defs["ImGuiPayload"] = "struct ImGuiPayload" defs["ImGuiPayload"] = "struct ImGuiPayload"
defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
defs["ImGuiPopupData"] = "struct ImGuiPopupData" defs["ImGuiPopupData"] = "struct ImGuiPopupData"
defs["ImGuiPopupFlags"] = "int" defs["ImGuiPopupFlags"] = "int"
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex" defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
defs["ImGuiScrollFlags"] = "int"
defs["ImGuiSelectableFlags"] = "int" defs["ImGuiSelectableFlags"] = "int"
defs["ImGuiSeparatorFlags"] = "int" defs["ImGuiSeparatorFlags"] = "int"
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler" defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
@@ -89,7 +102,9 @@ defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData" defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int" defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int" defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes" defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
defs["ImGuiStorage"] = "struct ImGuiStorage" defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair" defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
defs["ImGuiStyle"] = "struct ImGuiStyle" defs["ImGuiStyle"] = "struct ImGuiStyle"
@@ -132,12 +147,12 @@ defs["ImPoolIdx"] = "int"
defs["ImRect"] = "struct ImRect" defs["ImRect"] = "struct ImRect"
defs["ImS16"] = "signed short" defs["ImS16"] = "signed short"
defs["ImS32"] = "signed int" defs["ImS32"] = "signed int"
defs["ImS64"] = "int64_t" defs["ImS64"] = "signed long long"
defs["ImS8"] = "signed char" defs["ImS8"] = "signed char"
defs["ImTextureID"] = "void*" defs["ImTextureID"] = "void*"
defs["ImU16"] = "unsigned short" defs["ImU16"] = "unsigned short"
defs["ImU32"] = "unsigned int" defs["ImU32"] = "unsigned int"
defs["ImU64"] = "uint64_t" defs["ImU64"] = "unsigned long long"
defs["ImU8"] = "unsigned char" defs["ImU8"] = "unsigned char"
defs["ImVec1"] = "struct ImVec1" defs["ImVec1"] = "struct ImVec1"
defs["ImVec2"] = "struct ImVec2" defs["ImVec2"] = "struct ImVec2"

View File

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

2
imgui

Submodule imgui updated: 32d4f6c5d9...c71a50deb5