Compare commits

..

10 Commits

Author SHA1 Message Date
sonoro1234
f6fb347cf1 pull 1.90.9 docking and generate 2024-07-03 11:05:17 +02:00
sonoro1234
d8f958f680 example_glfw_opengl3/CMakeLists.txt: move definitions to avoid glfw compilation error. 2024-06-15 17:40:12 +02:00
sonoro1234
ee251eaafa cpp2ffi: only change type&name but not type &name 2024-06-14 18:51:00 +02:00
sonoro1234
00ecbb0ee2 backend_test: make glfw examples work with dynamic and static linking 2024-06-14 16:25:20 +02:00
sonoro1234
577f2b088a example_glfw_dx11/main.c: avoid compiler warning 2024-06-13 10:45:34 +02:00
sonoro1234
26152eac73 add backend_test/example_glfw_dx11 2024-06-13 09:51:41 +02:00
sonoro1234
7c16d31cdb pull imgui docking 1.90.8 and generate 2024-06-07 13:21:00 +02:00
sonoro1234
b3e02743f2 avoid type&name -> type& name 2024-06-07 13:18:13 +02:00
sonoro1234
155d5961dc add definitions to cimgui.h (issue #268) 2024-06-01 12:54:07 +02:00
sonoro1234
a01f163a81 pull imgui 1.90.7 dock and generate 2024-05-28 10:12:28 +02:00
18 changed files with 5540 additions and 4616 deletions

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit) Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes: Notes:
* currently this wrapper is based on version [1.90.6 of Dear ImGui with internal api] * currently this wrapper is based on version [1.90.9 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,109 @@
Project(cimgui_glfwdx11)
cmake_minimum_required(VERSION 3.11)
if(WIN32) # to mingw work as all the others
set(CMAKE_SHARED_LIBRARY_PREFIX "")
endif(WIN32)
#run in build dir
set (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
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_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)
# dx11
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_dx11.cpp)
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_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
if (NOT STATIC_BUILD)
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
endif()
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
install(TARGETS glfw RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
LIBRARY DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
)
#FIND_PACKAGE(glfw3 PATHS "C:/LuaGL/gitsources/BUILDS/GLFW/install")
if (NOT STATIC_BUILD)
add_library(cimgui SHARED ${IMGUI_SOURCES})
else()
add_library(cimgui STATIC ${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_DX11 -DCIMGUI_USE_GLFW)
target_link_libraries(${PROJECT_NAME} d3d11 d3dcompiler.lib cimgui)

View File

@@ -0,0 +1,6 @@
This example needs dx11 in generation before compile. (add dx11 to generator.bat(sh) and generate)
`STATIC_BUILD` is the cmake variable to do static linking
Only tested with VC nmake.

View File

@@ -0,0 +1,247 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui.h"
#include "cimgui_impl.h"
#define D3D11_NO_HELPERS
#define CINTERFACE
#define COBJMACROS
#define WIN32_LEAN_AND_MEAN
#include <d3d11.h>
#include <GLFW/glfw3.h>
#define GLFW_EXPOSE_NATIVE_WIN32
#include <GLFW/glfw3native.h>
#include <stdio.h>
#ifdef _MSC_VER
#include <windows.h>
#endif
#pragma comment(lib, "dxguid.lib")
#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;
// Data
static ID3D11Device* g_pd3dDevice = NULL;
static ID3D11DeviceContext* g_pd3dDeviceContext = NULL;
static IDXGISwapChain* g_pSwapChain = NULL;
static ID3D11RenderTargetView* g_mainRenderTargetView = NULL;
// Forward declarations of helper functions
bool CreateDeviceD3D(HWND hWnd);
void CleanupDeviceD3D();
void CreateRenderTarget();
void CleanupRenderTarget();
void window_size_callback(GLFWwindow* window, int width, int height)
{
CleanupRenderTarget();
IDXGISwapChain_ResizeBuffers(g_pSwapChain, 0, width, height, DXGI_FORMAT_UNKNOWN, 0);
CreateRenderTarget();
}
int main(int argc, char *argv[])
{
if (!glfwInit())
return -1;
// Decide GL+GLSL versions
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
// 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;
}
//
HWND hwnd = glfwGetWin32Window(window);
if (hwnd == NULL)
{
printf("Failed to get win32 window! Terminating!\n");
glfwTerminate();
return -1;
}
// Initialize Direct3D
if (!CreateDeviceD3D(hwnd))
{
CleanupDeviceD3D();
return 1;
}
glfwSetWindowSizeCallback(window, window_size_callback);
// 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_InitForOther(window, true);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);
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_ImplDX11_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();
const float clear_color_with_alpha[4] = { clearColor.x * clearColor.w, clearColor.y * clearColor.w, clearColor.z * clearColor.w, clearColor.w };
ID3D11DeviceContext_OMSetRenderTargets(g_pd3dDeviceContext, 1, &g_mainRenderTargetView, NULL);
ID3D11DeviceContext_ClearRenderTargetView(g_pd3dDeviceContext, g_mainRenderTargetView, clear_color_with_alpha);
ImGui_ImplDX11_RenderDrawData(igGetDrawData());
#ifdef IMGUI_HAS_DOCK
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
{
igUpdatePlatformWindows();
igRenderPlatformWindowsDefault(NULL, NULL);
}
#endif
IDXGISwapChain_Present(g_pSwapChain,1, 0); // Present with vsync
//g_pSwapChain->Present(0, 0); // Present without vsync
}
// clean up
ImGui_ImplDX11_Shutdown();
ImGui_ImplGlfw_Shutdown();
igDestroyContext(NULL);
CleanupDeviceD3D();
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
// Helper functions to use DirectX11
bool CreateDeviceD3D(HWND hWnd)
{
// Setup swap chain
DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory(&sd, sizeof(sd));
sd.BufferCount = 2;
sd.BufferDesc.Width = 0;
sd.BufferDesc.Height = 0;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = hWnd;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;
sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
UINT createDeviceFlags = 0;
//createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
D3D_FEATURE_LEVEL featureLevel;
const D3D_FEATURE_LEVEL featureLevelArray[2] = { D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_0, };
if (D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext) != S_OK)
return false;
CreateRenderTarget();
return true;
}
void CleanupDeviceD3D()
{
CleanupRenderTarget();
if (g_pSwapChain) { IDXGISwapChain_Release(g_pSwapChain); g_pSwapChain = NULL; }
if (g_pd3dDeviceContext) { ID3D11DeviceContext_Release(g_pd3dDeviceContext); g_pd3dDeviceContext = NULL; }
if (g_pd3dDevice) { ID3D11Device_Release(g_pd3dDevice); g_pd3dDevice = NULL; }
}
void CreateRenderTarget()
{
ID3D11Resource* pBackBuffer;
IDXGISwapChain_GetBuffer(g_pSwapChain, 0, &IID_ID3D11Texture2D, (void**)&pBackBuffer);
ID3D11Device_CreateRenderTargetView(g_pd3dDevice, pBackBuffer, NULL, &g_mainRenderTargetView);
ID3D11Texture2D_Release(pBackBuffer);
}
void CleanupRenderTarget()
{
if (g_mainRenderTargetView) { ID3D11RenderTargetView_Release(g_mainRenderTargetView); g_mainRenderTargetView = NULL; }
}

View File

@@ -4,6 +4,9 @@ if(WIN32) # to mingw work as all the others
set(CMAKE_SHARED_LIBRARY_PREFIX "") set(CMAKE_SHARED_LIBRARY_PREFIX "")
endif(WIN32) endif(WIN32)
#run in build dir
set (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
set (CMAKE_CXX_STANDARD 11) set (CMAKE_CXX_STANDARD 11)
# general settings # general settings
@@ -32,14 +35,8 @@ set(IMGUI_SOURCES
${TABLES_SOURCE} ${TABLES_SOURCE}
) )
set(IMGUI_SOURCES_sdl)
set(IMGUI_LIBRARIES ) 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") add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
@@ -65,28 +62,44 @@ endif(WIN32)
# GLFW # GLFW
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp) list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp)
set(GLFW_VERSION 3.3.8) set(GLFW_VERSION 3.4)
include(FetchContent) include(FetchContent)
FetchContent_Declare( FetchContent_Declare(
glfw glfw
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz) URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz)
#GIT_REPOSITORY https://github.com/glfw/glfw )
FetchContent_GetProperties(glfw) FetchContent_GetProperties(glfw)
if (NOT glfw_POPULATED) if (NOT glfw_POPULATED)
set(FETCHCONTENT_QUIET NO) set(FETCHCONTENT_QUIET NO)
FetchContent_Populate(glfw) FetchContent_Populate(glfw)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR}) if (NOT STATIC_BUILD)
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
endif()
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR} EXCLUDE_FROM_ALL)
endif() endif()
#if dynamic glfw then install
install(TARGETS glfw RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
LIBRARY DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
)
#FIND_PACKAGE(glfw3 PATHS "C:/LuaGL/gitsources/BUILDS/GLFW/install" REQUIRED)
# glfw/imgui gets confused if it is not statically built.
IF (WIN32) if (NOT STATIC_BUILD)
add_library(cimgui STATIC ${IMGUI_SOURCES})
ELSE()
add_library(cimgui SHARED ${IMGUI_SOURCES}) add_library(cimgui SHARED ${IMGUI_SOURCES})
ENDIF() else()
add_library(cimgui STATIC ${IMGUI_SOURCES})
endif()
if (WIN32)
target_compile_definitions(cimgui PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
target_compile_definitions(cimgui PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw) target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
@@ -95,9 +108,6 @@ target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
include_directories(../../generator/output/) include_directories(../../generator/output/)
add_executable(${PROJECT_NAME} main.c) add_executable(${PROJECT_NAME} main.c)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW) target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW)
if (MINGW) target_link_libraries(${PROJECT_NAME} cimgui)
target_link_options(${PROJECT_NAME} PRIVATE "-mconsole")
endif()
target_link_libraries(${PROJECT_NAME} ${IMGUI_SDL_LIBRARY} cimgui)

View File

