Compare commits

..

44 Commits

Author SHA1 Message Date
sonoro1234
c8c5add506 pull imgui 1.89.7 docking and generate 2023-07-04 18:19:48 +02:00
Victor Bombi
dccbce96fb Merge pull request #243 from xEgoist/docking_inter
use "installed" directory for vcpkg instead of packages and explicitly install x64 target
2023-06-22 10:14:50 +02:00
xEgoist
705cd9d8a5 CI: use x64-windows target triplet for vcpkg
Since vcpkg is transitioning to the host triplet by default in
September 2023, this should help the CI mitigate this transition by
explicitly using x64-windows target triplet.
2023-06-22 02:13:41 -05:00
xEgoist
b8dcf08413 CI: use installed directory for vcpkg instead of packages 2023-06-22 01:51:25 -05:00
sonoro1234
5c09c391af try to make github actions happy again 2023-06-18 19:15:23 +02:00
sonoro1234
55c6f914a7 pull imgui 1.89.6 and generate 2023-06-18 18:57:27 +02:00
sonoro1234
a5f9979d90 clean debug output 2023-06-18 18:56:17 +02:00
sonoro1234
a65bf47a5f solve union with comments #241 2023-06-18 18:50:28 +02:00
sonoro1234
925d24572d cpp2ffi: sanitize_comments to clean curly braces from comments 2023-04-22 14:03:40 +02:00
sonoro1234
ffda7805d2 pull imgui 1.89.5 and generate 2023-04-18 10:35:57 +02:00
Victor Bombi
9ae8e827fa Merge pull request #238 from gucio321/sh-generator-pass-cmdline-args
Sh generator: pass cmdline args
2023-04-17 18:30:44 +02:00
gucio321
9ac8211a3d generator: add help page 2023-04-17 17:13:38 +02:00
M.Sz
0c22b34cb6 generator: set default values 2023-04-17 10:13:09 +00:00
M.Sz
e2093ffbc1 generator: remove unnecessary header comment 2023-04-17 07:15:34 +00:00
M.Sz
fa81118e09 generator: add -t/--tagret options 2023-04-17 07:13:26 +00:00
M.Sz
ff19d727b7 Revert "Revert "generattor: add --cflags command line flag""
This reverts commit 2ae35c8b46.
2023-04-17 07:06:29 +00:00
sonoro1234
a0d46db2f2 readme: generation customization instructions 2023-04-05 11:02:47 +02:00
Victor Bombi
aad088b954 Merge pull request #233 from gucio321/sh-generator-pass-cmdline-args
generator.sh (.bat): pass extra command-line arguments.
2023-04-05 10:52:56 +02:00
gucio321
9d1e63d306 generator.bat: pass cmd line arguments to luajit 2023-04-05 10:49:45 +02:00
gucio321
2ae35c8b46 Revert "generattor: add --cflags command line flag"
This reverts commit 4d19dd5e17.
2023-04-05 10:49:02 +02:00
gucio321
4d19dd5e17 generattor: add --cflags command line flag 2023-04-05 10:30:26 +02:00
sonoro1234
2b9eaf3eff readme: edit cflags 2023-04-05 09:27:19 +02:00
gucio321
27aedcd3c4 generator: pass command-line arguments to GCC 2023-04-05 09:26:19 +02:00
sonoro1234
e25f9f6844 add generator options "nochar" and "noimstrv" according to issue #186 2023-03-24 17:23:28 +01:00
sonoro1234
2c8eab86f7 pull imgui 1.89.4 and generate 2023-03-14 17:52:56 +01:00
sonoro1234
ce1015bb84 backends: CIMGUI_USE_SDL is now CIMGUI_USE_SDL2 2023-02-20 20:14:51 +01:00
sonoro1234
1187e22308 pull imgui 1.89.3 generate correct sdl2 backend inclusion 2023-02-15 09:55:35 +01:00
sonoro1234
5a857ee68d cpp2ffi: dont error on not loca 2023-01-09 09:57:43 +01:00
sonoro1234
18e5891710 generator.lua add table cimgui_skipped 2023-01-08 14:38:06 +01:00
sonoro1234
56fdbf845b pull imgui docking 1.89.2 and generate 2023-01-07 10:34:35 +01:00
sonoro1234
d159c2622d correction after merge?!! 2022-12-15 10:44:29 +01:00
Victor Bombi
56892a4e3a Merge pull request #227 from rokups/rk/fix-ci
Fix windows CI builds (#226)
2022-12-15 10:29:40 +01:00
Rokas Kupstys
0a953b7102 Fix CI builds. For some reason bash on windows no longer recognizes luajit without .exe suffix.
Fixes #226
2022-12-15 10:23:58 +02:00
sonoro1234
0348715500 pull imgui 1.89.1 and generate 2022-11-26 09:10:06 +01:00
sonoro1234
68483775b3 pull imgui 1.89.1 docking and generate 2022-11-26 08:32:02 +01:00
sonoro1234
0369ceb1b4 generator.lua: use IMGUI_VERSION_NUM 2022-11-25 10:27:13 +01:00
sonoro1234
4f089273b1 cpp2ffi.lua: changes to keep comments from struct and enums (from branch comments4000) 2022-11-16 17:13:33 +01:00
sonoro1234
b0649485e9 correcting errors on last merge: example_glfw_opengl3 2022-11-16 11:15:37 +01:00
Victor Bombi
a0a7ca3ca2 Merge pull request #224 from seafork/docking_inter
Adding an example for GLFW + OpenGL
2022-11-16 11:02:33 +01:00
seafork
3e823cd2ee fixed misspelt cmake file 2022-11-15 23:06:35 -05:00
seafork
6a2b18fa65 made glfw more portable 2022-11-15 22:59:36 -05:00
seafork
75ec483e75 fixed compilation error on windows. 2022-11-15 22:09:06 -05:00
seafork
08f24307b8 cleaned up a comment 2022-11-15 19:44:24 -05:00
seafork
a9a9fa4e9e add example for glfw3 and opengl3 2022-11-15 19:27:21 -05:00
23 changed files with 8834 additions and 5515 deletions

View File

@@ -29,7 +29,9 @@ jobs:
sudo apt-get install -y luajit
elif [ "$GITHUB_OS" == "windows-latest" ];
then
vcpkg install luajit
vcpkg install luajit:x64-windows
echo "/C/vcpkg/installed/x64-windows/tools/luajit" >> $GITHUB_PATH
echo "/C/vcpkg/installed/x64-windows/bin" >> $GITHUB_PATH
fi
- name: Download Submodules
@@ -47,7 +49,6 @@ jobs:
- name: Generate Bindings
shell: bash
run: |
export PATH=$PATH:/C/vcpkg/packages/luajit_x86-windows/tools/:/C/vcpkg/packages/luajit_x86-windows/bin/
cd ./generator
bash ./generator.sh

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes:
* currently this wrapper is based on version [1.89 of Dear ImGui with internal api]
* currently this wrapper is based on version [1.89.7 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
@@ -42,8 +42,9 @@ Notes:
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
* You can pass compiler flags to generator.sh or generator.bat at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
* You are able to pass any extra argument to generator.sh (.bat) in the command-line.
* If you are using different options than cimgui repo and if you want to keep them after a cimgui update, you can keep them in a copy of generator.sh (.bat) outside of cimgui folder where `cd cimgui/generator` is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497
# generate binding
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
* with your prefered language you can use the lua or json files generated as in:

View File

@@ -0,0 +1,103 @@
Project(cimgui_glfw)
cmake_minimum_required(VERSION 3.11)
if(WIN32) # to mingw work as all the others
set(CMAKE_SHARED_LIBRARY_PREFIX "")
endif(WIN32)
set (CMAKE_CXX_STANDARD 11)
# general settings
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
set(BAKENDS_FOLDER "../../imgui/backends/")
else()
set(BAKENDS_FOLDER "../../imgui/examples/")
endif()
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/imgui_tables.cpp)
set(TABLES_SOURCE "../../imgui/imgui_tables.cpp")
else()
set(TABLES_SOURCE "")
endif()
include_directories(../../imgui)
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../)
set(IMGUI_SOURCES
../../cimgui.cpp
../../imgui/imgui.cpp
../../imgui/imgui_draw.cpp
../../imgui/imgui_demo.cpp
../../imgui/imgui_widgets.cpp
${TABLES_SOURCE}
)
set(IMGUI_SOURCES_sdl)
set(IMGUI_LIBRARIES )
if (WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
# optional adding freetype
option(IMGUI_FREETYPE "add Freetype2" OFF)
if(IMGUI_FREETYPE)
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
list(APPEND IMGUI_LIBRARIES freetype)
list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp)
add_definitions("-DCIMGUI_FREETYPE=1")
endif(IMGUI_FREETYPE)
# opengl3
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
include_directories(../../imgui/examples/libs/gl3w)
if(WIN32)
list(APPEND IMGUI_LIBRARIES opengl32)
else(WIN32) # Unix
list(APPEND IMGUI_LIBRARIES GL)
endif(WIN32)
# GLFW
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp)
set(GLFW_VERSION 3.3.8)
include(FetchContent)
FetchContent_Declare(
glfw
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz)
FetchContent_GetProperties(glfw)
if (NOT glfw_POPULATED)
set(FETCHCONTENT_QUIET NO)
FetchContent_Populate(glfw)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR})
endif()
# glfw/imgui gets confused if it is not statically built.
IF (WIN32)
add_library(cimgui STATIC ${IMGUI_SOURCES})
ELSE()
add_library(cimgui SHARED ${IMGUI_SOURCES})
ENDIF()
target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
# using library
include_directories(../../generator/output/)
add_executable(${PROJECT_NAME} main.c)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW)
if (MINGW)
target_link_options(${PROJECT_NAME} PRIVATE "-mconsole")
endif()
target_link_libraries(${PROJECT_NAME} ${IMGUI_SDL_LIBRARY} cimgui)

