Compare commits

...

35 Commits

Author SHA1 Message Date
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 7608 additions and 4974 deletions

View File

@@ -30,6 +30,8 @@ jobs:
elif [ "$GITHUB_OS" == "windows-latest" ];
then
vcpkg install luajit
echo "/C/vcpkg/packages/luajit_x86-windows/tools" >> $GITHUB_PATH
echo "/C/vcpkg/packages/luajit_x86-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.5 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.5" 18950 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();
}
@@ -1389,6 +1393,10 @@ CIMGUI_API bool igIsAnyItemFocused()
{
return ImGui::IsAnyItemFocused();
}
CIMGUI_API ImGuiID igGetItemID()
{
return ImGui::GetItemID();
}
CIMGUI_API void igGetItemRectMin(ImVec2 *pOut)
{
*pOut = ImGui::GetItemRectMin();
@@ -1673,9 +1681,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)
{
@@ -2641,11 +2653,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 +2964,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);
@@ -3136,6 +3152,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 +3244,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 +3292,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 +3412,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 +3636,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 +3732,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 +3840,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);
@@ -3828,9 +3856,9 @@ CIMGUI_API void igFocusWindow(ImGuiWindow* window)
{
return ImGui::FocusWindow(window);
}
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window)
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window,ImGuiViewport* filter_viewport)
{
return ImGui::FocusTopMostWindowUnderOne(under_this_window,ignore_window);
return ImGui::FocusTopMostWindowUnderOne(under_this_window,ignore_window,filter_viewport);
}
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window)
{
@@ -3952,18 +3980,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 +3992,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 +4048,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 +4096,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);
@@ -4080,6 +4120,10 @@ CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id)
{
return ImGui::ItemHoverable(bb,id);
}
CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window,ImGuiHoveredFlags flags)
{
return ImGui::IsWindowContentHoverable(window,flags);
}
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id)
{
return ImGui::IsClippedEx(bb,id);
@@ -4120,6 +4164,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 +4212,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);
}
@@ -4272,19 +4320,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 +4364,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 +4396,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 +4408,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 +4496,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 +4512,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 +4776,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 +4824,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 +4884,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 +4896,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 +4928,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 +5048,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)
{
return ImGui::SeparatorEx(flags);
}
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 +5080,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 +5088,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 +5104,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 +5164,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 +5196,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 +5335,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);

