Compare commits

...

15 Commits

Author SHA1 Message Date
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
16 changed files with 4007 additions and 3090 deletions

View File

@@ -30,6 +30,8 @@ jobs:
elif [ "$GITHUB_OS" == "windows-latest" ]; elif [ "$GITHUB_OS" == "windows-latest" ];
then then
vcpkg install luajit vcpkg install luajit
echo "/C/vcpkg/packages/luajit_x86-windows/tools" >> $GITHUB_PATH
echo "/C/vcpkg/packages/luajit_x86-windows/bin" >> $GITHUB_PATH
fi fi
- name: Download Submodules - name: Download Submodules
@@ -47,7 +49,6 @@ jobs:
- name: Generate Bindings - name: Generate Bindings
shell: bash shell: bash
run: | run: |
export PATH=$PATH:/C/vcpkg/packages/luajit_x86-windows/tools/:/C/vcpkg/packages/luajit_x86-windows/bin/
cd ./generator cd ./generator
bash ./generator.sh 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) Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes: Notes:
* currently this wrapper is based on version [1.89 of Dear ImGui with internal api] * currently this wrapper is based on version [1.89.2 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped. * only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project. * if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty. * All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.

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

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.89" from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.89.2" 18920 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api //with imgui_internal.h api
//docking branch //docking branch
#ifdef IMGUI_ENABLE_FREETYPE #ifdef IMGUI_ENABLE_FREETYPE
@@ -1389,6 +1389,10 @@ CIMGUI_API bool igIsAnyItemFocused()
{ {
return ImGui::IsAnyItemFocused(); return ImGui::IsAnyItemFocused();
} }
CIMGUI_API ImGuiID igGetItemID()
{
return ImGui::GetItemID();
}
CIMGUI_API void igGetItemRectMin(ImVec2 *pOut) CIMGUI_API void igGetItemRectMin(ImVec2 *pOut)
{ {
*pOut = ImGui::GetItemRectMin(); *pOut = ImGui::GetItemRectMin();
@@ -2952,6 +2956,10 @@ CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f)
{ {
return ImIsFloatAboveGuaranteedIntegerPrecision(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) CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t)
{ {
*pOut = ImBezierCubicCalc(p1,p2,p3,p4,t); *pOut = ImBezierCubicCalc(p1,p2,p3,p4,t);
@@ -3264,9 +3272,9 @@ CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self,bool
{ {
return self->CalcNextTotalWidth(update_offsets); return self->CalcNextTotalWidth(update_offsets);
} }
CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void) CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(ImGuiContext* ctx)
{ {
return IM_NEW(ImGuiInputTextState)(); return IM_NEW(ImGuiInputTextState)(ctx);
} }
CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self) CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self)
{ {
@@ -3976,6 +3984,14 @@ CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name)
{ {
return ImGui::FindSettingsHandler(type_name); return ImGui::FindSettingsHandler(type_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) CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x)
{ {
return ImGui::SetScrollX(window,scroll_x); return ImGui::SetScrollX(window,scroll_x);
@@ -4008,10 +4024,6 @@ CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rec
{ {
return ImGui::ScrollToBringRectIntoView(window,rect); return ImGui::ScrollToBringRectIntoView(window,rect);
} }
CIMGUI_API ImGuiID igGetItemID()
{
return ImGui::GetItemID();
}
CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags() CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags()
{ {
return ImGui::GetItemStatusFlags(); return ImGui::GetItemStatusFlags();
@@ -4272,14 +4284,26 @@ CIMGUI_API bool igIsLegacyKey(ImGuiKey key)
{ {
return ImGui::IsLegacyKey(key); return ImGui::IsLegacyKey(key);
} }
CIMGUI_API bool igIsKeyboardKey(ImGuiKey key)
{
return ImGui::IsKeyboardKey(key);
}
CIMGUI_API bool igIsGamepadKey(ImGuiKey key) CIMGUI_API bool igIsGamepadKey(ImGuiKey key)
{ {
return ImGui::IsGamepadKey(key); return ImGui::IsGamepadKey(key);
} }
CIMGUI_API bool igIsMouseKey(ImGuiKey key)
{
return ImGui::IsMouseKey(key);
}
CIMGUI_API bool igIsAliasKey(ImGuiKey key) CIMGUI_API bool igIsAliasKey(ImGuiKey key)
{ {
return ImGui::IsAliasKey(key); return ImGui::IsAliasKey(key);
} }
CIMGUI_API ImGuiKeyChord igConvertShortcutMod(ImGuiKeyChord key_chord)
{
return ImGui::ConvertShortcutMod(key_chord);
}
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key) CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key)
{ {
return ImGui::ConvertSingleModFlagToKey(key); return ImGui::ConvertSingleModFlagToKey(key);
@@ -4300,9 +4324,9 @@ CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_th
{ {
return ImGui::IsMouseDragPastThreshold(button,lock_threshold); 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) CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis)
{ {
@@ -4940,6 +4964,26 @@ CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFl
{ {
return ImGui::ButtonEx(label,size_arg,flags); 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)
{
return ImGui::ImageButtonEx(id,texture_id,size,uv0,uv1,bg_col,tint_col);
}
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 igCloseButton(ImGuiID id,const ImVec2 pos) CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos)
{ {
return ImGui::CloseButton(id,pos); return ImGui::CloseButton(id,pos);
@@ -4948,10 +4992,6 @@ CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock
{ {
return ImGui::CollapseButton(id,pos,dock_node); 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) CIMGUI_API void igScrollbar(ImGuiAxis axis)
{ {
return ImGui::Scrollbar(axis); return ImGui::Scrollbar(axis);
@@ -4960,10 +5000,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); 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) CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis)
{ {
*pOut = ImGui::GetWindowScrollbarRect(window,axis); *pOut = ImGui::GetWindowScrollbarRect(window,axis);
@@ -4980,18 +5016,6 @@ CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window,ImGuiDir dir)
{ {
return ImGui::GetWindowResizeBorderID(window,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) 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); return ImGui::ButtonBehavior(bb,id,out_hovered,out_held,flags);
@@ -5219,6 +5243,10 @@ CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport)
{ {
return ImGui::DebugNodeViewport(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) CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb)
{ {
return ImGui::DebugRenderViewportThumbnail(draw_list,viewport,bb); return ImGui::DebugRenderViewportThumbnail(draw_list,viewport,bb);

View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.89" from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.89.2" 18920 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api //with imgui_internal.h api
//docking branch //docking branch
#ifndef CIMGUI_INCLUDED #ifndef CIMGUI_INCLUDED
@@ -87,6 +87,7 @@ typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
typedef struct ImGuiGroupData ImGuiGroupData; typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiInputTextState ImGuiInputTextState; typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiLastItemData ImGuiLastItemData; typedef struct ImGuiLastItemData ImGuiLastItemData;
typedef struct ImGuiLocEntry ImGuiLocEntry;
typedef struct ImGuiMenuColumns ImGuiMenuColumns; typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiNavItemData ImGuiNavItemData; typedef struct ImGuiNavItemData ImGuiNavItemData;
typedef struct ImGuiMetricsConfig ImGuiMetricsConfig; typedef struct ImGuiMetricsConfig ImGuiMetricsConfig;
@@ -638,8 +639,8 @@ ImGuiMod_Ctrl=1 << 12,
ImGuiMod_Shift=1 << 13, ImGuiMod_Shift=1 << 13,
ImGuiMod_Alt=1 << 14, ImGuiMod_Alt=1 << 14,
ImGuiMod_Super=1 << 15, ImGuiMod_Super=1 << 15,
ImGuiMod_Mask_=0xF000, ImGuiMod_Shortcut=1 << 11,
ImGuiMod_Shortcut=ImGuiMod_Ctrl, ImGuiMod_Mask_=0xF800,
ImGuiKey_NamedKey_BEGIN=512, ImGuiKey_NamedKey_BEGIN=512,
ImGuiKey_NamedKey_END=ImGuiKey_COUNT, ImGuiKey_NamedKey_END=ImGuiKey_COUNT,
ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN, ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN,
@@ -1266,6 +1267,7 @@ struct ImFontAtlas
int TexDesiredWidth; int TexDesiredWidth;
int TexGlyphPadding; int TexGlyphPadding;
bool Locked; bool Locked;
void* UserData;
bool TexReady; bool TexReady;
bool TexPixelsUseColors; bool TexPixelsUseColors;
unsigned char* TexPixelsAlpha8; unsigned char* TexPixelsAlpha8;
@@ -1338,6 +1340,7 @@ struct ImGuiViewport
void* PlatformUserData; void* PlatformUserData;
void* PlatformHandle; void* PlatformHandle;
void* PlatformHandleRaw; void* PlatformHandleRaw;
bool PlatformWindowCreated;
bool PlatformRequestMove; bool PlatformRequestMove;
bool PlatformRequestResize; bool PlatformRequestResize;
bool PlatformRequestClose; bool PlatformRequestClose;
@@ -1401,6 +1404,7 @@ struct ImGuiDockNodeSettings;
struct ImGuiGroupData; struct ImGuiGroupData;
struct ImGuiInputTextState; struct ImGuiInputTextState;
struct ImGuiLastItemData; struct ImGuiLastItemData;
struct ImGuiLocEntry;
struct ImGuiMenuColumns; struct ImGuiMenuColumns;
struct ImGuiNavItemData; struct ImGuiNavItemData;
struct ImGuiMetricsConfig; struct ImGuiMetricsConfig;
@@ -1596,10 +1600,9 @@ typedef enum {
ImGuiSelectableFlags_SelectOnClick = 1 << 22, ImGuiSelectableFlags_SelectOnClick = 1 << 22,
ImGuiSelectableFlags_SelectOnRelease = 1 << 23, ImGuiSelectableFlags_SelectOnRelease = 1 << 23,
ImGuiSelectableFlags_SpanAvailWidth = 1 << 24, ImGuiSelectableFlags_SpanAvailWidth = 1 << 24,
ImGuiSelectableFlags_DrawHoveredWhenHeld = 1 << 25, ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25,
ImGuiSelectableFlags_SetNavIdOnHover = 1 << 26, ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26,
ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 27, ImGuiSelectableFlags_NoSetKeyOwner = 1 << 27,
ImGuiSelectableFlags_NoSetKeyOwner = 1 << 28,
}ImGuiSelectableFlagsPrivate_; }ImGuiSelectableFlagsPrivate_;
typedef enum { typedef enum {
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20, ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20,
@@ -1707,6 +1710,7 @@ struct ImGuiMenuColumns
}; };
struct ImGuiInputTextState struct ImGuiInputTextState
{ {
ImGuiContext* Ctx;
ImGuiID ID; ImGuiID ID;
int CurLenW, CurLenA; int CurLenW, CurLenA;
ImVector_ImWchar TextW; ImVector_ImWchar TextW;
@@ -2172,7 +2176,6 @@ struct ImGuiViewportP
float Alpha; float Alpha;
float LastAlpha; float LastAlpha;
short PlatformMonitor; short PlatformMonitor;
bool PlatformWindowCreated;
ImGuiWindow* Window; ImGuiWindow* Window;
int DrawListsLastFrame[2]; int DrawListsLastFrame[2];
ImDrawList* DrawLists[2]; ImDrawList* DrawLists[2];
@@ -2211,6 +2214,22 @@ struct ImGuiSettingsHandler
void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf); void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);
void* UserData; 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 { typedef enum {
ImGuiDebugLogFlags_None = 0, ImGuiDebugLogFlags_None = 0,
ImGuiDebugLogFlags_EventActiveId = 1 << 0, ImGuiDebugLogFlags_EventActiveId = 1 << 0,
@@ -2351,7 +2370,10 @@ struct ImGuiContext
ImGuiWindow* MovingWindow; ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow; ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos; ImVec2 WheelingWindowRefMousePos;
int WheelingWindowStartFrame;
float WheelingWindowReleaseTimer; float WheelingWindowReleaseTimer;
ImVec2 WheelingWindowWheelRemainder;
ImVec2 WheelingAxisAvg;
ImGuiID DebugHookIdInfo; ImGuiID DebugHookIdInfo;
ImGuiID HoveredId; ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame; ImGuiID HoveredIdPreviousFrame;
@@ -2528,6 +2550,7 @@ struct ImGuiContext
ImChunkStream_ImGuiTableSettings SettingsTables; ImChunkStream_ImGuiTableSettings SettingsTables;
ImVector_ImGuiContextHook Hooks; ImVector_ImGuiContextHook Hooks;
ImGuiID HookIdNext; ImGuiID HookIdNext;
const char* LocalizationTable[ImGuiLocKey_COUNT];
bool LogEnabled; bool LogEnabled;
ImGuiLogType LogType; ImGuiLogType LogType;
ImFileHandle LogFile; ImFileHandle LogFile;
@@ -2617,6 +2640,9 @@ struct ImGuiWindow
ImVec2 WindowPadding; ImVec2 WindowPadding;
float WindowRounding; float WindowRounding;
float WindowBorderSize; float WindowBorderSize;
float DecoOuterSizeX1, DecoOuterSizeY1;
float DecoOuterSizeX2, DecoOuterSizeY2;
float DecoInnerSizeX1, DecoInnerSizeY1;
int NameBufLen; int NameBufLen;
ImGuiID MoveId; ImGuiID MoveId;
ImGuiID TabId; ImGuiID TabId;
@@ -2829,6 +2855,7 @@ struct ImGuiTableInstanceData
{ {
float LastOuterHeight; float LastOuterHeight;
float LastFirstRowHeight; float LastFirstRowHeight;
float LastFrozenHeight;
}; };
typedef struct ImSpan_ImGuiTableColumn {ImGuiTableColumn* Data;ImGuiTableColumn* DataEnd;} ImSpan_ImGuiTableColumn; typedef struct ImSpan_ImGuiTableColumn {ImGuiTableColumn* Data;ImGuiTableColumn* DataEnd;} ImSpan_ImGuiTableColumn;
@@ -2944,6 +2971,8 @@ struct ImGuiTable
bool IsResetDisplayOrderRequest; bool IsResetDisplayOrderRequest;
bool IsUnfrozenRows; bool IsUnfrozenRows;
bool IsDefaultSizingPolicy; bool IsDefaultSizingPolicy;
bool HasScrollbarYCurr;
bool HasScrollbarYPrev;
bool MemoryCompacted; bool MemoryCompacted;
bool HostSkipItems; bool HostSkipItems;
}; };
@@ -3392,6 +3421,7 @@ CIMGUI_API bool igIsItemToggledOpen(void);
CIMGUI_API bool igIsAnyItemHovered(void); CIMGUI_API bool igIsAnyItemHovered(void);
CIMGUI_API bool igIsAnyItemActive(void); CIMGUI_API bool igIsAnyItemActive(void);
CIMGUI_API bool igIsAnyItemFocused(void); CIMGUI_API bool igIsAnyItemFocused(void);
CIMGUI_API ImGuiID igGetItemID(void);
CIMGUI_API void igGetItemRectMin(ImVec2 *pOut); CIMGUI_API void igGetItemRectMin(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMax(ImVec2 *pOut); CIMGUI_API void igGetItemRectMax(ImVec2 *pOut);
CIMGUI_API void igGetItemRectSize(ImVec2 *pOut); CIMGUI_API void igGetItemRectSize(ImVec2 *pOut);
@@ -3781,6 +3811,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 float igImLinearSweep(float current,float target,float speed);
CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs); CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f); 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 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 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); CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,float tess_tol);
@@ -3859,7 +3890,7 @@ CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self);
CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self,float spacing,bool window_reappearing); 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 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 void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self,bool update_offsets);
CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void); CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(ImGuiContext* ctx);
CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self);
@@ -4037,6 +4068,8 @@ CIMGUI_API ImGuiWindowSettings* igFindOrCreateWindowSettings(const char* name);
CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler); CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler);
CIMGUI_API void igRemoveSettingsHandler(const char* type_name); CIMGUI_API void igRemoveSettingsHandler(const char* type_name);
CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name); CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_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 igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x);
CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y); CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y);
CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio); CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
@@ -4045,7 +4078,6 @@ CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags);
CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,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 igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect); CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect);
CIMGUI_API ImGuiID igGetItemID(void);
CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void); CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void);
CIMGUI_API ImGuiItemFlags igGetItemFlags(void); CIMGUI_API ImGuiItemFlags igGetItemFlags(void);
CIMGUI_API ImGuiID igGetActiveID(void); CIMGUI_API ImGuiID igGetActiveID(void);
@@ -4111,14 +4143,17 @@ CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scop
CIMGUI_API bool igIsNamedKey(ImGuiKey key); CIMGUI_API bool igIsNamedKey(ImGuiKey key);
CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key); CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key);
CIMGUI_API bool igIsLegacyKey(ImGuiKey key); CIMGUI_API bool igIsLegacyKey(ImGuiKey key);
CIMGUI_API bool igIsKeyboardKey(ImGuiKey key);
CIMGUI_API bool igIsGamepadKey(ImGuiKey key); CIMGUI_API bool igIsGamepadKey(ImGuiKey key);
CIMGUI_API bool igIsMouseKey(ImGuiKey key);
CIMGUI_API bool igIsAliasKey(ImGuiKey key); CIMGUI_API bool igIsAliasKey(ImGuiKey key);
CIMGUI_API ImGuiKeyChord igConvertShortcutMod(ImGuiKeyChord key_chord);
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key); CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData(ImGuiKey key); CIMGUI_API ImGuiKeyData* igGetKeyData(ImGuiKey key);
CIMGUI_API void igGetKeyChordName(ImGuiKeyChord key_chord,char* out_buf,int out_buf_size); CIMGUI_API void igGetKeyChordName(ImGuiKeyChord key_chord,char* out_buf,int out_buf_size);
CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button); CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_threshold); 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 float igGetNavTweakPressedAmount(ImGuiAxis axis);
CIMGUI_API int igCalcTypematicRepeatAmount(float t0,float t1,float repeat_delay,float repeat_rate); 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); CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags,float* repeat_delay,float* repeat_rate);
@@ -4278,19 +4313,19 @@ 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 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 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 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);
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 igCloseButton(ImGuiID id,const ImVec2 pos); CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock_node); 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 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 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 void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis); CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window,int n); CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window,int n);
CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window,ImGuiDir dir); 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 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 igDragBehavior(ImGuiID id,ImGuiDataType data_type,void* p_v,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
CIMGUI_API bool igSliderBehavior(const ImRect bb,ImGuiID id,ImGuiDataType data_type,void* p_v,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags,ImRect* out_grab_bb); CIMGUI_API bool 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);
@@ -4347,6 +4382,7 @@ CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label); 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 igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack);
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport); 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 void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb);
CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat); CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat);
CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void); CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void);

