Compare commits

...

11 Commits

Author SHA1 Message Date
sonoro1234
7c79f59fa2 Merge branch 'docking_inter' 2024-07-03 11:14:11 +02:00
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
35fdbf393f Merge branch 'docking_inter' 2024-06-07 13:26:08 +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
18 changed files with 20548 additions and 2836 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)
Notes:
* currently this wrapper is based on version [1.90.7 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.
* 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.

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 "")
endif(WIN32)
#run in build dir
set (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
set (CMAKE_CXX_STANDARD 11)
# general settings
@@ -32,14 +35,8 @@ set(IMGUI_SOURCES
${TABLES_SOURCE}
)
set(IMGUI_SOURCES_sdl)
set(IMGUI_LIBRARIES )
if (WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
@@ -65,28 +62,44 @@ endif(WIN32)
# GLFW
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp)
set(GLFW_VERSION 3.3.8)
set(GLFW_VERSION 3.4)
include(FetchContent)
FetchContent_Declare(
glfw
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz)
#GIT_REPOSITORY https://github.com/glfw/glfw )
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)
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()
#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)
add_library(cimgui STATIC ${IMGUI_SOURCES})
ELSE()
if (NOT STATIC_BUILD)
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)
@@ -95,9 +108,6 @@ target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
include_directories(../../generator/output/)
add_executable(${PROJECT_NAME} main.c)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW)
if (MINGW)
target_link_options(${PROJECT_NAME} PRIVATE "-mconsole")
endif()
target_link_libraries(${PROJECT_NAME} ${IMGUI_SDL_LIBRARY} cimgui)
target_link_libraries(${PROJECT_NAME} 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
//based on imgui.h file version "1.90.7" 19070 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
#ifdef IMGUI_ENABLE_FREETYPE
#ifndef CIMGUI_FREETYPE
@@ -1119,9 +1119,9 @@ CIMGUI_API bool igIsPopupOpen_Str(const char* str_id,ImGuiPopupFlags 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()
{
@@ -1187,6 +1187,10 @@ CIMGUI_API void igTableSetColumnEnabled(int column_n,bool 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)
{
return ImGui::TableSetBgColor(target,color,column_n);
@@ -1399,6 +1403,7 @@ CIMGUI_API ImGuiViewport* igGetMainViewport()
{
return ImGui::GetMainViewport();
}
<<<<<<< HEAD
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil()
{
return ImGui::GetBackgroundDrawList();
@@ -1406,6 +1411,15 @@ CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil()
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil()
{
return ImGui::GetForegroundDrawList();
=======
CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport)
{
return ImGui::GetBackgroundDrawList(viewport);
}
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport)
{
return ImGui::GetForegroundDrawList(viewport);
>>>>>>> docking_inter
}
CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size)
{
@@ -1699,6 +1713,10 @@ CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self)
{
return self->ClearInputKeys();
}
CIMGUI_API void ImGuiIO_ClearInputMouse(ImGuiIO* self)
{
return self->ClearInputMouse();
}
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{
return IM_NEW(ImGuiIO)();
@@ -2858,7 +2876,7 @@ CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 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);
}
@@ -3186,6 +3204,10 @@ CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self,const char* base,int
{
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)
{
return IM_NEW(ImDrawListSharedData)();
@@ -3206,6 +3228,10 @@ CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* 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)
{
return IM_NEW(ImGuiStyleMod)(idx,v);
@@ -3394,10 +3420,6 @@ CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int 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)
{
return IM_NEW(ImGuiPopupData)();
@@ -3626,18 +3648,10 @@ CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self)
{
return self->CalcFontSize();
}
CIMGUI_API float ImGuiWindow_TitleBarHeight(ImGuiWindow* self)
{
return self->TitleBarHeight();
}
CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self)
{
*pOut = self->TitleBarRect();
}
CIMGUI_API float ImGuiWindow_MenuBarHeight(ImGuiWindow* self)
{
return self->MenuBarHeight();
}
CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self)
{
*pOut = self->MenuBarRect();
@@ -4098,6 +4112,14 @@ CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar 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)
{
return ImGui::LogBegin(type,auto_open_depth);
@@ -4118,6 +4140,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);
}
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)
{
return ImGui::OpenPopupEx(id,popup_flags);
@@ -4138,18 +4164,6 @@ CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags 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)
{
*pOut = ImGui::GetPopupAllowedExtentRect(window);
@@ -4174,6 +4188,14 @@ CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,
{
*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)
{
return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags);
@@ -4534,10 +4556,6 @@ CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection so
{
return ImGui::TableSetColumnSortDirection(column_n,sort_direction,append_to_sort_specs);
}
CIMGUI_API int igTableGetHoveredColumn()
{
return ImGui::TableGetHoveredColumn();
}
CIMGUI_API int igTableGetHoveredRow()
{
return ImGui::TableGetHoveredRow();
@@ -4978,9 +4996,9 @@ CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,co
{
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)
{
@@ -5014,6 +5032,10 @@ CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID 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)
{
return ImGui::ColorTooltip(text,col,flags);
@@ -5093,6 +5115,10 @@ CIMGUI_API void igDebugDrawItemRect(ImU32 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)
{
return ImGui::DebugLocateItem(target_id);

347
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.90.7" 19070 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
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
@@ -64,6 +64,7 @@ typedef struct ImGuiPayload ImGuiPayload;
typedef struct ImGuiPlatformImeData ImGuiPlatformImeData;
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
typedef struct ImGuiStorage ImGuiStorage;
typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiStyle ImGuiStyle;
typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs;
typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs;
@@ -108,6 +109,15 @@ typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest;
typedef struct ImGuiWindow ImGuiWindow;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
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 ImDrawCmd;
struct ImDrawData;
@@ -132,6 +142,7 @@ struct ImGuiPayload;
struct ImGuiPlatformImeData;
struct ImGuiSizeCallbackData;
struct ImGuiStorage;
struct ImGuiStoragePair;
struct ImGuiStyle;
struct ImGuiTableSortSpecs;
struct ImGuiTableColumnSortSpecs;
@@ -141,10 +152,8 @@ struct ImGuiViewport;
typedef int ImGuiCol;
typedef int ImGuiCond;
typedef int ImGuiDataType;
typedef int ImGuiDir;
typedef int ImGuiMouseButton;
typedef int ImGuiMouseCursor;
typedef int ImGuiSortDirection;
typedef int ImGuiStyleVar;
typedef int ImGuiTableBgTarget;
typedef int ImDrawFlags;
@@ -175,15 +184,6 @@ typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags;
typedef void* ImTextureID;
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 short ImWchar16;
typedef ImWchar16 ImWchar;
@@ -225,7 +225,6 @@ typedef enum {
ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NavFlattened = 1 << 23,
ImGuiWindowFlags_ChildWindow = 1 << 24,
ImGuiWindowFlags_Tooltip = 1 << 25,
ImGuiWindowFlags_Popup = 1 << 26,
@@ -242,30 +241,33 @@ typedef enum {
ImGuiChildFlags_AutoResizeY = 1 << 5,
ImGuiChildFlags_AlwaysAutoResize = 1 << 6,
ImGuiChildFlags_FrameStyle = 1 << 7,
ImGuiChildFlags_NavFlattened = 1 << 8,
}ImGuiChildFlags_;
typedef enum {
ImGuiInputTextFlags_None = 0,
ImGuiInputTextFlags_CharsDecimal = 1 << 0,
ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
ImGuiInputTextFlags_CharsUppercase = 1 << 2,
ImGuiInputTextFlags_CharsNoBlank = 1 << 3,
ImGuiInputTextFlags_AutoSelectAll = 1 << 4,
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5,
ImGuiInputTextFlags_CallbackCompletion = 1 << 6,
ImGuiInputTextFlags_CallbackHistory = 1 << 7,
ImGuiInputTextFlags_CallbackAlways = 1 << 8,
ImGuiInputTextFlags_CallbackCharFilter = 1 << 9,
ImGuiInputTextFlags_AllowTabInput = 1 << 10,
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11,
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12,
ImGuiInputTextFlags_AlwaysOverwrite = 1 << 13,
ImGuiInputTextFlags_ReadOnly = 1 << 14,
ImGuiInputTextFlags_Password = 1 << 15,
ImGuiInputTextFlags_CharsScientific = 1 << 2,
ImGuiInputTextFlags_CharsUppercase = 1 << 3,
ImGuiInputTextFlags_CharsNoBlank = 1 << 4,
ImGuiInputTextFlags_AllowTabInput = 1 << 5,
ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6,
ImGuiInputTextFlags_EscapeClearsAll = 1 << 7,
ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 8,
ImGuiInputTextFlags_ReadOnly = 1 << 9,
ImGuiInputTextFlags_Password = 1 << 10,
ImGuiInputTextFlags_AlwaysOverwrite = 1 << 11,
ImGuiInputTextFlags_AutoSelectAll = 1 << 12,
ImGuiInputTextFlags_ParseEmptyRefVal = 1 << 13,
ImGuiInputTextFlags_DisplayEmptyRefVal = 1 << 14,
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15,
ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
ImGuiInputTextFlags_CharsScientific = 1 << 17,
ImGuiInputTextFlags_CallbackResize = 1 << 18,
ImGuiInputTextFlags_CallbackEdit = 1 << 19,
ImGuiInputTextFlags_EscapeClearsAll = 1 << 20,
ImGuiInputTextFlags_CallbackCompletion = 1 << 17,
ImGuiInputTextFlags_CallbackHistory = 1 << 18,
ImGuiInputTextFlags_CallbackAlways = 1 << 19,
ImGuiInputTextFlags_CallbackCharFilter = 1 << 20,
ImGuiInputTextFlags_CallbackResize = 1 << 21,
ImGuiInputTextFlags_CallbackEdit = 1 << 22,
}ImGuiInputTextFlags_;
typedef enum {
ImGuiTreeNodeFlags_None = 0,
@@ -329,8 +331,9 @@ typedef enum {
ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3,
ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4,
ImGuiTabBarFlags_NoTooltip = 1 << 5,
ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6,
ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7,
ImGuiTabBarFlags_DrawSelectedOverline = 1 << 6,
ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 7,
ImGuiTabBarFlags_FittingPolicyScroll = 1 << 8,
ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown,
}ImGuiTabBarFlags_;
@@ -383,7 +386,9 @@ typedef enum {
ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2,
ImGuiDragDropFlags_SourceAllowNullID = 1 << 3,
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_AcceptNoDrawDefaultRect = 1 << 11,
ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12,
@@ -403,18 +408,18 @@ typedef enum {
ImGuiDataType_COUNT
}ImGuiDataType_;
typedef enum {
ImGuiDir_None = -1,
ImGuiDir_Left = 0,
ImGuiDir_Right = 1,
ImGuiDir_Up = 2,
ImGuiDir_Down = 3,
ImGuiDir_COUNT
}ImGuiDir_;
ImGuiDir_None=-1,
ImGuiDir_Left=0,
ImGuiDir_Right=1,
ImGuiDir_Up=2,
ImGuiDir_Down=3,
ImGuiDir_COUNT=4,
}ImGuiDir;
typedef enum {
ImGuiSortDirection_None = 0,
ImGuiSortDirection_Ascending = 1,
ImGuiSortDirection_Descending = 2
}ImGuiSortDirection_;
ImGuiSortDirection_None=0,
ImGuiSortDirection_Ascending=1,
ImGuiSortDirection_Descending=2,
}ImGuiSortDirection;
typedef enum {
ImGuiKey_None=0,
ImGuiKey_Tab=512,
@@ -605,6 +610,14 @@ typedef enum {
ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
ImGuiConfigFlags_NoMouse = 1 << 4,
ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
<<<<<<< HEAD
=======
ImGuiConfigFlags_NoKeyboard = 1 << 6,
ImGuiConfigFlags_DockingEnable = 1 << 7,
ImGuiConfigFlags_ViewportsEnable = 1 << 10,
ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
>>>>>>> docking_inter
ImGuiConfigFlags_IsSRGB = 1 << 20,
ImGuiConfigFlags_IsTouchScreen = 1 << 21,
}ImGuiConfigFlags_;
@@ -649,11 +662,21 @@ typedef enum {
ImGuiCol_ResizeGrip,
ImGuiCol_ResizeGripHovered,
ImGuiCol_ResizeGripActive,
ImGuiCol_Tab,
ImGuiCol_TabHovered,
<<<<<<< HEAD
ImGuiCol_TabActive,
ImGuiCol_TabUnfocused,
ImGuiCol_TabUnfocusedActive,
=======
ImGuiCol_Tab,
ImGuiCol_TabSelected,
ImGuiCol_TabSelectedOverline,
ImGuiCol_TabDimmed,
ImGuiCol_TabDimmedSelected,
ImGuiCol_TabDimmedSelectedOverline,
ImGuiCol_DockingPreview,
ImGuiCol_DockingEmptyBg,
>>>>>>> docking_inter
ImGuiCol_PlotLines,
ImGuiCol_PlotLinesHovered,
ImGuiCol_PlotHistogram,
@@ -669,7 +692,7 @@ typedef enum {
ImGuiCol_NavWindowingHighlight,
ImGuiCol_NavWindowingDimBg,
ImGuiCol_ModalWindowDimBg,
ImGuiCol_COUNT
ImGuiCol_COUNT,
}ImGuiCol_;
typedef enum {
ImGuiStyleVar_Alpha,
@@ -712,7 +735,6 @@ typedef enum {
ImGuiButtonFlags_MouseButtonRight = 1 << 1,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft,
}ImGuiButtonFlags_;
typedef enum {
ImGuiColorEditFlags_None = 0,
@@ -751,6 +773,7 @@ typedef enum {
ImGuiSliderFlags_Logarithmic = 1 << 5,
ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
ImGuiSliderFlags_NoInput = 1 << 7,
ImGuiSliderFlags_WrapAround = 1 << 8,
ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
}ImGuiSliderFlags_;
typedef enum {
@@ -875,7 +898,7 @@ struct ImGuiTableColumnSortSpecs
ImGuiID ColumnUserID;
ImS16 ColumnIndex;
ImS16 SortOrder;
ImGuiSortDirection SortDirection : 8;
ImGuiSortDirection SortDirection;
};
struct ImGuiStyle
{
@@ -1096,18 +1119,15 @@ struct ImGuiTextBuffer
};
struct ImGuiStoragePair
{
ImGuiID key;
union { int val_i; float val_f; void* val_p; };
ImGuiID key;
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;
struct ImGuiStorage
{
ImVector_ImGuiStoragePair Data;
};
typedef struct ImGuiStoragePair ImGuiStoragePair;
struct ImGuiListClipper
{
ImGuiContext* Ctx;
@@ -1508,6 +1528,29 @@ struct ImDrawDataBuilder
ImVector_ImDrawListPtr* Layers[2];
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 {
ImGuiItemFlags_None = 0,
ImGuiItemFlags_NoTabStop = 1 << 0,
@@ -1748,6 +1791,7 @@ typedef enum {
ImGuiNextItemDataFlags_HasWidth = 1 << 0,
ImGuiNextItemDataFlags_HasOpen = 1 << 1,
ImGuiNextItemDataFlags_HasShortcut = 1 << 2,
ImGuiNextItemDataFlags_HasRefVal = 1 << 3,
}ImGuiNextItemDataFlags_;
struct ImGuiNextItemData
{
@@ -1758,7 +1802,8 @@ struct ImGuiNextItemData
ImGuiKeyChord Shortcut;
ImGuiInputFlags ShortcutFlags;
bool OpenVal;
ImGuiCond OpenCond : 8;
ImU8 OpenCond;
ImGuiDataTypeStorage RefVal;
};
struct ImGuiLastItemData
{
@@ -1795,6 +1840,7 @@ struct ImGuiWindowStackData
ImGuiWindow* Window;
ImGuiLastItemData ParentLastItemDataBackup;
ImGuiStackSizes StackSizesOnBegin;
bool DisabledOverrideReenable;
};
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
struct ImGuiShrinkWidthItem
@@ -1809,29 +1855,6 @@ struct ImGuiPtrOrIndex
void* Ptr;
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 {
ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox,
@@ -2110,6 +2133,113 @@ struct ImGuiOldColumns
ImVector_ImGuiOldColumnData Columns;
ImDrawListSplitter Splitter;
};
<<<<<<< HEAD
=======
typedef enum {
ImGuiDockNodeFlags_DockSpace = 1 << 10,
ImGuiDockNodeFlags_CentralNode = 1 << 11,
ImGuiDockNodeFlags_NoTabBar = 1 << 12,
ImGuiDockNodeFlags_HiddenTabBar = 1 << 13,
ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14,
ImGuiDockNodeFlags_NoCloseButton = 1 << 15,
ImGuiDockNodeFlags_NoResizeX = 1 << 16,
ImGuiDockNodeFlags_NoResizeY = 1 << 17,
ImGuiDockNodeFlags_DockedWindowsInFocusRoute= 1 << 18,
ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19,
ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20,
ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21,
ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22,
ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | ImGuiDockNodeFlags_NoDockingOverOther | ImGuiDockNodeFlags_NoDockingOverEmpty | ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoDockingSplitOther,
ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
ImGuiDockNodeFlags_LocalFlagsTransferMask_ = ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
}ImGuiDockNodeFlagsPrivate_;
typedef enum {
ImGuiDataAuthority_Auto,
ImGuiDataAuthority_DockNode,
ImGuiDataAuthority_Window,
}ImGuiDataAuthority_;
typedef enum {
ImGuiDockNodeState_Unknown,
ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow,
ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing,
ImGuiDockNodeState_HostWindowVisible,
}ImGuiDockNodeState;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
struct ImGuiDockNode
{
ImGuiID ID;
ImGuiDockNodeFlags SharedFlags;
ImGuiDockNodeFlags LocalFlags;
ImGuiDockNodeFlags LocalFlagsInWindows;
ImGuiDockNodeFlags MergedFlags;
ImGuiDockNodeState State;
ImGuiDockNode* ParentNode;
ImGuiDockNode* ChildNodes[2];
ImVector_ImGuiWindowPtr Windows;
ImGuiTabBar* TabBar;
ImVec2 Pos;
ImVec2 Size;
ImVec2 SizeRef;
ImGuiAxis SplitAxis;
ImGuiWindowClass WindowClass;
ImU32 LastBgColor;
ImGuiWindow* HostWindow;
ImGuiWindow* VisibleWindow;
ImGuiDockNode* CentralNode;
ImGuiDockNode* OnlyNodeWithWindows;
int CountNodeWithWindows;
int LastFrameAlive;
int LastFrameActive;
int LastFrameFocused;
ImGuiID LastFocusedNodeId;
ImGuiID SelectedTabId;
ImGuiID WantCloseTabId;
ImGuiID RefViewportId;
ImGuiDataAuthority AuthorityForPos :3;
ImGuiDataAuthority AuthorityForSize :3;
ImGuiDataAuthority AuthorityForViewport :3;
bool IsVisible :1;
bool IsFocused :1;
bool IsBgDrawnThisFrame :1;
bool HasCloseButton :1;
bool HasWindowMenuButton :1;
bool HasCentralNodeChild :1;
bool WantCloseAll :1;
bool WantLockSizeOnce :1;
bool WantMouseMove :1;
bool WantHiddenTabBarUpdate :1;
bool WantHiddenTabBarToggle :1;
};
typedef enum {
ImGuiWindowDockStyleCol_Text,
ImGuiWindowDockStyleCol_TabHovered,
ImGuiWindowDockStyleCol_TabFocused,
ImGuiWindowDockStyleCol_TabSelected,
ImGuiWindowDockStyleCol_TabSelectedOverline,
ImGuiWindowDockStyleCol_TabDimmed,
ImGuiWindowDockStyleCol_TabDimmedSelected,
ImGuiWindowDockStyleCol_TabDimmedSelectedOverline,
ImGuiWindowDockStyleCol_COUNT
}ImGuiWindowDockStyleCol;
struct ImGuiWindowDockStyle
{
ImU32 Colors[ImGuiWindowDockStyleCol_COUNT];
};
typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest;
typedef struct ImVector_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings;
struct ImGuiDockContext
{
ImGuiStorage Nodes;
ImVector_ImGuiDockRequest Requests;
ImVector_ImGuiDockNodeSettings NodesSettings;
bool WantFullRebuild;
};
>>>>>>> docking_inter
typedef struct ImGuiViewportP ImGuiViewportP;
struct ImGuiViewportP
{
@@ -2308,6 +2438,7 @@ struct ImGuiContext
bool GcCompactAll;
bool TestEngineHookItems;
void* TestEngine;
char ContextName[16];
ImVector_ImGuiInputEvent InputEventsQueue;
ImVector_ImGuiInputEvent InputEventsTrail;
ImGuiMouseSource InputEventsNextMouseSource;
@@ -2323,6 +2454,7 @@ struct ImGuiContext
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow;
ImGuiWindow* HoveredWindowBeforeClear;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
@@ -2334,10 +2466,11 @@ struct ImGuiContext
ImGuiID DebugHookIdInfo;
ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame;
bool HoveredIdAllowOverlap;
bool HoveredIdDisabled;
float HoveredIdTimer;
float HoveredIdNotActiveTimer;
bool HoveredIdAllowOverlap;
bool HoveredIdIsDisabled;
bool ItemUnclipByLog;
ImGuiID ActiveId;
ImGuiID ActiveIdIsAlive;
float ActiveIdTimer;
@@ -2388,20 +2521,17 @@ struct ImGuiContext
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavFocusScopeId;
ImVector_ImGuiFocusScopeData NavFocusRoute;
ImGuiNavLayer NavLayer;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
ImGuiActivateFlags NavActivateFlags;
ImVector_ImGuiFocusScopeData NavFocusRoute;
ImGuiID NavHighlightActivatedId;
float NavHighlightActivatedTimer;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiKeyChord NavJustMovedToKeyMods;
ImGuiID NavNextActivateId;
ImGuiActivateFlags NavNextActivateFlags;
ImGuiInputSource NavInputSource;
ImGuiNavLayer NavLayer;
ImGuiSelectionUserData NavLastValidSelectionUserData;
bool NavIdIsAlive;
bool NavMousePosDirty;
@@ -2429,6 +2559,12 @@ struct ImGuiContext
ImGuiNavItemData NavMoveResultLocalVisible;
ImGuiNavItemData NavMoveResultOther;
ImGuiNavItemData NavTabbingResultFirst;
ImGuiID NavJustMovedFromFocusScopeId;
ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId;
ImGuiKeyChord NavJustMovedToKeyMods;
bool NavJustMovedToIsTabbing;
bool NavJustMovedToHasSelectionData;
ImGuiKeyChord ConfigNavWindowingKeyNext;
ImGuiKeyChord ConfigNavWindowingKeyPrev;
ImGuiWindow* NavWindowingTarget;
@@ -2485,6 +2621,7 @@ struct ImGuiContext
ImGuiInputTextDeactivatedState InputTextDeactivatedState;
ImFont InputTextPasswordFont;
ImGuiID TempInputId;
ImGuiDataTypeStorage DataTypeZeroValue;
int BeginMenuDepth;
int BeginComboDepth;
ImGuiColorEditFlags ColorEditOptions;
@@ -2497,13 +2634,14 @@ struct ImGuiContext
ImGuiComboPreviewData ComboPreviewData;
ImRect WindowResizeBorderExpectedRect;
bool WindowResizeRelativeMode;
short ScrollbarSeekMode;
float ScrollbarClickDeltaToGrabCenter;
float SliderGrabClickOffset;
float SliderCurrentAccum;
bool SliderCurrentAccumDirty;
bool DragCurrentAccumDirty;
float DragCurrentAccum;
float DragSpeedDefaultRatio;
float ScrollbarClickDeltaToGrabCenter;
float DisabledAlphaBackup;
short DisabledStackSize;
short LockMarkEdited;
@@ -2619,12 +2757,14 @@ struct ImGuiWindow
ImVec2 WindowPadding;
float WindowRounding;
float WindowBorderSize;
float TitleBarHeight, MenuBarHeight;
float DecoOuterSizeX1, DecoOuterSizeY1;
float DecoOuterSizeX2, DecoOuterSizeY2;
float DecoInnerSizeX1, DecoInnerSizeY1;
int NameBufLen;
ImGuiID MoveId;
ImGuiID ChildId;
ImGuiID PopupId;
ImVec2 Scroll;
ImVec2 ScrollMax;
ImVec2 ScrollTarget;
@@ -2651,7 +2791,6 @@ struct ImGuiWindow
short BeginOrderWithinParent;
short BeginOrderWithinContext;
short FocusOrder;
ImGuiID PopupId;
ImS8 AutoFitFramesX, AutoFitFramesY;
bool AutoFitOnlyGrows;
ImGuiDir AutoPosLastDirection;
@@ -3009,7 +3148,6 @@ typedef union SDL_Event SDL_Event;
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
typedef ImStb::STB_TexteditState STB_TexteditState;
typedef ImStb::StbTexteditRow StbTexteditRow;
@@ -3335,7 +3473,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 igBeginPopupContextVoid(const char* str_id,ImGuiPopupFlags popup_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 igTableNextRow(ImGuiTableRowFlags row_flags,float min_row_height);
CIMGUI_API bool igTableNextColumn(void);
@@ -3352,6 +3490,7 @@ CIMGUI_API int igTableGetRowIndex(void);
CIMGUI_API const char* igTableGetColumnName_Int(int column_n);
CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n);
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 igColumns(int count,const char* id,bool border);
CIMGUI_API void igNextColumn(void);
@@ -3405,8 +3544,13 @@ CIMGUI_API void igGetItemRectMin(ImVec2 *pOut);
CIMGUI_API void igGetItemRectMax(ImVec2 *pOut);
CIMGUI_API void igGetItemRectSize(ImVec2 *pOut);
CIMGUI_API ImGuiViewport* igGetMainViewport(void);
<<<<<<< HEAD
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void);
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void);
=======
CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
>>>>>>> docking_inter
CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size);
CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min,const ImVec2 rect_max);
CIMGUI_API double igGetTime(void);
@@ -3480,6 +3624,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_ClearEventsQueue(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputMouse(ImGuiIO* self);
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
@@ -3768,7 +3913,7 @@ CIMGUI_API float igImRsqrt_Float(float x);
CIMGUI_API double igImRsqrt_double(double x);
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 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_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);
@@ -3850,11 +3995,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_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 ImGuiStoragePair* igImLowerBound(ImGuiStoragePair* in_begin,ImGuiStoragePair* in_end,ImGuiID key);
CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void);
CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self);
CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError(ImDrawListSharedData* self,float max_error);
CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void);
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 void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx,float v);
@@ -3902,7 +4049,6 @@ CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,Im
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
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 void ImGuiPopupData_destroy(ImGuiPopupData* self);
CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void);
@@ -3960,9 +4106,7 @@ CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self,int n);
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs);
CIMGUI_API void ImGuiWindow_Rect(ImRect *pOut,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 float ImGuiWindow_MenuBarHeight(ImGuiWindow* self);
CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self);
CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void);
CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self);
@@ -4078,25 +4222,27 @@ CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width
CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled);
CIMGUI_API void igPopItemFlag(void);
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 igLogToBuffer(int auto_open_depth);
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 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 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 igClosePopupsExceptModals(void);
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 ImGuiWindow* igGetTopMostPopupModal(void);
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void);
CIMGUI_API ImGuiWindow* igFindBlockingModal(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 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 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);
@@ -4187,7 +4333,6 @@ CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns,float
CIMGUI_API void igTableOpenContextMenu(int column_n);
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 int igTableGetHoveredColumn(void);
CIMGUI_API int igTableGetHoveredRow(void);
CIMGUI_API float igTableGetHeaderRowHeight(void);
CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void);
@@ -4298,7 +4443,7 @@ CIMGUI_API void igSetNextItemSelectionUserData(ImGuiSelectionUserData selection_
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 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 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);
@@ -4307,6 +4452,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 igTempInputIsActive(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 igColorEditOptionsPopup(const float* col,ImGuiColorEditFlags flags);
CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col,ImGuiColorEditFlags flags);
@@ -4326,6 +4472,7 @@ CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void);
CIMGUI_API void igDebugDrawCursorPos(ImU32 col);
CIMGUI_API void igDebugDrawLineExtents(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 igDebugLocateItemOnHover(ImGuiID target_id);
CIMGUI_API void igDebugLocateItemResolveWithLastItem(void);
@@ -4380,6 +4527,10 @@ CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
CIMGUI_API void ImVector_ImWchar_Init(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

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_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

View File

@@ -751,6 +751,8 @@ local function parseFunction(self,stname,itt,namespace,locat)
local argsTa2 = {}
local noname_counter = 0
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 has_cdecl = ar:match"__cdecl"
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,20 @@ igCombo 3
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,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)
igGetBackgroundDrawList 2
1 ImDrawList* igGetBackgroundDrawList_Nil ()
2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
igGetColorU32 3
1 ImU32 igGetColorU32_Col (ImGuiCol,float)
2 ImU32 igGetColorU32_Vec4 (const ImVec4)
3 ImU32 igGetColorU32_U32 (ImU32,float)
<<<<<<< HEAD
igGetForegroundDrawList 3
1 ImDrawList* igGetForegroundDrawList_Nil ()
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
=======
igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
>>>>>>> docking_inter
igGetID 3
1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetID_StrStr (const char*,const char*)
@@ -290,4 +293,4 @@ igValue 4
2 void igValue_Int (const char*,int)
3 void igValue_Uint (const char*,unsigned int)
4 void igValue_Float (const char*,float,const char*)
203 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

@@ -41,12 +41,11 @@
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
"ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
"ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage",
"ImGuiDataVarInfo": "struct ImGuiDataVarInfo",
"ImGuiDebugAllocEntry": "struct ImGuiDebugAllocEntry",
"ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo",
"ImGuiDebugLogFlags": "int",
"ImGuiDir": "int",
"ImGuiDragDropFlags": "int",
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
"ImGuiFocusRequestFlags": "int",
@@ -117,7 +116,6 @@
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStorage": "struct ImGuiStorage",

View File

@@ -41,12 +41,11 @@ defs["ImGuiContextHook"] = "struct ImGuiContextHook"
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
defs["ImGuiDataType"] = "int"
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
defs["ImGuiDataTypeStorage"] = "struct ImGuiDataTypeStorage"
defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo"
defs["ImGuiDebugAllocEntry"] = "struct ImGuiDebugAllocEntry"
defs["ImGuiDebugAllocInfo"] = "struct ImGuiDebugAllocInfo"
defs["ImGuiDebugLogFlags"] = "int"
defs["ImGuiDir"] = "int"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
defs["ImGuiFocusRequestFlags"] = "int"
@@ -117,7 +116,6 @@ defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStorage"] = "struct ImGuiStorage"

2
imgui

Submodule imgui updated: 00ad3c65bc...cb16be3a3f