View File

@@ -0,0 +1,169 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h"
#include "cimgui_impl.h"
#include <GLFW/glfw3.h>
#include <stdio.h>
#ifdef _MSC_VER
#include <windows.h>
#endif
#include <GL/gl.h>
#ifdef IMGUI_HAS_IMSTR
#define igBegin igBegin_Str
#define igSliderFloat igSliderFloat_Str
#define igCheckbox igCheckbox_Str
#define igColorEdit3 igColorEdit3_Str
#define igButton igButton_Str
#endif
GLFWwindow *window;
int main(int argc, char *argv[])
{
if (!glfwInit())
return -1;
// Decide GL+GLSL versions
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
#if __APPLE__
// GL 3.2 Core + GLSL 150
const char *glsl_version = "#version 150";
#else
// GL 3.2 + GLSL 130
const char *glsl_version = "#version 130";
#endif
// just an extra window hint for resize
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
window = glfwCreateWindow(1024, 768, "Hello World!", NULL, NULL);
if (!window)
{
printf("Failed to create window! Terminating!\n");
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
// enable vsync
glfwSwapInterval(1);
// check opengl version sdl uses
printf("opengl version: %s\n", (char *)glGetString(GL_VERSION));
// setup imgui
igCreateContext(NULL);
// set docking
ImGuiIO *ioptr = igGetIO();
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
#ifdef IMGUI_HAS_DOCK
ioptr->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
#endif
ImGui_ImplGlfw_InitForOpenGL(window, true);
ImGui_ImplOpenGL3_Init(glsl_version);
igStyleColorsDark(NULL);
// ImFontAtlas_AddFontDefault(io.Fonts, NULL);
bool showDemoWindow = true;
bool showAnotherWindow = false;
ImVec4 clearColor;
clearColor.x = 0.45f;
clearColor.y = 0.55f;
clearColor.z = 0.60f;
clearColor.w = 1.00f;
// main event loop
bool quit = false;
while (!glfwWindowShouldClose(window))
{
glfwPollEvents();
// start imgui frame
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplGlfw_NewFrame();
igNewFrame();
if (showDemoWindow)
igShowDemoWindow(&showDemoWindow);
// show a simple window that we created ourselves.
{
static float f = 0.0f;
static int counter = 0;
igBegin("Hello, world!", NULL, 0);
igText("This is some useful text");
igCheckbox("Demo window", &showDemoWindow);
igCheckbox("Another window", &showAnotherWindow);
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
igColorEdit3("clear color", (float *)&clearColor, 0);
ImVec2 buttonSize;
buttonSize.x = 0;
buttonSize.y = 0;
if (igButton("Button", buttonSize))
counter++;
igSameLine(0.0f, -1.0f);
igText("counter = %d", counter);
igText("Application average %.3f ms/frame (%.1f FPS)",
1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
igEnd();
}
if (showAnotherWindow)
{
igBegin("imgui Another Window", &showAnotherWindow, 0);
igText("Hello from imgui");
ImVec2 buttonSize;
buttonSize.x = 0;
buttonSize.y = 0;
if (igButton("Close me", buttonSize)) {
showAnotherWindow = false;
}
igEnd();
}
// render
igRender();
glfwMakeContextCurrent(window);
glViewport(0, 0, (int)ioptr->DisplaySize.x, (int)ioptr->DisplaySize.y);
glClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w);
glClear(GL_COLOR_BUFFER_BIT);
ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData());
#ifdef IMGUI_HAS_DOCK
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
{
GLFWwindow *backup_current_window = glfwGetCurrentContext();
igUpdatePlatformWindows();
igRenderPlatformWindowsDefault(NULL, NULL);
glfwMakeContextCurrent(backup_current_window);
}
#endif
glfwSwapBuffers(window);
}
// clean up
ImGui_ImplOpenGL3_Shutdown();
ImGui_ImplGlfw_Shutdown();
igDestroyContext(NULL);
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}

View File

@@ -66,7 +66,7 @@ endif(WIN32)
#sdl2
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl.cpp)
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl2.cpp)
if(DEFINED SDL_PATH)
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
@@ -103,7 +103,7 @@ target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
#using library
include_directories(../../generator/output/)
add_executable(test_sdl main.c)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL2)
if (MINGW)
target_link_options(test_sdl PRIVATE "-mconsole")
endif()

View File

@@ -55,7 +55,7 @@ list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_vulkan.cpp)
#sdl2
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl.cpp)
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl2.cpp)
if(DEFINED SDL_PATH)
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
@@ -92,7 +92,7 @@ target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
#using library
include_directories(../../generator/output/)
add_executable(test_sdl main.c)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL2)
if (MINGW)
target_link_options(test_sdl PRIVATE "-mconsole")
endif()

