Compare commits

..

3 Commits

Author SHA1 Message Date
sonoro1234
1bb9cd7347 Merge branch 'docking_inter' 2023-04-18 10:43:06 +02:00
sonoro1234
d24246adfd Merge branch 'docking_inter' 2023-02-15 10:18:15 +01:00
sonoro1234
6dba58d90f merge from docking_inter 2023-01-07 11:34:35 +01:00
41 changed files with 42999 additions and 63834 deletions

View File

@@ -29,9 +29,9 @@ jobs:
sudo apt-get install -y luajit sudo apt-get install -y luajit
elif [ "$GITHUB_OS" == "windows-latest" ]; elif [ "$GITHUB_OS" == "windows-latest" ];
then then
vcpkg install luajit:x64-windows vcpkg install luajit
echo "/C/vcpkg/installed/x64-windows/tools/luajit" >> $GITHUB_PATH echo "/C/vcpkg/packages/luajit_x86-windows/tools" >> $GITHUB_PATH
echo "/C/vcpkg/installed/x64-windows/bin" >> $GITHUB_PATH echo "/C/vcpkg/packages/luajit_x86-windows/bin" >> $GITHUB_PATH
fi fi
- name: Download Submodules - name: Download Submodules

View File

@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.15) cmake_minimum_required(VERSION 3.1)
cmake_policy(SET CMP0091 NEW)
project(cimgui) project(cimgui)
set (CMAKE_CXX_STANDARD 11) set (CMAKE_CXX_STANDARD 11)
@@ -26,10 +26,10 @@ set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library")
set(IMGUI_LIBRARIES ) set(IMGUI_LIBRARIES )
if(IMGUI_FREETYPE) if(IMGUI_FREETYPE)
message(STATUS "Building with freetype")
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH}) FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
list(APPEND IMGUI_LIBRARIES freetype) list(APPEND IMGUI_LIBRARIES freetype)
list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp) list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp)
add_definitions("-DCIMGUI_FREETYPE=1")
endif(IMGUI_FREETYPE) endif(IMGUI_FREETYPE)
#add library and link #add library and link
@@ -39,16 +39,6 @@ else (IMGUI_STATIC)
add_library(cimgui SHARED ${IMGUI_SOURCES}) add_library(cimgui SHARED ${IMGUI_SOURCES})
endif (IMGUI_STATIC) endif (IMGUI_STATIC)
if(IMGUI_FREETYPE)
target_compile_definitions(cimgui PUBLIC IMGUI_ENABLE_FREETYPE)
target_compile_definitions(cimgui PUBLIC IMGUI_ENABLE_STB_TRUETYPE)
endif(IMGUI_FREETYPE)
if(IMGUI_WCHAR32)
target_compile_definitions(cimgui PUBLIC IMGUI_USE_WCHAR32)
endif(IMGUI_WCHAR32)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1) target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
if (WIN32) if (WIN32)
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\)) target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))

View File

@@ -59,18 +59,10 @@ $(OUTPUTNAME):$(OBJS)
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS) $(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
clean: clean:
ifeq ($(OS),Windows_NT)
del /q $(subst /,\,$(OBJS))
else
rm -f $(OBJS) rm -f $(OBJS)
endif
fclean: clean fclean: clean
ifeq ($(OS),Windows_NT)
del /q $(subst /,\,$(OUTPUTNAME))
else
rm -f $(OUTPUTNAME) rm -f $(OUTPUTNAME)
endif
re: fclean all re: fclean all

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.91.9 of Dear ImGui with internal api] * currently this wrapper is based on version [1.89.5 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped. * 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.
@@ -24,7 +24,7 @@ Notes:
* `git submodule update --init --recursive` (If already cloned) * `git submodule update --init --recursive` (If already cloned)
* compile * compile
* using makefile on linux/macOS/mingw (Or use CMake to generate project) * using makefile on linux/macOS/mingw (Or use CMake to generate project)
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) and IMGUI_WCHAR32 * cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) (only if cimgui is generated with freetype option)
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build * or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test. For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test.
@@ -37,12 +37,12 @@ Notes:
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download * you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc) * you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
* update `imgui` folder to the version you desire. * update `imgui` folder to the version you desire.
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, comments are generated or not and if constructors are generated also with versions performing just initialization of structs provided by yourself (_Construct is added to the constructor names) * edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not
* the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends. * the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends.
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that). * edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH. * Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info. * as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG) * You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
* You are able to pass any extra argument to generator.sh (.bat) in the command-line. * You are able to pass any extra argument to generator.sh (.bat) in the command-line.
* If you are using different options than cimgui repo and if you want to keep them after a cimgui update, you can keep them in a copy of generator.sh (.bat) outside of cimgui folder where `cd cimgui/generator` is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497 * If you are using different options than cimgui repo and if you want to keep them after a cimgui update, you can keep them in a copy of generator.sh (.bat) outside of cimgui folder where `cd cimgui/generator` is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497
# generate binding # generate binding
@@ -92,11 +92,10 @@ Notes:
* methods have the same parameter list and return values (where possible) * methods have the same parameter list and return values (where possible)
* functions that belong to a struct have an extra first argument with a pointer to the struct. * functions that belong to a struct have an extra first argument with a pointer to the struct.
* where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct). * where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct).
* constructors return pointer to struct and has been named Struct_name_Struct_name
# usage with backends # usage with backends
* look at backend_test folder for a cmake module building with SDL and opengl3, glfw and opengl3, SDL and Vulkan, glfw and dx11 * look at backend_test folder for a cmake module building with SDL and opengl3.
* read [How can cimgui backends be used](https://github.com/cimgui/cimgui/issues/157)
# example bindings based on cimgui # example bindings based on cimgui
@@ -118,4 +117,3 @@ Notes:
* [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo) * [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo)
* [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/) * [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/)
* [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW * [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW
* [raylib-cimgui](https://github.com/alfredbaudisch/raylib-cimgui)

View File

@@ -1,109 +0,0 @@
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_USER_CONFIG=\"../cimconfig.h\"")
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
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

@@ -1,6 +0,0 @@
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

@@ -1,249 +0,0 @@
#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
#define igGetIO igGetIO_Nil
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,9 +4,6 @@ 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
@@ -23,7 +20,6 @@ else()
endif() endif()
include_directories(../../imgui) include_directories(../../imgui)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../) include_directories(../../)
@@ -36,8 +32,14 @@ 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")
@@ -63,51 +65,39 @@ 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.4) set(GLFW_VERSION 3.3.8)
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)
if (NOT STATIC_BUILD) add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR})
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 (NOT STATIC_BUILD) IF (WIN32)
add_library(cimgui SHARED ${IMGUI_SOURCES})
else()
add_library(cimgui STATIC ${IMGUI_SOURCES}) add_library(cimgui STATIC ${IMGUI_SOURCES})
endif() ELSE()
add_library(cimgui SHARED ${IMGUI_SOURCES})
if (WIN32) ENDIF()
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)
# using library # using library
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)
target_link_libraries(${PROJECT_NAME} cimgui) if (MINGW)
target_link_options(${PROJECT_NAME} PRIVATE "-mconsole")
endif()
target_link_libraries(${PROJECT_NAME} ${IMGUI_SDL_LIBRARY} cimgui)

View File

@@ -1,4 +0,0 @@
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

@@ -17,8 +17,6 @@
#define igButton igButton_Str #define igButton igButton_Str
#endif #endif
#define igGetIO igGetIO_Nil
GLFWwindow *window; GLFWwindow *window;
int main(int argc, char *argv[]) int main(int argc, char *argv[])

View File

@@ -22,6 +22,7 @@ else()
endif() endif()
include_directories(../../imgui) include_directories(../../imgui)
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../) include_directories(../../)
set(IMGUI_SOURCES set(IMGUI_SOURCES
@@ -36,7 +37,11 @@ ${TABLES_SOURCE}
set(IMGUI_SOURCES_sdl) 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")
@@ -60,46 +65,47 @@ else(WIN32)#Unix
endif(WIN32) endif(WIN32)
#sdl2
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl2.cpp) list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl2.cpp)
include(FetchContent) if(DEFINED SDL_PATH)
Set(FETCHCONTENT_QUIET FALSE) message(STATUS "SDL_PATH defined as " ${SDL_PATH})
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
else(DEFINED SDL_PATH)
# If SDL_PATH is not set, fallback and attempt to find SDL cmake script at a default location
find_package(SDL2)
endif(DEFINED SDL_PATH)
FetchContent_Declare( if(SDL2_FOUND)
SDL2 get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git message(STATUS "sdlinclude is " ${SDL_INCLUDE})
GIT_TAG release-2.30.12 if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
#GIT_SHALLOW TRUE message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
GIT_PROGRESS TRUE include_directories(${SDL2_INCLUDE_DIRS})
) set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
#FetchContent_MakeAvailable(SDL2) message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
FetchContent_GetProperties(SDL2) else()#use new one SDL2 config
if (NOT sdl2_POPULATED) include_directories(${SDL_INCLUDE})
set(FETCHCONTENT_QUIET NO) set(IMGUI_SDL_LIBRARY SDL2::SDL2)
FetchContent_Populate(SDL2) set(SDL_MAIN SDL2::SDL2main)
set(SDL_TEST OFF CACHE BOOL "" FORCE) message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE) endif()
add_subdirectory(${sdl2_SOURCE_DIR} ${sdl2_BINARY_DIR}) else(SDL2_FOUND)
endif() if(DEFINED SDL_PATH)
include_directories(${SDL2_SOURCE_DIR}/include}) message(FATAL_ERROR "Cannot find SDL at SDL_PATH")
else(DEFINED SDL_PATH)
#if dynamic SDL2 then install message(FATAL_ERROR "Cannot find SDL. Maybe try specifying SDL_PATH?")
install(TARGETS SDL2 RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR} endif(DEFINED SDL_PATH)
LIBRARY DESTINATION ${CMAKE_CURRENT_BINARY_DIR} endif(SDL2_FOUND)
)
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES}) add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1") target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
if (WIN32)
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} SDL2)
#using library #using library
include_directories(../../generator/output/)
add_executable(test_sdl main.c) add_executable(test_sdl main.c)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL2) target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL2)
if (MINGW) if (MINGW)
target_link_options(test_sdl PRIVATE "-mconsole") target_link_options(test_sdl PRIVATE "-mconsole")
endif() endif()
target_link_libraries(test_sdl SDL2 cimgui_sdl) target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)