@@ -0,0 +1,4 @@
To build use `cmake path_to_example_glfw_opengl3` and then `make install`
`STATIC_BUILD` is a cmake variable if you want to do static linking.

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.90.6" 19060 from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.90.9" 19090 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
@@ -1132,9 +1132,9 @@ CIMGUI_API bool igIsPopupOpen_Str(const char* str_id,ImGuiPopupFlags flags)
{ {
return ImGui::IsPopupOpen(str_id,flags); return ImGui::IsPopupOpen(str_id,flags);
} }
CIMGUI_API bool igBeginTable(const char* str_id,int column,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width) CIMGUI_API bool igBeginTable(const char* str_id,int columns,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width)
{ {
return ImGui::BeginTable(str_id,column,flags,outer_size,inner_width); return ImGui::BeginTable(str_id,columns,flags,outer_size,inner_width);
} }
CIMGUI_API void igEndTable() CIMGUI_API void igEndTable()
{ {
@@ -1200,6 +1200,10 @@ CIMGUI_API void igTableSetColumnEnabled(int column_n,bool v)
{ {
return ImGui::TableSetColumnEnabled(column_n,v); return ImGui::TableSetColumnEnabled(column_n,v);
} }
CIMGUI_API int igTableGetHoveredColumn()
{
return ImGui::TableGetHoveredColumn();
}
CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n) CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n)
{ {
return ImGui::TableSetBgColor(target,color,column_n); return ImGui::TableSetBgColor(target,color,column_n);
@@ -1260,13 +1264,13 @@ CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label)
{ {
return ImGui::SetTabItemClosed(tab_or_docked_window_label); return ImGui::SetTabItemClosed(tab_or_docked_window_label);
} }
CIMGUI_API ImGuiID igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class) CIMGUI_API ImGuiID igDockSpace(ImGuiID dockspace_id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
{ {
return ImGui::DockSpace(id,size,flags,window_class); return ImGui::DockSpace(dockspace_id,size,flags,window_class);
} }
CIMGUI_API ImGuiID igDockSpaceOverViewport(const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class) CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiID dockspace_id,const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
{ {
return ImGui::DockSpaceOverViewport(viewport,flags,window_class); return ImGui::DockSpaceOverViewport(dockspace_id,viewport,flags,window_class);
} }
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond) CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond)
{ {
@@ -1436,15 +1440,7 @@ CIMGUI_API ImGuiViewport* igGetMainViewport()
{ {
return ImGui::GetMainViewport(); return ImGui::GetMainViewport();
} }
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil() CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport)
{
return ImGui::GetBackgroundDrawList();
}
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil()
{
return ImGui::GetForegroundDrawList();
}
CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport)
{ {
return ImGui::GetBackgroundDrawList(viewport); return ImGui::GetBackgroundDrawList(viewport);
} }
@@ -1532,6 +1528,14 @@ CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard)
{ {
return ImGui::SetNextFrameWantCaptureKeyboard(want_capture_keyboard); return ImGui::SetNextFrameWantCaptureKeyboard(want_capture_keyboard);
} }
CIMGUI_API bool igShortcut_Nil(ImGuiKeyChord key_chord,ImGuiInputFlags flags)
{
return ImGui::Shortcut(key_chord,flags);
}
CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord,ImGuiInputFlags flags)
{
return ImGui::SetNextItemShortcut(key_chord,flags);
}
CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button) CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button)
{ {
return ImGui::IsMouseDown(button); return ImGui::IsMouseDown(button);
@@ -1764,6 +1768,10 @@ CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self)
{ {
return self->ClearInputKeys(); return self->ClearInputKeys();
} }
CIMGUI_API void ImGuiIO_ClearInputMouse(ImGuiIO* self)
{
return self->ClearInputMouse();
}
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void) CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{ {
return IM_NEW(ImGuiIO)(); return IM_NEW(ImGuiIO)();
@@ -2947,7 +2955,7 @@ CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs)
{ {
*pOut = ImMax(lhs,rhs); *pOut = ImMax(lhs,rhs);
} }
CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,ImVec2 mx) CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,const ImVec2 mx)
{ {
*pOut = ImClamp(v,mn,mx); *pOut = ImClamp(v,mn,mx);
} }
@@ -3275,6 +3283,10 @@ CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self,const char* base,int
{ {
return self->append(base,old_size,new_size); return self->append(base,old_size,new_size);
} }
CIMGUI_API ImGuiStoragePair* igImLowerBound(ImGuiStoragePair* in_begin,ImGuiStoragePair* in_end,ImGuiID key)
{
return ImLowerBound(in_begin,in_end,key);
}
CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void) CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void)
{ {
return IM_NEW(ImDrawListSharedData)(); return IM_NEW(ImDrawListSharedData)();
@@ -3295,6 +3307,10 @@ CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent)
{
return self->GetVarPtr(parent);
}
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v) CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v)
{ {
return IM_NEW(ImGuiStyleMod)(idx,v); return IM_NEW(ImGuiStyleMod)(idx,v);
@@ -3483,10 +3499,6 @@ CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index)
{ {
return IM_NEW(ImGuiPtrOrIndex)(index); return IM_NEW(ImGuiPtrOrIndex)(index);
} }
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent)
{
return self->GetVarPtr(parent);
}
CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void) CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void)
{ {
return IM_NEW(ImGuiPopupData)(); return IM_NEW(ImGuiPopupData)();
@@ -3783,18 +3795,10 @@ CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self)
{ {
return self->CalcFontSize(); return self->CalcFontSize();
} }
CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self)
{
return self->TitleBarHeight();
}
CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self) CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self)
{ {
*pOut = self->TitleBarRect(); *pOut = self->TitleBarRect();
} }
CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self)
{
return self->MenuBarHeight();
}
CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self) CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self)
{ {
*pOut = self->MenuBarRect(); *pOut = self->MenuBarRect();
@@ -4015,6 +4019,10 @@ CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags()
{ {
return ImGui::UpdateHoveredWindowAndCaptureFlags(); return ImGui::UpdateHoveredWindowAndCaptureFlags();
} }
CIMGUI_API void igFindHoveredWindowEx(const ImVec2 pos,bool find_first_and_in_any_viewport,ImGuiWindow** out_hovered_window,ImGuiWindow** out_hovered_window_under_moving_window)
{
return ImGui::FindHoveredWindowEx(pos,find_first_and_in_any_viewport,out_hovered_window,out_hovered_window_under_moving_window);
}
CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window) CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window)
{ {
return ImGui::StartMouseMovingWindow(window); return ImGui::StartMouseMovingWindow(window);
@@ -4271,6 +4279,14 @@ CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx)
{ {
return ImGui::GetStyleVarInfo(idx); return ImGui::GetStyleVarInfo(idx);
} }
CIMGUI_API void igBeginDisabledOverrideReenable()
{
return ImGui::BeginDisabledOverrideReenable();
}
CIMGUI_API void igEndDisabledOverrideReenable()
{
return ImGui::EndDisabledOverrideReenable();
}
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth) CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth)
{ {
return ImGui::LogBegin(type,auto_open_depth); return ImGui::LogBegin(type,auto_open_depth);
@@ -4291,6 +4307,10 @@ CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg
{ {
return ImGui::BeginChildEx(name,id,size_arg,child_flags,window_flags); return ImGui::BeginChildEx(name,id,size_arg,child_flags,window_flags);
} }
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_window_flags)
{
return ImGui::BeginPopupEx(id,extra_window_flags);
}
CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags) CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags)
{ {
return ImGui::OpenPopupEx(id,popup_flags); return ImGui::OpenPopupEx(id,popup_flags);
@@ -4311,18 +4331,6 @@ CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags)
{ {
return ImGui::IsPopupOpen(id,popup_flags); return ImGui::IsPopupOpen(id,popup_flags);
} }
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags)
{
return ImGui::BeginPopupEx(id,extra_flags);
}
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
{
return ImGui::BeginTooltipEx(tooltip_flags,extra_window_flags);
}
CIMGUI_API bool igBeginTooltipHidden()
{
return ImGui::BeginTooltipHidden();
}
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window) CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window)
{ {
*pOut = ImGui::GetPopupAllowedExtentRect(window); *pOut = ImGui::GetPopupAllowedExtentRect(window);
@@ -4347,6 +4355,14 @@ CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,
{ {
*pOut = ImGui::FindBestWindowPosForPopupEx(ref_pos,size,last_dir,r_outer,r_avoid,policy); *pOut = ImGui::FindBestWindowPosForPopupEx(ref_pos,size,last_dir,r_outer,r_avoid,policy);
} }
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
{
return ImGui::BeginTooltipEx(tooltip_flags,extra_window_flags);
}
CIMGUI_API bool igBeginTooltipHidden()
{
return ImGui::BeginTooltipHidden();
}
CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags) CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags)
{ {
return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags); return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags);
@@ -4451,9 +4467,9 @@ CIMGUI_API bool igIsNamedKey(ImGuiKey key)
{ {
return ImGui::IsNamedKey(key); return ImGui::IsNamedKey(key);
} }
CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key) CIMGUI_API bool igIsNamedKeyOrMod(ImGuiKey key)
{ {
return ImGui::IsNamedKeyOrModKey(key); return ImGui::IsNamedKeyOrMod(key);
} }
CIMGUI_API bool igIsLegacyKey(ImGuiKey key) CIMGUI_API bool igIsLegacyKey(ImGuiKey key)
{ {
@@ -4479,13 +4495,13 @@ CIMGUI_API bool igIsModKey(ImGuiKey key)
{ {
return ImGui::IsModKey(key); return ImGui::IsModKey(key);
} }
CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiContext* ctx,ImGuiKeyChord key_chord) CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiKeyChord key_chord)
{ {
return ImGui::FixupKeyChord(ctx,key_chord); return ImGui::FixupKeyChord(key_chord);
} }
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx,ImGuiKey key) CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key)
{ {
return ImGui::ConvertSingleModFlagToKey(ctx,key); return ImGui::ConvertSingleModFlagToKey(key);
} }
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key) CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key)
{ {
@@ -4563,21 +4579,25 @@ CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key,ImGuiID owner_id)
{ {
return ImGui::IsKeyDown(key,owner_id); return ImGui::IsKeyDown(key,owner_id);
} }
CIMGUI_API bool igIsKeyPressed_ID(ImGuiKey key,ImGuiID owner_id,ImGuiInputFlags flags) CIMGUI_API bool igIsKeyPressed_InputFlags(ImGuiKey key,ImGuiInputFlags flags,ImGuiID owner_id)
{ {
return ImGui::IsKeyPressed(key,owner_id,flags); return ImGui::IsKeyPressed(key,flags,owner_id);
} }
CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id) CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id)
{ {
return ImGui::IsKeyReleased(key,owner_id); return ImGui::IsKeyReleased(key,owner_id);
} }
CIMGUI_API bool igIsKeyChordPressed_InputFlags(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id)
{
return ImGui::IsKeyChordPressed(key_chord,flags,owner_id);
}
CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button,ImGuiID owner_id) CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button,ImGuiID owner_id)
{ {
return ImGui::IsMouseDown(button,owner_id); return ImGui::IsMouseDown(button,owner_id);
} }
CIMGUI_API bool igIsMouseClicked_ID(ImGuiMouseButton button,ImGuiID owner_id,ImGuiInputFlags flags) CIMGUI_API bool igIsMouseClicked_InputFlags(ImGuiMouseButton button,ImGuiInputFlags flags,ImGuiID owner_id)
{ {
return ImGui::IsMouseClicked(button,owner_id,flags); return ImGui::IsMouseClicked(button,flags,owner_id);
} }
CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button,ImGuiID owner_id) CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button,ImGuiID owner_id)
{ {
@@ -4587,21 +4607,13 @@ CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button,ImGuiID owner_
{ {
return ImGui::IsMouseDoubleClicked(button,owner_id); return ImGui::IsMouseDoubleClicked(button,owner_id);
} }
CIMGUI_API bool igIsKeyChordPressed_ID(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags) CIMGUI_API bool igShortcut_ID(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id)
{ {
return ImGui::IsKeyChordPressed(key_chord,owner_id,flags); return ImGui::Shortcut(key_chord,flags,owner_id);
} }
CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord) CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id)
{ {
return ImGui::SetNextItemShortcut(key_chord); return ImGui::SetShortcutRouting(key_chord,flags,owner_id);
}
CIMGUI_API bool igShortcut(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags)
{
return ImGui::Shortcut(key_chord,owner_id,flags);
}
CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags)
{
return ImGui::SetShortcutRouting(key_chord,owner_id,flags);
} }
CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id) CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id)
{ {
@@ -4879,10 +4891,6 @@ CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection so
{ {
return ImGui::TableSetColumnSortDirection(column_n,sort_direction,append_to_sort_specs); return ImGui::TableSetColumnSortDirection(column_n,sort_direction,append_to_sort_specs);
} }
CIMGUI_API int igTableGetHoveredColumn()
{
return ImGui::TableGetHoveredColumn();
}
CIMGUI_API int igTableGetHoveredRow() CIMGUI_API int igTableGetHoveredRow()
{ {
return ImGui::TableGetHoveredRow(); return ImGui::TableGetHoveredRow();
@@ -5339,9 +5347,9 @@ CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,co
{ {
return ImGui::DataTypeApplyOp(data_type,op,output,arg_1,arg_2); return ImGui::DataTypeApplyOp(data_type,op,output,arg_1,arg_2);
} }
CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format) CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format,void* p_data_when_empty)
{ {
return ImGui::DataTypeApplyFromText(buf,data_type,p_data,format); return ImGui::DataTypeApplyFromText(buf,data_type,p_data,format,p_data_when_empty);
} }
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2) CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2)
{ {
@@ -5375,6 +5383,10 @@ CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id)
{ {
return ImGui::GetInputTextState(id); return ImGui::GetInputTextState(id);
} }
CIMGUI_API void igSetNextItemRefVal(ImGuiDataType data_type,void* p_data)
{
return ImGui::SetNextItemRefVal(data_type,p_data);
}
CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags) CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags)
{ {
return ImGui::ColorTooltip(text,col,flags); return ImGui::ColorTooltip(text,col,flags);
@@ -5454,6 +5466,10 @@ CIMGUI_API void igDebugDrawItemRect(ImU32 col)
{ {
return ImGui::DebugDrawItemRect(col); return ImGui::DebugDrawItemRect(col);
} }
CIMGUI_API void igDebugTextUnformattedWithLocateItem(const char* line_begin,const char* line_end)
{
return ImGui::DebugTextUnformattedWithLocateItem(line_begin,line_end);
}
CIMGUI_API void igDebugLocateItem(ImGuiID target_id) CIMGUI_API void igDebugLocateItem(ImGuiID target_id)
{ {
return ImGui::DebugLocateItem(target_id); return ImGui::DebugLocateItem(target_id);

314
cimgui.h
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.90.6" 19060 from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.90.9" 19090 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
@@ -67,6 +67,7 @@ typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
typedef struct ImGuiPlatformImeData ImGuiPlatformImeData; typedef struct ImGuiPlatformImeData ImGuiPlatformImeData;
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData; typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
typedef struct ImGuiStorage ImGuiStorage; typedef struct ImGuiStorage ImGuiStorage;
typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiStyle ImGuiStyle; typedef struct ImGuiStyle ImGuiStyle;
typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs; typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs;
typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs; typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs;
@@ -119,6 +120,15 @@ typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindowSettings ImGuiWindowSettings; typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr; typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr;
typedef unsigned int ImGuiID;
typedef signed char ImS8;
typedef unsigned char ImU8;
typedef signed short ImS16;
typedef unsigned short ImU16;
typedef signed int ImS32;
typedef unsigned int ImU32;
typedef signed long long ImS64;
typedef unsigned long long ImU64;
struct ImDrawChannel; struct ImDrawChannel;
struct ImDrawCmd; struct ImDrawCmd;
struct ImDrawData; struct ImDrawData;
@@ -145,6 +155,7 @@ struct ImGuiPlatformMonitor;
struct ImGuiPlatformImeData; struct ImGuiPlatformImeData;
struct ImGuiSizeCallbackData; struct ImGuiSizeCallbackData;
struct ImGuiStorage; struct ImGuiStorage;
struct ImGuiStoragePair;
struct ImGuiStyle; struct ImGuiStyle;
struct ImGuiTableSortSpecs; struct ImGuiTableSortSpecs;
struct ImGuiTableColumnSortSpecs; struct ImGuiTableColumnSortSpecs;
@@ -155,10 +166,8 @@ struct ImGuiWindowClass;
typedef int ImGuiCol; typedef int ImGuiCol;
typedef int ImGuiCond; typedef int ImGuiCond;
typedef int ImGuiDataType; typedef int ImGuiDataType;
typedef int ImGuiDir;
typedef int ImGuiMouseButton; typedef int ImGuiMouseButton;
typedef int ImGuiMouseCursor; typedef int ImGuiMouseCursor;
typedef int ImGuiSortDirection;
typedef int ImGuiStyleVar; typedef int ImGuiStyleVar;
typedef int ImGuiTableBgTarget; typedef int ImGuiTableBgTarget;
typedef int ImDrawFlags; typedef int ImDrawFlags;
@@ -174,6 +183,7 @@ typedef int ImGuiDockNodeFlags;
typedef int ImGuiDragDropFlags; typedef int ImGuiDragDropFlags;
typedef int ImGuiFocusedFlags; typedef int ImGuiFocusedFlags;
typedef int ImGuiHoveredFlags; typedef int ImGuiHoveredFlags;
typedef int ImGuiInputFlags;
typedef int ImGuiInputTextFlags; typedef int ImGuiInputTextFlags;
typedef int ImGuiKeyChord; typedef int ImGuiKeyChord;
typedef int ImGuiPopupFlags; typedef int ImGuiPopupFlags;
@@ -189,15 +199,6 @@ typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags; typedef int ImGuiWindowFlags;
typedef void* ImTextureID; typedef void* ImTextureID;
typedef unsigned short ImDrawIdx; typedef unsigned short ImDrawIdx;
typedef unsigned int ImGuiID;
typedef signed char ImS8;
typedef unsigned char ImU8;
typedef signed short ImS16;
typedef unsigned short ImU16;
typedef signed int ImS32;
typedef unsigned int ImU32;
typedef signed long long ImS64;
typedef unsigned long long ImU64;
typedef unsigned int ImWchar32; typedef unsigned int ImWchar32;
typedef unsigned short ImWchar16; typedef unsigned short ImWchar16;
typedef ImWchar16 ImWchar; typedef ImWchar16 ImWchar;
@@ -240,7 +241,6 @@ typedef enum {
ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse, ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NavFlattened = 1 << 23,
ImGuiWindowFlags_ChildWindow = 1 << 24, ImGuiWindowFlags_ChildWindow = 1 << 24,
ImGuiWindowFlags_Tooltip = 1 << 25, ImGuiWindowFlags_Tooltip = 1 << 25,
ImGuiWindowFlags_Popup = 1 << 26, ImGuiWindowFlags_Popup = 1 << 26,
@@ -258,30 +258,33 @@ typedef enum {
ImGuiChildFlags_AutoResizeY = 1 << 5, ImGuiChildFlags_AutoResizeY = 1 << 5,
ImGuiChildFlags_AlwaysAutoResize = 1 << 6, ImGuiChildFlags_AlwaysAutoResize = 1 << 6,
ImGuiChildFlags_FrameStyle = 1 << 7, ImGuiChildFlags_FrameStyle = 1 << 7,
ImGuiChildFlags_NavFlattened = 1 << 8,
}ImGuiChildFlags_; }ImGuiChildFlags_;
typedef enum { typedef enum {
ImGuiInputTextFlags_None = 0, ImGuiInputTextFlags_None = 0,
ImGuiInputTextFlags_CharsDecimal = 1 << 0, ImGuiInputTextFlags_CharsDecimal = 1 << 0,
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1, ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
ImGuiInputTextFlags_CharsUppercase = 1 << 2, ImGuiInputTextFlags_CharsScientific = 1 << 2,
ImGuiInputTextFlags_CharsNoBlank = 1 << 3, ImGuiInputTextFlags_CharsUppercase = 1 << 3,
ImGuiInputTextFlags_AutoSelectAll = 1 << 4, ImGuiInputTextFlags_CharsNoBlank = 1 << 4,
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5, ImGuiInputTextFlags_AllowTabInput = 1 << 5,
ImGuiInputTextFlags_CallbackCompletion = 1 << 6, ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6,
ImGuiInputTextFlags_CallbackHistory = 1 << 7, ImGuiInputTextFlags_EscapeClearsAll = 1 << 7,
ImGuiInputTextFlags_CallbackAlways = 1 << 8, ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 8,
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9, ImGuiInputTextFlags_ReadOnly = 1 << 9,
ImGuiInputTextFlags_AllowTabInput = 1 << 10, ImGuiInputTextFlags_Password = 1 << 10,
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11, ImGuiInputTextFlags_AlwaysOverwrite = 1 << 11,
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12, ImGuiInputTextFlags_AutoSelectAll = 1 << 12,
ImGuiInputTextFlags_AlwaysOverwrite = 1 << 13, ImGuiInputTextFlags_ParseEmptyRefVal = 1 << 13,
ImGuiInputTextFlags_ReadOnly = 1 << 14, ImGuiInputTextFlags_DisplayEmptyRefVal = 1 << 14,
ImGuiInputTextFlags_Password = 1 << 15, ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15,
ImGuiInputTextFlags_NoUndoRedo = 1 << 16, ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
ImGuiInputTextFlags_CharsScientific = 1 << 17, ImGuiInputTextFlags_CallbackCompletion = 1 << 17,
ImGuiInputTextFlags_CallbackResize = 1 << 18, ImGuiInputTextFlags_CallbackHistory = 1 << 18,
ImGuiInputTextFlags_CallbackEdit = 1 << 19, ImGuiInputTextFlags_CallbackAlways = 1 << 19,
ImGuiInputTextFlags_EscapeClearsAll = 1 << 20, ImGuiInputTextFlags_CallbackCharFilter = 1 << 20,
ImGuiInputTextFlags_CallbackResize = 1 << 21,
ImGuiInputTextFlags_CallbackEdit = 1 << 22,
}ImGuiInputTextFlags_; }ImGuiInputTextFlags_;
typedef enum { typedef enum {
ImGuiTreeNodeFlags_None = 0, ImGuiTreeNodeFlags_None = 0,
@@ -345,8 +348,9 @@ typedef enum {
ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3, ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3,
ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4, ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4,
ImGuiTabBarFlags_NoTooltip = 1 << 5, ImGuiTabBarFlags_NoTooltip = 1 << 5,
ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6, ImGuiTabBarFlags_DrawSelectedOverline = 1 << 6,
ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7, ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 7,
ImGuiTabBarFlags_FittingPolicyScroll = 1 << 8,
ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll, ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown, ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown,
}ImGuiTabBarFlags_; }ImGuiTabBarFlags_;
@@ -411,7 +415,9 @@ typedef enum {
ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2, ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2,
ImGuiDragDropFlags_SourceAllowNullID = 1 << 3, ImGuiDragDropFlags_SourceAllowNullID = 1 << 3,
ImGuiDragDropFlags_SourceExtern = 1 << 4, ImGuiDragDropFlags_SourceExtern = 1 << 4,
ImGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5, ImGuiDragDropFlags_PayloadAutoExpire = 1 << 5,
ImGuiDragDropFlags_PayloadNoCrossContext = 1 << 6,
ImGuiDragDropFlags_PayloadNoCrossProcess = 1 << 7,
ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10, ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10,
ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11, ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11,
ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12, ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12,
@@ -431,18 +437,18 @@ typedef enum {
ImGuiDataType_COUNT ImGuiDataType_COUNT
}ImGuiDataType_; }ImGuiDataType_;
typedef enum { typedef enum {
ImGuiDir_None = -1, ImGuiDir_None=-1,
ImGuiDir_Left = 0, ImGuiDir_Left=0,
ImGuiDir_Right = 1, ImGuiDir_Right=1,
ImGuiDir_Up = 2, ImGuiDir_Up=2,
ImGuiDir_Down = 3, ImGuiDir_Down=3,
ImGuiDir_COUNT ImGuiDir_COUNT=4,
}ImGuiDir_; }ImGuiDir;
typedef enum { typedef enum {
ImGuiSortDirection_None = 0, ImGuiSortDirection_None=0,
ImGuiSortDirection_Ascending = 1, ImGuiSortDirection_Ascending=1,
ImGuiSortDirection_Descending = 2 ImGuiSortDirection_Descending=2,
}ImGuiSortDirection_; }ImGuiSortDirection;
typedef enum { typedef enum {
ImGuiKey_None=0, ImGuiKey_None=0,
ImGuiKey_Tab=512, ImGuiKey_Tab=512,
@@ -605,14 +611,26 @@ 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_Shortcut=1 << 11, ImGuiMod_Mask_=0xF000,
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,
ImGuiKey_KeysData_SIZE=ImGuiKey_NamedKey_COUNT, ImGuiKey_KeysData_SIZE=ImGuiKey_NamedKey_COUNT,
ImGuiKey_KeysData_OFFSET=ImGuiKey_NamedKey_BEGIN, ImGuiKey_KeysData_OFFSET=ImGuiKey_NamedKey_BEGIN,
}ImGuiKey; }ImGuiKey;
typedef enum {
ImGuiInputFlags_None = 0,
ImGuiInputFlags_Repeat = 1 << 0,
ImGuiInputFlags_RouteActive = 1 << 10,
ImGuiInputFlags_RouteFocused = 1 << 11,
ImGuiInputFlags_RouteGlobal = 1 << 12,
ImGuiInputFlags_RouteAlways = 1 << 13,
ImGuiInputFlags_RouteOverFocused = 1 << 14,
ImGuiInputFlags_RouteOverActive = 1 << 15,
ImGuiInputFlags_RouteUnlessBgFocused = 1 << 16,
ImGuiInputFlags_RouteFromRootWindow = 1 << 17,
ImGuiInputFlags_Tooltip = 1 << 18,
}ImGuiInputFlags_;
typedef enum { typedef enum {
ImGuiConfigFlags_None = 0, ImGuiConfigFlags_None = 0,
ImGuiConfigFlags_NavEnableKeyboard = 1 << 0, ImGuiConfigFlags_NavEnableKeyboard = 1 << 0,
@@ -621,7 +639,8 @@ typedef enum {
ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3, ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
ImGuiConfigFlags_NoMouse = 1 << 4, ImGuiConfigFlags_NoMouse = 1 << 4,
ImGuiConfigFlags_NoMouseCursorChange = 1 << 5, ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
ImGuiConfigFlags_DockingEnable = 1 << 6, ImGuiConfigFlags_NoKeyboard = 1 << 6,
ImGuiConfigFlags_DockingEnable = 1 << 7,
ImGuiConfigFlags_ViewportsEnable = 1 << 10, ImGuiConfigFlags_ViewportsEnable = 1 << 10,
ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14, ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15, ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
@@ -672,11 +691,13 @@ typedef enum {
ImGuiCol_ResizeGrip, ImGuiCol_ResizeGrip,
ImGuiCol_ResizeGripHovered, ImGuiCol_ResizeGripHovered,
ImGuiCol_ResizeGripActive, ImGuiCol_ResizeGripActive,
ImGuiCol_Tab,
ImGuiCol_TabHovered, ImGuiCol_TabHovered,
ImGuiCol_TabActive, ImGuiCol_Tab,
ImGuiCol_TabUnfocused, ImGuiCol_TabSelected,
ImGuiCol_TabUnfocusedActive, ImGuiCol_TabSelectedOverline,
ImGuiCol_TabDimmed,
ImGuiCol_TabDimmedSelected,
ImGuiCol_TabDimmedSelectedOverline,
ImGuiCol_DockingPreview, ImGuiCol_DockingPreview,
ImGuiCol_DockingEmptyBg, ImGuiCol_DockingEmptyBg,
ImGuiCol_PlotLines, ImGuiCol_PlotLines,
@@ -694,7 +715,7 @@ typedef enum {
ImGuiCol_NavWindowingHighlight, ImGuiCol_NavWindowingHighlight,
ImGuiCol_NavWindowingDimBg, ImGuiCol_NavWindowingDimBg,
ImGuiCol_ModalWindowDimBg, ImGuiCol_ModalWindowDimBg,
ImGuiCol_COUNT ImGuiCol_COUNT,
}ImGuiCol_; }ImGuiCol_;
typedef enum { typedef enum {
ImGuiStyleVar_Alpha, ImGuiStyleVar_Alpha,
@@ -738,7 +759,6 @@ typedef enum {
ImGuiButtonFlags_MouseButtonRight = 1 << 1, ImGuiButtonFlags_MouseButtonRight = 1 << 1,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle, ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
}ImGuiButtonFlags_; }ImGuiButtonFlags_;
typedef enum { typedef enum {
ImGuiColorEditFlags_None = 0, ImGuiColorEditFlags_None = 0,
@@ -777,6 +797,7 @@ typedef enum {
ImGuiSliderFlags_Logarithmic = 1 << 5, ImGuiSliderFlags_Logarithmic = 1 << 5,
ImGuiSliderFlags_NoRoundToFormat = 1 << 6, ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
ImGuiSliderFlags_NoInput = 1 << 7, ImGuiSliderFlags_NoInput = 1 << 7,
ImGuiSliderFlags_WrapAround = 1 << 8,
ImGuiSliderFlags_InvalidMask_ = 0x7000000F, ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
}ImGuiSliderFlags_; }ImGuiSliderFlags_;
typedef enum { typedef enum {
@@ -901,7 +922,7 @@ struct ImGuiTableColumnSortSpecs
ImGuiID ColumnUserID; ImGuiID ColumnUserID;
ImS16 ColumnIndex; ImS16 ColumnIndex;
ImS16 SortOrder; ImS16 SortOrder;
ImGuiSortDirection SortDirection : 8; ImGuiSortDirection SortDirection;
}; };
struct ImGuiStyle struct ImGuiStyle
{ {
@@ -1058,6 +1079,7 @@ struct ImGuiIO
bool MouseDownOwned[5]; bool MouseDownOwned[5];
bool MouseDownOwnedUnlessPopupClose[5]; bool MouseDownOwnedUnlessPopupClose[5];
bool MouseWheelRequestAxisSwap; bool MouseWheelRequestAxisSwap;
bool MouseCtrlLeftAsRightClick;
float MouseDownDuration[5]; float MouseDownDuration[5];
float MouseDownDurationPrev[5]; float MouseDownDurationPrev[5];
ImVec2 MouseDragMaxDistanceAbs[5]; ImVec2 MouseDragMaxDistanceAbs[5];
@@ -1144,18 +1166,15 @@ struct ImGuiTextBuffer
}; };
struct ImGuiStoragePair struct ImGuiStoragePair
{ {
ImGuiID key; ImGuiID key;
union { int val_i; float val_f; void* val_p; }; union { int val_i; float val_f; void* val_p; };
}; };
typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair; typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
struct ImGuiStorage struct ImGuiStorage
{ {
ImVector_ImGuiStoragePair Data; ImVector_ImGuiStoragePair Data;
}; };
typedef struct ImGuiStoragePair ImGuiStoragePair;
struct ImGuiListClipper struct ImGuiListClipper
{ {
ImGuiContext* Ctx; ImGuiContext* Ctx;
@@ -1517,7 +1536,6 @@ typedef int ImGuiLayoutType;
typedef int ImGuiActivateFlags; typedef int ImGuiActivateFlags;
typedef int ImGuiDebugLogFlags; typedef int ImGuiDebugLogFlags;
typedef int ImGuiFocusRequestFlags; typedef int ImGuiFocusRequestFlags;
typedef int ImGuiInputFlags;
typedef int ImGuiItemFlags; typedef int ImGuiItemFlags;
typedef int ImGuiItemStatusFlags; typedef int ImGuiItemStatusFlags;
typedef int ImGuiOldColumnFlags; typedef int ImGuiOldColumnFlags;
@@ -1623,6 +1641,29 @@ struct ImDrawDataBuilder
ImVector_ImDrawListPtr* Layers[2]; ImVector_ImDrawListPtr* Layers[2];
ImVector_ImDrawListPtr LayerData1; ImVector_ImDrawListPtr LayerData1;
}; };
struct ImGuiDataVarInfo
{
ImGuiDataType Type;
ImU32 Count;
ImU32 Offset;
};
typedef struct ImGuiDataTypeStorage ImGuiDataTypeStorage;
struct ImGuiDataTypeStorage
{
ImU8 Data[8];
};
struct ImGuiDataTypeInfo
{
size_t Size;
const char* Name;
const char* PrintFmt;
const char* ScanFmt;
};
typedef enum {
ImGuiDataType_String = ImGuiDataType_COUNT + 1,
ImGuiDataType_Pointer,
ImGuiDataType_ID,
}ImGuiDataTypePrivate_;
typedef enum { typedef enum {
ImGuiItemFlags_None = 0, ImGuiItemFlags_None = 0,
ImGuiItemFlags_NoTabStop = 1 << 0, ImGuiItemFlags_NoTabStop = 1 << 0,
@@ -1650,6 +1691,7 @@ typedef enum {
ImGuiItemStatusFlags_HoveredWindow = 1 << 7, ImGuiItemStatusFlags_HoveredWindow = 1 << 7,
ImGuiItemStatusFlags_Visible = 1 << 8, ImGuiItemStatusFlags_Visible = 1 << 8,
ImGuiItemStatusFlags_HasClipRect = 1 << 9, ImGuiItemStatusFlags_HasClipRect = 1 << 9,
ImGuiItemStatusFlags_HasShortcut = 1 << 10,
}ImGuiItemStatusFlags_; }ImGuiItemStatusFlags_;
typedef enum { typedef enum {
ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay, ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay,
@@ -1870,6 +1912,7 @@ typedef enum {
ImGuiNextItemDataFlags_HasWidth = 1 << 0, ImGuiNextItemDataFlags_HasWidth = 1 << 0,
ImGuiNextItemDataFlags_HasOpen = 1 << 1, ImGuiNextItemDataFlags_HasOpen = 1 << 1,
ImGuiNextItemDataFlags_HasShortcut = 1 << 2, ImGuiNextItemDataFlags_HasShortcut = 1 << 2,
ImGuiNextItemDataFlags_HasRefVal = 1 << 3,
}ImGuiNextItemDataFlags_; }ImGuiNextItemDataFlags_;
struct ImGuiNextItemData struct ImGuiNextItemData
{ {
@@ -1878,8 +1921,10 @@ struct ImGuiNextItemData
ImGuiSelectionUserData SelectionUserData; ImGuiSelectionUserData SelectionUserData;
float Width; float Width;
ImGuiKeyChord Shortcut; ImGuiKeyChord Shortcut;
ImGuiInputFlags ShortcutFlags;
bool OpenVal; bool OpenVal;
ImGuiCond OpenCond : 8; ImU8 OpenCond;
ImGuiDataTypeStorage RefVal;
}; };
struct ImGuiLastItemData struct ImGuiLastItemData
{ {
@@ -1890,6 +1935,7 @@ struct ImGuiLastItemData
ImRect NavRect; ImRect NavRect;
ImRect DisplayRect; ImRect DisplayRect;
ImRect ClipRect; ImRect ClipRect;
ImGuiKeyChord Shortcut;
}; };
struct ImGuiNavTreeNodeData struct ImGuiNavTreeNodeData
{ {
@@ -1915,6 +1961,7 @@ struct ImGuiWindowStackData
ImGuiWindow* Window; ImGuiWindow* Window;
ImGuiLastItemData ParentLastItemDataBackup; ImGuiLastItemData ParentLastItemDataBackup;
ImGuiStackSizes StackSizesOnBegin; ImGuiStackSizes StackSizesOnBegin;
bool DisabledOverrideReenable;
}; };
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
struct ImGuiShrinkWidthItem struct ImGuiShrinkWidthItem
@@ -1929,29 +1976,6 @@ struct ImGuiPtrOrIndex
void* Ptr; void* Ptr;
int Index; int Index;
}; };
struct ImGuiDataVarInfo
{
ImGuiDataType Type;
ImU32 Count;
ImU32 Offset;
};
typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage;
struct ImGuiDataTypeTempStorage
{
ImU8 Data[8];
};
struct ImGuiDataTypeInfo
{
size_t Size;
const char* Name;
const char* PrintFmt;
const char* ScanFmt;
};
typedef enum {
ImGuiDataType_String = ImGuiDataType_COUNT + 1,
ImGuiDataType_Pointer,
ImGuiDataType_ID,
}ImGuiDataTypePrivate_;
typedef enum { typedef enum {
ImGuiPopupPositionPolicy_Default, ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox, ImGuiPopupPositionPolicy_ComboBox,
@@ -2064,8 +2088,6 @@ struct ImGuiKeyOwnerData
bool LockUntilRelease; bool LockUntilRelease;
}; };
typedef enum { typedef enum {
ImGuiInputFlags_None = 0,
ImGuiInputFlags_Repeat = 1 << 0,
ImGuiInputFlags_RepeatRateDefault = 1 << 1, ImGuiInputFlags_RepeatRateDefault = 1 << 1,
ImGuiInputFlags_RepeatRateNavMove = 1 << 2, ImGuiInputFlags_RepeatRateNavMove = 1 << 2,
ImGuiInputFlags_RepeatRateNavTweak = 1 << 3, ImGuiInputFlags_RepeatRateNavTweak = 1 << 3,
@@ -2073,28 +2095,24 @@ typedef enum {
ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5, ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5,
ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6,
ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7, ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7,
ImGuiInputFlags_CondHovered = 1 << 8, ImGuiInputFlags_LockThisFrame = 1 << 20,
ImGuiInputFlags_CondActive = 1 << 9, ImGuiInputFlags_LockUntilRelease = 1 << 21,
ImGuiInputFlags_CondHovered = 1 << 22,
ImGuiInputFlags_CondActive = 1 << 23,
ImGuiInputFlags_CondDefault_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, ImGuiInputFlags_CondDefault_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
ImGuiInputFlags_LockThisFrame = 1 << 10,
ImGuiInputFlags_LockUntilRelease = 1 << 11,
ImGuiInputFlags_RouteFocused = 1 << 12,
ImGuiInputFlags_RouteGlobalLow = 1 << 13,
ImGuiInputFlags_RouteGlobal = 1 << 14,
ImGuiInputFlags_RouteGlobalHigh = 1 << 15,
ImGuiInputFlags_RouteAlways = 1 << 16,
ImGuiInputFlags_RouteUnlessBgFocused= 1 << 17,
ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak, ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
ImGuiInputFlags_RepeatUntilMask_ = ImGuiInputFlags_RepeatUntilRelease | ImGuiInputFlags_RepeatUntilKeyModsChange | ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | ImGuiInputFlags_RepeatUntilOtherKeyPress, ImGuiInputFlags_RepeatUntilMask_ = ImGuiInputFlags_RepeatUntilRelease | ImGuiInputFlags_RepeatUntilKeyModsChange | ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | ImGuiInputFlags_RepeatUntilOtherKeyPress,
ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RepeatUntilMask_, ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RepeatUntilMask_,
ImGuiInputFlags_CondMask_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive, ImGuiInputFlags_CondMask_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
ImGuiInputFlags_RouteMask_ = ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteGlobalLow | ImGuiInputFlags_RouteGlobalHigh, ImGuiInputFlags_RouteTypeMask_ = ImGuiInputFlags_RouteActive | ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteAlways,
ImGuiInputFlags_RouteOptionsMask_ = ImGuiInputFlags_RouteOverFocused | ImGuiInputFlags_RouteOverActive | ImGuiInputFlags_RouteUnlessBgFocused | ImGuiInputFlags_RouteFromRootWindow,
ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_, ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_,
ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat, ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat,
ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteAlways | ImGuiInputFlags_RouteUnlessBgFocused, ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteTypeMask_ | ImGuiInputFlags_RouteOptionsMask_,
ImGuiInputFlags_SupportedBySetNextItemShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteTypeMask_ | ImGuiInputFlags_RouteOptionsMask_ | ImGuiInputFlags_Tooltip,
ImGuiInputFlags_SupportedBySetKeyOwner = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease, ImGuiInputFlags_SupportedBySetKeyOwner = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease,
ImGuiInputFlags_SupportedBySetItemKeyOwner = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_, ImGuiInputFlags_SupportedBySetItemKeyOwner = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_,
}ImGuiInputFlags_; }ImGuiInputFlagsPrivate_;
typedef struct ImGuiListClipperRange ImGuiListClipperRange; typedef struct ImGuiListClipperRange ImGuiListClipperRange;
struct ImGuiListClipperRange struct ImGuiListClipperRange
{ {
@@ -2322,11 +2340,13 @@ struct ImGuiDockNode
}; };
typedef enum { typedef enum {
ImGuiWindowDockStyleCol_Text, ImGuiWindowDockStyleCol_Text,
ImGuiWindowDockStyleCol_Tab,
ImGuiWindowDockStyleCol_TabHovered, ImGuiWindowDockStyleCol_TabHovered,
ImGuiWindowDockStyleCol_TabActive, ImGuiWindowDockStyleCol_TabFocused,
ImGuiWindowDockStyleCol_TabUnfocused, ImGuiWindowDockStyleCol_TabSelected,
ImGuiWindowDockStyleCol_TabUnfocusedActive, ImGuiWindowDockStyleCol_TabSelectedOverline,
ImGuiWindowDockStyleCol_TabDimmed,
ImGuiWindowDockStyleCol_TabDimmedSelected,
ImGuiWindowDockStyleCol_TabDimmedSelectedOverline,
ImGuiWindowDockStyleCol_COUNT ImGuiWindowDockStyleCol_COUNT
}ImGuiWindowDockStyleCol; }ImGuiWindowDockStyleCol;
struct ImGuiWindowDockStyle struct ImGuiWindowDockStyle
@@ -2555,6 +2575,7 @@ struct ImGuiContext
ImFont* Font; ImFont* Font;
float FontSize; float FontSize;
float FontBaseSize; float FontBaseSize;
float CurrentDpiScale;
ImDrawListSharedData DrawListSharedData; ImDrawListSharedData DrawListSharedData;
double Time; double Time;
int FrameCount; int FrameCount;
@@ -2567,6 +2588,7 @@ struct ImGuiContext
bool GcCompactAll; bool GcCompactAll;
bool TestEngineHookItems; bool TestEngineHookItems;
void* TestEngine; void* TestEngine;
char ContextName[16];
ImVector_ImGuiInputEvent InputEventsQueue; ImVector_ImGuiInputEvent InputEventsQueue;
ImVector_ImGuiInputEvent InputEventsTrail; ImVector_ImGuiInputEvent InputEventsTrail;
ImGuiMouseSource InputEventsNextMouseSource; ImGuiMouseSource InputEventsNextMouseSource;
@@ -2582,6 +2604,7 @@ struct ImGuiContext
ImGuiWindow* CurrentWindow; ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow; ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow; ImGuiWindow* HoveredWindowUnderMovingWindow;
ImGuiWindow* HoveredWindowBeforeClear;
ImGuiWindow* MovingWindow; ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow; ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos; ImVec2 WheelingWindowRefMousePos;
@@ -2593,10 +2616,11 @@ struct ImGuiContext
ImGuiID DebugHookIdInfo; ImGuiID DebugHookIdInfo;
ImGuiID HoveredId; ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame; ImGuiID HoveredIdPreviousFrame;
bool HoveredIdAllowOverlap;
bool HoveredIdDisabled;
float HoveredIdTimer; float HoveredIdTimer;
float HoveredIdNotActiveTimer; float HoveredIdNotActiveTimer;
bool HoveredIdAllowOverlap;
bool HoveredIdIsDisabled;
bool ItemUnclipByLog;
ImGuiID ActiveId; ImGuiID ActiveId;
ImGuiID ActiveIdIsAlive; ImGuiID ActiveIdIsAlive;
float ActiveIdTimer; float ActiveIdTimer;
@@ -2644,7 +2668,6 @@ struct ImGuiContext
ImVector_ImGuiPopupData BeginPopupStack; ImVector_ImGuiPopupData BeginPopupStack;
ImVector_ImGuiNavTreeNodeData NavTreeNodeStack; ImVector_ImGuiNavTreeNodeData NavTreeNodeStack;
ImVector_ImGuiViewportPPtr Viewports; ImVector_ImGuiViewportPPtr Viewports;
float CurrentDpiScale;
ImGuiViewportP* CurrentViewport; ImGuiViewportP* CurrentViewport;
ImGuiViewportP* MouseViewport; ImGuiViewportP* MouseViewport;
ImGuiViewportP* MouseLastHoveredViewport; ImGuiViewportP* MouseLastHoveredViewport;
@@ -2657,20 +2680,17 @@ struct ImGuiContext
ImGuiWindow* NavWindow; ImGuiWindow* NavWindow;
ImGuiID NavId; ImGuiID NavId;
ImGuiID NavFocusScopeId; ImGuiID NavFocusScopeId;
ImVector_ImGuiFocusScopeData NavFocusRoute; ImGuiNavLayer NavLayer;
ImGuiID NavActivateId; ImGuiID NavActivateId;
ImGuiID NavActivateDownId; ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId; ImGuiID NavActivatePressedId;
ImGuiActivateFlags NavActivateFlags; ImGuiActivateFlags NavActivateFlags;
ImVector_ImGuiFocusScopeData NavFocusRoute;
ImGuiID NavHighlightActivatedId; ImGuiID NavHighlightActivatedId;
float NavHighlightActivatedTimer; float NavHighlightActivatedTimer;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiKeyChord NavJustMovedToKeyMods;
ImGuiID NavNextActivateId; ImGuiID NavNextActivateId;
ImGuiActivateFlags NavNextActivateFlags; ImGuiActivateFlags NavNextActivateFlags;
ImGuiInputSource NavInputSource; ImGuiInputSource NavInputSource;
ImGuiNavLayer NavLayer;
ImGuiSelectionUserData NavLastValidSelectionUserData; ImGuiSelectionUserData NavLastValidSelectionUserData;
bool NavIdIsAlive; bool NavIdIsAlive;
bool NavMousePosDirty; bool NavMousePosDirty;
@@ -2698,6 +2718,12 @@ struct ImGuiContext
ImGuiNavItemData NavMoveResultLocalVisible; ImGuiNavItemData NavMoveResultLocalVisible;
ImGuiNavItemData NavMoveResultOther; ImGuiNavItemData NavMoveResultOther;
ImGuiNavItemData NavTabbingResultFirst; ImGuiNavItemData NavTabbingResultFirst;
ImGuiID NavJustMovedFromFocusScopeId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiKeyChord NavJustMovedToKeyMods;
bool NavJustMovedToIsTabbing;
bool NavJustMovedToHasSelectionData;
ImGuiKeyChord ConfigNavWindowingKeyNext; ImGuiKeyChord ConfigNavWindowingKeyNext;
ImGuiKeyChord ConfigNavWindowingKeyPrev; ImGuiKeyChord ConfigNavWindowingKeyPrev;
ImGuiWindow* NavWindowingTarget; ImGuiWindow* NavWindowingTarget;
@@ -2754,6 +2780,7 @@ struct ImGuiContext
ImGuiInputTextDeactivatedState InputTextDeactivatedState; ImGuiInputTextDeactivatedState InputTextDeactivatedState;
ImFont InputTextPasswordFont; ImFont InputTextPasswordFont;
ImGuiID TempInputId; ImGuiID TempInputId;
ImGuiDataTypeStorage DataTypeZeroValue;
int BeginMenuDepth; int BeginMenuDepth;
int BeginComboDepth; int BeginComboDepth;
ImGuiColorEditFlags ColorEditOptions; ImGuiColorEditFlags ColorEditOptions;
@@ -2766,13 +2793,14 @@ struct ImGuiContext
ImGuiComboPreviewData ComboPreviewData; ImGuiComboPreviewData ComboPreviewData;
ImRect WindowResizeBorderExpectedRect; ImRect WindowResizeBorderExpectedRect;
bool WindowResizeRelativeMode; bool WindowResizeRelativeMode;
short ScrollbarSeekMode;
float ScrollbarClickDeltaToGrabCenter;
float SliderGrabClickOffset; float SliderGrabClickOffset;
float SliderCurrentAccum; float SliderCurrentAccum;
bool SliderCurrentAccumDirty; bool SliderCurrentAccumDirty;
bool DragCurrentAccumDirty; bool DragCurrentAccumDirty;
float DragCurrentAccum; float DragCurrentAccum;
float DragSpeedDefaultRatio; float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
float DisabledAlphaBackup; float DisabledAlphaBackup;
short DisabledStackSize; short DisabledStackSize;
short LockMarkEdited; short LockMarkEdited;
@@ -2896,6 +2924,7 @@ struct ImGuiWindow
ImVec2 WindowPadding; ImVec2 WindowPadding;
float WindowRounding; float WindowRounding;
float WindowBorderSize; float WindowBorderSize;
float TitleBarHeight, MenuBarHeight;
float DecoOuterSizeX1, DecoOuterSizeY1; float DecoOuterSizeX1, DecoOuterSizeY1;
float DecoOuterSizeX2, DecoOuterSizeY2; float DecoOuterSizeX2, DecoOuterSizeY2;
float DecoInnerSizeX1, DecoInnerSizeY1; float DecoInnerSizeX1, DecoInnerSizeY1;
@@ -2903,6 +2932,7 @@ struct ImGuiWindow
ImGuiID MoveId; ImGuiID MoveId;
ImGuiID TabId; ImGuiID TabId;
ImGuiID ChildId; ImGuiID ChildId;
ImGuiID PopupId;
ImVec2 Scroll; ImVec2 Scroll;
ImVec2 ScrollMax; ImVec2 ScrollMax;
ImVec2 ScrollTarget; ImVec2 ScrollTarget;
@@ -2930,7 +2960,6 @@ struct ImGuiWindow
short BeginOrderWithinParent; short BeginOrderWithinParent;
short BeginOrderWithinContext; short BeginOrderWithinContext;
short FocusOrder; short FocusOrder;
ImGuiID PopupId;
ImS8 AutoFitFramesX, AutoFitFramesY; ImS8 AutoFitFramesX, AutoFitFramesY;
bool AutoFitOnlyGrows; bool AutoFitOnlyGrows;
ImGuiDir AutoPosLastDirection; ImGuiDir AutoPosLastDirection;
@@ -3307,7 +3336,6 @@ typedef union SDL_Event SDL_Event;
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
typedef ImStb::STB_TexteditState STB_TexteditState; typedef ImStb::STB_TexteditState STB_TexteditState;
typedef ImStb::StbTexteditRow StbTexteditRow; typedef ImStb::StbTexteditRow StbTexteditRow;
@@ -3641,7 +3669,7 @@ CIMGUI_API bool igBeginPopupContextItem(const char* str_id,ImGuiPopupFlags popup
CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,ImGuiPopupFlags popup_flags); CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igBeginPopupContextVoid(const char* str_id,ImGuiPopupFlags popup_flags); CIMGUI_API bool igBeginPopupContextVoid(const char* str_id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igIsPopupOpen_Str(const char* str_id,ImGuiPopupFlags flags); CIMGUI_API bool igIsPopupOpen_Str(const char* str_id,ImGuiPopupFlags flags);
CIMGUI_API bool igBeginTable(const char* str_id,int column,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width); CIMGUI_API bool igBeginTable(const char* str_id,int columns,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width);
CIMGUI_API void igEndTable(void); CIMGUI_API void igEndTable(void);
CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags,float min_row_height); CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags,float min_row_height);
CIMGUI_API bool igTableNextColumn(void); CIMGUI_API bool igTableNextColumn(void);
@@ -3658,6 +3686,7 @@ CIMGUI_API int igTableGetRowIndex(void);
CIMGUI_API const char* igTableGetColumnName_Int(int column_n); CIMGUI_API const char* igTableGetColumnName_Int(int column_n);
CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n); CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n);
CIMGUI_API void igTableSetColumnEnabled(int column_n,bool v); CIMGUI_API void igTableSetColumnEnabled(int column_n,bool v);
CIMGUI_API int igTableGetHoveredColumn(void);
CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n); CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n);
CIMGUI_API void igColumns(int count,const char* id,bool border); CIMGUI_API void igColumns(int count,const char* id,bool border);
CIMGUI_API void igNextColumn(void); CIMGUI_API void igNextColumn(void);
@@ -3673,8 +3702,8 @@ CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags
CIMGUI_API void igEndTabItem(void); CIMGUI_API void igEndTabItem(void);
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags); CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label); CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
CIMGUI_API ImGuiID igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class); CIMGUI_API ImGuiID igDockSpace(ImGuiID dockspace_id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igDockSpaceOverViewport(const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class); CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiID dockspace_id,const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond); CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class); CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igGetWindowDockID(void); CIMGUI_API ImGuiID igGetWindowDockID(void);
@@ -3717,9 +3746,7 @@ 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);
CIMGUI_API ImGuiViewport* igGetMainViewport(void); CIMGUI_API ImGuiViewport* igGetMainViewport(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void); CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport); CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size); CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size);
CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min,const ImVec2 rect_max); CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min,const ImVec2 rect_max);
@@ -3741,6 +3768,8 @@ CIMGUI_API bool igIsKeyChordPressed_Nil(ImGuiKeyChord key_chord);
CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key,float repeat_delay,float rate); CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key,float repeat_delay,float rate);
CIMGUI_API const char* igGetKeyName(ImGuiKey key); CIMGUI_API const char* igGetKeyName(ImGuiKey key);
CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard); CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard);
CIMGUI_API bool igShortcut_Nil(ImGuiKeyChord key_chord,ImGuiInputFlags flags);
CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord,ImGuiInputFlags flags);
CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button); CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button,bool repeat); CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button,bool repeat);
CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button); CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button);
@@ -3799,6 +3828,7 @@ CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self,ImGuiKey key,int nat
CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self,bool accepting_events); CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self,bool accepting_events);
CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self); CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self); CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputMouse(ImGuiIO* self);
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void); CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self); CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void); CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
@@ -4093,7 +4123,7 @@ CIMGUI_API float igImRsqrt_Float(float x);
CIMGUI_API double igImRsqrt_double(double x); CIMGUI_API double igImRsqrt_double(double x);
CIMGUI_API void igImMin(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs); CIMGUI_API void igImMin(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs); CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,ImVec2 mx); CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,const ImVec2 mx);
CIMGUI_API void igImLerp_Vec2Float(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,float t); CIMGUI_API void igImLerp_Vec2Float(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,float t);
CIMGUI_API void igImLerp_Vec2Vec2(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,const ImVec2 t); CIMGUI_API void igImLerp_Vec2Vec2(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,const ImVec2 t);
CIMGUI_API void igImLerp_Vec4(ImVec4 *pOut,const ImVec4 a,const ImVec4 b,float t); CIMGUI_API void igImLerp_Vec4(ImVec4 *pOut,const ImVec4 a,const ImVec4 b,float t);
@@ -4175,11 +4205,13 @@ CIMGUI_API int ImGuiTextIndex_size(ImGuiTextIndex* self);
CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self,const char* base,int n); CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self,const char* base,int n);
CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self,const char* base,int n); CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self,const char* base,int n);
CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self,const char* base,int old_size,int new_size); CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self,const char* base,int old_size,int new_size);
CIMGUI_API ImGuiStoragePair* igImLowerBound(ImGuiStoragePair* in_begin,ImGuiStoragePair* in_end,ImGuiID key);
CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void); CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void);
CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self); CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self);
CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError(ImDrawListSharedData* self,float max_error); CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError(ImDrawListSharedData* self,float max_error);
CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void); CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void);
CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self); CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self);
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v); CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v);
CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self); CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx,float v); CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx,float v);
@@ -4227,7 +4259,6 @@ CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,Im
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self); CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent);
CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void); CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void);
CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self); CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self);
CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void); CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void);
@@ -4302,9 +4333,7 @@ CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self,int n);
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs); CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs);
CIMGUI_API void ImGuiWindow_Rect(ImRect *pOut,ImGuiWindow* self); CIMGUI_API void ImGuiWindow_Rect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self); CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self);
CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self);
CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self); CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self);
CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self); CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void); CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void);
CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self); CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self);
@@ -4360,6 +4389,7 @@ CIMGUI_API void igInitialize(void);
CIMGUI_API void igShutdown(void); CIMGUI_API void igShutdown(void);
CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs); CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs);
CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void); CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void);
CIMGUI_API void igFindHoveredWindowEx(const ImVec2 pos,bool find_first_and_in_any_viewport,ImGuiWindow** out_hovered_window,ImGuiWindow** out_hovered_window_under_moving_window);
CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window); CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window);
CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock); CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock);
CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void); CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void);
@@ -4424,25 +4454,27 @@ CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width
CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled); CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled);
CIMGUI_API void igPopItemFlag(void); CIMGUI_API void igPopItemFlag(void);
CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx); CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx);
CIMGUI_API void igBeginDisabledOverrideReenable(void);
CIMGUI_API void igEndDisabledOverrideReenable(void);
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth); CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth);
CIMGUI_API void igLogToBuffer(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); CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix); CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix);
CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags);
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_window_flags);
CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags); CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup);
CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_focus_to_window_under_popup);
CIMGUI_API void igClosePopupsExceptModals(void); CIMGUI_API void igClosePopupsExceptModals(void);
CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags); CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags);
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
CIMGUI_API bool igBeginTooltipHidden(void);
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window); CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window);
CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void); CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void);
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void); CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void);
CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window); CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window);
CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window); CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window);
CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,const ImVec2 size,ImGuiDir* last_dir,const ImRect r_outer,const ImRect r_avoid,ImGuiPopupPositionPolicy policy); CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,const ImVec2 size,ImGuiDir* last_dir,const ImRect r_outer,const ImRect r_avoid,ImGuiPopupPositionPolicy policy);
CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
CIMGUI_API bool igBeginTooltipHidden(void);
CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags);
CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled); CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled);
CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled); CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled);
@@ -4469,15 +4501,15 @@ CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id);
CIMGUI_API void igFocusItem(void); CIMGUI_API void igFocusItem(void);
CIMGUI_API void igActivateItemByID(ImGuiID id); CIMGUI_API void igActivateItemByID(ImGuiID id);
CIMGUI_API bool igIsNamedKey(ImGuiKey key); CIMGUI_API bool igIsNamedKey(ImGuiKey key);
CIMGUI_API bool igIsNamedKeyOrModKey(ImGuiKey key); CIMGUI_API bool igIsNamedKeyOrMod(ImGuiKey key);
CIMGUI_API bool igIsLegacyKey(ImGuiKey key); CIMGUI_API bool igIsLegacyKey(ImGuiKey key);
CIMGUI_API bool igIsKeyboardKey(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 igIsMouseKey(ImGuiKey key);
CIMGUI_API bool igIsAliasKey(ImGuiKey key); CIMGUI_API bool igIsAliasKey(ImGuiKey key);
CIMGUI_API bool igIsModKey(ImGuiKey key); CIMGUI_API bool igIsModKey(ImGuiKey key);
CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiContext* ctx,ImGuiKeyChord key_chord); CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiKeyChord key_chord);
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx,ImGuiKey key); CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key); CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key); CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key);
CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord); CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord);
@@ -4497,16 +4529,15 @@ CIMGUI_API void igSetItemKeyOwner(ImGuiKey key,ImGuiInputFlags flags);
CIMGUI_API bool igTestKeyOwner(ImGuiKey key,ImGuiID owner_id); CIMGUI_API bool igTestKeyOwner(ImGuiKey key,ImGuiID owner_id);
CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx,ImGuiKey key); CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key,ImGuiID owner_id); 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 igIsKeyPressed_InputFlags(ImGuiKey key,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id); CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id);
CIMGUI_API bool igIsKeyChordPressed_InputFlags(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button,ImGuiID owner_id); CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button,ImGuiID owner_id);
CIMGUI_API bool igIsMouseClicked_ID(ImGuiMouseButton button,ImGuiID owner_id,ImGuiInputFlags flags); CIMGUI_API bool igIsMouseClicked_InputFlags(ImGuiMouseButton button,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button,ImGuiID owner_id); CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button,ImGuiID owner_id);
CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button,ImGuiID owner_id); CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button,ImGuiID owner_id);
CIMGUI_API bool igIsKeyChordPressed_ID(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags); CIMGUI_API bool igShortcut_ID(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord); CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API bool igShortcut(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags);
CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id,ImGuiInputFlags flags);
CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id); CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id);
CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData(ImGuiKeyChord key_chord); CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData(ImGuiKeyChord key_chord);
CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx); CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx);
@@ -4576,7 +4607,6 @@ CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns,float
CIMGUI_API void igTableOpenContextMenu(int column_n); CIMGUI_API void igTableOpenContextMenu(int column_n);
CIMGUI_API void igTableSetColumnWidth(int column_n,float width); CIMGUI_API void igTableSetColumnWidth(int column_n,float width);
CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection sort_direction,bool append_to_sort_specs); CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection sort_direction,bool append_to_sort_specs);
CIMGUI_API int igTableGetHoveredColumn(void);
CIMGUI_API int igTableGetHoveredRow(void); CIMGUI_API int igTableGetHoveredRow(void);
CIMGUI_API float igTableGetHeaderRowHeight(void); CIMGUI_API float igTableGetHeaderRowHeight(void);
CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void); CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void);
@@ -4691,7 +4721,7 @@ CIMGUI_API void igSetNextItemSelectionUserData(ImGuiSelectionUserData selection_
CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type); CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type);
CIMGUI_API int igDataTypeFormatString(char* buf,int buf_size,ImGuiDataType data_type,const void* p_data,const char* format); CIMGUI_API int igDataTypeFormatString(char* buf,int buf_size,ImGuiDataType data_type,const void* p_data,const char* format);
CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,const void* arg_1,const void* arg_2); CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format); CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format,void* p_data_when_empty);
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2); CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max); 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 bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
@@ -4700,6 +4730,7 @@ CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,cha
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 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); CIMGUI_API bool igTempInputIsActive(ImGuiID id);
CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id); CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id);
CIMGUI_API void igSetNextItemRefVal(ImGuiDataType data_type,void* p_data);
CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags); CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags);
CIMGUI_API void igColorEditOptionsPopup(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 void igColorPickerOptionsPopup(const float* ref_col,ImGuiColorEditFlags flags);
@@ -4719,6 +4750,7 @@ CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void);
CIMGUI_API void igDebugDrawCursorPos(ImU32 col); CIMGUI_API void igDebugDrawCursorPos(ImU32 col);
CIMGUI_API void igDebugDrawLineExtents(ImU32 col); CIMGUI_API void igDebugDrawLineExtents(ImU32 col);
CIMGUI_API void igDebugDrawItemRect(ImU32 col); CIMGUI_API void igDebugDrawItemRect(ImU32 col);
CIMGUI_API void igDebugTextUnformattedWithLocateItem(const char* line_begin,const char* line_end);
CIMGUI_API void igDebugLocateItem(ImGuiID target_id); CIMGUI_API void igDebugLocateItem(ImGuiID target_id);
CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id); CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id);
CIMGUI_API void igDebugLocateItemResolveWithLastItem(void); CIMGUI_API void igDebugLocateItemResolveWithLastItem(void);
@@ -4774,6 +4806,10 @@ CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p); CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p); CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
#ifdef IMGUI_HAS_DOCK
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_pos));
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_size));
#endif
#endif //CIMGUI_INCLUDED #endif //CIMGUI_INCLUDED