View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.89" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.89.7" 18971 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//docking branch
#ifdef IMGUI_ENABLE_FREETYPE
@@ -360,13 +360,13 @@ CIMGUI_API void igPopStyleVar(int count)
{
return ImGui::PopStyleVar(count);
}
CIMGUI_API void igPushAllowKeyboardFocus(bool allow_keyboard_focus)
CIMGUI_API void igPushTabStop(bool tab_stop)
{
return ImGui::PushAllowKeyboardFocus(allow_keyboard_focus);
return ImGui::PushTabStop(tab_stop);
}
CIMGUI_API void igPopAllowKeyboardFocus()
CIMGUI_API void igPopTabStop()
{
return ImGui::PopAllowKeyboardFocus();
return ImGui::PopTabStop();
}
CIMGUI_API void igPushButtonRepeat(bool repeat)
{
@@ -622,6 +622,10 @@ CIMGUI_API void igBulletTextV(const char* fmt,va_list args)
{
return ImGui::BulletTextV(fmt,args);
}
CIMGUI_API void igSeparatorText(const char* label)
{
return ImGui::SeparatorText(label);
}
CIMGUI_API bool igButton(const char* label,const ImVec2 size)
{
return ImGui::Button(label,size);
@@ -1050,7 +1054,7 @@ CIMGUI_API bool igMenuItem_BoolPtr(const char* label,const char* shortcut,bool*
{
return ImGui::MenuItem(label,shortcut,p_selected,enabled);
}
CIMGUI_API void igBeginTooltip()
CIMGUI_API bool igBeginTooltip()
{
return ImGui::BeginTooltip();
}
@@ -1069,6 +1073,21 @@ CIMGUI_API void igSetTooltipV(const char* fmt,va_list args)
{
return ImGui::SetTooltipV(fmt,args);
}
CIMGUI_API bool igBeginItemTooltip()
{
return ImGui::BeginItemTooltip();
}
CIMGUI_API void igSetItemTooltip(const char* fmt,...)
{
va_list args;
va_start(args, fmt);
ImGui::SetItemTooltipV(fmt,args);
va_end(args);
}
CIMGUI_API void igSetItemTooltipV(const char* fmt,va_list args)
{
return ImGui::SetItemTooltipV(fmt,args);
}
CIMGUI_API bool igBeginPopup(const char* str_id,ImGuiWindowFlags flags)
{
return ImGui::BeginPopup(str_id,flags);
@@ -1337,6 +1356,10 @@ CIMGUI_API void igSetKeyboardFocusHere(int offset)
{
return ImGui::SetKeyboardFocusHere(offset);
}
CIMGUI_API void igSetNextItemAllowOverlap()
{
return ImGui::SetNextItemAllowOverlap();
}
CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags)
{
return ImGui::IsItemHovered(flags);
@@ -1389,6 +1412,10 @@ CIMGUI_API bool igIsAnyItemFocused()
{
return ImGui::IsAnyItemFocused();
}
CIMGUI_API ImGuiID igGetItemID()
{
return ImGui::GetItemID();
}
CIMGUI_API void igGetItemRectMin(ImVec2 *pOut)
{
*pOut = ImGui::GetItemRectMin();
@@ -1401,10 +1428,6 @@ CIMGUI_API void igGetItemRectSize(ImVec2 *pOut)
{
*pOut = ImGui::GetItemRectSize();
}
CIMGUI_API void igSetItemAllowOverlap()
{
return ImGui::SetItemAllowOverlap();
}
CIMGUI_API ImGuiViewport* igGetMainViewport()
{
return ImGui::GetMainViewport();
@@ -1673,9 +1696,13 @@ 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)
CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self,float wheel_x,float wheel_y)
{
return self->AddMouseWheelEvent(wh_x,wh_y);
return self->AddMouseWheelEvent(wheel_x,wheel_y);
}
CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self,ImGuiMouseSource source)
{
return self->AddMouseSourceEvent(source);
}
CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self,ImGuiID id)
{
@@ -1993,9 +2020,9 @@ CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{
return self->Step();
}
CIMGUI_API void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self,int item_min,int item_max)
CIMGUI_API void ImGuiListClipper_IncludeRangeByIndices(ImGuiListClipper* self,int item_begin,int item_end)
{
return self->ForceDisplayRangeByIndices(item_min,item_max);
return self->IncludeRangeByIndices(item_begin,item_end);
}
CIMGUI_API ImColor* ImColor_ImColor_Nil(void)
{
@@ -2641,11 +2668,11 @@ CIMGUI_API ImGuiKey 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,ImGuiID seed)
{
return ImHashData(data,data_size,seed);
}
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed)
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImGuiID seed)
{
return ImHashStr(data,data_size,seed);
}
@@ -2952,6 +2979,10 @@ CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f)
{
return ImIsFloatAboveGuaranteedIntegerPrecision(f);
}
CIMGUI_API float igImExponentialMovingAverage(float avg,float sample,int n)
{
return ImExponentialMovingAverage(avg,sample,n);
}
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);
@@ -2988,10 +3019,6 @@ CIMGUI_API float igImTriangleArea(const ImVec2 a,const ImVec2 b,const ImVec2 c)
{
return ImTriangleArea(a,b,c);
}
CIMGUI_API ImGuiDir igImGetDirQuadrantFromDelta(float dx,float dy)
{
return ImGetDirQuadrantFromDelta(dx,dy);
}
CIMGUI_API ImVec1* ImVec1_ImVec1_Nil(void)
{
return IM_NEW(ImVec1)();
@@ -3136,6 +3163,14 @@ CIMGUI_API void ImRect_ToVec4(ImVec4 *pOut,ImRect* self)
{
*pOut = self->ToVec4();
}
CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount)
{
return ImBitArrayGetStorageSizeInBytes(bitcount);
}
CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr,int bitcount)
{
return ImBitArrayClearAllBits(arr,bitcount);
}
CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr,int n)
{
return ImBitArrayTestBit(arr,n);
@@ -3220,6 +3255,10 @@ CIMGUI_API void ImDrawDataBuilder_FlattenIntoSingleLayer(ImDrawDataBuilder* self
{
return self->FlattenIntoSingleLayer();
}
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent)
{
return self->GetVarPtr(parent);
}
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v)
{
return IM_NEW(ImGuiStyleMod)(idx,v);
@@ -3264,6 +3303,18 @@ CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self,bool
{
return self->CalcNextTotalWidth(update_offsets);
}
CIMGUI_API ImGuiInputTextDeactivatedState* ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void)
{
return IM_NEW(ImGuiInputTextDeactivatedState)();
}
CIMGUI_API void ImGuiInputTextDeactivatedState_destroy(ImGuiInputTextDeactivatedState* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory(ImGuiInputTextDeactivatedState* self)
{
return self->ClearFreeMemory();
}
CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void)
{
return IM_NEW(ImGuiInputTextState)();
@@ -3372,13 +3423,13 @@ CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self)
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
{
return self->SetToCurrentState();
return self->SetToContextState(ctx);
}
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self)
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
{
return self->CompareWithCurrentState();
return self->CompareWithContextState(ctx);
}
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr)
{
@@ -3596,14 +3647,6 @@ CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiMetricsConfig* ImGuiMetricsConfig_ImGuiMetricsConfig(void)
{
return IM_NEW(ImGuiMetricsConfig)();
}
CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void)
{
return IM_NEW(ImGuiStackLevelInfo)();
@@ -3700,14 +3743,6 @@ CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self)
{
IM_DELETE(self);
}
CIMGUI_API int ImGuiTabBar_GetTabOrder(ImGuiTabBar* self,const ImGuiTabItem* tab)
{
return self->GetTabOrder(tab);
}
CIMGUI_API const char* ImGuiTabBar_GetTabName(ImGuiTabBar* self,const ImGuiTabItem* tab)
{
return self->GetTabName(tab);
}
CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void)
{
return IM_NEW(ImGuiTableColumn)();
@@ -3816,6 +3851,10 @@ CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,cons
{
return ImGui::SetWindowHitTestHole(window,pos,size);
}
CIMGUI_API void igSetWindowHiddendAndSkipItemsForCurrentFrame(ImGuiWindow* window)
{
return ImGui::SetWindowHiddendAndSkipItemsForCurrentFrame(window);
}
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r)
{
*pOut = ImGui::WindowRectAbsToRel(window,r);
@@ -3824,13 +3863,17 @@ CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRe
{
*pOut = ImGui::WindowRectRelToAbs(window,r);
}
CIMGUI_API void igFocusWindow(ImGuiWindow* window)
CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p)
{
return ImGui::FocusWindow(window);
*pOut = ImGui::WindowPosRelToAbs(window,p);
}
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window)
CIMGUI_API void igFocusWindow(ImGuiWindow* window,ImGuiFocusRequestFlags flags)
{
return ImGui::FocusTopMostWindowUnderOne(under_this_window,ignore_window);
return ImGui::FocusWindow(window,flags);
}
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window,ImGuiViewport* filter_viewport,ImGuiFocusRequestFlags flags)
{
return ImGui::FocusTopMostWindowUnderOne(under_this_window,ignore_window,filter_viewport,flags);
}
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window)
{
@@ -3952,18 +3995,6 @@ CIMGUI_API void igClearIniSettings()
{
return ImGui::ClearIniSettings();
}
CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name)
{
return ImGui::CreateNewWindowSettings(name);
}
CIMGUI_API ImGuiWindowSettings* igFindWindowSettings(ImGuiID id)
{
return ImGui::FindWindowSettings(id);
}
CIMGUI_API ImGuiWindowSettings* igFindOrCreateWindowSettings(const char* name)
{
return ImGui::FindOrCreateWindowSettings(name);
}
CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler)
{
return ImGui::AddSettingsHandler(handler);
@@ -3976,6 +4007,30 @@ CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name)
{
return ImGui::FindSettingsHandler(type_name);
}
CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name)
{
return ImGui::CreateNewWindowSettings(name);
}
CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id)
{
return ImGui::FindWindowSettingsByID(id);
}
CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow(ImGuiWindow* window)
{
return ImGui::FindWindowSettingsByWindow(window);
}
CIMGUI_API void igClearWindowSettings(const char* name)
{
return ImGui::ClearWindowSettings(name);
}
CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries,int count)
{
return ImGui::LocalizeRegisterEntries(entries,count);
}
CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key)
{
return ImGui::LocalizeGetMsg(key);
}
CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x)
{
return ImGui::SetScrollX(window,scroll_x);
@@ -4008,10 +4063,6 @@ CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rec
{
return ImGui::ScrollToBringRectIntoView(window,rect);
}
CIMGUI_API ImGuiID igGetItemID()
{
return ImGui::GetItemID();
}
CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags()
{
return ImGui::GetItemStatusFlags();
@@ -4060,10 +4111,14 @@ CIMGUI_API void igPushOverrideID(ImGuiID id)
{
return ImGui::PushOverrideID(id);
}
CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed)
CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin,const char* str_id_end,ImGuiID seed)
{
return ImGui::GetIDWithSeed(str_id_begin,str_id_end,seed);
}
CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n,ImGuiID seed)
{
return ImGui::GetIDWithSeed(n,seed);
}
CIMGUI_API void igItemSize_Vec2(const ImVec2 size,float text_baseline_y)
{
return ImGui::ItemSize(size,text_baseline_y);
@@ -4076,9 +4131,13 @@ CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiI
{
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,ImGuiItemFlags item_flags)
{
return ImGui::ItemHoverable(bb,id);
return ImGui::ItemHoverable(bb,id,item_flags);
}
CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window,ImGuiHoveredFlags flags)
{
return ImGui::IsWindowContentHoverable(window,flags);
}
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id)
{
@@ -4120,6 +4179,10 @@ CIMGUI_API void igPopItemFlag()
{
return ImGui::PopItemFlag();
}
CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx)
{
return ImGui::GetStyleVarInfo(idx);
}
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth)
{
return ImGui::LogBegin(type,auto_open_depth);
@@ -4164,7 +4227,7 @@ CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags)
{
return ImGui::BeginPopupEx(id,extra_flags);
}
CIMGUI_API void igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
{
return ImGui::BeginTooltipEx(tooltip_flags,extra_window_flags);
}
@@ -4180,6 +4243,10 @@ CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal()
{
return ImGui::GetTopMostAndVisiblePopupModal();
}
CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window)
{
return ImGui::FindBlockingModal(window);
}
CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window)
{
*pOut = ImGui::FindBestWindowPosForPopup(window);
@@ -4248,9 +4315,13 @@ CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlag
{
return ImGui::NavMoveRequestTryWrapping(window,move_flags);
}
CIMGUI_API void igActivateItem(ImGuiID id)
CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis)
{
return ImGui::ActivateItem(id);
return ImGui::NavClearPreferredPosForAxis(axis);
}
CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX()
{
return ImGui::NavUpdateCurrentWindowIsScrollPushableX();
}
CIMGUI_API void igSetNavWindow(ImGuiWindow* window)
{
@@ -4260,6 +4331,14 @@ CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scop
{
return ImGui::SetNavID(id,nav_layer,focus_scope_id,rect_rel);
}
CIMGUI_API void igFocusItem()
{
return ImGui::FocusItem();
}
CIMGUI_API void igActivateItemByID(ImGuiID id)
{
return ImGui::ActivateItemByID(id);
}
CIMGUI_API bool igIsNamedKey(ImGuiKey key)
{
return ImGui::IsNamedKey(key);
@@ -4272,19 +4351,35 @@ CIMGUI_API bool igIsLegacyKey(ImGuiKey key)
{
return ImGui::IsLegacyKey(key);
}
CIMGUI_API bool igIsKeyboardKey(ImGuiKey key)
{
return ImGui::IsKeyboardKey(key);
}
CIMGUI_API bool igIsGamepadKey(ImGuiKey key)
{
return ImGui::IsGamepadKey(key);
}
CIMGUI_API bool igIsMouseKey(ImGuiKey key)
{
return ImGui::IsMouseKey(key);
}
CIMGUI_API bool igIsAliasKey(ImGuiKey key)
{
return ImGui::IsAliasKey(key);
}
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key)
CIMGUI_API ImGuiKeyChord igConvertShortcutMod(ImGuiKeyChord key_chord)
{
return ImGui::ConvertSingleModFlagToKey(key);
return ImGui::ConvertShortcutMod(key_chord);
}
CIMGUI_API ImGuiKeyData* igGetKeyData(ImGuiKey key)
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx,ImGuiKey key)
{
return ImGui::ConvertSingleModFlagToKey(ctx,key);
}
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key)
{
return ImGui::GetKeyData(ctx,key);
}
CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key)
{
return ImGui::GetKeyData(key);
}
@@ -4300,9 +4395,9 @@ CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_th
{
return ImGui::IsMouseDragPastThreshold(button,lock_threshold);
}
CIMGUI_API void igGetKeyVector2d(ImVec2 *pOut,ImGuiKey key_left,ImGuiKey key_right,ImGuiKey key_up,ImGuiKey key_down)
CIMGUI_API void igGetKeyMagnitude2d(ImVec2 *pOut,ImGuiKey key_left,ImGuiKey key_right,ImGuiKey key_up,ImGuiKey key_down)
{
*pOut = ImGui::GetKeyVector2d(key_left,key_right,key_up,key_down);
*pOut = ImGui::GetKeyMagnitude2d(key_left,key_right,key_up,key_down);
}
CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis)
{
@@ -4332,6 +4427,10 @@ CIMGUI_API void igSetKeyOwner(ImGuiKey key,ImGuiID owner_id,ImGuiInputFlags flag
{
return ImGui::SetKeyOwner(key,owner_id,flags);
}
CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key,ImGuiID owner_id,ImGuiInputFlags flags)
{
return ImGui::SetKeyOwnersForKeyChord(key,owner_id,flags);
}
CIMGUI_API void igSetItemKeyOwner(ImGuiKey key,ImGuiInputFlags flags)
{
return ImGui::SetItemKeyOwner(key,flags);
@@ -4340,9 +4439,9 @@ CIMGUI_API bool igTestKeyOwner(ImGuiKey key,ImGuiID owner_id)
{
return ImGui::TestKeyOwner(key,owner_id);
}
CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiKey key)
CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx,ImGuiKey key)
{
return ImGui::GetKeyOwnerData(key);
return ImGui::GetKeyOwnerData(ctx,key);
}
CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key,ImGuiID owner_id)
{
@@ -4428,6 +4527,14 @@ CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* no
{
return ImGui::DockContextQueueUndockNode(ctx,node);
}
CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref)
{
return ImGui::DockContextProcessUndockWindow(ctx,window,clear_persistent_docking_ref);
}
CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node)
{
return ImGui::DockContextProcessUndockNode(ctx,node);
}
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)
{
return ImGui::DockContextCalcDropPosForDocking(target,target_node,payload_window,payload_node,split_dir,split_outer,out_pos);
@@ -4436,6 +4543,10 @@ CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id
{
return ImGui::DockContextFindNodeByID(ctx,id);
}
CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar)
{
return ImGui::DockNodeWindowMenuHandler_Default(ctx,node,tab_bar);
}
CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node)
{
return ImGui::DockNodeBeginAmendTabBar(node);
@@ -4696,6 +4807,10 @@ CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table,int
{
return ImGui::TableGetInstanceData(table,instance_no);
}
CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table,int instance_no)
{
return ImGui::TableGetInstanceID(table,instance_no);
}
CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table)
{
return ImGui::TableSortSpecsSanitize(table);
@@ -4740,7 +4855,7 @@ CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table,int
{
return ImGui::TableGetColumnName(table,column_n);
}
CIMGUI_API ImGuiID igTableGetColumnResizeID(const ImGuiTable* table,int column_n,int instance_no)
CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table,int column_n,int instance_no)
{
return ImGui::TableGetColumnResizeID(table,column_n,instance_no);
}
@@ -4800,6 +4915,10 @@ CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id)
{
return ImGui::TableSettingsFindByID(id);
}
CIMGUI_API ImGuiTabBar* igGetCurrentTabBar()
{
return ImGui::GetCurrentTabBar();
}
CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBarFlags flags,ImGuiDockNode* dock_node)
{
return ImGui::BeginTabBarEx(tab_bar,bb,flags,dock_node);
@@ -4808,10 +4927,26 @@ CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id
{
return ImGui::TabBarFindTabByID(tab_bar,tab_id);
}
CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar,int order)
{
return ImGui::TabBarFindTabByOrder(tab_bar,order);
}
CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar)
{
return ImGui::TabBarFindMostRecentlySelectedTabForActiveWindow(tab_bar);
}
CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar)
{
return ImGui::TabBarGetCurrentTab(tab_bar);
}
CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarGetTabOrder(tab_bar,tab);
}
CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarGetTabName(tab_bar,tab);
}
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window)
{
return ImGui::TabBarAddTab(tab_bar,tab_flags,window);
@@ -4824,11 +4959,15 @@ CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarCloseTab(tab_bar,tab);
}
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int offset)
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarQueueFocus(tab_bar,tab);
}
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset)
{
return ImGui::TabBarQueueReorder(tab_bar,tab,offset);
}
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,ImVec2 mouse_pos)
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,ImVec2 mouse_pos)
{
return ImGui::TabBarQueueReorderFromMousePos(tab_bar,tab,mouse_pos);
}
@@ -4940,6 +5079,30 @@ CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFl
{
return ImGui::ButtonEx(label,size_arg,flags);
}
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags)
{
return ImGui::ArrowButtonEx(str_id,dir,size_arg,flags);
}
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags)
{
return ImGui::ImageButtonEx(id,texture_id,size,uv0,uv1,bg_col,tint_col,flags);
}
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags,float thickness)
{
return ImGui::SeparatorEx(flags,thickness);
}
CIMGUI_API void igSeparatorTextEx(ImGuiID id,const char* label,const char* label_end,float extra_width)
{
return ImGui::SeparatorTextEx(id,label,label_end,extra_width);
}
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value)
{
return ImGui::CheckboxFlags(label,flags,flags_value);
}
CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value)
{
return ImGui::CheckboxFlags(label,flags,flags_value);
}
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos)
{
return ImGui::CloseButton(id,pos);
@@ -4948,10 +5111,6 @@ CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock
{
return ImGui::CollapseButton(id,pos,dock_node);
}
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags)
{
return ImGui::ArrowButtonEx(str_id,dir,size_arg,flags);
}
CIMGUI_API void igScrollbar(ImGuiAxis axis)
{
return ImGui::Scrollbar(axis);
@@ -4960,10 +5119,6 @@ CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p
{
return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags);
}
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col)
{
return ImGui::ImageButtonEx(id,texture_id,size,uv0,uv1,bg_col,tint_col);
}
CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis)
{
*pOut = ImGui::GetWindowScrollbarRect(window,axis);
@@ -4980,18 +5135,6 @@ CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window,ImGuiDir dir)
{
return ImGui::GetWindowResizeBorderID(window,dir);
}
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags)
{
return ImGui::SeparatorEx(flags);
}
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value)
{
return ImGui::CheckboxFlags(label,flags,flags_value);
}
CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value)
{
return ImGui::CheckboxFlags(label,flags,flags_value);
}
CIMGUI_API bool igButtonBehavior(const ImRect bb,ImGuiID id,bool* out_hovered,bool* out_held,ImGuiButtonFlags flags)
{
return ImGui::ButtonBehavior(bb,id,out_hovered,out_held,flags);
@@ -5052,6 +5195,10 @@ CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int b
{
return ImGui::InputTextEx(label,hint,buf,buf_size,size_arg,flags,callback,user_data);
}
CIMGUI_API void igInputTextDeactivateHook(ImGuiID id)
{
return ImGui::InputTextDeactivateHook(id);
}
CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags)
{
return ImGui::TempInputText(bb,id,label,buf,buf_size,flags);
@@ -5080,9 +5227,9 @@ CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col,ImGuiColorEditFla
{
return ImGui::ColorPickerOptionsPopup(ref_col,flags);
}
CIMGUI_API int igPlotEx(ImGuiPlotType plot_type,const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 frame_size)
CIMGUI_API int igPlotEx(ImGuiPlotType plot_type,const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,const ImVec2 size_arg)
{
return ImGui::PlotEx(plot_type,label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,frame_size);
return ImGui::PlotEx(plot_type,label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,size_arg);
}
CIMGUI_API void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list,int vert_start_idx,int vert_end_idx,ImVec2 gradient_p0,ImVec2 gradient_p1,ImU32 col0,ImU32 col1)
{
@@ -5219,6 +5366,10 @@ CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport)
{
return ImGui::DebugNodeViewport(viewport);
}
CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list)
{
return ImGui::DebugRenderKeyboardPreview(draw_list);
}
CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb)
{
return ImGui::DebugRenderViewportThumbnail(draw_list,viewport,bb);

352
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -68,6 +68,7 @@ local function ToStr(t,dometatables)
_ToStr(t,strTG,recG,nameG)
return table.concat(strTG)
end
M.ToStr = ToStr
function M.prtable(...)
for i=1, select('#', ...) do
local t = select(i, ...)
@@ -129,6 +130,23 @@ local function clean_comments(txt)
txt = txt:gsub("%s*//[^\n]*","")
return txt,comms
end
--dont keep commens above empty line
local function clean_outercomms(oc)
local oc2 = {}
for i,v in ipairs(oc) do
--print(string.format("%d\n%q",i,v))
if v:match"\n%s*\n" then
--print(string.format("match:\n%q",v))--,v:match"\n%s*\n"))
v=v:gsub("\n%s*\n","")
--print("clean",v)
oc2 = {}
else
--print"dont clean"
end
table.insert(oc2,v)
end
return table.concat(oc2)--,"\n")
end
local function strip(cad)
return cad:gsub("^%s*(.-)%s*$","%1") --remove initial and final spaces
end
@@ -317,16 +335,18 @@ local function getRE()
functionD_re = "^([^;{}]-%b()[\n%s%w]*%b{}%s-;*)",
--functionD_re = "^([^;{}]-%b()[^{}%(%)]*%b{})",
functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)%s*;",
comment_re = "^%s*//[^\n]*",
comment2_re = "^%s*/%*.-%*/"
comment_re = "^\n*%s*//[^\n]*",
comment2_re = "^%s*/%*.-%*/",
emptyline_re = "^\n%s*\n"
}
local resN = {"comment2_re","comment_re","functypedef_re","functype_re","function_re","functionD_re","typedef_st_re","struct_re","enum_re","union_re","namespace_re","class_re","typedef_re","vardef_re"}
local resN = {"comment2_re","comment_re","emptyline_re",
"functypedef_re","functype_re","function_re","functionD_re","typedef_st_re","struct_re","enum_re","union_re","namespace_re","class_re","typedef_re","vardef_re"}
return res,resN
end
local function isLeaf(re)
return (re ~= "typedef_st_re" and re ~= "struct_re" and re~="namespace_re" and re~="class_re")
return (re ~= "typedef_st_re" and re ~= "struct_re" and re~="namespace_re" and re~="class_re" and re~="union_re")
end
M.getRE = getRE
--takes preprocesed file in table cdefsor and returns items
@@ -348,7 +368,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
if i then
item = txt:sub(i,e)
--print("re_name",re_name,item)
--print("re_name:",re_name,string.format("%q",item))
------------------
--[[
--if re~=functionD_re then --skip defined functions
@@ -359,7 +379,8 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
table.insert(items[re_name],item)
--]]
--------------------
if re_name=="comment_re" or re_name=="comment2_re" then
if re_name=="comment_re" or re_name=="comment2_re" or re_name=="emptyline_re" then
--print("parit",item)
--[[
table.insert(outercomms,item)
-- comments to previous item
@@ -368,6 +389,13 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
itemarr[#itemarr].comments = prev .. item
end
--]]
--clean initial spaces
--item = item:gsub("^%s*(//.-)$","%1")
--if item:match"^[^\n%S]*" then
--print("commspace1",string.format("%q",item))
item = item:gsub("^[^\n%S]*(//.-)$","%1")
--print("commspace2",string.format("%q",item))
--end
--comments begining with \n will go to next item
if item:match("^%s*\n") then
table.insert(outercomms,item)
@@ -382,7 +410,8 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
--item,inercoms = clean_comments(item)
local itemold = item
item = item:gsub("extern __attribute__%(%(dllexport%)%) ","")
local comments = table.concat(outercomms,"\n") --..inercoms
local comments = clean_outercomms(outercomms)
--local comments = table.concat(outercomms,"\n") --..inercoms
if comments=="" then comments=nil end
outercomms = {}
local loca
@@ -408,16 +437,17 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
-- end
--error"no entry in linenumdict"
--take locat from parent
if itparent.locat then
if itparent and itparent.locat then
loca = itparent.locat
else
error"no entry in linenumdict"
loca = 0
--error"no entry in linenumdict"
end
end
else
error"no linenumdict"
end
table.insert(itemarr,{re_name=re_name,item=item,locat=loca})--,comments=comments})
table.insert(itemarr,{re_name=re_name,item=item,locat=loca,prevcomments=comments})
items[re_name] = items[re_name] or {}
table.insert(items[re_name],item)
end
@@ -957,15 +987,28 @@ local function ADDIMSTR_S(FP)
if dd.signature == defT2.signature then
doadd = false;
print("skip _S addition",defT2.cimguiname)
--M.prtable(defT2)
break
end
end
--delete imstrv generation
if FP.NOIMSTRV then
newcdefs[#newcdefs] = nil
cimf[t.signature] = nil
for i,v in ipairs(cimf) do
if v.signature == t.signature then
table.remove(cimf, i)
break
end
end
end
--add _S version
if doadd then
if doadd and not FP.NOCHAR then
cimf[#cimf+1] = defT2
cimf[defT2.signature] = defT2
newcdefs[#newcdefs+1] = {stname=t.stname,funcname=t.funcname,args=defT2.args,signature=defT2.signature,cimguiname=defT2.cimguiname,ret =defT2.ret}
end
end
else print("not cimguiname in");M.prtable(t)
end
@@ -1178,7 +1221,7 @@ function M.Parser()
end
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,self.COMMENTS_GENERATION) do
self:insert(line, tostring(loca)..":"..tostring(loca2))
table.insert(preprocessed,line)--
end
@@ -1267,6 +1310,21 @@ function M.Parser()
end
return itsarr
end
local function sanitize_comments(txt)
local txtclean = {}
local reg = "//[^\n\r]+"
local ini = 1
local i,e,a = txt:find(reg,ini)
while i do
table.insert(txtclean,txt:sub(ini,i-1))
local com = txt:sub(i,e):gsub("[{}]+","")
table.insert(txtclean,com)
ini = e + 1
i,e,a = txt:find(reg,ini)
end
table.insert(txtclean,txt:sub(ini,-1))
return table.concat(txtclean)
end
function par:parseItems()
self:initTypedefsDict()
@@ -1288,8 +1346,11 @@ function M.Parser()
table.insert(cdefs2,cdef[1])
end
local txt = table.concat(cdefs2,"\n")
--save_data("./preprocode"..tostring(self):gsub("table: ","")..".c",txt)
--clean bad positioned comments inside functionD_re
if self.COMMENTS_GENERATION then
print"cleaning { and } inside comments"
txt = sanitize_comments(txt)
print"cleaning comments inside functionD_re--------------"
---[[
local nn = 0
@@ -1315,6 +1376,7 @@ function M.Parser()
print("end cleaning ------------------------------",nn)
txt = table.concat(txtclean)
end
--save_data("./preparse"..tostring(self):gsub("table: ","")..".c",txt)
--]]
self.itemsarr = par:parseItemsR2(txt)
itemsarr = self.itemsarr
@@ -1388,48 +1450,58 @@ function M.Parser()
return ""
end --here we avoid empty structs
for j,it in ipairs(itlist) do
if (it.re_name == "vardef_re" or it.re_name == "functype_re" or it.re_name == "union_re") then
if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables
local it2 = it.item --:gsub("<([%w_]+)>","_%1") --templates
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
local ttype,template,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
it2=code2
if (it.re_name == "vardef_re" or it.re_name == "functype_re") then -- or it.re_name == "union_re") then
if not (it.re_name == "vardef_re" and it.item:match"static") then --skip static variables
local it2 = it.item --:gsub("<([%w_]+)>","_%1") --templates
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
local ttype,template,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
it2=code2
end
if doheader then
local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
predeclare = predeclare .. templatetypedef
end
end
if doheader then
local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
predeclare = predeclare .. templatetypedef
--clean mutable
it2 = it2:gsub("mutable","")
--clean namespaces
it2 = it2:gsub("%w+::","")
--clean initializations
if it.re_name == "vardef_re" then
it2 = it2:gsub("%s*=.+;",";")
end
table.insert(outtab,it2)
table.insert(commtab,{above=it.prevcomments,sameline=it.comments})--it.comments or "")
end
--clean mutable
it2 = it2:gsub("mutable","")
--clean namespaces
it2 = it2:gsub("%w+::","")
--clean initializations
if it.re_name == "vardef_re" then
it2 = it2:gsub("%s*=.+;",";")
end
table.insert(outtab,it2)
table.insert(commtab,it.comments or "")
elseif it.re_name == "union_re" then
local com = ""
for _,ch in ipairs(it.childs) do
com = com .. (ch.comments or "")
end
local item = clean_comments(it.item)
table.insert(outtab,item)
com = (com ~= "") and com or nil
table.insert(commtab,{above=it.prevcomments,sameline=com})
elseif it.re_name == "struct_re" then
--check if has declaration
local decl = it.item:match"%b{}%s*([^%s}{]+)%s*;"
if decl then
table.insert(outtab,"\n "..it.name.." "..decl..";")
table.insert(commtab,it.comments or "")
table.insert(commtab,{above=it.prevcomments,sameline=it.comments})--it.comments or "")
end
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
local tst = "\ntypedef struct "..structname.." "..structname..";\n"
if check_unique_typedefs(tst,uniques) then
--table.insert(outtab,tst)
--print("xxxxxxxxxxxxxxxinsert typedef",structname)
cleanst = cleanst .. tst
end
end
predeclare = predeclare .. predec .. cleanst
elseif it.re_name == "enum_re" then
@@ -1624,7 +1696,11 @@ function M.Parser()
end
-----------
function par:parse_struct_line(line,outtab,comment)
comment = comment ~= "" and comment or nil
if type(comment)=="string" then
comment = comment ~= "" and comment or nil
else
comment = next(comment) and comment or nil
end
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+%(%*)([%w_]+)(%)%([^%(%)]*%))"
line = clean_spaces(line)
@@ -1677,6 +1753,8 @@ function M.Parser()
print("enumtype",enumtype)
outtab.enumtypes[enumname] = enumtype
end
outtab.enum_comments[enumname] = {sameline=it.comments, above=it.prevcomments}
outtab.enum_comments[enumname] = next(outtab.enum_comments[enumname]) and outtab.enum_comments[enumname] or nil
outtab.enums[enumname] = {}
table.insert(enumsordered,enumname)
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
@@ -1698,6 +1776,7 @@ function M.Parser()
for j,line in ipairs(enumarr) do
local comment
line, comment = split_comment(line)
comment = comment and comment:gsub("^[^\n%S]*(//.-)$","%1") or nil
assert(line~="")
local name,value = line:match("%s*([%w_]+)%s*=%s*([^,]+)")
if value then
@@ -1725,7 +1804,7 @@ function M.Parser()
par.enums_for_table = enums_for_table
function par:gen_structs_and_enums_table()
print"--------------gen_structs_and_enums_table"
local outtab = {enums={},structs={},locations={},enumtypes={}}
local outtab = {enums={},structs={},locations={},enumtypes={},struct_comments={},enum_comments={}}
self.typedefs_table = {}
local enumsordered = {}
unnamed_enum_counter = 0
@@ -1759,6 +1838,8 @@ function M.Parser()
if not structname then print("NO NAME",cleanst,it.item) end
if structname and not self.typenames[structname] then
outtab.structs[structname] = {}
outtab.struct_comments[structname] = {sameline=it.comments,above=it.prevcomments}
outtab.struct_comments[structname] = next(outtab.struct_comments[structname]) and outtab.struct_comments[structname] or nil
outtab.locations[structname] = it.locat
for j=3,#strtab-1 do
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
@@ -1829,6 +1910,11 @@ function M.Parser()
end
end
end
--delete comments tables if not desired
if not self.COMMENTS_GENERATION then
outtab.enum_comments = nil
outtab.struct_comments = nil
end
self.structs_and_enums_table = outtab
return outtab
end
@@ -2121,7 +2207,7 @@ M.serializeTableF = function(t)
return M.serializeTable("defs",t).."\nreturn defs"
end
--iterates lines from a gcc/clang -E in a specific location
local function location(file,locpathT,defines,COMPILER)
local function location(file,locpathT,defines,COMPILER,keepemptylines)
local define_re = "^#define%s+([^%s]+)%s+(.+)$"
local number_re = "^-?[0-9]+u*$"
local hex_re = "0x[0-9a-fA-F]+u*$"
@@ -2186,7 +2272,7 @@ local function location(file,locpathT,defines,COMPILER)
local loc_num_real = loc_num + loc_num_incr
loc_num_incr = loc_num_incr + 1
--if doprint then print(which_locationold,which_location) end
if line:match("%S") then --nothing on emptyline
if keepemptylines or line:match("%S") then --nothing on emptyline
if (which_locationold~=which_location) or (loc_num_realold and loc_num_realold < loc_num_real) then
--old line complete
--doprint = false
@@ -2395,11 +2481,22 @@ M.func_header_generate = func_header_generate
local code = [[
enum pedro : int ;
int pedro;
//linea1
//linea2
enum coco
{
uno,
dos
};
]]
local parser = M.Parser()
for line in code:gmatch("[^\n]+") do
--for line in code:gmatch("[^\n]+") do
for line in code:gmatch'(.-)\r?\n' do
--print("inserting",line)
parser:insert(line,"11")
end