View File

@@ -1,2 +0,0 @@
To build use `cmake path_to_example_sdl_opengl3` and then `make install`

View File

@@ -18,8 +18,6 @@
#define igButton igButton_Str #define igButton igButton_Str
#endif #endif
#define igGetIO igGetIO_Nil
SDL_Window *window = NULL; SDL_Window *window = NULL;
int main(int argc, char* argv[]) int main(int argc, char* argv[])

View File

@@ -18,12 +18,11 @@ else()
set(TABLES_SOURCE "") set(TABLES_SOURCE "")
endif() endif()
include_directories(../../imgui ../../imgui/backends) include_directories(../../imgui)
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../) include_directories(../../)
set(IMGUI_SOURCES ../../cimgui.cpp set(IMGUI_SOURCES ../../cimgui.cpp
../../cimgui_impl.cpp
../../imgui/imgui.cpp ../../imgui/imgui.cpp
../../imgui/imgui_draw.cpp ../../imgui/imgui_draw.cpp
../../imgui/imgui_demo.cpp ../../imgui/imgui_demo.cpp
@@ -34,6 +33,11 @@ ${TABLES_SOURCE}
set(IMGUI_SOURCES_sdl) 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)
#optional adding freetype #optional adding freetype
option(IMGUI_FREETYPE "add Freetype2" OFF) option(IMGUI_FREETYPE "add Freetype2" OFF)
@@ -49,52 +53,48 @@ endif(IMGUI_FREETYPE)
find_package(Vulkan REQUIRED FATAL_ERROR) find_package(Vulkan REQUIRED FATAL_ERROR)
list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan) list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_vulkan.cpp) list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_vulkan.cpp)
include_directories(${Vulkan_INCLUDE_DIRS})
#sdl2 #sdl2
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl2.cpp) list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl2.cpp)
include(FetchContent) if(DEFINED SDL_PATH)
Set(FETCHCONTENT_QUIET FALSE) message(STATUS "SDL_PATH defined as " ${SDL_PATH})
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
else(DEFINED SDL_PATH)
# If SDL_PATH is not set, fallback and attempt to find SDL cmake script at a default location
find_package(SDL2)
endif(DEFINED SDL_PATH)
FetchContent_Declare( if(SDL2_FOUND)
SDL2 get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git message(STATUS "sdlinclude is " ${SDL_INCLUDE})
GIT_TAG release-2.30.12 if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
#GIT_SHALLOW TRUE message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
GIT_PROGRESS TRUE include_directories(${SDL2_INCLUDE_DIRS})
) set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
FetchContent_GetProperties(SDL2) message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
if (NOT sdl2_POPULATED) else()#use new one SDL2 config
set(FETCHCONTENT_QUIET NO) include_directories(${SDL_INCLUDE})
FetchContent_Populate(SDL2) set(IMGUI_SDL_LIBRARY SDL2::SDL2)
set(SDL_TEST OFF CACHE BOOL "" FORCE) set(SDL_MAIN SDL2::SDL2main)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
add_subdirectory(${sdl2_SOURCE_DIR} ${sdl2_BINARY_DIR}) endif()
endif() else(SDL2_FOUND)
include_directories(${SDL2_SOURCE_DIR}/include) if(DEFINED SDL_PATH)
message(FATAL_ERROR "Cannot find SDL at SDL_PATH")
else(DEFINED SDL_PATH)
message(FATAL_ERROR "Cannot find SDL. Maybe try specifying SDL_PATH?")
endif(DEFINED SDL_PATH)
endif(SDL2_FOUND)
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
#if dynamic SDL2 then install target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
# install(TARGETS SDL2 RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
# LIBRARY DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
# )
add_library(cimgui_sdl STATIC ${IMGUI_SOURCES})
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
target_compile_definitions(cimgui_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL2)
if (WIN32)
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
#target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} SDL2-static)
#using library #using library
include_directories(../../generator/output/)
add_executable(test_sdl main.c) add_executable(test_sdl main.c)
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL2) target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL2)
if (MINGW) if (MINGW)
target_link_options(test_sdl PRIVATE "-mconsole") target_link_options(test_sdl PRIVATE "-mconsole")
endif() endif()
target_link_libraries(test_sdl SDL2-static cimgui_sdl ${IMGUI_LIBRARIES}) target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)

View File

@@ -1,3 +0,0 @@
This example needs vulkan generation before compilation: Vulkan SDK should be installed and then add "vulkan" to generator.bat and generate.
To build use `cmake path_to_example_sdl_vulkan` and then `make install`

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
#undef NDEBUG

1555
cimgui.cpp

File diff suppressed because it is too large Load Diff

2360
cimgui.h

File diff suppressed because it is too large Load Diff

View File

@@ -1,46 +0,0 @@
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"
#endif
#include "./imgui/imgui_internal.h"
#include "cimgui.h"
#ifdef CIMGUI_USE_GLFW
#include "imgui_impl_glfw.h"
#endif
#ifdef CIMGUI_USE_OPENGL3
#include "imgui_impl_opengl3.h"
#endif
#ifdef CIMGUI_USE_OPENGL2
#include "imgui_impl_opengl2.h"
#endif
#ifdef CIMGUI_USE_SDL2
#include "imgui_impl_sdl2.h"
#endif
#ifdef CIMGUI_USE_SDL3
#include "imgui_impl_sdl3.h"
#endif
#ifdef CIMGUI_USE_VULKAN
#include "imgui_impl_vulkan.h"
#endif
#include "cimgui_impl.h"
#ifdef CIMGUI_USE_VULKAN
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window()
{
return IM_NEW(ImGui_ImplVulkanH_Window)();
}
CIMGUI_API void ImGui_ImplVulkanH_Window_Construct(ImGui_ImplVulkanH_Window* self)
{
IM_PLACEMENT_NEW(self) ImGui_ImplVulkanH_Window();
}
#endif

View File

@@ -1,198 +0,0 @@
#ifdef CIMGUI_USE_GLFW
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWmonitor GLFWmonitor;
struct GLFWwindow;
struct GLFWmonitor;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
CIMGUI_API void ImGui_ImplGlfw_NewFrame(void);
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_SetCallbacksChainForAllWindows(bool chain_for_all_windows);
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
CIMGUI_API void ImGui_ImplGlfw_Sleep(int milliseconds);
#endif
#ifdef CIMGUI_USE_OPENGL3
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
CIMGUI_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture(void);
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
#endif
#ifdef CIMGUI_USE_OPENGL2
CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
CIMGUI_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture(void);
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
#endif
#ifdef CIMGUI_USE_SDL2
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
typedef struct _SDL_GameController _SDL_GameController;
struct SDL_Window;
struct SDL_Renderer;
struct _SDL_GameController;
typedef union SDL_Event SDL_Event;
typedef enum { ImGui_ImplSDL2_GamepadMode_AutoFirst, ImGui_ImplSDL2_GamepadMode_AutoAll, ImGui_ImplSDL2_GamepadMode_Manual }ImGui_ImplSDL2_GamepadMode;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API bool ImGui_ImplSDL2_InitForOther(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL2_Shutdown(void);
CIMGUI_API void ImGui_ImplSDL2_NewFrame(void);
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
CIMGUI_API void ImGui_ImplSDL2_SetGamepadMode(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array,int manual_gamepads_count);
#endif
#ifdef CIMGUI_USE_SDL3
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
typedef struct SDL_Gamepad SDL_Gamepad;
struct SDL_Window;
struct SDL_Renderer;
struct SDL_Gamepad;
typedef union SDL_Event SDL_Event;
typedef enum { ImGui_ImplSDL3_GamepadMode_AutoFirst, ImGui_ImplSDL3_GamepadMode_AutoAll, ImGui_ImplSDL3_GamepadMode_Manual }ImGui_ImplSDL3_GamepadMode;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API bool ImGui_ImplSDL3_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
CIMGUI_API bool ImGui_ImplSDL3_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API bool ImGui_ImplSDL3_InitForSDLGPU(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForOther(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL3_Shutdown(void);
CIMGUI_API void ImGui_ImplSDL3_NewFrame(void);
CIMGUI_API bool ImGui_ImplSDL3_ProcessEvent(const SDL_Event* event);
CIMGUI_API void ImGui_ImplSDL3_SetGamepadMode(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array,int manual_gamepads_count);
#endif
#ifdef CIMGUI_USE_VULKAN
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGui_ImplVulkanH_Frame ImGui_ImplVulkanH_Frame;
typedef struct ImGui_ImplVulkanH_Window ImGui_ImplVulkanH_Window;
typedef struct ImGui_ImplVulkan_InitInfo ImGui_ImplVulkan_InitInfo;
struct ImGui_ImplVulkan_InitInfo
{
uint32_t ApiVersion;
VkInstance Instance;
VkPhysicalDevice PhysicalDevice;
VkDevice Device;
uint32_t QueueFamily;
VkQueue Queue;
VkDescriptorPool DescriptorPool;
VkRenderPass RenderPass;
uint32_t MinImageCount;
uint32_t ImageCount;
VkSampleCountFlagBits MSAASamples;
VkPipelineCache PipelineCache;
uint32_t Subpass;
uint32_t DescriptorPoolSize;
bool UseDynamicRendering;
VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo;
const VkAllocationCallbacks* Allocator;
void (*CheckVkResultFn)(VkResult err);
VkDeviceSize MinAllocationSize;
};
typedef struct ImGui_ImplVulkan_RenderState ImGui_ImplVulkan_RenderState;
struct ImGui_ImplVulkan_RenderState
{
VkCommandBuffer CommandBuffer;
VkPipeline Pipeline;
VkPipelineLayout PipelineLayout;
};
struct ImGui_ImplVulkanH_Frame;
struct ImGui_ImplVulkanH_Window;
struct ImGui_ImplVulkanH_Frame
{
VkCommandPool CommandPool;
VkCommandBuffer CommandBuffer;
VkFence Fence;
VkImage Backbuffer;
VkImageView BackbufferView;
VkFramebuffer Framebuffer;
};
typedef struct ImGui_ImplVulkanH_FrameSemaphores ImGui_ImplVulkanH_FrameSemaphores;
struct ImGui_ImplVulkanH_FrameSemaphores
{
VkSemaphore ImageAcquiredSemaphore;
VkSemaphore RenderCompleteSemaphore;
};
typedef struct ImVector_ImGui_ImplVulkanH_Frame {int Size;int Capacity;ImGui_ImplVulkanH_Frame* Data;} ImVector_ImGui_ImplVulkanH_Frame;
typedef struct ImVector_ImGui_ImplVulkanH_FrameSemaphores {int Size;int Capacity;ImGui_ImplVulkanH_FrameSemaphores* Data;} ImVector_ImGui_ImplVulkanH_FrameSemaphores;
struct ImGui_ImplVulkanH_Window
{
int Width;
int Height;
VkSwapchainKHR Swapchain;
VkSurfaceKHR Surface;
VkSurfaceFormatKHR SurfaceFormat;
VkPresentModeKHR PresentMode;
VkRenderPass RenderPass;
bool UseDynamicRendering;
bool ClearEnable;
VkClearValue ClearValue;
uint32_t FrameIndex;
uint32_t ImageCount;
uint32_t SemaphoreCount;
uint32_t SemaphoreIndex;
ImVector_ImGui_ImplVulkanH_Frame Frames;
ImVector_ImGui_ImplVulkanH_FrameSemaphores FrameSemaphores;
};
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef ImVector<ImGui_ImplVulkanH_Frame> ImVector_ImGui_ImplVulkanH_Frame;
typedef ImVector<ImGui_ImplVulkanH_FrameSemaphores> ImVector_ImGui_ImplVulkanH_FrameSemaphores;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
CIMGUI_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info);
CIMGUI_API void ImGui_ImplVulkan_Shutdown(void);
CIMGUI_API void ImGui_ImplVulkan_NewFrame(void);
CIMGUI_API void ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data,VkCommandBuffer command_buffer,VkPipeline pipeline);
CIMGUI_API bool ImGui_ImplVulkan_CreateFontsTexture(void);
CIMGUI_API void ImGui_ImplVulkan_DestroyFontsTexture(void);
CIMGUI_API void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count);
CIMGUI_API VkDescriptorSet ImGui_ImplVulkan_AddTexture(VkSampler sampler,VkImageView image_view,VkImageLayout image_layout);
CIMGUI_API void ImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set);
CIMGUI_API bool ImGui_ImplVulkan_LoadFunctions(uint32_t api_version,PFN_vkVoidFunction(*loader_func)(const char* function_name,void* user_data),void* user_data);
CIMGUI_API void ImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance,VkPhysicalDevice physical_device,VkDevice device,ImGui_ImplVulkanH_Window* wd,uint32_t queue_family,const VkAllocationCallbacks* allocator,int w,int h,uint32_t min_image_count);
CIMGUI_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance,VkDevice device,ImGui_ImplVulkanH_Window* wd,const VkAllocationCallbacks* allocator);
CIMGUI_API VkSurfaceFormatKHR ImGui_ImplVulkanH_SelectSurfaceFormat(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkFormat* request_formats,int request_formats_count,VkColorSpaceKHR request_color_space);
CIMGUI_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkPresentModeKHR* request_modes,int request_modes_count);
CIMGUI_API VkPhysicalDevice ImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance);
CIMGUI_API uint32_t ImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device);
CIMGUI_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window(void);
#endif