View File

@@ -61,6 +61,10 @@ CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p); CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p); CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
#ifdef IMGUI_HAS_DOCK
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_pos));
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_size));
#endif
#endif //CIMGUI_INCLUDED #endif //CIMGUI_INCLUDED

View File

@@ -751,6 +751,8 @@ local function parseFunction(self,stname,itt,namespace,locat)
local argsTa2 = {} local argsTa2 = {}
local noname_counter = 0 local noname_counter = 0
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
--avoid var name without space type&name -> type& name
ar = ar:gsub("(%S)&(%S)","%1& %2")
local typ,name,retf,sigf,reftoptr,defa,ar1 local typ,name,retf,sigf,reftoptr,defa,ar1
local has_cdecl = ar:match"__cdecl" local has_cdecl = ar:match"__cdecl"
if has_cdecl then ar = ar:gsub("__cdecl","") end if has_cdecl then ar = ar:gsub("__cdecl","") end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -108,17 +108,13 @@ igCombo 3
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int) 1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igCombo_Str (const char*,int*,const char*,int) 2 bool igCombo_Str (const char*,int*,const char*,int)
3 bool igCombo_FnStrPtr (const char*,int*,const char*(*)(void*,int),void*,int,int) 3 bool igCombo_FnStrPtr (const char*,int*,const char*(*)(void*,int),void*,int,int)
igGetBackgroundDrawList 2
1 ImDrawList* igGetBackgroundDrawList_Nil ()
2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
igGetColorU32 3 igGetColorU32 3
1 ImU32 igGetColorU32_Col (ImGuiCol,float) 1 ImU32 igGetColorU32_Col (ImGuiCol,float)
2 ImU32 igGetColorU32_Vec4 (const ImVec4) 2 ImU32 igGetColorU32_Vec4 (const ImVec4)
3 ImU32 igGetColorU32_U32 (ImU32,float) 3 ImU32 igGetColorU32_U32 (ImU32,float)
igGetForegroundDrawList 3 igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawList_Nil () 1 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
2 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*) 2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
3 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
igGetID 3 igGetID 3
1 ImGuiID igGetID_Str (const char*) 1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetID_StrStr (const char*,const char*) 2 ImGuiID igGetID_StrStr (const char*,const char*)
@@ -163,19 +159,19 @@ igImTrunc 2
2 ImVec2 igImTrunc_Vec2 (const ImVec2) 2 ImVec2 igImTrunc_Vec2 (const ImVec2)
igIsKeyChordPressed 2 igIsKeyChordPressed 2
1 bool igIsKeyChordPressed_Nil (ImGuiKeyChord) 1 bool igIsKeyChordPressed_Nil (ImGuiKeyChord)
2 bool igIsKeyChordPressed_ID (ImGuiKeyChord,ImGuiID,ImGuiInputFlags) 2 bool igIsKeyChordPressed_InputFlags (ImGuiKeyChord,ImGuiInputFlags,ImGuiID)
igIsKeyDown 2 igIsKeyDown 2
1 bool igIsKeyDown_Nil (ImGuiKey) 1 bool igIsKeyDown_Nil (ImGuiKey)
2 bool igIsKeyDown_ID (ImGuiKey,ImGuiID) 2 bool igIsKeyDown_ID (ImGuiKey,ImGuiID)
igIsKeyPressed 2 igIsKeyPressed 2
1 bool igIsKeyPressed_Bool (ImGuiKey,bool) 1 bool igIsKeyPressed_Bool (ImGuiKey,bool)
2 bool igIsKeyPressed_ID (ImGuiKey,ImGuiID,ImGuiInputFlags) 2 bool igIsKeyPressed_InputFlags (ImGuiKey,ImGuiInputFlags,ImGuiID)
igIsKeyReleased 2 igIsKeyReleased 2
1 bool igIsKeyReleased_Nil (ImGuiKey) 1 bool igIsKeyReleased_Nil (ImGuiKey)
2 bool igIsKeyReleased_ID (ImGuiKey,ImGuiID) 2 bool igIsKeyReleased_ID (ImGuiKey,ImGuiID)
igIsMouseClicked 2 igIsMouseClicked 2
1 bool igIsMouseClicked_Bool (ImGuiMouseButton,bool) 1 bool igIsMouseClicked_Bool (ImGuiMouseButton,bool)
2 bool igIsMouseClicked_ID (ImGuiMouseButton,ImGuiID,ImGuiInputFlags) 2 bool igIsMouseClicked_InputFlags (ImGuiMouseButton,ImGuiInputFlags,ImGuiID)
igIsMouseDoubleClicked 2 igIsMouseDoubleClicked 2
1 bool igIsMouseDoubleClicked_Nil (ImGuiMouseButton) 1 bool igIsMouseDoubleClicked_Nil (ImGuiMouseButton)
2 bool igIsMouseDoubleClicked_ID (ImGuiMouseButton,ImGuiID) 2 bool igIsMouseDoubleClicked_ID (ImGuiMouseButton,ImGuiID)
@@ -256,6 +252,9 @@ igSetWindowSize 3
1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond) 1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond)
2 void igSetWindowSize_Str (const char*,const ImVec2,ImGuiCond) 2 void igSetWindowSize_Str (const char*,const ImVec2,ImGuiCond)
3 void igSetWindowSize_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond) 3 void igSetWindowSize_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
igShortcut 2
1 bool igShortcut_Nil (ImGuiKeyChord,ImGuiInputFlags)
2 bool igShortcut_ID (ImGuiKeyChord,ImGuiInputFlags,ImGuiID)
igTabItemCalcSize 2 igTabItemCalcSize 2
1 ImVec2 igTabItemCalcSize_Str (const char*,bool) 1 ImVec2 igTabItemCalcSize_Str (const char*,bool)
2 ImVec2 igTabItemCalcSize_WindowPtr (ImGuiWindow*) 2 ImVec2 igTabItemCalcSize_WindowPtr (ImGuiWindow*)
@@ -287,4 +286,4 @@ igValue 4
2 void igValue_Int (const char*,int) 2 void igValue_Int (const char*,int)
3 void igValue_Uint (const char*,unsigned int) 3 void igValue_Uint (const char*,unsigned int)
4 void igValue_Float (const char*,float,const char*) 4 void igValue_Float (const char*,float,const char*)
201 overloaded 200 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -42,12 +42,11 @@
"ImGuiDataAuthority": "int", "ImGuiDataAuthority": "int",
"ImGuiDataType": "int", "ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo", "ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage", "ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage",
"ImGuiDataVarInfo": "struct ImGuiDataVarInfo", "ImGuiDataVarInfo": "struct ImGuiDataVarInfo",
"ImGuiDebugAllocEntry": "struct ImGuiDebugAllocEntry", "ImGuiDebugAllocEntry": "struct ImGuiDebugAllocEntry",
"ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo", "ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo",
"ImGuiDebugLogFlags": "int", "ImGuiDebugLogFlags": "int",
"ImGuiDir": "int",
"ImGuiDockContext": "struct ImGuiDockContext", "ImGuiDockContext": "struct ImGuiDockContext",
"ImGuiDockNode": "struct ImGuiDockNode", "ImGuiDockNode": "struct ImGuiDockNode",
"ImGuiDockNodeFlags": "int", "ImGuiDockNodeFlags": "int",
@@ -126,7 +125,6 @@
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);", "ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData", "ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int", "ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo", "ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes", "ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStorage": "struct ImGuiStorage", "ImGuiStorage": "struct ImGuiStorage",