View File

@@ -15,10 +15,10 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
::process files
:: arg[1] compiler name gcc, clang or cl
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
:: examples: "" "internal" "internal freetype comments"
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 %*
::leave console open
cmd /k

View File

@@ -9,6 +9,8 @@ local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false
local NOCHAR = script_args[2]:match("nochar") and true or false
local NOIMSTRV = script_args[2]:match("noimstrv") and true or false
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
local CFLAGS = ""
local CPRE,CTEST
@@ -75,6 +77,9 @@ local cimgui_manuals = {
--igColorConvertRGBtoHSV = true,
--igColorConvertHSVtoRGB = true
}
local cimgui_skipped = {
--igShowDemoWindow = true
}
--------------------------------------------------------------------------
--this table is a dictionary to force a naming of function overloading (instead of algorythmic generated)
--first level is cimguiname without postfix, second level is the signature of the function, value is the
@@ -246,7 +251,9 @@ local function cimgui_generation(parser)
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
end
if gdefines.IMGUI_HAS_IMSTR then
if not (NOCHAR or NOIMSTRV) then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
end
end
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
@@ -269,12 +276,12 @@ end
--------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK--------------------------
--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","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION)
cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION .. " "..(gdefines.IMGUI_VERSION_NUM or ""))
if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api
]]
@@ -288,7 +295,10 @@ if gdefines.IMGUI_HAS_DOCK then
]]
end
assert(not NOCHAR or not NOIMSTRV,"nochar and noimstrv cant be set at the same time")
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("NOCHAR",NOCHAR)
print("NOIMSTRV",NOIMSTRV)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
@@ -304,9 +314,12 @@ local function parseImGuiHeader(header,names)
end
parser.cname_overloads = cimgui_overloads
parser.manuals = cimgui_manuals
parser.skipped = cimgui_skipped
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto
parser.COMMENTS_GENERATION = COMMENTS_GENERATION
parser.NOCHAR = NOCHAR
parser.NOIMSTRV = NOIMSTRV
local defines = parser:take_lines(CPRE..header,names,COMPILER)
return parser
@@ -336,6 +349,8 @@ local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
os.remove("headers.h")
parser1:do_parse()
--to debug items parsing
--save_data("./itemsarr2.txt",cpp2ffi.ToStr(parser1.itemsarr))
save_data("./output/overloads.txt",parser1.overloadstxt)
cimgui_generation(parser1)