View File

@@ -1,23 +0,0 @@
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"
#endif
#include "./imgui/imgui_internal.h"
#include "cimgui.h"
GENERATED_PLACEHOLDER
#include "cimgui_impl.h"
#ifdef CIMGUI_USE_VULKAN
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window()
{
return IM_NEW(ImGui_ImplVulkanH_Window)();
}
CIMGUI_API void ImGui_ImplVulkanH_Window_Construct(ImGui_ImplVulkanH_Window* self)
{
IM_PLACEMENT_NEW(self) ImGui_ImplVulkanH_Window();
}
#endif

View File

@@ -1,4 +1,12 @@
#ifdef IMGUI_ENABLE_FREETYPE
#ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
#endif
#endif
#include "./imgui/imgui.h" #include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE #ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h" #include "./imgui/misc/freetype/imgui_freetype.h"
@@ -12,7 +20,7 @@
/////////////////////////////manual written functions /////////////////////////////manual written functions
CIMGUI_API void igLogText(const char *fmt, ...) CIMGUI_API void igLogText(CONST char *fmt, ...)
{ {
char buffer[256]; char buffer[256];
va_list args; va_list args;
@@ -22,11 +30,11 @@ CIMGUI_API void igLogText(const char *fmt, ...)
ImGui::LogText("%s", buffer); ImGui::LogText("%s", buffer);
} }
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...) CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
self->appendfv(fmt, args); buffer->appendfv(fmt, args);
va_end(args); va_end(args);
} }
@@ -81,7 +89,7 @@ CimguiStorage& GetCimguiStorage()
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();
if (io.BackendLanguageUserData == NULL) if (io.BackendLanguageUserData == NULL)
{ {
io.BackendLanguageUserData = IM_NEW(CimguiStorage)(); io.BackendLanguageUserData = new CimguiStorage();
} }
return *(CimguiStorage*)io.BackendLanguageUserData; return *(CimguiStorage*)io.BackendLanguageUserData;

View File