View File

@@ -129,6 +129,23 @@ local function clean_comments(txt)
txt = txt:gsub("%s*//[^\n]*","") txt = txt:gsub("%s*//[^\n]*","")
return txt,comms return txt,comms
end 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) local function strip(cad)
return cad:gsub("^%s*(.-)%s*$","%1") --remove initial and final spaces return cad:gsub("^%s*(.-)%s*$","%1") --remove initial and final spaces
end end
@@ -317,11 +334,13 @@ local function getRE()
functionD_re = "^([^;{}]-%b()[\n%s%w]*%b{}%s-;*)", functionD_re = "^([^;{}]-%b()[\n%s%w]*%b{}%s-;*)",
--functionD_re = "^([^;{}]-%b()[^{}%(%)]*%b{})", --functionD_re = "^([^;{}]-%b()[^{}%(%)]*%b{})",
functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)%s*;", functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)%s*;",
comment_re = "^%s*//[^\n]*", comment_re = "^\n*%s*//[^\n]*",
comment2_re = "^%s*/%*.-%*/" 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 return res,resN
end end
@@ -348,7 +367,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
if i then if i then
item = txt:sub(i,e) 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 --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) 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) table.insert(outercomms,item)
-- comments to previous item -- comments to previous item
@@ -368,6 +388,13 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
itemarr[#itemarr].comments = prev .. item itemarr[#itemarr].comments = prev .. item
end 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 --comments begining with \n will go to next item
if item:match("^%s*\n") then if item:match("^%s*\n") then
table.insert(outercomms,item) table.insert(outercomms,item)
@@ -382,7 +409,8 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
--item,inercoms = clean_comments(item) --item,inercoms = clean_comments(item)
local itemold = item local itemold = item
item = item:gsub("extern __attribute__%(%(dllexport%)%) ","") 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 if comments=="" then comments=nil end
outercomms = {} outercomms = {}
local loca local loca
@@ -417,7 +445,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
else else
error"no linenumdict" error"no linenumdict"
end 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 {} items[re_name] = items[re_name] or {}
table.insert(items[re_name],item) table.insert(items[re_name],item)
end end
@@ -1178,7 +1206,7 @@ function M.Parser()
end end
local defines = {} local defines = {}
local preprocessed = {}-- 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)) self:insert(line, tostring(loca)..":"..tostring(loca2))
table.insert(preprocessed,line)-- table.insert(preprocessed,line)--
end end
@@ -1413,14 +1441,14 @@ function M.Parser()
it2 = it2:gsub("%s*=.+;",";") it2 = it2:gsub("%s*=.+;",";")
end end
table.insert(outtab,it2) table.insert(outtab,it2)
table.insert(commtab,it.comments or "") table.insert(commtab,{above=it.prevcomments,sameline=it.comments})--it.comments or "")
end end
elseif it.re_name == "struct_re" then elseif it.re_name == "struct_re" then
--check if has declaration --check if has declaration
local decl = it.item:match"%b{}%s*([^%s}{]+)%s*;" local decl = it.item:match"%b{}%s*([^%s}{]+)%s*;"
if decl then if decl then
table.insert(outtab,"\n "..it.name.." "..decl..";") 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 end
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,doheader) local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,doheader)
if doheader then if doheader then
@@ -1624,7 +1652,11 @@ function M.Parser()
end end
----------- -----------
function par:parse_struct_line(line,outtab,comment) function par:parse_struct_line(line,outtab,comment)
if type(comment)=="string" then
comment = comment ~= "" and comment or nil comment = comment ~= "" and comment or nil
else
comment = next(comment) and comment or nil
end
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+%(%*)([%w_]+)(%)%([^%(%)]*%))" local functype_reex = "^(%s*[%w%s%*]+%(%*)([%w_]+)(%)%([^%(%)]*%))"
line = clean_spaces(line) line = clean_spaces(line)
@@ -1677,6 +1709,8 @@ function M.Parser()
print("enumtype",enumtype) print("enumtype",enumtype)
outtab.enumtypes[enumname] = enumtype outtab.enumtypes[enumname] = enumtype
end 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] = {} outtab.enums[enumname] = {}
table.insert(enumsordered,enumname) table.insert(enumsordered,enumname)
local inner = strip_end(it.item:match("%b{}"):sub(2,-2)) local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
@@ -1698,6 +1732,7 @@ function M.Parser()
for j,line in ipairs(enumarr) do for j,line in ipairs(enumarr) do
local comment local comment
line, comment = split_comment(line) line, comment = split_comment(line)
comment = comment and comment:gsub("^[^\n%S]*(//.-)$","%1") or nil
assert(line~="") assert(line~="")
local name,value = line:match("%s*([%w_]+)%s*=%s*([^,]+)") local name,value = line:match("%s*([%w_]+)%s*=%s*([^,]+)")
if value then if value then
@@ -1725,7 +1760,7 @@ function M.Parser()
par.enums_for_table = enums_for_table par.enums_for_table = enums_for_table
function par:gen_structs_and_enums_table() function par:gen_structs_and_enums_table()
print"--------------gen_structs_and_enums_table" 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 = {} self.typedefs_table = {}
local enumsordered = {} local enumsordered = {}
unnamed_enum_counter = 0 unnamed_enum_counter = 0
@@ -1759,6 +1794,8 @@ function M.Parser()
if not structname then print("NO NAME",cleanst,it.item) end if not structname then print("NO NAME",cleanst,it.item) end
if structname and not self.typenames[structname] then if structname and not self.typenames[structname] then
outtab.structs[structname] = {} 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 outtab.locations[structname] = it.locat
for j=3,#strtab-1 do for j=3,#strtab-1 do
self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j]) self:parse_struct_line(strtab[j],outtab.structs[structname],comstab[j])
@@ -1829,6 +1866,11 @@ function M.Parser()
end end
end 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 self.structs_and_enums_table = outtab
return outtab return outtab
end end
@@ -2121,7 +2163,7 @@ M.serializeTableF = function(t)
return M.serializeTable("defs",t).."\nreturn defs" return M.serializeTable("defs",t).."\nreturn defs"
end end
--iterates lines from a gcc/clang -E in a specific location --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 define_re = "^#define%s+([^%s]+)%s+(.+)$"
local number_re = "^-?[0-9]+u*$" local number_re = "^-?[0-9]+u*$"
local hex_re = "0x[0-9a-fA-F]+u*$" local hex_re = "0x[0-9a-fA-F]+u*$"
@@ -2186,7 +2228,7 @@ local function location(file,locpathT,defines,COMPILER)
local loc_num_real = loc_num + loc_num_incr local loc_num_real = loc_num + loc_num_incr
loc_num_incr = loc_num_incr + 1 loc_num_incr = loc_num_incr + 1
--if doprint then print(which_locationold,which_location) end --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 if (which_locationold~=which_location) or (loc_num_realold and loc_num_realold < loc_num_real) then
--old line complete --old line complete
--doprint = false --doprint = false
@@ -2395,11 +2437,22 @@ M.func_header_generate = func_header_generate
local code = [[ local code = [[
enum pedro : int ; int pedro;
//linea1
//linea2
enum coco
{
uno,
dos
};
]] ]]
local parser = M.Parser() 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) --print("inserting",line)
parser:insert(line,"11") parser:insert(line,"11")
end end