View File

@@ -1,4 +1,4 @@
#!/usr/bin/sh
#!/bin/bash
# this script must be executed in this directory
# all the output goes to generator/output folder
@@ -13,7 +13,65 @@
#process files
# arg[1] compiler name gcc, clang, or cl
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
# examples: "" "internal" "internal freetype" "comments internal"
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
#
# parse command line arguments
# ref: https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash
POSITIONAL_ARGS=()
TARGETS="internal noimstrv"
CFLAGS="glfw opengl3 opengl2 sdl2"
help() {
cat <<EOF
Usage of generator.sh:
-t --target specify which imgui features should be generated
(default: $TARGETS)
-c --cflags specify additional gcc flags
(default: $CFLAGS
-h --help show this message and exit
EOF
}
while [[ $# -gt 0 ]]; do
case $1 in
-c|--cflags)
CFLAGS="$2"
shift # past argument
shift # past value
;;
-t|--target)
TARGETS="$2"
shift # past argument
shift # past value
;;
-h|--help)
help
exit 0
;;
-*|--*)
echo "Unknown option $1"
help
exit 1
;;
*)
POSITIONAL_ARGS+=("$1") # save positional arg
shift # past argument
;;
esac
done
set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters
# if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]];
# then
# suffix='.exe'
# fi
echo "CFLAGS: " $CFLAGS
echo "TARGETS: " $TARGETS
luajit$suffix ./generator.lua gcc "$TARGETS" $CFLAGS