@@ -47,9 +47,9 @@ typedef union SDL_Event SDL_Event;
/////////////////////////hand written functions /////////////////////////hand written functions
//no LogTextV //no LogTextV
CIMGUI_API void igLogText(const char *fmt, ...); CIMGUI_API void igLogText(CONST char *fmt, ...);
//no appendfV //no appendfV
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...); CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
//for getting FLT_MAX in bindings //for getting FLT_MAX in bindings
CIMGUI_API float igGET_FLT_MAX(void); CIMGUI_API float igGET_FLT_MAX(void);
//for getting FLT_MIN in bindings //for getting FLT_MIN in bindings
@@ -61,10 +61,6 @@ 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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -7,22 +7,17 @@ assert(bit,"Must use LuaJIT")
local script_args = {...} local script_args = {...}
local COMPILER = script_args[1] local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
local FREETYPE_GENERATION = true --script_args[2]:match("freetype") and true or false local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false
local CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or false
local NOCHAR = script_args[2]:match("nochar") and true or false local NOCHAR = script_args[2]:match("nochar") and true or false
local NOIMSTRV = script_args[2]:match("noimstrv") and true or false local NOIMSTRV = script_args[2]:match("noimstrv") and true or false
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui" local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
local CONFIG_GENERATOR_PATH = os.getenv"CONFIG_GENERATOR_PATH" or "./config_generator.lua"
local CFLAGS = "" local CFLAGS = ""
local CPRE,CTEST local CPRE,CTEST
--get implementations --get implementations
local implementations = {} local implementations = {}
for i=3,#script_args do for i=3,#script_args do
if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
if script_args[i]:match("IMGUI_USE_WCHAR32") then
script_args[i] = "" --dont use this define
end
local key, value = script_args[i]:match("^(.+)=(.+)$") local key, value = script_args[i]:match("^(.+)=(.+)$")
if key and value then if key and value then
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\""; CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
@@ -35,11 +30,11 @@ for i=3,#script_args do
end end
if FREETYPE_GENERATION then if FREETYPE_GENERATION then
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE" --both builders CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
end end
if COMPILER == "gcc" or COMPILER == "clang" or COMPILER == "zig cc" then if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version" CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
@@ -72,7 +67,6 @@ print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION) print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION) print("FREETYPE_GENERATION",FREETYPE_GENERATION)
print("COMMENTS_GENERATION",COMMENTS_GENERATION) print("COMMENTS_GENERATION",COMMENTS_GENERATION)
print("CONSTRUCTORS_GENERATION",CONSTRUCTORS_GENERATION)
print("CPRE",CPRE) print("CPRE",CPRE)
-------------------------------------------------------------------------- --------------------------------------------------------------------------
--this table has the functions to be skipped in generation --this table has the functions to be skipped in generation
@@ -92,10 +86,6 @@ local cimgui_skipped = {
--desired name --desired name
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
local cimgui_overloads = { local cimgui_overloads = {
-- igGetIO = {
-- ["()"] = "igGetIO",
-- ["(ImGuiContext*)"] = "igGetIOEx",
-- },
--igPushID = { --igPushID = {
--["(const char*)"] = "igPushIDStr", --["(const char*)"] = "igPushIDStr",
--["(const char*,const char*)"] = "igPushIDRange", --["(const char*,const char*)"] = "igPushIDRange",
@@ -129,18 +119,16 @@ local function func_header_impl_generate(FP)
local cimf = FP.defsT[t.cimguiname] local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature] local def = cimf[t.signature]
local addcoment = def.comment or "" local addcoment = def.comment or ""
local empty = def.args:match("^%(%)") --no args
if def.constructor then if def.constructor then
-- only vulkan is manually created -- it happens with vulkan impl but constructor ImGui_ImplVulkanH_Window is not needed
assert(def.ov_cimguiname=="ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window" or --assert(def.stname ~= "","constructor without struct")
def.ov_cimguiname=="ImGui_ImplVulkanH_Window_Construct", "not cpp for "..def.ov_cimguiname) --table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or --def.args)..";"..addcoment.."\n")
assert(def.stname ~= "","constructor without struct")
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
elseif def.destructor then elseif def.destructor then
--table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n") --table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
else else
if def.stname == "" then --ImGui namespace or top level if def.stname == "" then --ImGui namespace or top level
local empty = def.args:match("^%(%)") --no args
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..(empty and "(void)" or def.args)..";"..addcoment.."\n") table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..(empty and "(void)" or def.args)..";"..addcoment.."\n")
else else
cpp2ffi.prtable(def) cpp2ffi.prtable(def)
@@ -224,27 +212,6 @@ local function DefsByStruct(FP)
FP.defsBystruct = structs FP.defsBystruct = structs
end end
local function colapse_defines(str, define)
local num = 1
while num > 0 do
str,num = str:gsub("(#ifdef "..define..".+)".."(#endif\n+#ifdef "..define.."\n)", "%1")
end
return str
end
local wchardefine =
[[
#ifdef IMGUI_USE_WCHAR32
typedef ImWchar32 ImWchar;
#else
typedef ImWchar16 ImWchar;
#endif
#ifdef IMGUI_USE_WCHAR32
#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF
#else
#define IM_UNICODE_CODEPOINT_MAX 0xFFFF
#endif
]]
--generate cimgui.cpp cimgui.h --generate cimgui.cpp cimgui.h
local function cimgui_generation(parser) local function cimgui_generation(parser)
@@ -283,36 +250,24 @@ local function cimgui_generation(parser)
if gdefines.IMGUI_HAS_DOCK then if gdefines.IMGUI_HAS_DOCK then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n" cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
end end
if gdefines.ImDrawCallback_ResetRenderState then
cstructsstr = cstructsstr.."\n#define ImDrawCallback_ResetRenderState "..gdefines.ImDrawCallback_ResetRenderState.."\n"
end
if gdefines.IMGUI_HAS_IMSTR then if gdefines.IMGUI_HAS_IMSTR then
if not (NOCHAR or NOIMSTRV) then if not (NOCHAR or NOIMSTRV) then
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n" cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
end end
end end
cstructsstr = colapse_defines(cstructsstr, "IMGUI_ENABLE_FREETYPE")
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr) hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser) local cfuncsstr = func_header_generate(parser)
cfuncsstr = colapse_defines(cfuncsstr, "IMGUI_ENABLE_FREETYPE")
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr) hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
--patch hstrfile for ImWchar
local num
hstrfile, num = hstrfile:gsub("typedef ImWchar16 ImWchar;", wchardefine)
assert(num == 1)
hstrfile, num = hstrfile:gsub("kPagesMap%[%(0xFFFF", "kPagesMap[(IM_UNICODE_CODEPOINT_MAX")
assert(num == 1, "kPagesMap[(IM_UNICODE_CODEPOINT_MAX not found or found more than once")
save_data("./output/cimgui.h",cimgui_header,hstrfile) save_data("./output/cimgui.h",cimgui_header,hstrfile)
--merge it in cimgui_template.cpp to cimgui.cpp --merge it in cimgui_template.cpp to cimgui.cpp
local cimplem = func_implementation(parser) local cimplem = func_implementation(parser)
cimplem = colapse_defines(cimplem, "IMGUI_ENABLE_FREETYPE")
local hstrfile = read_data"./cimgui_template.cpp" local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem) hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
local ftdef = "" --FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or "" local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile) save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)
end end
@@ -321,8 +276,8 @@ end
-------------------------------------------------------- --------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK-------------------------- --get imgui.h version and IMGUI_HAS_DOCK--------------------------
--defines for the cl compiler must be present in the print_defines.cpp file --defines for the cl compiler must be present in the print_defines.cpp file
gdefines = get_defines{"IMGUI_VERSION","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR","ImDrawCallback_ResetRenderState","IMGUI_HAS_TEXTURES"} gdefines = get_defines{"IMGUI_VERSION","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
cpp2ffi.prtable(gdefines)
if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
@@ -342,26 +297,11 @@ if gdefines.IMGUI_HAS_DOCK then
end end
assert(not NOCHAR or not NOIMSTRV,"nochar and noimstrv cant be set at the same time") assert(not NOCHAR or not NOIMSTRV,"nochar and noimstrv cant be set at the same time")
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR) print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("IMGUI_HAS_TEXTURES",gdefines.IMGUI_HAS_TEXTURES and true)
print("NOCHAR",NOCHAR) print("NOCHAR",NOCHAR)
print("NOIMSTRV",NOIMSTRV) print("NOIMSTRV",NOIMSTRV)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK) print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",gdefines.IMGUI_VERSION) print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
local function custom_function_post(self, outtab, def)
assert(def.location)
if def.location:match("imgui_freetype") then
outtab[#outtab] = "#ifdef IMGUI_ENABLE_FREETYPE\n"..outtab[#outtab].."\n#endif\n"
end
end
local function header_text_insert(self, outtab, txt, it)
assert(it.locat)
if it.locat:match("imgui_freetype") then
table.insert(outtab, "\n#ifdef IMGUI_ENABLE_FREETYPE"..txt.."\n#endif")
else
table.insert(outtab, txt)
end
end
--funtion for parsing imgui headers --funtion for parsing imgui headers
local function parseImGuiHeader(header,names) local function parseImGuiHeader(header,names)
@@ -373,18 +313,13 @@ local function parseImGuiHeader(header,names)
return pre..funcname return pre..funcname
end end
parser.cname_overloads = cimgui_overloads parser.cname_overloads = cimgui_overloads
--parser.manuals = cimgui_manuals parser.manuals = cimgui_manuals
parser:set_manuals(cimgui_manuals, "cimgui")
parser.skipped = cimgui_skipped parser.skipped = cimgui_skipped
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"} parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto --parser.gen_template_typedef = gen_template_typedef --use auto
parser.COMMENTS_GENERATION = COMMENTS_GENERATION parser.COMMENTS_GENERATION = COMMENTS_GENERATION
parser.CONSTRUCTORS_GENERATION = CONSTRUCTORS_GENERATION
parser.NOCHAR = NOCHAR parser.NOCHAR = NOCHAR
parser.NOIMSTRV = NOIMSTRV parser.NOIMSTRV = NOIMSTRV
parser.IMGUI_HAS_TEXTURES = gdefines.IMGUI_HAS_TEXTURES
parser.custom_function_post = custom_function_post
parser.header_text_insert = header_text_insert
local defines = parser:take_lines(CPRE..header,names,COMPILER) local defines = parser:take_lines(CPRE..header,names,COMPILER)
return parser return parser
@@ -414,8 +349,6 @@ local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
os.remove("headers.h") os.remove("headers.h")
parser1:do_parse() parser1:do_parse()
--to debug items parsing
--save_data("./itemsarr2.txt",cpp2ffi.ToStr(parser1.itemsarr))
save_data("./output/overloads.txt",parser1.overloadstxt) save_data("./output/overloads.txt",parser1.overloadstxt)
cimgui_generation(parser1) cimgui_generation(parser1)
@@ -455,18 +388,11 @@ local parser2
if #implementations > 0 then if #implementations > 0 then
print("------------------implementations generation with "..COMPILER.."------------------------") print("------------------implementations generation with "..COMPILER.."------------------------")
--parser2 for function defs
--parser3 for separated structs and enums in cimgui_impl.h
parser2 = cpp2ffi.Parser() parser2 = cpp2ffi.Parser()
local config = dofile(CONFIG_GENERATOR_PATH) --"./config_generator.lua" local config = require"config_generator"
local impl_str = "" local impl_str = ""
local impl_str_cpp = {}
for i,impl in ipairs(implementations) do for i,impl in ipairs(implementations) do
table.insert(impl_str_cpp, "\n#ifdef CIMGUI_USE_" .. string.upper(impl))
table.insert(impl_str_cpp, [[#include "imgui_impl_]]..impl..[[.h"]])
table.insert(impl_str_cpp, "#endif")
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h " local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
local locati = [[imgui_impl_]].. impl local locati = [[imgui_impl_]].. impl
@@ -480,38 +406,27 @@ if #implementations > 0 then
extra_includes = extra_includes .. include_cmd .. inc .. " " extra_includes = extra_includes .. include_cmd .. inc .. " "
end end
end end
parser2.cimgui_inherited = dofile([[../../cimgui/generator/output/structs_and_enums.lua]])
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER) local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
local parser3 = cpp2ffi.Parser() local parser3 = cpp2ffi.Parser()
parser3.cimgui_inherited = dofile([[../../cimgui/generator/output/structs_and_enums.lua]])
parser3:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER) parser3:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
parser3:do_parse() parser3:do_parse()
local cfuncsstr = func_header_impl_generate(parser3) local cfuncsstr = func_header_impl_generate(parser3)
local cstructstr1,cstructstr2 = parser3.structs_and_enums[1], parser3.structs_and_enums[2] local cstructstr1,cstructstr2 = parser3.structs_and_enums[1], parser3.structs_and_enums[2]
local cstru = cstructstr1 .. cstructstr2 impl_str = impl_str .. "#ifdef CIMGUI_USE_".. string.upper(impl).."\n" .. cstructstr1 .. cstructstr2 .. cfuncsstr .. "\n#endif\n"
if cstru ~="" then
cstru = "#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n"..cstru .."\n#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n"
end
impl_str = impl_str .. "#ifdef CIMGUI_USE_".. string.upper(impl).."\n".. cstru
local outtab = cpp2ffi.func_header_generate_structs(parser3)
if #outtab > 0 then
table.insert(outtab, 1, "#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
end
impl_str = impl_str.. table.concat(outtab)..cfuncsstr .. "\n#endif\n"
end end
parser2:do_parse() parser2:do_parse()
-- save ./cimgui_impl.h
--local cfuncsstr = func_header_impl_generate(parser2)
--local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
--save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
save_data("./output/cimgui_impl.h",impl_str) save_data("./output/cimgui_impl.h",impl_str)
----------save fundefs in impl_definitions.lua for using in bindings ----------save fundefs in impl_definitions.lua for using in bindings
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT)) save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
--impl cpp
impl_str_cpp = table.concat(impl_str_cpp, "\n")
local cppstr = read_data"./cimgui_impl_template.cpp"
cppstr = cppstr:gsub("GENERATED_PLACEHOLDER", impl_str_cpp)
save_data("./output/cimgui_impl.cpp",cppstr)
end -- #implementations > 0 then end -- #implementations > 0 then
@@ -532,9 +447,9 @@ end
local json = require"json" local json = require"json"
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}})) save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
--delete extra info for json --delete extra info for json
--structs_and_enums_table.templated_structs = nil structs_and_enums_table.templated_structs = nil
--structs_and_enums_table.typenames = nil structs_and_enums_table.typenames = nil
--structs_and_enums_table.templates_done = nil structs_and_enums_table.templates_done = nil
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table)) save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict)) save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
if parser2 then if parser2 then
@@ -543,11 +458,7 @@ end
--]] --]]
-------------------copy C files to repo root -------------------copy C files to repo root
copyfile("./output/cimgui.h", "../cimgui.h") copyfile("./output/cimgui.h", "../cimgui.h")
copyfile("./output/cimgui_impl.h", "../cimgui_impl.h")
copyfile("./output/cimgui_impl.cpp", "../cimgui_impl.cpp")
copyfile("./output/cimgui.cpp", "../cimgui.cpp") copyfile("./output/cimgui.cpp", "../cimgui.cpp")
os.remove("./output/cimgui.h") os.remove("./output/cimgui.h")
os.remove("./output/cimgui_impl.h")
os.remove("./output/cimgui_impl.cpp")
os.remove("./output/cimgui.cpp") os.remove("./output/cimgui.cpp")
print"all done!!" print"all done!!"