View File

@@ -269,12 +269,12 @@ end
-------------------------------------------------------- --------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK-------------------------- --get imgui.h version and IMGUI_HAS_DOCK--------------------------
--defines for the cl compiler must be present in the print_defines.cpp file --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_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION) cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION .. " "..(gdefines.IMGUI_VERSION_NUM or ""))
if INTERNAL_GENERATION then if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api cimgui_header = cimgui_header..[[//with imgui_internal.h api
]] ]]

View File

@@ -16,4 +16,10 @@
# 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
# examples: "" "internal" "internal freetype" "comments internal" # 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) # 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
if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]];
then
suffix='.exe'
fi
luajit$suffix ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2648,14 +2648,14 @@
"value": "1 << 15" "value": "1 << 15"
}, },
{ {
"calc_value": 61440, "calc_value": 2048,
"name": "ImGuiMod_Mask_", "name": "ImGuiMod_Shortcut",
"value": "0xF000" "value": "1 << 11"
}, },
{ {
"calc_value": 4096, "calc_value": 63488,
"name": "ImGuiMod_Shortcut", "name": "ImGuiMod_Mask_",
"value": "ImGuiMod_Ctrl" "value": "0xF800"
}, },
{ {
"calc_value": 512, "calc_value": 512,
@@ -2695,6 +2695,53 @@
"value": "1" "value": "1"
} }
], ],
"ImGuiLocKey": [
{
"calc_value": 0,
"name": "ImGuiLocKey_TableSizeOne",
"value": "0"
},
{
"calc_value": 1,
"name": "ImGuiLocKey_TableSizeAllFit",
"value": "1"
},
{
"calc_value": 2,
"name": "ImGuiLocKey_TableSizeAllDefault",
"value": "2"
},
{
"calc_value": 3,
"name": "ImGuiLocKey_TableResetOrder",
"value": "3"
},
{
"calc_value": 4,
"name": "ImGuiLocKey_WindowingMainMenuBar",
"value": "4"
},
{
"calc_value": 5,
"name": "ImGuiLocKey_WindowingPopup",
"value": "5"
},
{
"calc_value": 6,
"name": "ImGuiLocKey_WindowingUntitled",
"value": "6"
},
{
"calc_value": 7,
"name": "ImGuiLocKey_DockingHideTabBar",
"value": "7"
},
{
"calc_value": 8,
"name": "ImGuiLocKey_COUNT",
"value": "8"
}
],
"ImGuiLogType": [ "ImGuiLogType": [
{ {
"calc_value": 0, "calc_value": 0,
@@ -3281,23 +3328,18 @@
}, },
{ {
"calc_value": 33554432, "calc_value": 33554432,
"name": "ImGuiSelectableFlags_DrawHoveredWhenHeld", "name": "ImGuiSelectableFlags_SetNavIdOnHover",
"value": "1 << 25" "value": "1 << 25"
}, },
{ {
"calc_value": 67108864, "calc_value": 67108864,
"name": "ImGuiSelectableFlags_SetNavIdOnHover", "name": "ImGuiSelectableFlags_NoPadWithHalfSpacing",
"value": "1 << 26" "value": "1 << 26"
}, },
{ {
"calc_value": 134217728, "calc_value": 134217728,
"name": "ImGuiSelectableFlags_NoPadWithHalfSpacing",
"value": "1 << 27"
},
{
"calc_value": 268435456,
"name": "ImGuiSelectableFlags_NoSetKeyOwner", "name": "ImGuiSelectableFlags_NoSetKeyOwner",
"value": "1 << 28" "value": "1 << 27"
} }
], ],
"ImGuiSelectableFlags_": [ "ImGuiSelectableFlags_": [
@@ -4434,182 +4476,185 @@
] ]
}, },
"enumtypes": { "enumtypes": {
"ImGuiKey": "int" "ImGuiKey": "int",
"ImGuiLocKey": "int"
}, },
"locations": { "locations": {
"ImBitVector": "imgui_internal:587", "ImBitVector": "imgui_internal:598",
"ImColor": "imgui:2458", "ImColor": "imgui:2455",
"ImDrawChannel": "imgui:2548", "ImDrawChannel": "imgui:2545",
"ImDrawCmd": "imgui:2507", "ImDrawCmd": "imgui:2504",
"ImDrawCmdHeader": "imgui:2540", "ImDrawCmdHeader": "imgui:2537",
"ImDrawData": "imgui:2740", "ImDrawData": "imgui:2737",
"ImDrawDataBuilder": "imgui_internal:776", "ImDrawDataBuilder": "imgui_internal:787",
"ImDrawFlags_": "imgui:2574", "ImDrawFlags_": "imgui:2571",
"ImDrawList": "imgui:2612", "ImDrawList": "imgui:2609",
"ImDrawListFlags_": "imgui:2594", "ImDrawListFlags_": "imgui:2591",
"ImDrawListSharedData": "imgui_internal:753", "ImDrawListSharedData": "imgui_internal:764",
"ImDrawListSplitter": "imgui:2557", "ImDrawListSplitter": "imgui:2554",
"ImDrawVert": "imgui:2525", "ImDrawVert": "imgui:2522",
"ImFont": "imgui:2959", "ImFont": "imgui:2957",
"ImFontAtlas": "imgui:2857", "ImFontAtlas": "imgui:2854",
"ImFontAtlasCustomRect": "imgui:2819", "ImFontAtlasCustomRect": "imgui:2816",
"ImFontAtlasFlags_": "imgui:2832", "ImFontAtlasFlags_": "imgui:2829",
"ImFontBuilderIO": "imgui_internal:3433", "ImFontBuilderIO": "imgui_internal:3497",
"ImFontConfig": "imgui:2763", "ImFontConfig": "imgui:2760",
"ImFontGlyph": "imgui:2792", "ImFontGlyph": "imgui:2789",
"ImFontGlyphRangesBuilder": "imgui:2804", "ImFontGlyphRangesBuilder": "imgui:2801",
"ImGuiActivateFlags_": "imgui_internal:1420", "ImGuiActivateFlags_": "imgui_internal:1433",
"ImGuiAxis": "imgui_internal:943", "ImGuiAxis": "imgui_internal:953",
"ImGuiBackendFlags_": "imgui:1579", "ImGuiBackendFlags_": "imgui:1576",
"ImGuiButtonFlagsPrivate_": "imgui_internal:847", "ImGuiButtonFlagsPrivate_": "imgui_internal:858",
"ImGuiButtonFlags_": "imgui:1693", "ImGuiButtonFlags_": "imgui:1690",
"ImGuiCol_": "imgui:1594", "ImGuiCol_": "imgui:1591",
"ImGuiColorEditFlags_": "imgui:1706", "ImGuiColorEditFlags_": "imgui:1703",
"ImGuiColorMod": "imgui_internal:986", "ImGuiColorMod": "imgui_internal:996",
"ImGuiComboFlagsPrivate_": "imgui_internal:872", "ImGuiComboFlagsPrivate_": "imgui_internal:883",
"ImGuiComboFlags_": "imgui:1124", "ImGuiComboFlags_": "imgui:1124",
"ImGuiComboPreviewData": "imgui_internal:1003", "ImGuiComboPreviewData": "imgui_internal:1013",
"ImGuiCond_": "imgui:1797", "ImGuiCond_": "imgui:1794",
"ImGuiConfigFlags_": "imgui:1554", "ImGuiConfigFlags_": "imgui:1551",
"ImGuiContext": "imgui_internal:1873", "ImGuiContext": "imgui_internal:1910",
"ImGuiContextHook": "imgui_internal:1858", "ImGuiContextHook": "imgui_internal:1895",
"ImGuiContextHookType": "imgui_internal:1856", "ImGuiContextHookType": "imgui_internal:1893",
"ImGuiDataAuthority_": "imgui_internal:1591", "ImGuiDataAuthority_": "imgui_internal:1604",
"ImGuiDataTypeInfo": "imgui_internal:969", "ImGuiDataTypeInfo": "imgui_internal:979",
"ImGuiDataTypePrivate_": "imgui_internal:978", "ImGuiDataTypePrivate_": "imgui_internal:988",
"ImGuiDataTypeTempStorage": "imgui_internal:963", "ImGuiDataTypeTempStorage": "imgui_internal:973",
"ImGuiDataType_": "imgui:1376", "ImGuiDataType_": "imgui:1376",
"ImGuiDebugLogFlags_": "imgui_internal:1788", "ImGuiDebugLogFlags_": "imgui_internal:1825",
"ImGuiDir_": "imgui:1392", "ImGuiDir_": "imgui:1392",
"ImGuiDockContext": "imgui_internal:1689", "ImGuiDockContext": "imgui_internal:1702",
"ImGuiDockNode": "imgui_internal:1607", "ImGuiDockNode": "imgui_internal:1620",
"ImGuiDockNodeFlagsPrivate_": "imgui_internal:1566", "ImGuiDockNodeFlagsPrivate_": "imgui_internal:1579",
"ImGuiDockNodeFlags_": "imgui:1341", "ImGuiDockNodeFlags_": "imgui:1341",
"ImGuiDockNodeState": "imgui_internal:1598", "ImGuiDockNodeState": "imgui_internal:1611",
"ImGuiDragDropFlags_": "imgui:1354", "ImGuiDragDropFlags_": "imgui:1354",
"ImGuiFocusedFlags_": "imgui:1301", "ImGuiFocusedFlags_": "imgui:1301",
"ImGuiGroupData": "imgui_internal:1016", "ImGuiGroupData": "imgui_internal:1026",
"ImGuiHoveredFlags_": "imgui:1315", "ImGuiHoveredFlags_": "imgui:1315",
"ImGuiIO": "imgui:1974", "ImGuiIO": "imgui:1971",
"ImGuiInputEvent": "imgui_internal:1278", "ImGuiInputEvent": "imgui_internal:1291",
"ImGuiInputEventAppFocused": "imgui_internal:1276", "ImGuiInputEventAppFocused": "imgui_internal:1289",
"ImGuiInputEventKey": "imgui_internal:1274", "ImGuiInputEventKey": "imgui_internal:1287",
"ImGuiInputEventMouseButton": "imgui_internal:1272", "ImGuiInputEventMouseButton": "imgui_internal:1285",
"ImGuiInputEventMousePos": "imgui_internal:1270", "ImGuiInputEventMousePos": "imgui_internal:1283",
"ImGuiInputEventMouseViewport": "imgui_internal:1273", "ImGuiInputEventMouseViewport": "imgui_internal:1286",
"ImGuiInputEventMouseWheel": "imgui_internal:1271", "ImGuiInputEventMouseWheel": "imgui_internal:1284",
"ImGuiInputEventText": "imgui_internal:1275", "ImGuiInputEventText": "imgui_internal:1288",
"ImGuiInputEventType": "imgui_internal:1244", "ImGuiInputEventType": "imgui_internal:1257",
"ImGuiInputFlags_": "imgui_internal:1341", "ImGuiInputFlags_": "imgui_internal:1354",
"ImGuiInputSource": "imgui_internal:1257", "ImGuiInputSource": "imgui_internal:1270",
"ImGuiInputTextCallbackData": "imgui:2162", "ImGuiInputTextCallbackData": "imgui:2159",
"ImGuiInputTextFlagsPrivate_": "imgui_internal:838", "ImGuiInputTextFlagsPrivate_": "imgui_internal:849",
"ImGuiInputTextFlags_": "imgui:1036", "ImGuiInputTextFlags_": "imgui:1036",
"ImGuiInputTextState": "imgui_internal:1051", "ImGuiInputTextState": "imgui_internal:1061",
"ImGuiItemFlags_": "imgui_internal:795", "ImGuiItemFlags_": "imgui_internal:806",
"ImGuiItemStatusFlags_": "imgui_internal:815", "ImGuiItemStatusFlags_": "imgui_internal:826",
"ImGuiKey": "imgui:1413", "ImGuiKey": "imgui:1414",
"ImGuiKeyData": "imgui:1966", "ImGuiKeyData": "imgui:1963",
"ImGuiKeyOwnerData": "imgui_internal:1329", "ImGuiKeyOwnerData": "imgui_internal:1342",
"ImGuiKeyRoutingData": "imgui_internal:1304", "ImGuiKeyRoutingData": "imgui_internal:1317",
"ImGuiKeyRoutingTable": "imgui_internal:1317", "ImGuiKeyRoutingTable": "imgui_internal:1330",
"ImGuiLastItemData": "imgui_internal:1165", "ImGuiLastItemData": "imgui_internal:1176",
"ImGuiLayoutType_": "imgui_internal:927", "ImGuiLayoutType_": "imgui_internal:937",
"ImGuiListClipper": "imgui:2407", "ImGuiListClipper": "imgui:2404",
"ImGuiListClipperData": "imgui_internal:1404", "ImGuiListClipperData": "imgui_internal:1417",
"ImGuiListClipperRange": "imgui_internal:1391", "ImGuiListClipperRange": "imgui_internal:1404",
"ImGuiLogType": "imgui_internal:933", "ImGuiLocEntry": "imgui_internal:1814",
"ImGuiMenuColumns": "imgui_internal:1032", "ImGuiLocKey": "imgui_internal:1801",
"ImGuiMetricsConfig": "imgui_internal:1804", "ImGuiLogType": "imgui_internal:943",
"ImGuiMouseButton_": "imgui:1769", "ImGuiMenuColumns": "imgui_internal:1042",
"ImGuiMouseCursor_": "imgui:1779", "ImGuiMetricsConfig": "imgui_internal:1841",
"ImGuiNavHighlightFlags_": "imgui_internal:1443", "ImGuiMouseButton_": "imgui:1766",
"ImGuiNavInput": "imgui:1545", "ImGuiMouseCursor_": "imgui:1776",
"ImGuiNavItemData": "imgui_internal:1477", "ImGuiNavHighlightFlags_": "imgui_internal:1456",
"ImGuiNavLayer": "imgui_internal:1470", "ImGuiNavInput": "imgui:1542",
"ImGuiNavMoveFlags_": "imgui_internal:1452", "ImGuiNavItemData": "imgui_internal:1490",
"ImGuiNextItemData": "imgui_internal:1152", "ImGuiNavLayer": "imgui_internal:1483",
"ImGuiNextItemDataFlags_": "imgui_internal:1145", "ImGuiNavMoveFlags_": "imgui_internal:1465",
"ImGuiNextWindowData": "imgui_internal:1118", "ImGuiNextItemData": "imgui_internal:1163",
"ImGuiNextWindowDataFlags_": "imgui_internal:1101", "ImGuiNextItemDataFlags_": "imgui_internal:1156",
"ImGuiOldColumnData": "imgui_internal:1517", "ImGuiNextWindowData": "imgui_internal:1129",
"ImGuiOldColumnFlags_": "imgui_internal:1497", "ImGuiNextWindowDataFlags_": "imgui_internal:1112",
"ImGuiOldColumns": "imgui_internal:1527", "ImGuiOldColumnData": "imgui_internal:1530",
"ImGuiOnceUponAFrame": "imgui:2282", "ImGuiOldColumnFlags_": "imgui_internal:1510",
"ImGuiPayload": "imgui:2223", "ImGuiOldColumns": "imgui_internal:1540",
"ImGuiPlatformIO": "imgui:3123", "ImGuiOnceUponAFrame": "imgui:2279",
"ImGuiPlatformImeData": "imgui:3195", "ImGuiPayload": "imgui:2220",
"ImGuiPlatformMonitor": "imgui:3186", "ImGuiPlatformIO": "imgui:3122",
"ImGuiPlotType": "imgui_internal:950", "ImGuiPlatformImeData": "imgui:3194",
"ImGuiPopupData": "imgui_internal:1087", "ImGuiPlatformMonitor": "imgui:3185",
"ImGuiPlotType": "imgui_internal:960",
"ImGuiPopupData": "imgui_internal:1098",
"ImGuiPopupFlags_": "imgui:1097", "ImGuiPopupFlags_": "imgui:1097",
"ImGuiPopupPositionPolicy": "imgui_internal:956", "ImGuiPopupPositionPolicy": "imgui_internal:966",
"ImGuiPtrOrIndex": "imgui_internal:1209", "ImGuiPtrOrIndex": "imgui_internal:1220",
"ImGuiScrollFlags_": "imgui_internal:1429", "ImGuiScrollFlags_": "imgui_internal:1442",
"ImGuiSelectableFlagsPrivate_": "imgui_internal:885", "ImGuiSelectableFlagsPrivate_": "imgui_internal:896",
"ImGuiSelectableFlags_": "imgui:1113", "ImGuiSelectableFlags_": "imgui:1113",
"ImGuiSeparatorFlags_": "imgui_internal:905", "ImGuiSeparatorFlags_": "imgui_internal:915",
"ImGuiSettingsHandler": "imgui_internal:1769", "ImGuiSettingsHandler": "imgui_internal:1781",
"ImGuiShrinkWidthItem": "imgui_internal:1202", "ImGuiShrinkWidthItem": "imgui_internal:1213",
"ImGuiSizeCallbackData": "imgui:2193", "ImGuiSizeCallbackData": "imgui:2190",
"ImGuiSliderFlagsPrivate_": "imgui_internal:878", "ImGuiSliderFlagsPrivate_": "imgui_internal:889",
"ImGuiSliderFlags_": "imgui:1752", "ImGuiSliderFlags_": "imgui:1749",
"ImGuiSortDirection_": "imgui:1403", "ImGuiSortDirection_": "imgui:1403",
"ImGuiStackLevelInfo": "imgui_internal:1827", "ImGuiStackLevelInfo": "imgui_internal:1864",
"ImGuiStackSizes": "imgui_internal:1177", "ImGuiStackSizes": "imgui_internal:1188",
"ImGuiStackTool": "imgui_internal:1839", "ImGuiStackTool": "imgui_internal:1876",
"ImGuiStorage": "imgui:2344", "ImGuiStorage": "imgui:2341",
"ImGuiStoragePair": "imgui:2347", "ImGuiStoragePair": "imgui:2344",
"ImGuiStyle": "imgui:1909", "ImGuiStyle": "imgui:1906",
"ImGuiStyleMod": "imgui_internal:993", "ImGuiStyleMod": "imgui_internal:1003",
"ImGuiStyleVar_": "imgui:1661", "ImGuiStyleVar_": "imgui:1658",
"ImGuiTabBar": "imgui_internal:2575", "ImGuiTabBar": "imgui_internal:2625",
"ImGuiTabBarFlagsPrivate_": "imgui_internal:2537", "ImGuiTabBarFlagsPrivate_": "imgui_internal:2587",
"ImGuiTabBarFlags_": "imgui:1138", "ImGuiTabBarFlags_": "imgui:1138",
"ImGuiTabItem": "imgui_internal:2555", "ImGuiTabItem": "imgui_internal:2605",
"ImGuiTabItemFlagsPrivate_": "imgui_internal:2545", "ImGuiTabItemFlagsPrivate_": "imgui_internal:2595",
"ImGuiTabItemFlags_": "imgui:1154", "ImGuiTabItemFlags_": "imgui:1154",
"ImGuiTable": "imgui_internal:2711", "ImGuiTable": "imgui_internal:2762",
"ImGuiTableBgTarget_": "imgui:1292", "ImGuiTableBgTarget_": "imgui:1292",
"ImGuiTableCellData": "imgui_internal:2695", "ImGuiTableCellData": "imgui_internal:2745",
"ImGuiTableColumn": "imgui_internal:2636", "ImGuiTableColumn": "imgui_internal:2686",
"ImGuiTableColumnFlags_": "imgui:1240", "ImGuiTableColumnFlags_": "imgui:1240",
"ImGuiTableColumnSettings": "imgui_internal:2846", "ImGuiTableColumnSettings": "imgui_internal:2899",
"ImGuiTableColumnSortSpecs": "imgui:2245", "ImGuiTableColumnSortSpecs": "imgui:2242",
"ImGuiTableFlags_": "imgui:1189", "ImGuiTableFlags_": "imgui:1189",
"ImGuiTableInstanceData": "imgui_internal:2702", "ImGuiTableInstanceData": "imgui_internal:2752",
"ImGuiTableRowFlags_": "imgui:1277", "ImGuiTableRowFlags_": "imgui:1277",
"ImGuiTableSettings": "imgui_internal:2870", "ImGuiTableSettings": "imgui_internal:2923",
"ImGuiTableSortSpecs": "imgui:2259", "ImGuiTableSortSpecs": "imgui:2256",
"ImGuiTableTempData": "imgui_internal:2825", "ImGuiTableTempData": "imgui_internal:2878",
"ImGuiTextBuffer": "imgui:2317", "ImGuiTextBuffer": "imgui:2314",
"ImGuiTextFilter": "imgui:2290", "ImGuiTextFilter": "imgui:2287",
"ImGuiTextFlags_": "imgui_internal:913", "ImGuiTextFlags_": "imgui_internal:923",
"ImGuiTextIndex": "imgui_internal:710", "ImGuiTextIndex": "imgui_internal:721",
"ImGuiTextRange": "imgui:2300", "ImGuiTextRange": "imgui:2297",
"ImGuiTooltipFlags_": "imgui_internal:919", "ImGuiTooltipFlags_": "imgui_internal:929",
"ImGuiTreeNodeFlagsPrivate_": "imgui_internal:900", "ImGuiTreeNodeFlagsPrivate_": "imgui_internal:910",
"ImGuiTreeNodeFlags_": "imgui:1068", "ImGuiTreeNodeFlags_": "imgui:1068",
"ImGuiViewport": "imgui:3040", "ImGuiViewport": "imgui:3038",
"ImGuiViewportFlags_": "imgui:3015", "ImGuiViewportFlags_": "imgui:3013",
"ImGuiViewportP": "imgui_internal:1706", "ImGuiViewportP": "imgui_internal:1719",
"ImGuiWindow": "imgui_internal:2393", "ImGuiWindow": "imgui_internal:2440",
"ImGuiWindowClass": "imgui:2208", "ImGuiWindowClass": "imgui:2205",
"ImGuiWindowDockStyle": "imgui_internal:1684", "ImGuiWindowDockStyle": "imgui_internal:1697",
"ImGuiWindowDockStyleCol": "imgui_internal:1673", "ImGuiWindowDockStyleCol": "imgui_internal:1686",
"ImGuiWindowFlags_": "imgui:995", "ImGuiWindowFlags_": "imgui:995",
"ImGuiWindowSettings": "imgui_internal:1752", "ImGuiWindowSettings": "imgui_internal:1764",
"ImGuiWindowStackData": "imgui_internal:1195", "ImGuiWindowStackData": "imgui_internal:1206",
"ImGuiWindowTempData": "imgui_internal:2345", "ImGuiWindowTempData": "imgui_internal:2392",
"ImRect": "imgui_internal:515", "ImRect": "imgui_internal:526",
"ImVec1": "imgui_internal:497", "ImVec1": "imgui_internal:508",
"ImVec2": "imgui:259", "ImVec2": "imgui:259",
"ImVec2ih": "imgui_internal:505", "ImVec2ih": "imgui_internal:516",
"ImVec4": "imgui:272", "ImVec4": "imgui:272",
"STB_TexteditState": "imstb_textedit:319", "STB_TexteditState": "imstb_textedit:320",
"StbTexteditRow": "imstb_textedit:366", "StbTexteditRow": "imstb_textedit:367",
"StbUndoRecord": "imstb_textedit:301", "StbUndoRecord": "imstb_textedit:302",
"StbUndoState": "imstb_textedit:310" "StbUndoState": "imstb_textedit:311"
}, },
"structs": { "structs": {
"ImBitVector": [ "ImBitVector": [
@@ -4976,6 +5021,10 @@
"name": "Locked", "name": "Locked",
"type": "bool" "type": "bool"
}, },
{
"name": "UserData",
"type": "void*"
},
{ {
"name": "TexReady", "name": "TexReady",
"type": "bool" "type": "bool"
@@ -5415,10 +5464,22 @@
"name": "WheelingWindowRefMousePos", "name": "WheelingWindowRefMousePos",
"type": "ImVec2" "type": "ImVec2"
}, },
{
"name": "WheelingWindowStartFrame",
"type": "int"
},
{ {
"name": "WheelingWindowReleaseTimer", "name": "WheelingWindowReleaseTimer",
"type": "float" "type": "float"
}, },
{
"name": "WheelingWindowWheelRemainder",
"type": "ImVec2"
},
{
"name": "WheelingAxisAvg",
"type": "ImVec2"
},
{ {
"name": "DebugHookIdInfo", "name": "DebugHookIdInfo",
"type": "ImGuiID" "type": "ImGuiID"
@@ -6149,6 +6210,11 @@
"name": "HookIdNext", "name": "HookIdNext",
"type": "ImGuiID" "type": "ImGuiID"
}, },
{
"name": "LocalizationTable[ImGuiLocKey_COUNT]",
"size": 8,
"type": "const char*"
},
{ {
"name": "LogEnabled", "name": "LogEnabled",
"type": "bool" "type": "bool"
@@ -7103,6 +7169,10 @@
} }
], ],
"ImGuiInputTextState": [ "ImGuiInputTextState": [
{
"name": "Ctx",
"type": "ImGuiContext*"
},
{ {
"name": "ID", "name": "ID",
"type": "ImGuiID" "type": "ImGuiID"
@@ -7339,6 +7409,16 @@
"type": "ImS8" "type": "ImS8"
} }
], ],
"ImGuiLocEntry": [
{
"name": "Key",
"type": "ImGuiLocKey"
},
{
"name": "Text",
"type": "const char*"
}
],
"ImGuiMenuColumns": [ "ImGuiMenuColumns": [
{ {
"name": "TotalWidth", "name": "TotalWidth",
@@ -8819,6 +8899,14 @@
"name": "IsDefaultSizingPolicy", "name": "IsDefaultSizingPolicy",
"type": "bool" "type": "bool"
}, },
{
"name": "HasScrollbarYCurr",
"type": "bool"
},
{
"name": "HasScrollbarYPrev",
"type": "bool"
},
{ {
"name": "MemoryCompacted", "name": "MemoryCompacted",
"type": "bool" "type": "bool"
@@ -9071,6 +9159,10 @@
{ {
"name": "LastFirstRowHeight", "name": "LastFirstRowHeight",
"type": "float" "type": "float"
},
{
"name": "LastFrozenHeight",
"type": "float"
} }
], ],
"ImGuiTableSettings": [ "ImGuiTableSettings": [
@@ -9260,6 +9352,10 @@
"name": "PlatformHandleRaw", "name": "PlatformHandleRaw",
"type": "void*" "type": "void*"
}, },
{
"name": "PlatformWindowCreated",
"type": "bool"
},
{ {
"name": "PlatformRequestMove", "name": "PlatformRequestMove",
"type": "bool" "type": "bool"
@@ -9310,10 +9406,6 @@
"name": "PlatformMonitor", "name": "PlatformMonitor",
"type": "short" "type": "short"
}, },
{
"name": "PlatformWindowCreated",
"type": "bool"
},
{ {
"name": "Window", "name": "Window",
"type": "ImGuiWindow*" "type": "ImGuiWindow*"
@@ -9438,6 +9530,30 @@
"name": "WindowBorderSize", "name": "WindowBorderSize",
"type": "float" "type": "float"
}, },
{
"name": "DecoOuterSizeX1",
"type": "float"
},
{
"name": "DecoOuterSizeY1",
"type": "float"
},
{
"name": "DecoOuterSizeX2",
"type": "float"
},
{
"name": "DecoOuterSizeY2",
"type": "float"
},
{
"name": "DecoInnerSizeX1",
"type": "float"
},
{
"name": "DecoInnerSizeY1",
"type": "float"
},
{ {
"name": "NameBufLen", "name": "NameBufLen",
"type": "int" "type": "int"

File diff suppressed because it is too large Load Diff

View File

@@ -81,6 +81,7 @@
"ImGuiListClipper": "struct ImGuiListClipper", "ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiListClipperData": "struct ImGuiListClipperData", "ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange", "ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiLocEntry": "struct ImGuiLocEntry",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);", "ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);", "ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns", "ImGuiMenuColumns": "struct ImGuiMenuColumns",

View File

@@ -81,6 +81,7 @@ defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper" defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData" defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange" defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);" defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);" defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns" defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"

2
imgui

Submodule imgui updated: 94e850fd6f...d822c65317