View File

@@ -42,12 +42,11 @@ defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook*
defs["ImGuiDataAuthority"] = "int" defs["ImGuiDataAuthority"] = "int"
defs["ImGuiDataType"] = "int" defs["ImGuiDataType"] = "int"
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo" defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage" defs["ImGuiDataTypeStorage"] = "struct ImGuiDataTypeStorage"
defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo" defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo"
defs["ImGuiDebugAllocEntry"] = "struct ImGuiDebugAllocEntry" defs["ImGuiDebugAllocEntry"] = "struct ImGuiDebugAllocEntry"
defs["ImGuiDebugAllocInfo"] = "struct ImGuiDebugAllocInfo" defs["ImGuiDebugAllocInfo"] = "struct ImGuiDebugAllocInfo"
defs["ImGuiDebugLogFlags"] = "int" defs["ImGuiDebugLogFlags"] = "int"
defs["ImGuiDir"] = "int"
defs["ImGuiDockContext"] = "struct ImGuiDockContext" defs["ImGuiDockContext"] = "struct ImGuiDockContext"
defs["ImGuiDockNode"] = "struct ImGuiDockNode" defs["ImGuiDockNode"] = "struct ImGuiDockNode"
defs["ImGuiDockNodeFlags"] = "int" defs["ImGuiDockNodeFlags"] = "int"
@@ -126,7 +125,6 @@ defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);" defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData" defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int" defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo" defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes" defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStorage"] = "struct ImGuiStorage" defs["ImGuiStorage"] = "struct ImGuiStorage"

2
imgui

Submodule imgui updated: e391fe2e66...3369cbd277