View File

@@ -13,11 +13,9 @@
#process files #process files
# arg[1] compiler name gcc, clang, or cl # arg[1] compiler name gcc, clang, or cl
# arg[2] options as words in one string: internal for imgui_internal generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv # arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
# "constructors" adds the _Construct version of constructors # examples: "" "internal" "internal freetype" "comments internal"
# examples: "" "internal" "comments internal" # arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG)
# -DIMGUI_USE_WCHAR32 should not be used as it is generated for both ImWchar
# #
# parse command line arguments # parse command line arguments
@@ -25,7 +23,7 @@
POSITIONAL_ARGS=() POSITIONAL_ARGS=()
TARGETS="internal noimstrv" TARGETS="internal noimstrv"
CFLAGS="glfw opengl3 opengl2 sdl2 sdl3 vulkan" CFLAGS="glfw opengl3 opengl2 sdl2"
help() { help() {
cat <<EOF cat <<EOF
@@ -68,10 +66,10 @@ done
set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters
# if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; if [[ "$OSTYPE" == "cygwin" || "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]];
# then then
# suffix='.exe' suffix='.exe'
# fi fi
echo "CFLAGS: " $CFLAGS echo "CFLAGS: " $CFLAGS
echo "TARGETS: " $TARGETS echo "TARGETS: " $TARGETS

View File

@@ -0,0 +1,61 @@
#ifdef CIMGUI_USE_GLFW
typedef struct GLFWwindow GLFWwindow;
typedef struct GLFWmonitor GLFWmonitor;
struct GLFWwindow;
struct GLFWmonitor;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
CIMGUI_API void ImGui_ImplGlfw_NewFrame(void);
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
CIMGUI_API void ImGui_ImplGlfw_SetCallbacksChainForAllWindows(bool chain_for_all_windows);
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
#endif
#ifdef CIMGUI_USE_OPENGL3
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
CIMGUI_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture(void);
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
#endif
#ifdef CIMGUI_USE_OPENGL2
CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
CIMGUI_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture(void);
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
#endif
#ifdef CIMGUI_USE_SDL2
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
struct SDL_Window;
struct SDL_Renderer;
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API void ImGui_ImplSDL2_Shutdown(void);
CIMGUI_API void ImGui_ImplSDL2_NewFrame(void);
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ ImColor_ImColor 5
5 nil ImColor_ImColor_U32 (ImU32) 5 nil ImColor_ImColor_U32 (ImU32)
ImDrawList_AddText 2 ImDrawList_AddText 2
1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*) 1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddText_FontPtr (ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*) 2 void ImDrawList_AddText_FontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2 ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*) 1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int) 2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
@@ -94,8 +94,8 @@ ImVector_resize 2
1 void ImVector_resize_Nil (int) 1 void ImVector_resize_Nil (int)
2 void ImVector_resize_T (int,const T) 2 void ImVector_resize_T (int,const T)
igBeginChild 2 igBeginChild 2
1 bool igBeginChild_Str (const char*,const ImVec2,ImGuiChildFlags,ImGuiWindowFlags) 1 bool igBeginChild_Str (const char*,const ImVec2,bool,ImGuiWindowFlags)
2 bool igBeginChild_ID (ImGuiID,const ImVec2,ImGuiChildFlags,ImGuiWindowFlags) 2 bool igBeginChild_ID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
igCheckboxFlags 4 igCheckboxFlags 4
1 bool igCheckboxFlags_IntPtr (const char*,int*,int) 1 bool igCheckboxFlags_IntPtr (const char*,int*,int)
2 bool igCheckboxFlags_UintPtr (const char*,unsigned int*,unsigned int) 2 bool igCheckboxFlags_UintPtr (const char*,unsigned int*,unsigned int)
@@ -107,31 +107,28 @@ igCollapsingHeader 2
igCombo 3 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_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),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)
igGetForegroundDrawList 2 igGetForegroundDrawList 3
1 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*) 1 ImDrawList* igGetForegroundDrawList_Nil ()
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*) 2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
igGetID 4 3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
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*)
3 ImGuiID igGetID_Ptr (const void*) 3 ImGuiID igGetID_Ptr (const void*)
4 ImGuiID igGetID_Int (int)
igGetIDWithSeed 2 igGetIDWithSeed 2
1 ImGuiID igGetIDWithSeed_Str (const char*,const char*,ImGuiID) 1 ImGuiID igGetIDWithSeed_Str (const char*,const char*,ImGuiID)
2 ImGuiID igGetIDWithSeed_Int (int,ImGuiID) 2 ImGuiID igGetIDWithSeed_Int (int,ImGuiID)
igGetIO 2
1 ImGuiIO* igGetIO_Nil ()
2 ImGuiIO* igGetIO_ContextPtr (ImGuiContext*)
igGetKeyData 2 igGetKeyData 2
1 ImGuiKeyData* igGetKeyData_ContextPtr (ImGuiContext*,ImGuiKey) 1 ImGuiKeyData* igGetKeyData_ContextPtr (ImGuiContext*,ImGuiKey)
2 ImGuiKeyData* igGetKeyData_Key (ImGuiKey) 2 ImGuiKeyData* igGetKeyData_Key (ImGuiKey)
igGetPlatformIO 2
1 ImGuiPlatformIO* igGetPlatformIO_Nil ()
2 ImGuiPlatformIO* igGetPlatformIO_ContextPtr (ImGuiContext*)
igImAbs 3 igImAbs 3
1 int igImAbs_Int (int) 1 int igImAbs_Int (int)
2 float igImAbs_Float (float) 2 float igImAbs_Float (float)
@@ -139,6 +136,9 @@ igImAbs 3
igImFloor 2 igImFloor 2
1 float igImFloor_Float (float) 1 float igImFloor_Float (float)
2 ImVec2 igImFloor_Vec2 (const ImVec2) 2 ImVec2 igImFloor_Vec2 (const ImVec2)
igImFloorSigned 2
1 float igImFloorSigned_Float (float)
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
igImIsPowerOfTwo 2 igImIsPowerOfTwo 2
1 bool igImIsPowerOfTwo_Int (int) 1 bool igImIsPowerOfTwo_Int (int)
2 bool igImIsPowerOfTwo_U64 (ImU64) 2 bool igImIsPowerOfTwo_U64 (ImU64)
@@ -161,27 +161,18 @@ igImRsqrt 2
igImSign 2 igImSign 2
1 float igImSign_Float (float) 1 float igImSign_Float (float)
2 double igImSign_double (double) 2 double igImSign_double (double)
igImTrunc 2
1 float igImTrunc_Float (float)
2 ImVec2 igImTrunc_Vec2 (const ImVec2)
igIsKeyChordPressed 2
1 bool igIsKeyChordPressed_Nil (ImGuiKeyChord)
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_InputFlags (ImGuiKey,ImGuiInputFlags,ImGuiID) 2 bool igIsKeyPressed_ID (ImGuiKey,ImGuiID,ImGuiInputFlags)
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_InputFlags (ImGuiMouseButton,ImGuiInputFlags,ImGuiID) 2 bool igIsMouseClicked_ID (ImGuiMouseButton,ImGuiID,ImGuiInputFlags)
igIsMouseDoubleClicked 2
1 bool igIsMouseDoubleClicked_Nil (ImGuiMouseButton)
2 bool igIsMouseDoubleClicked_ID (ImGuiMouseButton,ImGuiID)
igIsMouseDown 2 igIsMouseDown 2
1 bool igIsMouseDown_Nil (ImGuiMouseButton) 1 bool igIsMouseDown_Nil (ImGuiMouseButton)
2 bool igIsMouseDown_ID (ImGuiMouseButton,ImGuiID) 2 bool igIsMouseDown_ID (ImGuiMouseButton,ImGuiID)
@@ -199,7 +190,7 @@ igItemSize 2
2 void igItemSize_Rect (const ImRect,float) 2 void igItemSize_Rect (const ImRect,float)
igListBox 2 igListBox 2
1 bool igListBox_Str_arr (const char*,int*,const char* const[],int,int) 1 bool igListBox_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igListBox_FnStrPtr (const char*,int*,const char*(*)(void*,int),void*,int,int) 2 bool igListBox_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
igMarkIniSettingsDirty 2 igMarkIniSettingsDirty 2
1 void igMarkIniSettingsDirty_Nil () 1 void igMarkIniSettingsDirty_Nil ()
2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*) 2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*)
@@ -232,9 +223,6 @@ igRadioButton 2
igSelectable 2 igSelectable 2
1 bool igSelectable_Bool (const char*,bool,ImGuiSelectableFlags,const ImVec2) 1 bool igSelectable_Bool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
2 bool igSelectable_BoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2) 2 bool igSelectable_BoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
igSetItemKeyOwner 2
1 void igSetItemKeyOwner_Nil (ImGuiKey)
2 void igSetItemKeyOwner_InputFlags (ImGuiKey,ImGuiInputFlags)
igSetScrollFromPosX 2 igSetScrollFromPosX 2
1 void igSetScrollFromPosX_Float (float,float) 1 void igSetScrollFromPosX_Float (float,float)
2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float) 2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float)
@@ -262,12 +250,6 @@ 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)
igTabBarQueueFocus 2
1 void igTabBarQueueFocus_TabItemPtr (ImGuiTabBar*,ImGuiTabItem*)
2 void igTabBarQueueFocus_Str (ImGuiTabBar*,const char*)
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*)
@@ -299,4 +281,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*)
209 overloaded 197 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
{ {
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>", "ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitArrayPtr": "ImU32*", "ImBitArrayPtr": "ImU32*",
"ImBitVector": "struct ImBitVector", "ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor", "ImColor": "struct ImColor",
"ImDrawCallback": "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);", "ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
"ImDrawChannel": "struct ImDrawChannel", "ImDrawChannel": "struct ImDrawChannel",
"ImDrawCmd": "struct ImDrawCmd", "ImDrawCmd": "struct ImDrawCmd",
"ImDrawCmdHeader": "struct ImDrawCmdHeader", "ImDrawCmdHeader": "struct ImDrawCmdHeader",
@@ -27,9 +27,7 @@
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder", "ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiActivateFlags": "int", "ImGuiActivateFlags": "int",
"ImGuiBackendFlags": "int", "ImGuiBackendFlags": "int",
"ImGuiBoxSelectState": "struct ImGuiBoxSelectState",
"ImGuiButtonFlags": "int", "ImGuiButtonFlags": "int",
"ImGuiChildFlags": "int",
"ImGuiCol": "int", "ImGuiCol": "int",
"ImGuiColorEditFlags": "int", "ImGuiColorEditFlags": "int",
"ImGuiColorMod": "struct ImGuiColorMod", "ImGuiColorMod": "struct ImGuiColorMod",
@@ -39,41 +37,29 @@
"ImGuiConfigFlags": "int", "ImGuiConfigFlags": "int",
"ImGuiContext": "struct ImGuiContext", "ImGuiContext": "struct ImGuiContext",
"ImGuiContextHook": "struct ImGuiContextHook", "ImGuiContextHook": "struct ImGuiContextHook",
"ImGuiContextHookCallback": "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);", "ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
"ImGuiDataAuthority": "int",
"ImGuiDataType": "int", "ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo", "ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage", "ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
"ImGuiDeactivatedItemData": "struct ImGuiDeactivatedItemData", "ImGuiDataVarInfo": "struct ImGuiDataVarInfo",
"ImGuiDebugAllocEntry": "struct ImGuiDebugAllocEntry",
"ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo",
"ImGuiDebugLogFlags": "int", "ImGuiDebugLogFlags": "int",
"ImGuiDockContext": "struct ImGuiDockContext", "ImGuiDir": "int",
"ImGuiDockNode": "struct ImGuiDockNode",
"ImGuiDockNodeFlags": "int",
"ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings",
"ImGuiDockRequest": "struct ImGuiDockRequest",
"ImGuiDragDropFlags": "int", "ImGuiDragDropFlags": "int",
"ImGuiErrorCallback": "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);", "ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
"ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState",
"ImGuiFocusRequestFlags": "int",
"ImGuiFocusScopeData": "struct ImGuiFocusScopeData",
"ImGuiFocusedFlags": "int", "ImGuiFocusedFlags": "int",
"ImGuiGroupData": "struct ImGuiGroupData", "ImGuiGroupData": "struct ImGuiGroupData",
"ImGuiHoveredFlags": "int", "ImGuiHoveredFlags": "int",
"ImGuiID": "unsigned int", "ImGuiID": "unsigned int",
"ImGuiIDStackTool": "struct ImGuiIDStackTool",
"ImGuiIO": "struct ImGuiIO", "ImGuiIO": "struct ImGuiIO",
"ImGuiInputEvent": "struct ImGuiInputEvent", "ImGuiInputEvent": "struct ImGuiInputEvent",
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused", "ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
"ImGuiInputEventKey": "struct ImGuiInputEventKey", "ImGuiInputEventKey": "struct ImGuiInputEventKey",
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton", "ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos", "ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
"ImGuiInputEventMouseViewport": "struct ImGuiInputEventMouseViewport",
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel", "ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText", "ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputFlags": "int", "ImGuiInputFlags": "int",
"ImGuiInputTextCallback": "int (*)(ImGuiInputTextCallbackData* data);", "ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData", "ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData", "ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData",
"ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState", "ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState",
@@ -93,20 +79,15 @@
"ImGuiListClipperData": "struct ImGuiListClipperData", "ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange", "ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiLocEntry": "struct ImGuiLocEntry", "ImGuiLocEntry": "struct ImGuiLocEntry",
"ImGuiLogFlags": "int", "ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemAllocFunc": "void* (*)(size_t sz, void* user_data);", "ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMemFreeFunc": "void (*)(void* ptr, void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns", "ImGuiMenuColumns": "struct ImGuiMenuColumns",
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig", "ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
"ImGuiMouseButton": "int", "ImGuiMouseButton": "int",
"ImGuiMouseCursor": "int", "ImGuiMouseCursor": "int",
"ImGuiMultiSelectFlags": "int", "ImGuiNavHighlightFlags": "int",
"ImGuiMultiSelectIO": "struct ImGuiMultiSelectIO",
"ImGuiMultiSelectState": "struct ImGuiMultiSelectState",
"ImGuiMultiSelectTempData": "struct ImGuiMultiSelectTempData",
"ImGuiNavItemData": "struct ImGuiNavItemData", "ImGuiNavItemData": "struct ImGuiNavItemData",
"ImGuiNavMoveFlags": "int", "ImGuiNavMoveFlags": "int",
"ImGuiNavRenderCursorFlags": "int",
"ImGuiNextItemData": "struct ImGuiNextItemData", "ImGuiNextItemData": "struct ImGuiNextItemData",
"ImGuiNextItemDataFlags": "int", "ImGuiNextItemDataFlags": "int",
"ImGuiNextWindowData": "struct ImGuiNextWindowData", "ImGuiNextWindowData": "struct ImGuiNextWindowData",
@@ -116,31 +97,27 @@
"ImGuiOldColumns": "struct ImGuiOldColumns", "ImGuiOldColumns": "struct ImGuiOldColumns",
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame", "ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
"ImGuiPayload": "struct ImGuiPayload", "ImGuiPayload": "struct ImGuiPayload",
"ImGuiPlatformIO": "struct ImGuiPlatformIO",
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData", "ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
"ImGuiPlatformMonitor": "struct ImGuiPlatformMonitor",
"ImGuiPopupData": "struct ImGuiPopupData", "ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int", "ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex", "ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
"ImGuiScrollFlags": "int", "ImGuiScrollFlags": "int",
"ImGuiSelectableFlags": "int", "ImGuiSelectableFlags": "int",
"ImGuiSelectionBasicStorage": "struct ImGuiSelectionBasicStorage",
"ImGuiSelectionExternalStorage": "struct ImGuiSelectionExternalStorage",
"ImGuiSelectionRequest": "struct ImGuiSelectionRequest",
"ImGuiSelectionUserData": "ImS64",
"ImGuiSeparatorFlags": "int", "ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler", "ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
"ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem", "ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem",
"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",
"ImGuiStackTool": "struct ImGuiStackTool",
"ImGuiStorage": "struct ImGuiStorage", "ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair", "ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle", "ImGuiStyle": "struct ImGuiStyle",
"ImGuiStyleMod": "struct ImGuiStyleMod", "ImGuiStyleMod": "struct ImGuiStyleMod",
"ImGuiStyleVar": "int", "ImGuiStyleVar": "int",
"ImGuiStyleVarInfo": "struct ImGuiStyleVarInfo",
"ImGuiTabBar": "struct ImGuiTabBar", "ImGuiTabBar": "struct ImGuiTabBar",
"ImGuiTabBarFlags": "int", "ImGuiTabBarFlags": "int",
"ImGuiTabItem": "struct ImGuiTabItem", "ImGuiTabItem": "struct ImGuiTabItem",
@@ -156,7 +133,6 @@
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings", "ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
"ImGuiTableDrawChannelIdx": "ImU16", "ImGuiTableDrawChannelIdx": "ImU16",
"ImGuiTableFlags": "int", "ImGuiTableFlags": "int",
"ImGuiTableHeaderData": "struct ImGuiTableHeaderData",
"ImGuiTableInstanceData": "struct ImGuiTableInstanceData", "ImGuiTableInstanceData": "struct ImGuiTableInstanceData",
"ImGuiTableRowFlags": "int", "ImGuiTableRowFlags": "int",
"ImGuiTableSettings": "struct ImGuiTableSettings", "ImGuiTableSettings": "struct ImGuiTableSettings",
@@ -169,18 +145,11 @@
"ImGuiTextRange": "struct ImGuiTextRange", "ImGuiTextRange": "struct ImGuiTextRange",
"ImGuiTooltipFlags": "int", "ImGuiTooltipFlags": "int",
"ImGuiTreeNodeFlags": "int", "ImGuiTreeNodeFlags": "int",
"ImGuiTreeNodeStackData": "struct ImGuiTreeNodeStackData",
"ImGuiTypingSelectFlags": "int",
"ImGuiTypingSelectRequest": "struct ImGuiTypingSelectRequest",
"ImGuiTypingSelectState": "struct ImGuiTypingSelectState",
"ImGuiViewport": "struct ImGuiViewport", "ImGuiViewport": "struct ImGuiViewport",
"ImGuiViewportFlags": "int", "ImGuiViewportFlags": "int",
"ImGuiViewportP": "struct ImGuiViewportP", "ImGuiViewportP": "struct ImGuiViewportP",
"ImGuiWindow": "struct ImGuiWindow", "ImGuiWindow": "struct ImGuiWindow",
"ImGuiWindowClass": "struct ImGuiWindowClass",
"ImGuiWindowDockStyle": "struct ImGuiWindowDockStyle",
"ImGuiWindowFlags": "int", "ImGuiWindowFlags": "int",
"ImGuiWindowRefreshFlags": "int",
"ImGuiWindowSettings": "struct ImGuiWindowSettings", "ImGuiWindowSettings": "struct ImGuiWindowSettings",
"ImGuiWindowStackData": "struct ImGuiWindowStackData", "ImGuiWindowStackData": "struct ImGuiWindowStackData",
"ImGuiWindowTempData": "struct ImGuiWindowTempData", "ImGuiWindowTempData": "struct ImGuiWindowTempData",
@@ -190,8 +159,7 @@
"ImS32": "signed int", "ImS32": "signed int",
"ImS64": "signed long long", "ImS64": "signed long long",
"ImS8": "signed char", "ImS8": "signed char",
"ImStbTexteditState": "ImStb::STB_TexteditState", "ImTextureID": "void*",
"ImTextureID": "ImU64",
"ImU16": "unsigned short", "ImU16": "unsigned short",
"ImU32": "unsigned int", "ImU32": "unsigned int",
"ImU64": "unsigned long long", "ImU64": "unsigned long long",
@@ -203,5 +171,11 @@
"ImWchar": "ImWchar16", "ImWchar": "ImWchar16",
"ImWchar16": "unsigned short", "ImWchar16": "unsigned short",
"ImWchar32": "unsigned int", "ImWchar32": "unsigned int",
"STB_TexteditState": "struct STB_TexteditState" "STB_TexteditState": "struct STB_TexteditState",
"StbTexteditRow": "struct StbTexteditRow",
"StbUndoRecord": "struct StbUndoRecord",
"StbUndoState": "struct StbUndoState",
"const_iterator": "const value_type*",
"iterator": "value_type*",
"value_type": "T"
} }