View File

@@ -10,6 +10,7 @@ CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
CIMGUI_API void ImGui_ImplGlfw_NewFrame(void);
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_SetCallbacksChainForAllWindows(bool chain_for_all_windows);
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
@@ -42,7 +43,7 @@ CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
#endif
#ifdef CIMGUI_USE_SDL
#ifdef CIMGUI_USE_SDL2
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;

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",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw:46",
"location": "imgui_impl_glfw:51",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void",
"signature": "(GLFWwindow*,unsigned int)",
@@ -42,7 +42,7 @@
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorEnterCallback",
"location": "imgui_impl_glfw:41",
"location": "imgui_impl_glfw:46",
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
@@ -71,7 +71,7 @@
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
"location": "imgui_impl_glfw:42",
"location": "imgui_impl_glfw:47",
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
@@ -96,7 +96,7 @@
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
"location": "imgui_impl_glfw:27",
"location": "imgui_impl_glfw:28",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -121,7 +121,7 @@
"cimguiname": "ImGui_ImplGlfw_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOther",
"location": "imgui_impl_glfw:29",
"location": "imgui_impl_glfw:30",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -146,7 +146,7 @@
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForVulkan",
"location": "imgui_impl_glfw:28",
"location": "imgui_impl_glfw:29",
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -167,7 +167,7 @@
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
"location": "imgui_impl_glfw:36",
"location": "imgui_impl_glfw:37",
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
@@ -204,7 +204,7 @@
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw:45",
"location": "imgui_impl_glfw:50",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)",
@@ -229,7 +229,7 @@
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MonitorCallback",
"location": "imgui_impl_glfw:47",
"location": "imgui_impl_glfw:52",
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"ret": "void",
"signature": "(GLFWmonitor*,int)",
@@ -262,7 +262,7 @@
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw:43",
"location": "imgui_impl_glfw:48",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int)",
@@ -278,7 +278,7 @@
"cimguiname": "ImGui_ImplGlfw_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplGlfw_NewFrame",
"location": "imgui_impl_glfw:31",
"location": "imgui_impl_glfw:32",
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
"ret": "void",
"signature": "()",
@@ -299,7 +299,7 @@
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
"location": "imgui_impl_glfw:37",
"location": "imgui_impl_glfw:38",
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
@@ -328,13 +328,34 @@
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw:44",
"location": "imgui_impl_glfw:49",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
"stname": ""
}
],
"ImGui_ImplGlfw_SetCallbacksChainForAllWindows": [
{
"args": "(bool chain_for_all_windows)",
"argsT": [
{
"name": "chain_for_all_windows",
"type": "bool"
}
],
"argsoriginal": "(bool chain_for_all_windows)",
"call_args": "(chain_for_all_windows)",
"cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"defaults": {},
"funcname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"location": "imgui_impl_glfw:42",
"ov_cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"ret": "void",
"signature": "(bool)",
"stname": ""
}
],
"ImGui_ImplGlfw_Shutdown": [
{
"args": "()",
@@ -344,7 +365,7 @@
"cimguiname": "ImGui_ImplGlfw_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplGlfw_Shutdown",
"location": "imgui_impl_glfw:30",
"location": "imgui_impl_glfw:31",
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
"ret": "void",
"signature": "()",
@@ -369,7 +390,7 @@
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
"location": "imgui_impl_glfw:40",
"location": "imgui_impl_glfw:45",
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
@@ -518,7 +539,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"location": "imgui_impl_opengl3:33",
"location": "imgui_impl_opengl3:38",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -534,7 +555,7 @@
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"location": "imgui_impl_opengl3:31",
"location": "imgui_impl_opengl3:36",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -550,7 +571,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"location": "imgui_impl_opengl3:34",
"location": "imgui_impl_opengl3:39",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -566,7 +587,7 @@
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"location": "imgui_impl_opengl3:32",
"location": "imgui_impl_opengl3:37",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -589,7 +610,7 @@
"glsl_version": "nullptr"
},
"funcname": "ImGui_ImplOpenGL3_Init",
"location": "imgui_impl_opengl3:25",
"location": "imgui_impl_opengl3:30",
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
"ret": "bool",
"signature": "(const char*)",
@@ -605,7 +626,7 @@
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_NewFrame",
"location": "imgui_impl_opengl3:27",
"location": "imgui_impl_opengl3:32",
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"ret": "void",
"signature": "()",
@@ -626,7 +647,7 @@
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
"location": "imgui_impl_opengl3:28",
"location": "imgui_impl_opengl3:33",
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -642,7 +663,7 @@
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_Shutdown",
"location": "imgui_impl_opengl3:26",
"location": "imgui_impl_opengl3:31",
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"ret": "void",
"signature": "()",
@@ -663,7 +684,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl:29",
"location": "imgui_impl_sdl2:30",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -684,7 +705,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl:30",
"location": "imgui_impl_sdl2:31",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -709,7 +730,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl:27",
"location": "imgui_impl_sdl2:28",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
@@ -734,7 +755,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
"location": "imgui_impl_sdl:31",
"location": "imgui_impl_sdl2:32",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
@@ -755,7 +776,7 @@
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl:28",
"location": "imgui_impl_sdl2:29",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -771,7 +792,7 @@
"cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl:33",
"location": "imgui_impl_sdl2:34",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -792,7 +813,7 @@
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl:34",
"location": "imgui_impl_sdl2:35",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
@@ -808,7 +829,7 @@
"cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl:32",
"location": "imgui_impl_sdl2:33",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void",
"signature": "()",

View File

@@ -14,7 +14,7 @@ defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:46"
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:51"
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
@@ -35,7 +35,7 @@ defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["call_args"] = "(window,entered)"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:41"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:46"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["signature"] = "(GLFWwindow*,int)"
@@ -59,7 +59,7 @@ 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:42"
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["location"] = "imgui_impl_glfw:47"
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)"
@@ -80,7 +80,7 @@ defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:27"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:28"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
@@ -101,7 +101,7 @@ defs["ImGui_ImplGlfw_InitForOther"][1]["call_args"] = "(window,install_callbacks
defs["ImGui_ImplGlfw_InitForOther"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForOther"][1]["funcname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["location"] = "imgui_impl_glfw:29"
defs["ImGui_ImplGlfw_InitForOther"][1]["location"] = "imgui_impl_glfw:30"
defs["ImGui_ImplGlfw_InitForOther"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOther"
defs["ImGui_ImplGlfw_InitForOther"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForOther"][1]["signature"] = "(GLFWwindow*,bool)"
@@ -122,7 +122,7 @@ defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callback
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:28"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:29"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
@@ -140,7 +140,7 @@ 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:36"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["location"] = "imgui_impl_glfw:37"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["signature"] = "(GLFWwindow*)"
@@ -170,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]["defaults"] = {}
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:45"
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:50"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
@@ -191,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]["defaults"] = {}
defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:47"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:52"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)"
@@ -218,7 +218,7 @@ defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,act
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:43"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:48"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
@@ -233,7 +233,7 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:31"
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:32"
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
@@ -251,7 +251,7 @@ 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:37"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["location"] = "imgui_impl_glfw:38"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["signature"] = "(GLFWwindow*)"
@@ -275,12 +275,30 @@ defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:44"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:49"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
defs["ImGui_ImplGlfw_ScrollCallback"][1]["stname"] = ""
defs["ImGui_ImplGlfw_ScrollCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_ScrollCallback"][1]
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"] = {}
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1] = {}
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["args"] = "(bool chain_for_all_windows)"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["argsT"] = {}
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["argsT"][1] = {}
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["argsT"][1]["name"] = "chain_for_all_windows"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["argsT"][1]["type"] = "bool"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["argsoriginal"] = "(bool chain_for_all_windows)"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["call_args"] = "(chain_for_all_windows)"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["cimguiname"] = "ImGui_ImplGlfw_SetCallbacksChainForAllWindows"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["funcname"] = "ImGui_ImplGlfw_SetCallbacksChainForAllWindows"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["location"] = "imgui_impl_glfw:42"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_SetCallbacksChainForAllWindows"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["signature"] = "(bool)"
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]["stname"] = ""
defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"]["(bool)"] = defs["ImGui_ImplGlfw_SetCallbacksChainForAllWindows"][1]
defs["ImGui_ImplGlfw_Shutdown"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["args"] = "()"
@@ -290,7 +308,7 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:30"
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:31"
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
@@ -311,7 +329,7 @@ defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["call_args"] = "(window,focused)"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["defaults"] = {}
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["funcname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:40"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:45"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ret"] = "void"
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["signature"] = "(GLFWwindow*,int)"
@@ -449,7 +467,7 @@ defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:33"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:38"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
@@ -464,7 +482,7 @@ defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:36"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
@@ -479,7 +497,7 @@ defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:34"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:39"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -494,7 +512,7 @@ defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:32"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:37"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
@@ -513,7 +531,7 @@ defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "nullptr"
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:25"
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:30"
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
@@ -528,7 +546,7 @@ defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:27"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:32"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
@@ -546,7 +564,7 @@ defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:28"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:33"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -561,7 +579,7 @@ defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:26"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:31"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
@@ -579,7 +597,7 @@ defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl2:30"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
@@ -597,7 +615,7 @@ defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:30"
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl2:31"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
@@ -618,7 +636,7 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:27"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl2:28"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
@@ -639,7 +657,7 @@ defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["call_args"] = "(window,renderer)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl:31"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl2:32"
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*)"
@@ -657,7 +675,7 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl2:29"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
@@ -672,7 +690,7 @@ defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:33"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl2:34"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()"
@@ -690,7 +708,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:34"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl2:35"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -705,7 +723,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:32"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl2:33"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

View File

@@ -123,6 +123,12 @@ igGetID 3
1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetID_StrStr (const char*,const char*)
3 ImGuiID igGetID_Ptr (const void*)
igGetIDWithSeed 2
1 ImGuiID igGetIDWithSeed_Str (const char*,const char*,ImGuiID)
2 ImGuiID igGetIDWithSeed_Int (int,ImGuiID)
igGetKeyData 2
1 ImGuiKeyData* igGetKeyData_ContextPtr (ImGuiContext*,ImGuiKey)
2 ImGuiKeyData* igGetKeyData_Key (ImGuiKey)
igImAbs 3
1 int igImAbs_Int (int)
2 float igImAbs_Float (float)
@@ -275,4 +281,4 @@ igValue 4
2 void igValue_Int (const char*,int)
3 void igValue_Uint (const char*,unsigned int)
4 void igValue_Float (const char*,float,const char*)
193 overloaded
197 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
{
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitArrayPtr": "ImU32*",
"ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
@@ -41,6 +42,7 @@
"ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
"ImGuiDataVarInfo": "struct ImGuiDataVarInfo",
"ImGuiDebugLogFlags": "int",
"ImGuiDir": "int",
"ImGuiDockContext": "struct ImGuiDockContext",
@@ -50,6 +52,7 @@
"ImGuiDockRequest": "struct ImGuiDockRequest",
"ImGuiDragDropFlags": "int",
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
"ImGuiFocusRequestFlags": "int",
"ImGuiFocusedFlags": "int",
"ImGuiGroupData": "struct ImGuiGroupData",
"ImGuiHoveredFlags": "int",
@@ -66,6 +69,8 @@
"ImGuiInputFlags": "int",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData",
"ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState",
"ImGuiInputTextFlags": "int",
"ImGuiInputTextState": "struct ImGuiInputTextState",
"ImGuiItemFlags": "int",
@@ -81,6 +86,7 @@
"ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiLocEntry": "struct ImGuiLocEntry",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
@@ -131,11 +137,11 @@
"ImGuiTableCellData": "struct ImGuiTableCellData",
"ImGuiTableColumn": "struct ImGuiTableColumn",
"ImGuiTableColumnFlags": "int",
"ImGuiTableColumnIdx": "ImS8",
"ImGuiTableColumnIdx": "ImS16",
"ImGuiTableColumnSettings": "struct ImGuiTableColumnSettings",
"ImGuiTableColumnSortSpecs": "struct ImGuiTableColumnSortSpecs",
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
"ImGuiTableDrawChannelIdx": "ImU8",
"ImGuiTableDrawChannelIdx": "ImU16",
"ImGuiTableFlags": "int",
"ImGuiTableInstanceData": "struct ImGuiTableInstanceData",
"ImGuiTableRowFlags": "int",

View File

@@ -1,5 +1,6 @@
local defs = {}
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
defs["ImBitArrayPtr"] = "ImU32*"
defs["ImBitVector"] = "struct ImBitVector"
defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
@@ -41,6 +42,7 @@ defs["ImGuiDataAuthority"] = "int"
defs["ImGuiDataType"] = "int"
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo"
defs["ImGuiDebugLogFlags"] = "int"
defs["ImGuiDir"] = "int"
defs["ImGuiDockContext"] = "struct ImGuiDockContext"
@@ -50,6 +52,7 @@ defs["ImGuiDockNodeSettings"] = "struct ImGuiDockNodeSettings"
defs["ImGuiDockRequest"] = "struct ImGuiDockRequest"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
defs["ImGuiFocusRequestFlags"] = "int"
defs["ImGuiFocusedFlags"] = "int"
defs["ImGuiGroupData"] = "struct ImGuiGroupData"
defs["ImGuiHoveredFlags"] = "int"
@@ -66,6 +69,8 @@ defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
defs["ImGuiInputFlags"] = "int"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextDeactivateData"] = "struct ImGuiInputTextDeactivateData"
defs["ImGuiInputTextDeactivatedState"] = "struct ImGuiInputTextDeactivatedState"
defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemFlags"] = "int"
@@ -81,6 +86,7 @@ defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
@@ -131,11 +137,11 @@ defs["ImGuiTableBgTarget"] = "int"
defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
defs["ImGuiTableColumnFlags"] = "int"
defs["ImGuiTableColumnIdx"] = "ImS8"
defs["ImGuiTableColumnIdx"] = "ImS16"
defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
defs["ImGuiTableDrawChannelIdx"] = "ImU8"
defs["ImGuiTableDrawChannelIdx"] = "ImU16"
defs["ImGuiTableFlags"] = "int"
defs["ImGuiTableInstanceData"] = "struct ImGuiTableInstanceData"
defs["ImGuiTableRowFlags"] = "int"

2
imgui

Submodule imgui updated: 94e850fd6f...dc3e531ff2