246
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.89" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.89.5" 18950 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//docking branch
#ifndef CIMGUI_INCLUDED
@@ -79,6 +79,7 @@ typedef struct ImRect ImRect;
typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImGuiContextHook ImGuiContextHook;
typedef struct ImGuiDataVarInfo ImGuiDataVarInfo;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiDockContext ImGuiDockContext;
typedef struct ImGuiDockRequest ImGuiDockRequest;
@@ -86,7 +87,9 @@ typedef struct ImGuiDockNode ImGuiDockNode;
typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData;
typedef struct ImGuiLastItemData ImGuiLastItemData;
typedef struct ImGuiLocEntry ImGuiLocEntry;
typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiNavItemData ImGuiNavItemData;
typedef struct ImGuiMetricsConfig ImGuiMetricsConfig;
@@ -638,8 +641,8 @@ ImGuiMod_Ctrl=1 << 12,
ImGuiMod_Shift=1 << 13,
ImGuiMod_Alt=1 << 14,
ImGuiMod_Super=1 << 15,
ImGuiMod_Mask_=0xF000,
ImGuiMod_Shortcut=ImGuiMod_Ctrl,
ImGuiMod_Shortcut=1 << 11,
ImGuiMod_Mask_=0xF800,
ImGuiKey_NamedKey_BEGIN=512,
ImGuiKey_NamedKey_END=ImGuiKey_COUNT,
ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN,
@@ -760,6 +763,9 @@ typedef enum {
ImGuiStyleVar_TabRounding,
ImGuiStyleVar_ButtonTextAlign,
ImGuiStyleVar_SelectableTextAlign,
ImGuiStyleVar_SeparatorTextBorderSize,
ImGuiStyleVar_SeparatorTextAlign,
ImGuiStyleVar_SeparatorTextPadding,
ImGuiStyleVar_COUNT
}ImGuiStyleVar_;
typedef enum {
@@ -828,6 +834,12 @@ typedef enum {
ImGuiMouseCursor_NotAllowed,
ImGuiMouseCursor_COUNT
}ImGuiMouseCursor_;
typedef enum {
ImGuiMouseSource_Mouse=0,
ImGuiMouseSource_TouchScreen=1,
ImGuiMouseSource_Pen=2,
ImGuiMouseSource_COUNT=3,
}ImGuiMouseSource;
typedef enum {
ImGuiCond_None = 0,
ImGuiCond_Always = 1 << 0,
@@ -869,6 +881,9 @@ struct ImGuiStyle
ImGuiDir ColorButtonPosition;
ImVec2 ButtonTextAlign;
ImVec2 SelectableTextAlign;
float SeparatorTextBorderSize;
ImVec2 SeparatorTextAlign;
ImVec2 SeparatorTextPadding;
ImVec2 DisplayWindowPadding;
ImVec2 DisplaySafeAreaPadding;
float MouseCursorScale;
@@ -927,6 +942,8 @@ struct ImGuiIO
bool ConfigWindowsResizeFromEdges;
bool ConfigWindowsMoveFromTitleBarOnly;
float ConfigMemoryCompactTimer;
bool ConfigDebugBeginReturnValueOnce;
bool ConfigDebugBeginReturnValueLoop;
const char* BackendPlatformName;
const char* BackendRendererName;
void* BackendPlatformUserData;
@@ -954,10 +971,12 @@ struct ImGuiIO
int KeyMap[ImGuiKey_COUNT];
bool KeysDown[ImGuiKey_COUNT];
float NavInputs[ImGuiNavInput_COUNT];
ImGuiContext* Ctx;
ImVec2 MousePos;
bool MouseDown[5];
float MouseWheel;
float MouseWheelH;
ImGuiMouseSource MouseSource;
ImGuiID MouseHoveredViewport;
bool KeyCtrl;
bool KeyShift;
@@ -976,6 +995,7 @@ struct ImGuiIO
bool MouseReleased[5];
bool MouseDownOwned[5];
bool MouseDownOwnedUnlessPopupClose[5];
bool MouseWheelRequestAxisSwap;
float MouseDownDuration[5];
float MouseDownDurationPrev[5];
ImVec2 MouseDragMaxDistanceAbs[5];
@@ -990,6 +1010,7 @@ struct ImGuiIO
};
struct ImGuiInputTextCallbackData
{
ImGuiContext* Ctx;
ImGuiInputTextFlags EventFlag;
ImGuiInputTextFlags Flags;
void* UserData;
@@ -1087,6 +1108,7 @@ struct ImGuiStorage
typedef struct ImGuiStoragePair ImGuiStoragePair;
struct ImGuiListClipper
{
ImGuiContext* Ctx;
int DisplayStart;
int DisplayEnd;
int ItemsCount;
@@ -1266,6 +1288,7 @@ struct ImFontAtlas
int TexDesiredWidth;
int TexGlyphPadding;
bool Locked;
void* UserData;
bool TexReady;
bool TexPixelsUseColors;
unsigned char* TexPixelsAlpha8;
@@ -1300,7 +1323,9 @@ struct ImFont
short ConfigDataCount;
ImWchar FallbackChar;
ImWchar EllipsisChar;
ImWchar DotChar;
short EllipsisCharCount;
float EllipsisWidth;
float EllipsisCharStep;
bool DirtyLookupTables;
float Scale;
float Ascent, Descent;
@@ -1318,10 +1343,11 @@ typedef enum {
ImGuiViewportFlags_NoFocusOnClick = 1 << 6,
ImGuiViewportFlags_NoInputs = 1 << 7,
ImGuiViewportFlags_NoRendererClear = 1 << 8,
ImGuiViewportFlags_TopMost = 1 << 9,
ImGuiViewportFlags_Minimized = 1 << 10,
ImGuiViewportFlags_NoAutoMerge = 1 << 11,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 12,
ImGuiViewportFlags_NoAutoMerge = 1 << 9,
ImGuiViewportFlags_TopMost = 1 << 10,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 11,
ImGuiViewportFlags_IsMinimized = 1 << 12,
ImGuiViewportFlags_IsFocused = 1 << 13,
}ImGuiViewportFlags_;
struct ImGuiViewport
{
@@ -1338,6 +1364,7 @@ struct ImGuiViewport
void* PlatformUserData;
void* PlatformHandle;
void* PlatformHandleRaw;
bool PlatformWindowCreated;
bool PlatformRequestMove;
bool PlatformRequestResize;
bool PlatformRequestClose;
@@ -1393,6 +1420,7 @@ struct ImDrawListSharedData;
struct ImGuiColorMod;
struct ImGuiContext;
struct ImGuiContextHook;
struct ImGuiDataVarInfo;
struct ImGuiDataTypeInfo;
struct ImGuiDockContext;
struct ImGuiDockRequest;
@@ -1400,7 +1428,9 @@ struct ImGuiDockNode;
struct ImGuiDockNodeSettings;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiInputTextDeactivateData;
struct ImGuiLastItemData;
struct ImGuiLocEntry;
struct ImGuiMenuColumns;
struct ImGuiNavItemData;
struct ImGuiMetricsConfig;
@@ -1497,6 +1527,7 @@ struct ImRect
ImVec2 Min;
ImVec2 Max;
};
typedef ImU32* ImBitArrayPtr;
struct ImBitVector
{
ImVector_ImU32 Storage;
@@ -1596,10 +1627,9 @@ typedef enum {
ImGuiSelectableFlags_SelectOnClick = 1 << 22,
ImGuiSelectableFlags_SelectOnRelease = 1 << 23,
ImGuiSelectableFlags_SpanAvailWidth = 1 << 24,
ImGuiSelectableFlags_DrawHoveredWhenHeld = 1 << 25,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 26,
ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 27,
ImGuiSelectableFlags_NoSetKeyOwner = 1 << 28,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25,
ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26,
ImGuiSelectableFlags_NoSetKeyOwner = 1 << 27,
}ImGuiSelectableFlagsPrivate_;
typedef enum {
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20,
@@ -1643,6 +1673,12 @@ typedef enum {
ImGuiPopupPositionPolicy_ComboBox,
ImGuiPopupPositionPolicy_Tooltip,
}ImGuiPopupPositionPolicy;
struct ImGuiDataVarInfo
{
ImGuiDataType Type;
ImU32 Count;
ImU32 Offset;
};
typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage;
struct ImGuiDataTypeTempStorage
{
@@ -1705,8 +1741,15 @@ struct ImGuiMenuColumns
ImU16 OffsetMark;
ImU16 Widths[4];
};
typedef struct ImGuiInputTextDeactivatedState ImGuiInputTextDeactivatedState;
struct ImGuiInputTextDeactivatedState
{
ImGuiID ID;
ImVector_char TextA;
};
struct ImGuiInputTextState
{
ImGuiContext* Ctx;
ImGuiID ID;
int CurLenW, CurLenA;
ImVector_ImWchar TextW;
@@ -1844,20 +1887,19 @@ typedef enum {
ImGuiInputSource_Keyboard,
ImGuiInputSource_Gamepad,
ImGuiInputSource_Clipboard,
ImGuiInputSource_Nav,
ImGuiInputSource_COUNT
}ImGuiInputSource;
typedef struct ImGuiInputEventMousePos ImGuiInputEventMousePos;
struct ImGuiInputEventMousePos
{ float PosX, PosY;
{ float PosX, PosY; ImGuiMouseSource MouseSource;
};
typedef struct ImGuiInputEventMouseWheel ImGuiInputEventMouseWheel;
struct ImGuiInputEventMouseWheel
{ float WheelX, WheelY;
{ float WheelX, WheelY; ImGuiMouseSource MouseSource;
};
typedef struct ImGuiInputEventMouseButton ImGuiInputEventMouseButton;
struct ImGuiInputEventMouseButton
{ int Button; bool Down;
{ int Button; bool Down; ImGuiMouseSource MouseSource;
};
typedef struct ImGuiInputEventMouseViewport ImGuiInputEventMouseViewport;
struct ImGuiInputEventMouseViewport
@@ -1880,6 +1922,7 @@ struct ImGuiInputEvent
{
ImGuiInputEventType Type;
ImGuiInputSource Source;
ImU32 EventId;
union
{
ImGuiInputEventMousePos MousePos;
@@ -2164,16 +2207,16 @@ typedef struct ImGuiViewportP ImGuiViewportP;
struct ImGuiViewportP
{
ImGuiViewport _ImGuiViewport;
ImGuiWindow* Window;
int Idx;
int LastFrameActive;
int LastFrontMostStampCount;
int LastFocusedStampCount;
ImGuiID LastNameHash;
ImVec2 LastPos;
float Alpha;
float LastAlpha;
bool LastFocusedHadNavWindow;
short PlatformMonitor;
bool PlatformWindowCreated;
ImGuiWindow* Window;
int DrawListsLastFrame[2];
ImDrawList* DrawLists[2];
ImDrawData DrawDataP;
@@ -2198,6 +2241,7 @@ struct ImGuiWindowSettings
short DockOrder;
bool Collapsed;
bool WantApply;
bool WantDelete;
};
struct ImGuiSettingsHandler
{
@@ -2211,6 +2255,22 @@ struct ImGuiSettingsHandler
void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);
void* UserData;
};
typedef enum {
ImGuiLocKey_TableSizeOne=0,
ImGuiLocKey_TableSizeAllFit=1,
ImGuiLocKey_TableSizeAllDefault=2,
ImGuiLocKey_TableResetOrder=3,
ImGuiLocKey_WindowingMainMenuBar=4,
ImGuiLocKey_WindowingPopup=5,
ImGuiLocKey_WindowingUntitled=6,
ImGuiLocKey_DockingHideTabBar=7,
ImGuiLocKey_COUNT=8,
}ImGuiLocKey;
struct ImGuiLocEntry
{
ImGuiLocKey Key;
const char* Text;
};
typedef enum {
ImGuiDebugLogFlags_None = 0,
ImGuiDebugLogFlags_EventActiveId = 1 << 0,
@@ -2218,10 +2278,11 @@ typedef enum {
ImGuiDebugLogFlags_EventPopup = 1 << 2,
ImGuiDebugLogFlags_EventNav = 1 << 3,
ImGuiDebugLogFlags_EventClipper = 1 << 4,
ImGuiDebugLogFlags_EventIO = 1 << 5,
ImGuiDebugLogFlags_EventDocking = 1 << 6,
ImGuiDebugLogFlags_EventViewport = 1 << 7,
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
ImGuiDebugLogFlags_EventSelection = 1 << 5,
ImGuiDebugLogFlags_EventIO = 1 << 6,
ImGuiDebugLogFlags_EventDocking = 1 << 7,
ImGuiDebugLogFlags_EventViewport = 1 << 8,
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
ImGuiDebugLogFlags_OutputToTTY = 1 << 10,
}ImGuiDebugLogFlags_;
struct ImGuiMetricsConfig
@@ -2233,6 +2294,7 @@ struct ImGuiMetricsConfig
bool ShowTablesRects;
bool ShowDrawCmdMesh;
bool ShowDrawCmdBoundingBoxes;
bool ShowAtlasTintedWithTextColor;
bool ShowDockingNodes;
int ShowWindowsRectsType;
int ShowTablesRectsType;
@@ -2318,8 +2380,6 @@ struct ImGuiContext
bool FontAtlasOwnedByContext;
ImGuiIO IO;
ImGuiPlatformIO PlatformIO;
ImVector_ImGuiInputEvent InputEventsQueue;
ImVector_ImGuiInputEvent InputEventsTrail;
ImGuiStyle Style;
ImGuiConfigFlags ConfigFlagsCurrFrame;
ImGuiConfigFlags ConfigFlagsLastFrame;
@@ -2338,6 +2398,10 @@ struct ImGuiContext
bool GcCompactAll;
bool TestEngineHookItems;
void* TestEngine;
ImVector_ImGuiInputEvent InputEventsQueue;
ImVector_ImGuiInputEvent InputEventsTrail;
ImGuiMouseSource InputEventsNextMouseSource;
ImU32 InputEventsNextEventId;
ImVector_ImGuiWindowPtr Windows;
ImVector_ImGuiWindowPtr WindowsFocusOrder;
ImVector_ImGuiWindowPtr WindowsTempSortBuffer;
@@ -2351,7 +2415,10 @@ struct ImGuiContext
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
int WheelingWindowStartFrame;
float WheelingWindowReleaseTimer;
ImVec2 WheelingWindowWheelRemainder;
ImVec2 WheelingAxisAvg;
ImGuiID DebugHookIdInfo;
ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame;
@@ -2405,14 +2472,13 @@ struct ImGuiContext
ImGuiViewportP* MouseLastHoveredViewport;
ImGuiID PlatformLastFocusedViewportId;
ImGuiPlatformMonitor FallbackMonitor;
int ViewportFrontMostStampCount;
int ViewportFocusedStampCount;
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavFocusScopeId;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiID NavActivateInputId;
ImGuiActivateFlags NavActivateFlags;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
@@ -2495,12 +2561,15 @@ struct ImGuiContext
float HoverDelayClearTimer;
ImVec2 MouseLastValidPos;
ImGuiInputTextState InputTextState;
ImGuiInputTextDeactivatedState InputTextDeactivatedState;
ImFont InputTextPasswordFont;
ImGuiID TempInputId;
ImGuiColorEditFlags ColorEditOptions;
float ColorEditLastHue;
float ColorEditLastSat;
ImU32 ColorEditLastColor;
ImGuiID ColorEditCurrentID;
ImGuiID ColorEditSavedID;
float ColorEditSavedHue;
float ColorEditSavedSat;
ImU32 ColorEditSavedColor;
ImVec4 ColorPickerRef;
ImGuiComboPreviewData ComboPreviewData;
float SliderGrabClickOffset;
@@ -2520,6 +2589,7 @@ struct ImGuiContext
ImGuiID PlatformImeViewport;
char PlatformLocaleDecimalPoint;
ImGuiDockContext DockContext;
void (*DockNodeWindowMenuHandler)(ImGuiContext* ctx, ImGuiDockNode* node, ImGuiTabBar* tab_bar);
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
@@ -2528,6 +2598,7 @@ struct ImGuiContext
ImChunkStream_ImGuiTableSettings SettingsTables;
ImVector_ImGuiContextHook Hooks;
ImGuiID HookIdNext;
const char* LocalizationTable[ImGuiLocKey_COUNT];
bool LogEnabled;
ImGuiLogType LogType;
ImFileHandle LogFile;
@@ -2542,7 +2613,9 @@ struct ImGuiContext
ImGuiDebugLogFlags DebugLogFlags;
ImGuiTextBuffer DebugLogBuf;
ImGuiTextIndex DebugLogIndex;
ImU8 DebugLogClipperAutoDisableFrames;
ImU8 DebugLocateFrames;
ImS8 DebugBeginReturnValueCullDepth;
bool DebugItemPickerActive;
ImU8 DebugItemPickerMouseButton;
ImGuiID DebugItemPickerBreakId;
@@ -2600,6 +2673,7 @@ typedef struct ImVector_ImGuiOldColumns {int Size;int Capacity;ImGuiOldColumns*
struct ImGuiWindow
{
ImGuiContext* Ctx;
char* Name;
ImGuiID ID;
ImGuiWindowFlags Flags, FlagsPreviousFrame;
@@ -2617,6 +2691,9 @@ struct ImGuiWindow
ImVec2 WindowPadding;
float WindowRounding;
float WindowBorderSize;
float DecoOuterSizeX1, DecoOuterSizeY1;
float DecoOuterSizeX2, DecoOuterSizeY2;
float DecoInnerSizeX1, DecoInnerSizeY1;
int NameBufLen;
ImGuiID MoveId;
ImGuiID TabId;
@@ -2773,8 +2850,8 @@ struct ImGuiTabBar
ImVec2 BackupCursorPos;
ImGuiTextBuffer TabsNames;
};
typedef ImS8 ImGuiTableColumnIdx;
typedef ImU8 ImGuiTableDrawChannelIdx;
typedef ImS16 ImGuiTableColumnIdx;
typedef ImU16 ImGuiTableDrawChannelIdx;
struct ImGuiTableColumn
{
ImGuiTableColumnFlags Flags;
@@ -2827,8 +2904,10 @@ struct ImGuiTableCellData
};
struct ImGuiTableInstanceData
{
ImGuiID TableInstanceID;
float LastOuterHeight;
float LastFirstRowHeight;
float LastFrozenHeight;
};
typedef struct ImSpan_ImGuiTableColumn {ImGuiTableColumn* Data;ImGuiTableColumn* DataEnd;} ImSpan_ImGuiTableColumn;
@@ -2849,10 +2928,9 @@ struct ImGuiTable
ImSpan_ImGuiTableColumn Columns;
ImSpan_ImGuiTableColumnIdx DisplayOrderToIndex;
ImSpan_ImGuiTableCellData RowCellData;
ImU64 EnabledMaskByDisplayOrder;
ImU64 EnabledMaskByIndex;
ImU64 VisibleMaskByIndex;
ImU64 RequestOutputMaskByIndex;
ImBitArrayPtr EnabledMaskByDisplayOrder;
ImBitArrayPtr EnabledMaskByIndex;
ImBitArrayPtr VisibleMaskByIndex;
ImGuiTableFlags SettingsLoadedFlags;
int SettingsOffset;
int LastFrameActive;
@@ -2944,6 +3022,8 @@ struct ImGuiTable
bool IsResetDisplayOrderRequest;
bool IsUnfrozenRows;
bool IsDefaultSizingPolicy;
bool HasScrollbarYCurr;
bool HasScrollbarYPrev;
bool MemoryCompacted;
bool HostSkipItems;
};
@@ -3144,8 +3224,8 @@ CIMGUI_API void igPopStyleColor(int count);
CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx,float val);
CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx,const ImVec2 val);
CIMGUI_API void igPopStyleVar(int count);
CIMGUI_API void igPushAllowKeyboardFocus(bool allow_keyboard_focus);
CIMGUI_API void igPopAllowKeyboardFocus(void);
CIMGUI_API void igPushTabStop(bool tab_stop);
CIMGUI_API void igPopTabStop(void);
CIMGUI_API void igPushButtonRepeat(bool repeat);
CIMGUI_API void igPopButtonRepeat(void);
CIMGUI_API void igPushItemWidth(float item_width);
@@ -3205,6 +3285,7 @@ CIMGUI_API void igLabelText(const char* label,const char* fmt,...);
CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args);
CIMGUI_API void igBulletText(const char* fmt,...);
CIMGUI_API void igBulletTextV(const char* fmt,va_list args);
CIMGUI_API void igSeparatorText(const char* label);
CIMGUI_API bool igButton(const char* label,const ImVec2 size);
CIMGUI_API bool igSmallButton(const char* label);
CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size,ImGuiButtonFlags flags);
@@ -3308,7 +3389,7 @@ CIMGUI_API bool igBeginMenu(const char* label,bool enabled);
CIMGUI_API void igEndMenu(void);
CIMGUI_API bool igMenuItem_Bool(const char* label,const char* shortcut,bool selected,bool enabled);
CIMGUI_API bool igMenuItem_BoolPtr(const char* label,const char* shortcut,bool* p_selected,bool enabled);
CIMGUI_API void igBeginTooltip(void);
CIMGUI_API bool igBeginTooltip(void);
CIMGUI_API void igEndTooltip(void);
CIMGUI_API void igSetTooltip(const char* fmt,...);
CIMGUI_API void igSetTooltipV(const char* fmt,va_list args);
@@ -3392,6 +3473,7 @@ CIMGUI_API bool igIsItemToggledOpen(void);
CIMGUI_API bool igIsAnyItemHovered(void);
CIMGUI_API bool igIsAnyItemActive(void);
CIMGUI_API bool igIsAnyItemFocused(void);
CIMGUI_API ImGuiID igGetItemID(void);
CIMGUI_API void igGetItemRectMin(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMax(ImVec2 *pOut);
CIMGUI_API void igGetItemRectSize(ImVec2 *pOut);
@@ -3463,7 +3545,8 @@ CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self,ImGuiKey key,bool down);
CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self,ImGuiKey key,bool down,float v);
CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self,float x,float y);
CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self,int button,bool 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);
CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self,ImGuiMouseSource source);
CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self,ImGuiID id);
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c);
@@ -3705,8 +3788,8 @@ CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void);
CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self);
CIMGUI_API ImGuiKey igGetKeyIndex(ImGuiKey key);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed);
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImGuiID seed);
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImGuiID seed);
CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*));
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b);
CIMGUI_API bool igImIsPowerOfTwo_Int(int v);
@@ -3781,6 +3864,7 @@ CIMGUI_API void igImRotate(ImVec2 *pOut,const ImVec2 v,float cos_a,float sin_a);
CIMGUI_API float igImLinearSweep(float current,float target,float speed);
CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f);
CIMGUI_API float igImExponentialMovingAverage(float avg,float sample,int n);
CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t);
CIMGUI_API void igImBezierCubicClosestPoint(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,int num_segments);
CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,float tess_tol);
@@ -3827,6 +3911,8 @@ CIMGUI_API void ImRect_ClipWithFull(ImRect* self,const ImRect r);
CIMGUI_API void ImRect_Floor(ImRect* self);
CIMGUI_API bool ImRect_IsInverted(ImRect* self);
CIMGUI_API void ImRect_ToVec4(ImVec4 *pOut,ImRect* self);
CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount);
CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr,int bitcount);
CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr,int n);
CIMGUI_API void igImBitArrayClearBit(ImU32* arr,int n);
CIMGUI_API void igImBitArraySetBit(ImU32* arr,int n);
@@ -3848,6 +3934,7 @@ CIMGUI_API void ImDrawDataBuilder_Clear(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_ClearFreeMemory(ImDrawDataBuilder* self);
CIMGUI_API int ImDrawDataBuilder_GetDrawListCount(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_FlattenIntoSingleLayer(ImDrawDataBuilder* self);
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v);
CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx,float v);
@@ -3859,6 +3946,9 @@ CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self);
CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self,float spacing,bool window_reappearing);
CIMGUI_API float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self,float w_icon,float w_label,float w_shortcut,float w_mark);
CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self,bool update_offsets);
CIMGUI_API ImGuiInputTextDeactivatedState* ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void);
CIMGUI_API void ImGuiInputTextDeactivatedState_destroy(ImGuiInputTextDeactivatedState* self);
CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory(ImGuiInputTextDeactivatedState* self);
CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void);
CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
@@ -3886,8 +3976,8 @@ CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void);
CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void);
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
@@ -3942,8 +4032,6 @@ CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self);
CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self);
CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler(void);
CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self);
CIMGUI_API ImGuiMetricsConfig* ImGuiMetricsConfig_ImGuiMetricsConfig(void);
CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self);
CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void);
CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self);
CIMGUI_API ImGuiStackTool* ImGuiStackTool_ImGuiStackTool(void);
@@ -3968,8 +4056,6 @@ CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void);
CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self);
CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void);
CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self);
CIMGUI_API int ImGuiTabBar_GetTabOrder(ImGuiTabBar* self,const ImGuiTabItem* tab);
CIMGUI_API const char* ImGuiTabBar_GetTabName(ImGuiTabBar* self,const ImGuiTabItem* tab);
CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void);
CIMGUI_API void ImGuiTableColumn_destroy(ImGuiTableColumn* self);
CIMGUI_API ImGuiTableInstanceData* ImGuiTableInstanceData_ImGuiTableInstanceData(void);
@@ -3997,10 +4083,11 @@ CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window,const ImVec2 pos,Im
CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size);
CIMGUI_API void igSetWindowHiddendAndSkipItemsForCurrentFrame(ImGuiWindow* window);
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igFocusWindow(ImGuiWindow* window);
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window);
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window,ImGuiViewport* filter_viewport);
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window);
CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window);
CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window);
@@ -4031,12 +4118,15 @@ CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack(const Im
CIMGUI_API void igMarkIniSettingsDirty_Nil(void);
CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window);
CIMGUI_API void igClearIniSettings(void);
CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name);
CIMGUI_API ImGuiWindowSettings* igFindWindowSettings(ImGuiID id);
CIMGUI_API ImGuiWindowSettings* igFindOrCreateWindowSettings(const char* name);
CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler);
CIMGUI_API void igRemoveSettingsHandler(const char* type_name);
CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name);
CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name);
CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id);
CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow(ImGuiWindow* window);
CIMGUI_API void igClearWindowSettings(const char* name);
CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries,int count);
CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key);
CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x);
CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y);
CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
@@ -4045,7 +4135,6 @@ CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags);
CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
CIMGUI_API void igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect);
CIMGUI_API ImGuiID igGetItemID(void);
CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void);
CIMGUI_API ImGuiItemFlags igGetItemFlags(void);
CIMGUI_API ImGuiID igGetActiveID(void);
@@ -4058,11 +4147,13 @@ CIMGUI_API void igSetHoveredID(ImGuiID id);
CIMGUI_API void igKeepAliveID(ImGuiID id);
CIMGUI_API void igMarkItemEdited(ImGuiID id);
CIMGUI_API void igPushOverrideID(ImGuiID id);
CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed);
CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin,const char* str_id_end,ImGuiID seed);
CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n,ImGuiID seed);
CIMGUI_API void igItemSize_Vec2(const ImVec2 size,float text_baseline_y);
CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y);
CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemFlags extra_flags);
CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id);
CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window,ImGuiHoveredFlags flags);
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id);
CIMGUI_API void igSetLastItemData(ImGuiID item_id,ImGuiItemFlags in_flags,ImGuiItemStatusFlags status_flags,const ImRect item_rect);
CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h);
@@ -4073,6 +4164,7 @@ CIMGUI_API void igGetContentRegionMaxAbs(ImVec2 *pOut);
CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width_excess);
CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled);
CIMGUI_API void igPopItemFlag(void);
CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx);
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth);
CIMGUI_API void igLogToBuffer(int auto_open_depth);
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
@@ -4084,7 +4176,7 @@ CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_foc
CIMGUI_API void igClosePopupsExceptModals(void);
CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags);
CIMGUI_API void igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window);
CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void);
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void);
@@ -4111,14 +4203,18 @@ CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scop
CIMGUI_API bool igIsNamedKey(ImGuiKey key);
CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key);
CIMGUI_API bool igIsLegacyKey(ImGuiKey key);
CIMGUI_API bool igIsKeyboardKey(ImGuiKey key);
CIMGUI_API bool igIsGamepadKey(ImGuiKey key);
CIMGUI_API bool igIsMouseKey(ImGuiKey key);
CIMGUI_API bool igIsAliasKey(ImGuiKey key);
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData(ImGuiKey key);
CIMGUI_API ImGuiKeyChord igConvertShortcutMod(ImGuiKeyChord key_chord);
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key);
CIMGUI_API void igGetKeyChordName(ImGuiKeyChord key_chord,char* out_buf,int out_buf_size);
CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float 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);
CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis);
CIMGUI_API int igCalcTypematicRepeatAmount(float t0,float t1,float repeat_delay,float repeat_rate);
CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags,float* repeat_delay,float* repeat_rate);
@@ -4126,9 +4222,10 @@ CIMGUI_API void igSetActiveIdUsingAllKeyboardKeys(void);
CIMGUI_API bool igIsActiveIdUsingNavDir(ImGuiDir dir);
CIMGUI_API ImGuiID igGetKeyOwner(ImGuiKey key);
CIMGUI_API void igSetKeyOwner(ImGuiKey key,ImGuiID owner_id,ImGuiInputFlags flags);
CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key,ImGuiID owner_id,ImGuiInputFlags flags);
CIMGUI_API void igSetItemKeyOwner(ImGuiKey key,ImGuiInputFlags flags);
CIMGUI_API bool igTestKeyOwner(ImGuiKey key,ImGuiID owner_id);
CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiKey key);
CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key,ImGuiID owner_id);
CIMGUI_API bool igIsKeyPressed_ID(ImGuiKey key,ImGuiID owner_id,ImGuiInputFlags flags);
CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id);
@@ -4150,8 +4247,11 @@ CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx);
CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx,ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,float split_ratio,bool split_outer);
CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* window);
CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref);
CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* 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);
CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id);
CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar);
CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node);
CIMGUI_API void igDockNodeEndAmendTabBar(void);
CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node);
@@ -4217,6 +4317,7 @@ CIMGUI_API void igTableDrawContextMenu(ImGuiTable* table);
CIMGUI_API bool igTableBeginContextMenuPopup(ImGuiTable* table);
CIMGUI_API void igTableMergeDrawChannels(ImGuiTable* table);
CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table,int instance_no);
CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table,int instance_no);
CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table);
CIMGUI_API void igTableSortSpecsBuild(ImGuiTable* table);
CIMGUI_API ImGuiSortDirection igTableGetColumnNextSortDirection(ImGuiTableColumn* column);
@@ -4228,7 +4329,7 @@ CIMGUI_API void igTableBeginCell(ImGuiTable* table,int column_n);
CIMGUI_API void igTableEndCell(ImGuiTable* table);
CIMGUI_API void igTableGetCellBgRect(ImRect *pOut,const ImGuiTable* table,int column_n);
CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table,int 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);
CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table,int column_n);
CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table,int column_n);
CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table);
@@ -4243,14 +4344,20 @@ CIMGUI_API ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table);
CIMGUI_API void igTableSettingsAddSettingsHandler(void);
CIMGUI_API ImGuiTableSettings* igTableSettingsCreate(ImGuiID id,int columns_count);
CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id);
CIMGUI_API ImGuiTabBar* igGetCurrentTabBar(void);
CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBarFlags flags,ImGuiDockNode* dock_node);
CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar,int order);
CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar);
CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar);
CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window);
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int offset);
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,ImVec2 mouse_pos);
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset);
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,ImVec2 mouse_pos);
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags,ImGuiWindow* docked_window);
CIMGUI_API void igTabItemCalcSize_Str(ImVec2 *pOut,const char* label,bool has_close_button_or_unsaved_marker);
@@ -4278,19 +4385,20 @@ CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,const ImRect ou
CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect r_in,const ImRect r_outer,float threshold);
CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags);
CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags 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);
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags);
CIMGUI_API void igSeparatorTextEx(ImGuiID id,const char* label,const char* label_end,float extra_width);
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value);
CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value);
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock_node);
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API void igScrollbar(ImGuiAxis axis);
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags 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);
CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window,int n);
CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window,ImGuiDir dir);
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags);
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value);
CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value);
CIMGUI_API bool igButtonBehavior(const ImRect bb,ImGuiID id,bool* out_hovered,bool* out_held,ImGuiButtonFlags flags);
CIMGUI_API bool igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags,ImRect* out_grab_bb);
@@ -4306,6 +4414,7 @@ CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max);
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
CIMGUI_API void igInputTextDeactivateHook(ImGuiID id);
CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags);
CIMGUI_API bool igTempInputScalar(const ImRect bb,ImGuiID id,const char* label,ImGuiDataType data_type,void* p_data,const char* format,const void* p_clamp_min,const void* p_clamp_max);
CIMGUI_API bool igTempInputIsActive(ImGuiID id);
@@ -4313,7 +4422,7 @@ CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id);
CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags);
CIMGUI_API void igColorEditOptionsPopup(const float* col,ImGuiColorEditFlags flags);
CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col,ImGuiColorEditFlags 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);
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);
CIMGUI_API void igShadeVertsLinearUV(ImDrawList* draw_list,int vert_start_idx,int vert_end_idx,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,bool clamp);
CIMGUI_API void igGcCompactTransientMiscBuffers(void);
@@ -4347,6 +4456,7 @@ CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label);
CIMGUI_API void igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack);
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport);
CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list);
CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb);
CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat);
CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void);

View File

@@ -129,6 +129,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,11 +334,13 @@ 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
@@ -348,7 +367,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 +378,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 +388,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 +409,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 +436,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 +986,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 +1220,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
@@ -1413,14 +1455,14 @@ function M.Parser()
it2 = it2:gsub("%s*=.+;",";")
end
table.insert(outtab,it2)
table.insert(commtab,it.comments or "")
table.insert(commtab,{above=it.prevcomments,sameline=it.comments})--it.comments or "")
end
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
@@ -1624,7 +1666,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 +1723,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 +1746,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 +1774,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 +1808,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 +1880,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 +2177,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 +2242,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 +2451,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

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)",
@@ -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)"
@@ -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",
@@ -66,6 +68,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 +85,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 +136,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"
@@ -66,6 +68,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 +85,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 +136,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...0ea3b87bd6