View File

@@ -1,207 +1,182 @@
local t={ local defs = {}
ImBitArrayForNamedKeys="ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>", defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
ImBitArrayPtr="ImU32*", defs["ImBitArrayPtr"] = "ImU32*"
ImBitVector="struct ImBitVector", defs["ImBitVector"] = "struct ImBitVector"
ImColor="struct ImColor", defs["ImColor"] = "struct ImColor"
ImDrawCallback="void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);", defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
ImDrawChannel="struct ImDrawChannel", defs["ImDrawChannel"] = "struct ImDrawChannel"
ImDrawCmd="struct ImDrawCmd", defs["ImDrawCmd"] = "struct ImDrawCmd"
ImDrawCmdHeader="struct ImDrawCmdHeader", defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
ImDrawData="struct ImDrawData", defs["ImDrawData"] = "struct ImDrawData"
ImDrawDataBuilder="struct ImDrawDataBuilder", defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
ImDrawFlags="int", defs["ImDrawFlags"] = "int"
ImDrawIdx="unsigned short", defs["ImDrawIdx"] = "unsigned short"
ImDrawList="struct ImDrawList", defs["ImDrawList"] = "struct ImDrawList"
ImDrawListFlags="int", defs["ImDrawListFlags"] = "int"
ImDrawListSharedData="struct ImDrawListSharedData", defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
ImDrawListSplitter="struct ImDrawListSplitter", defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
ImDrawVert="struct ImDrawVert", defs["ImDrawVert"] = "struct ImDrawVert"
ImFileHandle="FILE*", defs["ImFileHandle"] = "FILE*"
ImFont="struct ImFont", defs["ImFont"] = "struct ImFont"
ImFontAtlas="struct ImFontAtlas", defs["ImFontAtlas"] = "struct ImFontAtlas"
ImFontAtlasCustomRect="struct ImFontAtlasCustomRect", defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
ImFontAtlasFlags="int", defs["ImFontAtlasFlags"] = "int"
ImFontBuilderIO="struct ImFontBuilderIO", defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
ImFontConfig="struct ImFontConfig", defs["ImFontConfig"] = "struct ImFontConfig"
ImFontGlyph="struct ImFontGlyph", defs["ImFontGlyph"] = "struct ImFontGlyph"
ImFontGlyphRangesBuilder="struct ImFontGlyphRangesBuilder", defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
ImGuiActivateFlags="int", defs["ImGuiActivateFlags"] = "int"
ImGuiBackendFlags="int", defs["ImGuiBackendFlags"] = "int"
ImGuiBoxSelectState="struct ImGuiBoxSelectState", defs["ImGuiButtonFlags"] = "int"
ImGuiButtonFlags="int", defs["ImGuiCol"] = "int"
ImGuiChildFlags="int", defs["ImGuiColorEditFlags"] = "int"
ImGuiCol="int", defs["ImGuiColorMod"] = "struct ImGuiColorMod"
ImGuiColorEditFlags="int", defs["ImGuiComboFlags"] = "int"
ImGuiColorMod="struct ImGuiColorMod", defs["ImGuiComboPreviewData"] = "struct ImGuiComboPreviewData"
ImGuiComboFlags="int", defs["ImGuiCond"] = "int"
ImGuiComboPreviewData="struct ImGuiComboPreviewData", defs["ImGuiConfigFlags"] = "int"
ImGuiCond="int", defs["ImGuiContext"] = "struct ImGuiContext"
ImGuiConfigFlags="int", defs["ImGuiContextHook"] = "struct ImGuiContextHook"
ImGuiContext="struct ImGuiContext", defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
ImGuiContextHook="struct ImGuiContextHook", defs["ImGuiDataType"] = "int"
ImGuiContextHookCallback="void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);", defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
ImGuiDataAuthority="int", defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
ImGuiDataType="int", defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo"
ImGuiDataTypeInfo="struct ImGuiDataTypeInfo", defs["ImGuiDebugLogFlags"] = "int"
ImGuiDataTypeStorage="struct ImGuiDataTypeStorage", defs["ImGuiDir"] = "int"
ImGuiDeactivatedItemData="struct ImGuiDeactivatedItemData", defs["ImGuiDragDropFlags"] = "int"
ImGuiDebugAllocEntry="struct ImGuiDebugAllocEntry", defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
ImGuiDebugAllocInfo="struct ImGuiDebugAllocInfo", defs["ImGuiFocusedFlags"] = "int"
ImGuiDebugLogFlags="int", defs["ImGuiGroupData"] = "struct ImGuiGroupData"
ImGuiDockContext="struct ImGuiDockContext", defs["ImGuiHoveredFlags"] = "int"
ImGuiDockNode="struct ImGuiDockNode", defs["ImGuiID"] = "unsigned int"
ImGuiDockNodeFlags="int", defs["ImGuiIO"] = "struct ImGuiIO"
ImGuiDockNodeSettings="struct ImGuiDockNodeSettings", defs["ImGuiInputEvent"] = "struct ImGuiInputEvent"
ImGuiDockRequest="struct ImGuiDockRequest", defs["ImGuiInputEventAppFocused"] = "struct ImGuiInputEventAppFocused"
ImGuiDragDropFlags="int", defs["ImGuiInputEventKey"] = "struct ImGuiInputEventKey"
ImGuiErrorCallback="void (*)(ImGuiContext* ctx, void* user_data, const char* msg);", defs["ImGuiInputEventMouseButton"] = "struct ImGuiInputEventMouseButton"
ImGuiErrorRecoveryState="struct ImGuiErrorRecoveryState", defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
ImGuiFocusRequestFlags="int", defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
ImGuiFocusScopeData="struct ImGuiFocusScopeData", defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
ImGuiFocusedFlags="int", defs["ImGuiInputFlags"] = "int"
ImGuiGroupData="struct ImGuiGroupData", defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
ImGuiHoveredFlags="int", defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
ImGuiID="unsigned int", defs["ImGuiInputTextDeactivateData"] = "struct ImGuiInputTextDeactivateData"
ImGuiIDStackTool="struct ImGuiIDStackTool", defs["ImGuiInputTextDeactivatedState"] = "struct ImGuiInputTextDeactivatedState"
ImGuiIO="struct ImGuiIO", defs["ImGuiInputTextFlags"] = "int"
ImGuiInputEvent="struct ImGuiInputEvent", defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
ImGuiInputEventAppFocused="struct ImGuiInputEventAppFocused", defs["ImGuiItemFlags"] = "int"
ImGuiInputEventKey="struct ImGuiInputEventKey", defs["ImGuiItemStatusFlags"] = "int"
ImGuiInputEventMouseButton="struct ImGuiInputEventMouseButton", defs["ImGuiKeyChord"] = "int"
ImGuiInputEventMousePos="struct ImGuiInputEventMousePos", defs["ImGuiKeyData"] = "struct ImGuiKeyData"
ImGuiInputEventMouseViewport="struct ImGuiInputEventMouseViewport", defs["ImGuiKeyOwnerData"] = "struct ImGuiKeyOwnerData"
ImGuiInputEventMouseWheel="struct ImGuiInputEventMouseWheel", defs["ImGuiKeyRoutingData"] = "struct ImGuiKeyRoutingData"
ImGuiInputEventText="struct ImGuiInputEventText", defs["ImGuiKeyRoutingIndex"] = "ImS16"
ImGuiInputFlags="int", defs["ImGuiKeyRoutingTable"] = "struct ImGuiKeyRoutingTable"
ImGuiInputTextCallback="int (*)(ImGuiInputTextCallbackData* data);", defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
ImGuiInputTextCallbackData="struct ImGuiInputTextCallbackData", defs["ImGuiLayoutType"] = "int"
ImGuiInputTextDeactivateData="struct ImGuiInputTextDeactivateData", defs["ImGuiListClipper"] = "struct ImGuiListClipper"
ImGuiInputTextDeactivatedState="struct ImGuiInputTextDeactivatedState", defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
ImGuiInputTextFlags="int", defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
ImGuiInputTextState="struct ImGuiInputTextState", defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
ImGuiItemFlags="int", defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
ImGuiItemStatusFlags="int", defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
ImGuiKeyChord="int", defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
ImGuiKeyData="struct ImGuiKeyData", defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
ImGuiKeyOwnerData="struct ImGuiKeyOwnerData", defs["ImGuiMouseButton"] = "int"
ImGuiKeyRoutingData="struct ImGuiKeyRoutingData", defs["ImGuiMouseCursor"] = "int"
ImGuiKeyRoutingIndex="ImS16", defs["ImGuiNavHighlightFlags"] = "int"
ImGuiKeyRoutingTable="struct ImGuiKeyRoutingTable", defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
ImGuiLastItemData="struct ImGuiLastItemData", defs["ImGuiNavMoveFlags"] = "int"
ImGuiLayoutType="int", defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
ImGuiListClipper="struct ImGuiListClipper", defs["ImGuiNextItemDataFlags"] = "int"
ImGuiListClipperData="struct ImGuiListClipperData", defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
ImGuiListClipperRange="struct ImGuiListClipperRange", defs["ImGuiNextWindowDataFlags"] = "int"
ImGuiLocEntry="struct ImGuiLocEntry", defs["ImGuiOldColumnData"] = "struct ImGuiOldColumnData"
ImGuiLogFlags="int", defs["ImGuiOldColumnFlags"] = "int"
ImGuiMemAllocFunc="void* (*)(size_t sz, void* user_data);", defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
ImGuiMemFreeFunc="void (*)(void* ptr, void* user_data);", defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
ImGuiMenuColumns="struct ImGuiMenuColumns", defs["ImGuiPayload"] = "struct ImGuiPayload"
ImGuiMetricsConfig="struct ImGuiMetricsConfig", defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
ImGuiMouseButton="int", defs["ImGuiPopupData"] = "struct ImGuiPopupData"
ImGuiMouseCursor="int", defs["ImGuiPopupFlags"] = "int"
ImGuiMultiSelectFlags="int", defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
ImGuiMultiSelectIO="struct ImGuiMultiSelectIO", defs["ImGuiScrollFlags"] = "int"
ImGuiMultiSelectState="struct ImGuiMultiSelectState", defs["ImGuiSelectableFlags"] = "int"
ImGuiMultiSelectTempData="struct ImGuiMultiSelectTempData", defs["ImGuiSeparatorFlags"] = "int"
ImGuiNavItemData="struct ImGuiNavItemData", defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
ImGuiNavMoveFlags="int", defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
ImGuiNavRenderCursorFlags="int", defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
ImGuiNextItemData="struct ImGuiNextItemData", defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
ImGuiNextItemDataFlags="int", defs["ImGuiSliderFlags"] = "int"
ImGuiNextWindowData="struct ImGuiNextWindowData", defs["ImGuiSortDirection"] = "int"
ImGuiNextWindowDataFlags="int", defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
ImGuiOldColumnData="struct ImGuiOldColumnData", defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
ImGuiOldColumnFlags="int", defs["ImGuiStackTool"] = "struct ImGuiStackTool"
ImGuiOldColumns="struct ImGuiOldColumns", defs["ImGuiStorage"] = "struct ImGuiStorage"
ImGuiOnceUponAFrame="struct ImGuiOnceUponAFrame", defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
ImGuiPayload="struct ImGuiPayload", defs["ImGuiStyle"] = "struct ImGuiStyle"
ImGuiPlatformIO="struct ImGuiPlatformIO", defs["ImGuiStyleMod"] = "struct ImGuiStyleMod"
ImGuiPlatformImeData="struct ImGuiPlatformImeData", defs["ImGuiStyleVar"] = "int"
ImGuiPlatformMonitor="struct ImGuiPlatformMonitor", defs["ImGuiTabBar"] = "struct ImGuiTabBar"
ImGuiPopupData="struct ImGuiPopupData", defs["ImGuiTabBarFlags"] = "int"
ImGuiPopupFlags="int", defs["ImGuiTabItem"] = "struct ImGuiTabItem"
ImGuiPtrOrIndex="struct ImGuiPtrOrIndex", defs["ImGuiTabItemFlags"] = "int"
ImGuiScrollFlags="int", defs["ImGuiTable"] = "struct ImGuiTable"
ImGuiSelectableFlags="int", defs["ImGuiTableBgTarget"] = "int"
ImGuiSelectionBasicStorage="struct ImGuiSelectionBasicStorage", defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
ImGuiSelectionExternalStorage="struct ImGuiSelectionExternalStorage", defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
ImGuiSelectionRequest="struct ImGuiSelectionRequest", defs["ImGuiTableColumnFlags"] = "int"
ImGuiSelectionUserData="ImS64", defs["ImGuiTableColumnIdx"] = "ImS16"
ImGuiSeparatorFlags="int", defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
ImGuiSettingsHandler="struct ImGuiSettingsHandler", defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
ImGuiShrinkWidthItem="struct ImGuiShrinkWidthItem", defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
ImGuiSizeCallback="void (*)(ImGuiSizeCallbackData* data);", defs["ImGuiTableDrawChannelIdx"] = "ImU16"
ImGuiSizeCallbackData="struct ImGuiSizeCallbackData", defs["ImGuiTableFlags"] = "int"
ImGuiSliderFlags="int", defs["ImGuiTableInstanceData"] = "struct ImGuiTableInstanceData"
ImGuiStackLevelInfo="struct ImGuiStackLevelInfo", defs["ImGuiTableRowFlags"] = "int"
ImGuiStorage="struct ImGuiStorage", defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
ImGuiStoragePair="struct ImGuiStoragePair", defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
ImGuiStyle="struct ImGuiStyle", defs["ImGuiTableTempData"] = "struct ImGuiTableTempData"
ImGuiStyleMod="struct ImGuiStyleMod", defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
ImGuiStyleVar="int", defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
ImGuiStyleVarInfo="struct ImGuiStyleVarInfo", defs["ImGuiTextFlags"] = "int"
ImGuiTabBar="struct ImGuiTabBar", defs["ImGuiTextIndex"] = "struct ImGuiTextIndex"
ImGuiTabBarFlags="int", defs["ImGuiTextRange"] = "struct ImGuiTextRange"
ImGuiTabItem="struct ImGuiTabItem", defs["ImGuiTooltipFlags"] = "int"
ImGuiTabItemFlags="int", defs["ImGuiTreeNodeFlags"] = "int"
ImGuiTable="struct ImGuiTable", defs["ImGuiViewport"] = "struct ImGuiViewport"
ImGuiTableBgTarget="int", defs["ImGuiViewportFlags"] = "int"
ImGuiTableCellData="struct ImGuiTableCellData", defs["ImGuiViewportP"] = "struct ImGuiViewportP"
ImGuiTableColumn="struct ImGuiTableColumn", defs["ImGuiWindow"] = "struct ImGuiWindow"
ImGuiTableColumnFlags="int", defs["ImGuiWindowFlags"] = "int"
ImGuiTableColumnIdx="ImS16", defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
ImGuiTableColumnSettings="struct ImGuiTableColumnSettings", defs["ImGuiWindowStackData"] = "struct ImGuiWindowStackData"
ImGuiTableColumnSortSpecs="struct ImGuiTableColumnSortSpecs", defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData"
ImGuiTableColumnsSettings="struct ImGuiTableColumnsSettings", defs["ImPoolIdx"] = "int"
ImGuiTableDrawChannelIdx="ImU16", defs["ImRect"] = "struct ImRect"
ImGuiTableFlags="int", defs["ImS16"] = "signed short"
ImGuiTableHeaderData="struct ImGuiTableHeaderData", defs["ImS32"] = "signed int"
ImGuiTableInstanceData="struct ImGuiTableInstanceData", defs["ImS64"] = "signed long long"
ImGuiTableRowFlags="int", defs["ImS8"] = "signed char"
ImGuiTableSettings="struct ImGuiTableSettings", defs["ImTextureID"] = "void*"
ImGuiTableSortSpecs="struct ImGuiTableSortSpecs", defs["ImU16"] = "unsigned short"
ImGuiTableTempData="struct ImGuiTableTempData", defs["ImU32"] = "unsigned int"
ImGuiTextBuffer="struct ImGuiTextBuffer", defs["ImU64"] = "unsigned long long"
ImGuiTextFilter="struct ImGuiTextFilter", defs["ImU8"] = "unsigned char"
ImGuiTextFlags="int", defs["ImVec1"] = "struct ImVec1"
ImGuiTextIndex="struct ImGuiTextIndex", defs["ImVec2"] = "struct ImVec2"
ImGuiTextRange="struct ImGuiTextRange", defs["ImVec2ih"] = "struct ImVec2ih"
ImGuiTooltipFlags="int", defs["ImVec4"] = "struct ImVec4"
ImGuiTreeNodeFlags="int", defs["ImWchar"] = "ImWchar16"
ImGuiTreeNodeStackData="struct ImGuiTreeNodeStackData", defs["ImWchar16"] = "unsigned short"
ImGuiTypingSelectFlags="int", defs["ImWchar32"] = "unsigned int"
ImGuiTypingSelectRequest="struct ImGuiTypingSelectRequest", defs["STB_TexteditState"] = "struct STB_TexteditState"
ImGuiTypingSelectState="struct ImGuiTypingSelectState", defs["StbTexteditRow"] = "struct StbTexteditRow"
ImGuiViewport="struct ImGuiViewport", defs["StbUndoRecord"] = "struct StbUndoRecord"
ImGuiViewportFlags="int", defs["StbUndoState"] = "struct StbUndoState"
ImGuiViewportP="struct ImGuiViewportP", defs["const_iterator"] = "const value_type*"
ImGuiWindow="struct ImGuiWindow", defs["iterator"] = "value_type*"
ImGuiWindowClass="struct ImGuiWindowClass", defs["value_type"] = "T"
ImGuiWindowDockStyle="struct ImGuiWindowDockStyle",
ImGuiWindowFlags="int", return defs
ImGuiWindowRefreshFlags="int",
ImGuiWindowSettings="struct ImGuiWindowSettings",
ImGuiWindowStackData="struct ImGuiWindowStackData",
ImGuiWindowTempData="struct ImGuiWindowTempData",
ImPoolIdx="int",
ImRect="struct ImRect",
ImS16="signed short",
ImS32="signed int",
ImS64="signed long long",
ImS8="signed char",
ImStbTexteditState="ImStb::STB_TexteditState",
ImTextureID="ImU64",
ImU16="unsigned short",
ImU32="unsigned int",
ImU64="unsigned long long",
ImU8="unsigned char",
ImVec1="struct ImVec1",
ImVec2="struct ImVec2",
ImVec2ih="struct ImVec2ih",
ImVec4="struct ImVec4",
ImWchar="ImWchar16",
ImWchar16="unsigned short",
ImWchar32="unsigned int",
STB_TexteditState="struct STB_TexteditState"}
return t

View File

@@ -8,10 +8,6 @@
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION)) #pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION))
#endif #endif
#ifdef IMGUI_VERSION_NUM
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION_NUM))
#endif
#ifdef IMGUI_HAS_DOCK #ifdef IMGUI_HAS_DOCK
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK)) #pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK))
#endif #endif
@@ -27,11 +23,3 @@
#ifdef FLT_MAX #ifdef FLT_MAX
#pragma message(CIMGUI_DEFSTRING(FLT_MAX)) #pragma message(CIMGUI_DEFSTRING(FLT_MAX))
#endif #endif
#ifdef ImDrawCallback_ResetRenderState
#pragma message(CIMGUI_DEFSTRING(ImDrawCallback_ResetRenderState))
#endif
#ifdef IMGUI_HAS_TEXTURES
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_TEXTURES))
#endif

2
imgui

Submodule imgui updated: 4806a1924f...1ebb913827

View File

@@ -11,8 +11,6 @@
#define igDebugCheckVersionAndDataLayout igDebugCheckVersionAndDataLayout_Str #define igDebugCheckVersionAndDataLayout igDebugCheckVersionAndDataLayout_Str
#endif #endif
#define igGetIO igGetIO_Nil
int main(void) int main(void)
{ {
assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle), assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle),