mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-11 12:18:30 +01:00
Compare commits
4 Commits
1.91.8dock
...
1.89.9
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b28023c3f6 | ||
![]() |
1bb9cd7347 | ||
![]() |
d24246adfd | ||
![]() |
6dba58d90f |
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
cmake_policy(SET CMP0091 NEW)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(cimgui)
|
||||
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
@@ -26,10 +26,10 @@ set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library")
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
message(STATUS "Building with 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)
|
||||
|
||||
#add library and link
|
||||
@@ -39,16 +39,6 @@ else (IMGUI_STATIC)
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
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)
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
|
||||
|
12
README.md
12
README.md
@@ -11,7 +11,7 @@ History:
|
||||
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
|
||||
|
||||
Notes:
|
||||
* currently this wrapper is based on version [1.91.8 of Dear ImGui with internal api]
|
||||
* currently this wrapper is based on version [1.89.9 of Dear ImGui with internal api]
|
||||
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
|
||||
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
|
||||
@@ -24,7 +24,7 @@ Notes:
|
||||
* `git submodule update --init --recursive` (If already cloned)
|
||||
* compile
|
||||
* 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
|
||||
|
||||
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 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.
|
||||
* 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.
|
||||
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
|
||||
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
|
||||
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
|
||||
* You can pass compiler flags to generator.sh or generator.bat 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.
|
||||
* 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
|
||||
@@ -95,8 +95,7 @@ Notes:
|
||||
|
||||
# usage with backends
|
||||
|
||||
* look at backend_test folder for a cmake module building with SDL and opengl3, glfw and opengl3, SDL and Vulkan
|
||||
* read [How can cimgui backends be used](https://github.com/cimgui/cimgui/issues/157)
|
||||
* look at backend_test folder for a cmake module building with SDL and opengl3.
|
||||
|
||||
# example bindings based on cimgui
|
||||
|
||||
@@ -118,4 +117,3 @@ Notes:
|
||||
* [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo)
|
||||
* [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/)
|
||||
* [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW
|
||||
* [raylib-cimgui](https://github.com/alfredbaudisch/raylib-cimgui)
|
||||
|
@@ -1,110 +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
|
||||
include_directories(../../generator/output/)
|
||||
add_executable(${PROJECT_NAME} main.c)
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_DX11 -DCIMGUI_USE_GLFW)
|
||||
target_link_libraries(${PROJECT_NAME} d3d11 d3dcompiler.lib cimgui)
|
||||
|
||||
|
@@ -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.
|
@@ -1,247 +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
|
||||
|
||||
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; }
|
||||
}
|
||||
|
@@ -4,9 +4,6 @@ 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
|
||||
@@ -23,7 +20,6 @@ else()
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
@@ -36,8 +32,14 @@ set(IMGUI_SOURCES
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if (WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
|
||||
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
|
||||
|
||||
@@ -63,44 +65,28 @@ endif(WIN32)
|
||||
# GLFW
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp)
|
||||
|
||||
set(GLFW_VERSION 3.4)
|
||||
set(GLFW_VERSION 3.3.8)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
glfw
|
||||
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz)
|
||||
#GIT_REPOSITORY https://github.com/glfw/glfw )
|
||||
|
||||
FetchContent_GetProperties(glfw)
|
||||
if (NOT glfw_POPULATED)
|
||||
set(FETCHCONTENT_QUIET NO)
|
||||
FetchContent_Populate(glfw)
|
||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
if (NOT STATIC_BUILD)
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR} EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR})
|
||||
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)
|
||||
|
||||
|
||||
if (NOT STATIC_BUILD)
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
else()
|
||||
# glfw/imgui gets confused if it is not statically built.
|
||||
IF (WIN32)
|
||||
add_library(cimgui STATIC ${IMGUI_SOURCES})
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
ELSE()
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
ENDIF()
|
||||
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
|
||||
|
||||
@@ -109,6 +95,9 @@ target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
|
||||
include_directories(../../generator/output/)
|
||||
add_executable(${PROJECT_NAME} main.c)
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW)
|
||||
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)
|
||||
|
||||
|
||||
|
@@ -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.
|
@@ -22,7 +22,6 @@ else()
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
|
@@ -19,7 +19,6 @@ else()
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
|
@@ -1 +0,0 @@
|
||||
#undef NDEBUG
|
1396
cimgui.cpp
1396
cimgui.cpp
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
#include "./imgui/misc/freetype/imgui_freetype.h"
|
||||
@@ -12,7 +20,7 @@
|
||||
|
||||
|
||||
/////////////////////////////manual written functions
|
||||
CIMGUI_API void igLogText(const char *fmt, ...)
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...)
|
||||
{
|
||||
char buffer[256];
|
||||
va_list args;
|
||||
@@ -22,11 +30,11 @@ CIMGUI_API void igLogText(const char *fmt, ...)
|
||||
|
||||
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_start(args, fmt);
|
||||
self->appendfv(fmt, args);
|
||||
buffer->appendfv(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
@@ -81,7 +89,7 @@ CimguiStorage& GetCimguiStorage()
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
if (io.BackendLanguageUserData == NULL)
|
||||
{
|
||||
io.BackendLanguageUserData = IM_NEW(CimguiStorage)();
|
||||
io.BackendLanguageUserData = new CimguiStorage();
|
||||
}
|
||||
|
||||
return *(CimguiStorage*)io.BackendLanguageUserData;
|
||||
|
@@ -47,9 +47,9 @@ typedef union SDL_Event SDL_Event;
|
||||
|
||||
/////////////////////////hand written functions
|
||||
//no LogTextV
|
||||
CIMGUI_API void igLogText(const char *fmt, ...);
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...);
|
||||
//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
|
||||
CIMGUI_API float igGET_FLT_MAX(void);
|
||||
//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_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
|
||||
|
||||
|
@@ -175,7 +175,6 @@ local function check_template(code)
|
||||
te = te:gsub("%-","less")
|
||||
te = te:gsub("%s","_")
|
||||
te = te:gsub("%*","Ptr")
|
||||
te = te:gsub("::","_")
|
||||
|
||||
code2 = code:gsub("(<[%w_%*%s]+>)([^%s%*])","%1 %2")
|
||||
code2 = code2:gsub("<([^<>]-)>","_"..te)
|
||||
@@ -203,8 +202,6 @@ local function parse_enum_value(value, allenums,dontpost)
|
||||
if allenums[clean(value)] then return allenums[clean(value)] end
|
||||
--must be several and operators
|
||||
------------precedence order (hope not ())
|
||||
--delete (int)
|
||||
value = value:gsub("%(int%)","")
|
||||
--first drop outer ()
|
||||
value = value:gsub("^(%()",""):gsub("(%))$","")
|
||||
assert(not value:match("[%(%)]"),value)
|
||||
@@ -320,9 +317,6 @@ local function getRE()
|
||||
function_re = "^([^;{}]+%b()[\n%s]*;)%s*",
|
||||
function_re = "^([^;{}=]+%b()[\n%s%w]*;)", --const at the end
|
||||
function_re = "^([^;{}=]+%b()[\n%s%w%(%)_]*;)", --attribute(deprecated)
|
||||
--we need to skip = as function because of "var = f()" initialization in struct fields
|
||||
-- but we don want operator== to appear as a var and as we should skip this kind of function solution is:
|
||||
operator_re = "^([^;{}]+operator[^;{}]+%b()[\n%s%w%(%)_]*;)",
|
||||
struct_re = "^([^;{}]-struct[^;{}]-%b{}[%s%w_%(%)]*;)",
|
||||
enum_re = "^([^;{}]-enum[^;{}]-%b{}[%s%w_%(%)]*;)",
|
||||
union_re = "^([^;{}]-union[^;{}]-%b{}[%s%w_%(%)]*;)",
|
||||
@@ -347,7 +341,7 @@ local function getRE()
|
||||
}
|
||||
|
||||
local resN = {"comment2_re","comment_re","emptyline_re",
|
||||
"functypedef_re","functype_re","function_re","functionD_re","operator_re","typedef_st_re","struct_re","enum_re","union_re","namespace_re","class_re","typedef_re","vardef_re"}
|
||||
"functypedef_re","functype_re","function_re","functionD_re","typedef_st_re","struct_re","enum_re","union_re","namespace_re","class_re","typedef_re","vardef_re"}
|
||||
|
||||
return res,resN
|
||||
end
|
||||
@@ -435,15 +429,20 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
|
||||
loca = table.remove(loca,1)
|
||||
end
|
||||
if not loca then
|
||||
print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline)
|
||||
-- for k,v in pairs(linenumdict) do
|
||||
-- if k:match(itemfirstline) then
|
||||
-- print(string.format("%q",k),#k)
|
||||
-- end
|
||||
-- end
|
||||
--error"no entry in linenumdict"
|
||||
--take locat from parent
|
||||
if itparent and itparent.locat then
|
||||
loca = itparent.locat
|
||||
print("parent loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca)
|
||||
else
|
||||
loca = 0
|
||||
print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca)
|
||||
--error"no entry in linenumdict"
|
||||
end
|
||||
|
||||
end
|
||||
else
|
||||
error"no linenumdict"
|
||||
@@ -479,17 +478,15 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
|
||||
end
|
||||
return itemarr,items
|
||||
end
|
||||
--M.parseItems = parseItems
|
||||
M.parseItems = parseItems
|
||||
local function name_overloadsAlgo(v)
|
||||
|
||||
local aa = {} -- args
|
||||
local bb = {} -- overloaded names
|
||||
local cc = {} -- discrimination args
|
||||
local done = {} -- overloading finished discrimination
|
||||
local aa = {}
|
||||
local bb = {}
|
||||
local done = {}
|
||||
local maxnum = 0
|
||||
for i,t in ipairs(v) do
|
||||
bb[i] = ""
|
||||
cc[i] = {}
|
||||
local signature = t.signature:match("%b()")
|
||||
signature = signature:sub(2,-2)
|
||||
--add const function
|
||||
@@ -529,7 +526,9 @@ local function name_overloadsAlgo(v)
|
||||
for i=1,#v do
|
||||
if not done[i] then
|
||||
bb[i] = bb[i]..(aa[i][l]=="nil" and "" or aa[i][l])
|
||||
cc[i][l] = aa[i][l]
|
||||
-- if keys[aa[i][l]] == 1 then
|
||||
-- done[i] = true
|
||||
-- end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -545,9 +544,8 @@ local function name_overloadsAlgo(v)
|
||||
end
|
||||
--avoid empty postfix which will be reserved to generic
|
||||
for i,v in ipairs(bb) do if v=="" then bb[i]="Nil" end end
|
||||
return aa,bb,cc
|
||||
return aa,bb
|
||||
end
|
||||
M.name_overloadsAlgo = name_overloadsAlgo
|
||||
local function typetoStr(typ)
|
||||
--print("typetoStr",typ)
|
||||
--typ = typ:gsub("[^%(%)]+%(%*?(.+)%).+","%1") -- funcs
|
||||
@@ -603,7 +601,7 @@ local function clean_names_from_signature(self,signat)
|
||||
return result
|
||||
end
|
||||
local function clean_functypedef(line)
|
||||
local first, args = line:match("(typedef .-%(%*%s*[_%w]+%))%s*(%b())")
|
||||
local first, args = line:match("(typedef .-%(%*[_%w]+%))%s*(%b())")
|
||||
|
||||
if not args then
|
||||
print"not getting args in"
|
||||
@@ -671,18 +669,14 @@ local function CleanImU32(def)
|
||||
for i=1,#bb do res = res + bb[i] end
|
||||
return res
|
||||
end
|
||||
local function moveptr(line)
|
||||
line = line:gsub("%s*%*","%*")
|
||||
line = line:gsub("%*([%w_])","%* %1")
|
||||
line = line:gsub("(%(%*)%s","%1")
|
||||
return line
|
||||
end
|
||||
local function parseFunction(self,stname,itt,namespace,locat)
|
||||
|
||||
local lineorig,comment = split_comment(itt.item)
|
||||
line = clean_spaces(lineorig)
|
||||
--move *
|
||||
line = moveptr(line)
|
||||
line = line:gsub("%s*%*","%*")
|
||||
line = line:gsub("%*([%w_])","%* %1")
|
||||
line = line:gsub("(%(%*)%s","%1")
|
||||
|
||||
--print(line)
|
||||
--clean implemetation
|
||||
@@ -721,21 +715,6 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
error"parseFunction not getting args"
|
||||
end
|
||||
|
||||
--get manuals args and ret
|
||||
local cname = self.getCname(stname,funcname, namespace) --cimguiname
|
||||
local manpars = self.manuals[cname]
|
||||
local ismanual
|
||||
if manpars then
|
||||
if type(manpars) == "boolean" then
|
||||
print("warning: unable to get args and ret from "..cname)
|
||||
print("did you forgot to use set_manuals? ")
|
||||
else
|
||||
ismanual = true
|
||||
args, ret = manpars.args, manpars.ret
|
||||
args = moveptr(args)
|
||||
ret = moveptr(ret)
|
||||
end
|
||||
end
|
||||
|
||||
local argsp = args:sub(2,-2)..","
|
||||
local argsTa = {}
|
||||
@@ -751,8 +730,6 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
argsTa[#argsTa+1] = tynam
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--- templates in args
|
||||
for i,ar in ipairs(argsTa) do
|
||||
--TODO several diferent templates
|
||||
@@ -766,15 +743,13 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
end
|
||||
argsTa[i] = te and code2 or ar --ar:gsub("<([%w_%*%s]+)>",te) --ImVector
|
||||
end
|
||||
|
||||
|
||||
--get typ, name and defaults
|
||||
local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
|
||||
local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
|
||||
local argsTa2 = {}
|
||||
local noname_counter = 0
|
||||
for i,ar in ipairs(argsTa) do
|
||||
--avoid var name without space type&name -> type& name
|
||||
ar = ar:gsub("(%S)&(%S)","%1& %2")
|
||||
local typ,name,retf,sigf,reftoptr,defa,ar1
|
||||
local has_cdecl = ar:match"__cdecl"
|
||||
if has_cdecl then ar = ar:gsub("__cdecl","") end
|
||||
@@ -826,7 +801,6 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local argsArr = argsTa2
|
||||
|
||||
--recreate argscsinpars, call_args and signature from argsArr
|
||||
@@ -858,7 +832,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
caar = "()"
|
||||
signat = "()" .. (extraconst or "")
|
||||
end
|
||||
--if ismanual then print("manual",asp, caar, signat) end
|
||||
|
||||
------------------------------
|
||||
|
||||
if not ret and stname then --must be constructors
|
||||
@@ -891,9 +865,6 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
ar.default = nil
|
||||
end
|
||||
end
|
||||
|
||||
--if ismanual then M.prtable(argsArr) end
|
||||
|
||||
defT.templated = self.typenames[stname] and true
|
||||
defT.namespace = namespace
|
||||
defT.cimguiname = cimguiname
|
||||
@@ -924,7 +895,6 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
-- end
|
||||
end
|
||||
defsT[cimguiname][signat] = defT
|
||||
|
||||
end
|
||||
local function itemsCount(items)
|
||||
print"------------items"
|
||||
@@ -937,8 +907,8 @@ end
|
||||
|
||||
local function AdjustArguments(FP)
|
||||
for fun,defs in pairs(FP.defsT) do
|
||||
--struct function but no constructors or static functions or manuals
|
||||
if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function and not defs[1].manual then
|
||||
--struct function but no constructors or static functions
|
||||
if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function then
|
||||
--print("adjusting",fun)
|
||||
for i,def in ipairs(defs) do
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
@@ -1045,39 +1015,7 @@ local function ADDIMSTR_S(FP)
|
||||
end
|
||||
FP.funcdefs = newcdefs
|
||||
end
|
||||
--this creates defsBystruct in case you need to list by struct container
|
||||
local function DefsByStruct(FP)
|
||||
local structs = {}
|
||||
for fun,defs in pairs(FP.defsT) do
|
||||
local stname = defs[1].stname
|
||||
structs[stname] = structs[stname] or {}
|
||||
table.insert(structs[stname],defs)--fun)
|
||||
end
|
||||
return structs
|
||||
end
|
||||
local function get_nonPOD(FP)
|
||||
local defbystruct = DefsByStruct(FP)
|
||||
--M.prtable(defbystruct)
|
||||
local nonPOD = {}
|
||||
for k,defs in pairs(defbystruct) do
|
||||
if k~="" then
|
||||
for i, ww in ipairs(defs) do
|
||||
-- print(k,i,ww)
|
||||
-- M.prtable(ww)
|
||||
if not ww[1].ret then --constructor
|
||||
nonPOD[k] = true
|
||||
break;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
FP.structs_and_enums_table.nonPOD = nonPOD
|
||||
return nonPOD
|
||||
end
|
||||
local function ADDnonUDT(FP)
|
||||
local nonPOD = get_nonPOD(FP)
|
||||
--print"nonPOD"
|
||||
--M.prtable(nonPOD)
|
||||
local defsT = FP.defsT
|
||||
--local newcdefs = {}
|
||||
for numcdef,t in ipairs(FP.funcdefs) do
|
||||
@@ -1091,17 +1029,10 @@ local function ADDnonUDT(FP)
|
||||
end
|
||||
--if UDT return generate nonUDT version
|
||||
local isUDT = false
|
||||
--isUDT = FP.structs_and_enums_table.structs[defT.ret] and true or false
|
||||
isUDT = nonPOD[defT.ret] and true or false
|
||||
--inherited
|
||||
if (not isUDT) and FP.cimgui_inherited and FP.cimgui_inherited.nonPOD[defT.ret] then
|
||||
isUDT = true
|
||||
end
|
||||
for _,udt_ret in ipairs(FP.UDTs) do
|
||||
if udt_ret == defT.ret then isUDT=true; break end
|
||||
if udt_ret == defT.ret then isUDT=true;break end
|
||||
end
|
||||
|
||||
|
||||
--if defT.ret=="ImVec2" or defT.ret=="ImVec4" or defT.ret=="ImColor" then
|
||||
if isUDT then
|
||||
--passing as a pointer arg
|
||||
local defT2 = {}
|
||||
@@ -1174,15 +1105,14 @@ local function ADDdestructors(FP)
|
||||
error"names should be equal"
|
||||
end
|
||||
local def = {}
|
||||
local isrealdestructor = keep_dest_locat[defT[1].stname] and true
|
||||
def.stname = defT[1].stname
|
||||
def.templated = defT[1].templated
|
||||
def.location = keep_dest_locat[defT[1].stname] or defT[1].location
|
||||
def.location = keep_dest_locat[defT[1].stname]
|
||||
def.ret = "void"
|
||||
def.ov_cimguiname = def.stname.."_destroy"
|
||||
def.cimguiname = def.ov_cimguiname
|
||||
def.destructor = true
|
||||
def.realdestructor = isrealdestructor
|
||||
def.realdestructor = def.location and true
|
||||
def.args = "("..def.stname.."* self)"
|
||||
def.call_args = "(self)"
|
||||
def.signature = "("..def.stname.."*)"
|
||||
@@ -1334,7 +1264,7 @@ function M.Parser()
|
||||
self.typedefs_dict[key] = linet
|
||||
elseif not line:match"typedef%s*struct" then --discard typedef struct
|
||||
print("typedef not found")
|
||||
print(key,value,line,cdef[1],cdef[2])
|
||||
print(key,value,line)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1354,15 +1284,6 @@ function M.Parser()
|
||||
function par:parseItemsR2(txt, itparent)
|
||||
local itsarr,its = parseItems(txt,self.linenumdict,itparent)
|
||||
for i,it in ipairs(itsarr) do
|
||||
--clean class
|
||||
if it.re_name == "class_re" then
|
||||
it.name = it.item:match("class%s+(%S+)")
|
||||
print("cleaning class",it.name)
|
||||
it.item = it.item:gsub("private:.+};$","};")
|
||||
--it.item = it.item:gsub("private:","")
|
||||
it.item = it.item:gsub("public:","")
|
||||
it.item = it.item:gsub("enum%s*class","enum")
|
||||
end
|
||||
if not isLeaf(it.re_name) then
|
||||
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
|
||||
it.childs = par:parseItemsR2(inner, it)
|
||||
@@ -1371,8 +1292,7 @@ function M.Parser()
|
||||
end
|
||||
if it.re_name == "struct_re" then
|
||||
local typename = it.item:match("^%s*template%s*<%s*typename%s*(%S+)%s*>")
|
||||
--local stname = it.item:match("struct%s+(%S+)")
|
||||
local stname = it.item:match("struct%s+([^%s{]+)") --unamed
|
||||
local stname = it.item:match("struct%s+(%S+)")
|
||||
it.name = stname
|
||||
|
||||
--local templa1,templa2 = it.item:match("^%s*template%s*<%s*(%S+)%s*(%S+)%s*>")
|
||||
@@ -1385,8 +1305,6 @@ function M.Parser()
|
||||
end
|
||||
elseif it.re_name == "namespace_re" then
|
||||
it.name = it.item:match("namespace%s+(%S+)")
|
||||
elseif it.re_name == "class_re" then
|
||||
--it.name = it.item:match("class%s+(%S+)")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1408,12 +1326,11 @@ function M.Parser()
|
||||
return table.concat(txtclean)
|
||||
end
|
||||
function par:parseItems()
|
||||
--self:initTypedefsDict()
|
||||
self:initTypedefsDict()
|
||||
|
||||
self.linenumdict = {}
|
||||
local cdefs2 = {}
|
||||
for i,cdef in ipairs(cdefs) do
|
||||
cdef[1] = cdef[1]:gsub("enum%s*class","enum") --clean class
|
||||
local cdef1 = clean_comments(cdef[1])
|
||||
if self.linenumdict[cdef1] then
|
||||
--print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
|
||||
@@ -1423,17 +1340,12 @@ function M.Parser()
|
||||
table.insert(self.linenumdict[cdef1],cdef[2])
|
||||
end
|
||||
else
|
||||
--print("nuevo linenumdict es",cdef[1],cdef[2])
|
||||
self.linenumdict[cdef1]=cdef[2]
|
||||
end
|
||||
table.insert(cdefs2,cdef[1])
|
||||
end
|
||||
local txt = table.concat(cdefs2,"\n")
|
||||
--string substitution
|
||||
if self.str_subst then
|
||||
for k,v in pairs(self.str_subst) do
|
||||
txt = txt:gsub(k,v)
|
||||
end
|
||||
end
|
||||
--save_data("./preprocode"..tostring(self):gsub("table: ","")..".c",txt)
|
||||
--clean bad positioned comments inside functionD_re
|
||||
if self.COMMENTS_GENERATION then
|
||||
@@ -1467,27 +1379,12 @@ function M.Parser()
|
||||
--save_data("./preparse"..tostring(self):gsub("table: ","")..".c",txt)
|
||||
--]]
|
||||
self.itemsarr = par:parseItemsR2(txt)
|
||||
--save_data("./itemsarr.lua",ToStr(self.itemsarr))
|
||||
itemsarr = self.itemsarr
|
||||
end
|
||||
|
||||
function par:printItems()
|
||||
printItems(items)
|
||||
end
|
||||
function par:set_manuals(manuals, modulen, erase)
|
||||
erase = erase or {"CIMGUI_API"}
|
||||
local moddata = read_data("./"..modulen.."_template.h")
|
||||
for k,v in pairs(manuals) do
|
||||
local ret = moddata:match("([^%(%):,\n;]+[%*%s])%s?~?"..k.."%b()")
|
||||
for i,ww in ipairs(erase) do
|
||||
ret = ret:gsub(ww,"")
|
||||
end
|
||||
local args = moddata:match(k.."%s*(%b())")
|
||||
manuals[k] = {args = args, ret = ret}
|
||||
--print(k,args,ret)
|
||||
end
|
||||
self.manuals = manuals
|
||||
end
|
||||
par.parseFunction = parseFunction
|
||||
local uniques = {}
|
||||
local function check_unique_typedefs(l,uniques)
|
||||
@@ -1514,20 +1411,13 @@ function M.Parser()
|
||||
local predeclare = ""
|
||||
--local iner = strip_end(stru:match("%b{}"):sub(2,-2))
|
||||
local inistruct = clean_spaces(stru:match("(.-)%b{}"))
|
||||
--clean final:
|
||||
inistruct = inistruct:gsub("%s*final%s*:",":")
|
||||
--local stname = stru:match("struct%s*(%S+)%s*%b{}")
|
||||
local stname, derived
|
||||
if inistruct:match":" then
|
||||
stname,derived = inistruct:match"struct%s*([^%s:]+):(.+)"
|
||||
--print(inistruct,stname,derived)
|
||||
derived = derived:match"(%S+)$"
|
||||
else
|
||||
if itst.re_name == "struct_re" then
|
||||
stname = inistruct:match"struct%s(%S+)"
|
||||
elseif itst.re_name == "class_re" then
|
||||
stname = inistruct:match"class%s(%S+)"
|
||||
end
|
||||
stname = inistruct:match"struct%s(%S+)"
|
||||
end
|
||||
|
||||
if derived then print(stname,"derived from",derived) end
|
||||
@@ -1537,7 +1427,6 @@ function M.Parser()
|
||||
stname = stru:match("%b{}%s*(%S+)%s*;")
|
||||
end
|
||||
|
||||
|
||||
local is_nested
|
||||
if not stname then
|
||||
is_nested = itst.parent and (itst.parent.re_name == "struct_re")
|
||||
@@ -1575,14 +1464,12 @@ function M.Parser()
|
||||
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
|
||||
local ttype,template,te,code2 = check_template(it2) --it.item:match"([^%s,%(%)]+)%s*<(.+)>"
|
||||
if template then
|
||||
--print("not doheader",ttype,template,te)
|
||||
if self.typenames[ttype] ~= template then --rule out T (template typename)
|
||||
self.templates[ttype] = self.templates[ttype] or {}
|
||||
self.templates[ttype][template] = te
|
||||
it2=code2
|
||||
end
|
||||
if doheader then
|
||||
|
||||
local templatetypedef = self:gentemplatetypedef(ttype, template,self.templates[ttype][template])
|
||||
predeclare = predeclare .. templatetypedef
|
||||
end
|
||||
@@ -1609,13 +1496,12 @@ function M.Parser()
|
||||
com = (com ~= "") and com or nil
|
||||
table.insert(commtab,{above=it.prevcomments,sameline=com})
|
||||
elseif it.re_name == "struct_re" then
|
||||
--print("nested struct in",stname,it.name)
|
||||
--print("nested struct in",stname)
|
||||
--check if has declaration
|
||||
local decl = it.item:match"%b{}%s*([^%s}{]+)%s*;"
|
||||
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,doheader)
|
||||
if not structname then --unamed nested struct
|
||||
--print("----generate unamed nested struct----",it.name)
|
||||
--M.prtable(it)
|
||||
if structname == "" then --unamed nested struct
|
||||
print("----generate unamed nested struct----")
|
||||
local nestst = cleanst:gsub(";$"," "..decl..";")
|
||||
table.insert(outtab,nestst)
|
||||
table.insert(commtab,{})
|
||||
@@ -1638,16 +1524,13 @@ function M.Parser()
|
||||
end
|
||||
elseif it.re_name == "enum_re" then
|
||||
--nop
|
||||
elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" and it.re_name ~= "operator_re" then
|
||||
elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" then
|
||||
print(it.re_name,"not processed clean_struct in",stname,it.item:sub(1,24))
|
||||
--M.prtable(it)
|
||||
end
|
||||
end
|
||||
--final
|
||||
table.insert(outtab,"\n};")
|
||||
if (stname=="" and is_nested) then
|
||||
stname = nil
|
||||
end
|
||||
return table.concat(outtab,""),stname,outtab,commtab, predeclare
|
||||
end
|
||||
local function get_parents_name(it)
|
||||
@@ -1667,9 +1550,8 @@ function M.Parser()
|
||||
if parnam~="" then parnam = parnam:sub(1,-3) end
|
||||
return parnam
|
||||
end
|
||||
function par:header_text_insert(tab,txt,it)
|
||||
table.insert(tab, txt)
|
||||
end
|
||||
|
||||
|
||||
function par:gen_structs_and_enums()
|
||||
print"--------------gen_structs_and_enums"
|
||||
--M.prtable(self.typenames)
|
||||
@@ -1697,31 +1579,25 @@ function M.Parser()
|
||||
|
||||
local tdt = self:gentemplatetypedef(ttype,template,te)
|
||||
it2 = tdt..code2
|
||||
elseif it2:match"%w+::" then
|
||||
print("clean namespace typedef",it2)
|
||||
it2 = it2:gsub("%w+::","")
|
||||
end
|
||||
elseif it.re_name == "functypedef_re" then
|
||||
it2 = clean_functypedef(it2)
|
||||
else
|
||||
assert(it.re_name == "vardef_re")
|
||||
it2 = it2:gsub("constexpr","static const")
|
||||
if it2:match"enum" then
|
||||
print("--skip enum forward declaration:",it2)
|
||||
it2 = ""
|
||||
end
|
||||
end
|
||||
--table.insert(outtabpre,it2)
|
||||
--table.insert(outtab,it2)
|
||||
self:header_text_insert(outtab, it2, it)
|
||||
table.insert(outtab,it2)
|
||||
-- add typedef after struct name
|
||||
if it.re_name == "vardef_re" and it.item:match"^%s*struct" then
|
||||
local stname = it.item:match("struct%s*(%S+)%s*;")
|
||||
--table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n")
|
||||
local tst = "\ntypedef struct "..stname.." "..stname..";"
|
||||
if check_unique_typedefs(tst,uniques) then
|
||||
--table.insert(outtabpre,tst)
|
||||
self:header_text_insert(outtabpre ,tst, it)
|
||||
table.insert(outtabpre,tst)
|
||||
end
|
||||
self.typedefs_dict[stname]="struct "..stname
|
||||
if it.parent then --must be struct name; inside namespace
|
||||
@@ -1747,31 +1623,24 @@ function M.Parser()
|
||||
end
|
||||
end
|
||||
enumbody = "{"..enumbody.."\n}"
|
||||
--table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums)
|
||||
local it2 = "\ntypedef enum ".. enumbody..enumname..";"..extraenums
|
||||
self:header_text_insert(outtab, it2, it)
|
||||
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums)
|
||||
else
|
||||
local enumbody = it.item:match"(%b{})"
|
||||
enumbody = clean_comments(enumbody)
|
||||
--table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
|
||||
local it2 = "\ntypedef enum ".. enumbody..enumname..";"
|
||||
self:header_text_insert(outtab, it2, it)
|
||||
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
|
||||
end
|
||||
if it.parent then
|
||||
if it.parent.re_name == "namespace_re" then
|
||||
local namespace = it.parent.item:match("namespace%s+(%S+)")
|
||||
self.embeded_enums[enumname] = namespace.."::"..enumname
|
||||
else
|
||||
self.embeded_enums[enumname] = it.parent.name.."::"..enumname
|
||||
end
|
||||
end
|
||||
else --unamed enum just repeat declaration
|
||||
local cl_item = clean_comments(it.item)
|
||||
--table.insert(outtab,cl_item)
|
||||
self:header_text_insert(outtab, cl_item, it)
|
||||
table.insert(outtab,cl_item)
|
||||
print("unnamed enum",cl_item)
|
||||
end
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
|
||||
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,true)
|
||||
if not structname then print("NO NAME",cleanst,it.item) end
|
||||
--if not void stname or templated
|
||||
@@ -1780,28 +1649,24 @@ function M.Parser()
|
||||
--table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
|
||||
local tst = "\ntypedef struct "..structname.." "..structname..";"
|
||||
if check_unique_typedefs(tst,uniques) then
|
||||
--table.insert(outtab,tst)
|
||||
self:header_text_insert(outtab, tst, it)
|
||||
table.insert(outtab,tst)
|
||||
end
|
||||
self.typedefs_dict[structname]="struct "..structname
|
||||
--dont insert child structs as they are inserted before parent struct
|
||||
if not (it.parent and it.parent.re_name == "struct_re") then
|
||||
--table.insert(outtab,predec .. cleanst)
|
||||
self:header_text_insert(outtab, predec .. cleanst, it)
|
||||
table.insert(outtab,predec .. cleanst)
|
||||
end
|
||||
end
|
||||
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
|
||||
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+([^%s{]+)"))
|
||||
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+(%S+)"))
|
||||
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
|
||||
--TODO nesting namespace and class
|
||||
if embededst then --discards false which can happen with untagged structs
|
||||
local parname = get_parents_name(it)
|
||||
if it.parent.re_name == "struct_re" then
|
||||
--needed by cimnodes with struct tag name equals member name
|
||||
self.embeded_structs[embededst] = "struct "..parname..embededst
|
||||
else
|
||||
self.embeded_structs[embededst] = parname..embededst
|
||||
end
|
||||
local parname = get_parents_name(it)
|
||||
if it.parent.re_name == "struct_re" then
|
||||
--needed by cimnodes with struct tag name equals member name
|
||||
self.embeded_structs[embededst] = "struct "..parname..embededst
|
||||
else
|
||||
self.embeded_structs[embededst] = parname..embededst
|
||||
end
|
||||
end
|
||||
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
|
||||
@@ -1810,7 +1675,7 @@ function M.Parser()
|
||||
local stname = ""
|
||||
local namespace
|
||||
if it.parent then
|
||||
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" or it.parent.re_name == "class_re" then
|
||||
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
|
||||
stname = it.parent.name
|
||||
elseif it.parent.re_name == "namespace_re" then
|
||||
namespace = get_parents_nameC(it) --it.parent.name
|
||||
@@ -1820,9 +1685,7 @@ function M.Parser()
|
||||
local ttype,fun = it.item:match"^%s*template%s+<%s*typename%s+([^>]+)%s*>%s*(.+)$"
|
||||
if self.ftemplate_list and self.ftemplate_list[ttype] then
|
||||
for iT,vT in ipairs(self.ftemplate_list[ttype]) do
|
||||
local funT = fun:gsub("([< %(])"..ttype,"%1"..vT)
|
||||
--funT = funT:gsub("sizeof%("..ttype.."%)","sizeof("..vT..")")
|
||||
--local funT = fun:gsub(ttype,vT)
|
||||
local funT = fun:gsub(ttype,vT)
|
||||
self:parseFunction(stname,{item=funT},namespace,it.locat)
|
||||
end
|
||||
end
|
||||
@@ -1830,9 +1693,7 @@ function M.Parser()
|
||||
self:parseFunction(stname,it,namespace,it.locat)
|
||||
end
|
||||
else
|
||||
if it.re_name~="operator_re" then
|
||||
print("not processed gen",it.re_name,it.item:sub(1,20))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1900,8 +1761,7 @@ function M.Parser()
|
||||
end
|
||||
local unnamed_enum_counter = 0
|
||||
local function enums_for_table(it, outtab, enumsordered)
|
||||
--local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||
local enumname = it.item:match"^[^;{}]-enum%s+([^%s;{}]+)"
|
||||
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||
if not enumname then
|
||||
unnamed_enum_counter = unnamed_enum_counter + 1
|
||||
enumname = "unnamed"..unnamed_enum_counter
|
||||
@@ -1964,7 +1824,7 @@ function M.Parser()
|
||||
function par:gen_structs_and_enums_table()
|
||||
print"--------------gen_structs_and_enums_table"
|
||||
local outtab = {enums={},structs={},locations={},enumtypes={},struct_comments={},enum_comments={}}
|
||||
--self.typedefs_table = {}
|
||||
self.typedefs_table = {}
|
||||
local enumsordered = {}
|
||||
unnamed_enum_counter = 0
|
||||
self.templated_structs = {}
|
||||
@@ -1987,35 +1847,11 @@ function M.Parser()
|
||||
if it.re_name == "typedef_re" and not it.parent then
|
||||
local typedefdef,typedefname = it.item:match"typedef(.+)%s([^%s;]+);$"
|
||||
typedefname = strip(typedefname)
|
||||
--self.typedefs_table[typedefname] = strip(typedefdef)
|
||||
self.typedefs_dict[typedefname] = strip(typedefdef)
|
||||
elseif it.re_name == "functypedef_re" then
|
||||
-- "^\n*%s*(typedef[%w%s%*_]+%([^*]*%*?%s*[%w_]+%s*%)%s*%b()%s*;)"
|
||||
local key = it.item:match("%(%*%s*([%w_]+)%)%s*%([^%(%)]*%)")
|
||||
if key then
|
||||
local linet = it.item
|
||||
linet = linet:gsub("[\n%s]+typedef ","")
|
||||
linet = linet:gsub("%(%*("..key..")%)","(*)")
|
||||
self.typedefs_dict[key] = linet
|
||||
--print("functypedef_re",1,linet)--,clean_functypedef(line))
|
||||
else
|
||||
--try function typedef
|
||||
key = it.item:match("%(([%w_]+)%)%([^%(%)]*%)")
|
||||
if key then
|
||||
local linet = it.item
|
||||
linet = linet:gsub("typedef ","")
|
||||
linet = linet:gsub("%(("..key..")%)","()")
|
||||
self.typedefs_dict[key] = linet
|
||||
print("functypedef_re",2, it.item)
|
||||
else
|
||||
print("func typedef not found")
|
||||
print(it.item)
|
||||
end
|
||||
end
|
||||
self.typedefs_table[typedefname] = strip(typedefdef)
|
||||
end
|
||||
elseif it.re_name == "enum_re" then
|
||||
enums_for_table(it, outtab, enumsordered)
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
|
||||
local cleanst,structname,strtab,comstab = self:clean_structR1(it)
|
||||
--if not void stname or templated
|
||||
if not structname then print("NO NAME",cleanst,it.item) end
|
||||
@@ -2042,7 +1878,7 @@ function M.Parser()
|
||||
end
|
||||
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
|
||||
--nop
|
||||
elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" and it.re_name ~= "operator_re" then
|
||||
elseif it.re_name ~= "functionD_re" and it.re_name ~= "function_re" then
|
||||
print("not processed gen table",it.re_name)
|
||||
end
|
||||
end
|
||||
@@ -2127,15 +1963,8 @@ function M.Parser()
|
||||
numoverloaded = numoverloaded + #v
|
||||
--print(k,#v)
|
||||
table.insert(strt,string.format("%s\t%d",k,#v))
|
||||
local typesc,post,pat = name_overloadsAlgo(v)
|
||||
-- if k=="igImLerp" then
|
||||
-- print"----------------------"
|
||||
-- M.prtable(v)
|
||||
-- M.prtable(typesc)
|
||||
-- M.prtable(post)
|
||||
-- M.prtable(pat)
|
||||
-- os.exit()
|
||||
-- end
|
||||
local typesc,post = name_overloadsAlgo(v)
|
||||
--M.prtable(v)
|
||||
for i,t in ipairs(v) do
|
||||
--take overloaded name from manual table or algorythm
|
||||
t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature,t.namespace) or k..typetoStr(post[i])
|
||||
@@ -2287,7 +2116,6 @@ function M.Parser()
|
||||
return self:gen_template_typedef_auto(ttype,te,newte)
|
||||
end
|
||||
function par:gen_template_typedef_auto(ttype,te,newte)
|
||||
--M.prtable(self.templated_structs)
|
||||
assert(self.templated_structs[ttype],ttype)
|
||||
local defi = self.templated_structs[ttype]
|
||||
local Targ = strsplit(self.typenames[ttype],",")
|
||||
@@ -2331,111 +2159,7 @@ function M.Parser()
|
||||
end
|
||||
return par
|
||||
end
|
||||
-- more compact serialization
|
||||
local function basicSerialize (o)
|
||||
if type(o) == "number" then
|
||||
return string.format("%.17g", o)
|
||||
elseif type(o)=="boolean" then
|
||||
return tostring(o)
|
||||
elseif type(o) == "string" then
|
||||
return string.format("%q", o)
|
||||
elseif pcall(function() return o.__serialize end) then
|
||||
return o.__serialize(o)
|
||||
elseif type(o)=="cdata" then
|
||||
return cdataSerialize(o)
|
||||
else
|
||||
return tostring(o) --"nil"
|
||||
end
|
||||
end
|
||||
-- very readable and now suited for cyclic tables
|
||||
local kw = {['and'] = true, ['break'] = true, ['do'] = true, ['else'] = true,
|
||||
['elseif'] = true, ['end'] = true, ['false'] = true, ['for'] = true,
|
||||
['function'] = true, ['goto'] = true, ['if'] = true, ['in'] = true,
|
||||
['local'] = true, ['nil'] = true, ['not'] = true, ['or'] = true,
|
||||
['repeat'] = true, ['return'] = true, ['then'] = true, ['true'] = true,
|
||||
['until'] = true, ['while'] = true}
|
||||
function tb2st_serialize(t,options)
|
||||
options = options or {}
|
||||
local function sorter(a,b)
|
||||
if type(a)==type(b) then
|
||||
return a<b
|
||||
elseif type(a)=="number" then
|
||||
return true
|
||||
else
|
||||
assert(type(b)=="number")
|
||||
return false
|
||||
end
|
||||
end
|
||||
local function serialize_key(val, dodot, pretty)
|
||||
local dot = dodot and "." or ""
|
||||
if type(val)=="string" then
|
||||
if val:match '^[_%a][_%w]*$' and not kw[val] then
|
||||
return dot..tostring(val)
|
||||
else
|
||||
return "[\""..tostring(val).."\"]"
|
||||
end
|
||||
elseif (not pretty) and (not dodot) and (type(val) == "number") and (math.floor(val)==val) then
|
||||
return --array index
|
||||
else
|
||||
return "["..tostring(val).."]"
|
||||
end
|
||||
end
|
||||
local function serialize_key_name(val)
|
||||
return serialize_key(val, true)
|
||||
end
|
||||
local insert = table.insert
|
||||
local function _tb2st(t,saved,sref,level,name)
|
||||
saved = saved or {} -- initial value
|
||||
level = level or 0
|
||||
sref = sref or {}
|
||||
name = name or "t"
|
||||
if type(t)=="table" then
|
||||
if saved[t] then
|
||||
sref[#sref+1] = {saved[t],name}
|
||||
return"nil"
|
||||
else
|
||||
saved[t] = name
|
||||
|
||||
local ordered_keys = {}
|
||||
for k,v in pairs(t) do
|
||||
insert(ordered_keys,k)
|
||||
end
|
||||
table.sort(ordered_keys,sorter)
|
||||
|
||||
local str2 = {}
|
||||
insert(str2,"{")
|
||||
if options.pretty then insert(str2,"\n") end
|
||||
for _,k in ipairs(ordered_keys) do
|
||||
if options.pretty then insert(str2,(" "):rep(level+1)) end
|
||||
local v = t[k]
|
||||
local kser = serialize_key(k, nil, options.pretty)
|
||||
insert(str2, (kser and (kser .."=") or ""))
|
||||
if type(v)~="table" then
|
||||
insert(str2, basicSerialize(v))
|
||||
else
|
||||
local name2 = name .. serialize_key_name(k)
|
||||
insert(str2,_tb2st(v,saved,sref,level+1,name2))
|
||||
end
|
||||
if options.pretty then insert(str2,",\n") else insert(str2, ",") end
|
||||
end
|
||||
str2[#str2] = "}"
|
||||
if level == 0 then
|
||||
--insert(str2, 1,"local ffi = require'ffi'\nlocal t=")
|
||||
insert(str2, 1,"local t=")
|
||||
for i,v in ipairs(sref) do
|
||||
insert(str2, "\n"..v[2].."="..v[1])
|
||||
end
|
||||
insert(str2,"\n return t")
|
||||
end
|
||||
return table.concat(str2)
|
||||
end
|
||||
else
|
||||
return basicSerialize(t)
|
||||
end
|
||||
end
|
||||
return(_tb2st(t))
|
||||
end
|
||||
M.tb2st_serialize = tb2st_serialize
|
||||
------serializeTable("anyname",table) gives a string that recreates the table with dofile(generated_string)
|
||||
local function serializeTable(name, value, saved)
|
||||
|
||||
@@ -2497,11 +2221,10 @@ local function serializeTable(name, value, saved)
|
||||
|
||||
return table.concat(string_table)
|
||||
end
|
||||
-- M.serializeTable = serializeTable
|
||||
-- M.serializeTableF = function(t)
|
||||
-- return M.serializeTable("defs",t).."\nreturn defs"
|
||||
-- end
|
||||
M.serializeTableF = function(t) return tb2st_serialize(t,{pretty=true}) end --new serialization more compact
|
||||
M.serializeTable = serializeTable
|
||||
M.serializeTableF = function(t)
|
||||
return M.serializeTable("defs",t).."\nreturn defs"
|
||||
end
|
||||
--iterates lines from a gcc/clang -E in a specific location
|
||||
local function location(file,locpathT,defines,COMPILER,keepemptylines)
|
||||
local define_re = "^#define%s+([^%s]+)%s+(.+)$"
|
||||
@@ -2588,8 +2311,7 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
|
||||
end
|
||||
M.location = location
|
||||
---------------------- C writing functions
|
||||
local function ImGui_f_implementation(def)
|
||||
local outtab = {}
|
||||
local function ImGui_f_implementation(outtab,def)
|
||||
local ptret = def.retref and "&" or ""
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
@@ -2616,10 +2338,8 @@ local function ImGui_f_implementation(def)
|
||||
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
return table.concat(outtab, "")
|
||||
end
|
||||
local function struct_f_implementation(def)
|
||||
local outtab = {}
|
||||
local function struct_f_implementation(outtab,def)
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
local ptret = def.retref and "&" or ""
|
||||
|
||||
@@ -2648,7 +2368,6 @@ local function struct_f_implementation(def)
|
||||
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
return table.concat(outtab, "")
|
||||
end
|
||||
local function func_implementation(FP)
|
||||
|
||||
@@ -2666,38 +2385,25 @@ local function func_implementation(FP)
|
||||
local manual = FP.get_manuals(def)
|
||||
if not custom and not manual and not def.templated and not FP.get_skipped(def) then
|
||||
if def.constructor then
|
||||
local tab = {}
|
||||
assert(def.stname ~= "","constructor without struct")
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
table.insert(tab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
|
||||
table.insert(tab,"{\n")
|
||||
table.insert(tab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
|
||||
table.insert(tab,"}\n")
|
||||
if FP.CONSTRUCTORS_GENERATION then
|
||||
table.insert(tab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n")
|
||||
table.insert(tab,"{\n")
|
||||
table.insert(tab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n")
|
||||
table.insert(tab,"}\n")
|
||||
end
|
||||
table.insert(outtab, table.concat(tab, ""))
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
elseif def.destructor then
|
||||
local tab = {}
|
||||
local args = "("..def.stname.."* self)"
|
||||
local fname = def.stname.."_destroy"
|
||||
table.insert(tab,"CIMGUI_API void "..fname..args.."\n")
|
||||
table.insert(tab,"{\n")
|
||||
table.insert(tab," IM_DELETE(self);\n")
|
||||
table.insert(tab,"}\n")
|
||||
table.insert(outtab, table.concat(tab, ""))
|
||||
table.insert(outtab,"CIMGUI_API void "..fname..args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," IM_DELETE(self);\n")
|
||||
table.insert(outtab,"}\n")
|
||||
elseif def.stname == "" or def.is_static_function then
|
||||
table.insert(outtab, ImGui_f_implementation(def))
|
||||
ImGui_f_implementation(outtab,def)
|
||||
else -- stname
|
||||
table.insert(outtab, struct_f_implementation(def))
|
||||
struct_f_implementation(outtab,def)
|
||||
end
|
||||
end
|
||||
if FP.custom_function_post then
|
||||
FP:custom_function_post(outtab, def)
|
||||
end
|
||||
until true
|
||||
end
|
||||
return table.concat(outtab)
|
||||
@@ -2720,16 +2426,13 @@ local function func_header_generate_structs(FP)
|
||||
|
||||
local outtab = {}
|
||||
|
||||
table_do_sorted(FP.embeded_structs,function(k,v)
|
||||
table.insert(outtab,"typedef "..v.." "..k..";\n")
|
||||
end)
|
||||
table_do_sorted(FP.embeded_structs,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
|
||||
|
||||
table_do_sorted(FP.embeded_enums,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
|
||||
|
||||
table_do_sorted(FP.templates,function(ttype,v)
|
||||
table_do_sorted(v,function(ttypein,te)
|
||||
local ttype2 = ttype:gsub("::","_") --std::string
|
||||
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype2.."_"..te..";\n")
|
||||
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype.."_"..te..";\n")
|
||||
end)
|
||||
end)
|
||||
return outtab
|
||||
@@ -2758,9 +2461,6 @@ local function func_header_generate_funcs(FP)
|
||||
if def.constructor then
|
||||
assert(def.stname ~= "","constructor without struct")
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
if FP.CONSTRUCTORS_GENERATION then
|
||||
outtab[#outtab] = outtab[#outtab].."\nCIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..");\n"
|
||||
end
|
||||
elseif def.destructor then
|
||||
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
else --not constructor
|
||||
@@ -2772,13 +2472,9 @@ local function func_header_generate_funcs(FP)
|
||||
end
|
||||
end
|
||||
end
|
||||
if FP.custom_function_post then
|
||||
FP:custom_function_post(outtab, def)
|
||||
end
|
||||
else --not cimguiname
|
||||
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return outtab
|
||||
|
@@ -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;
|
||||
::process files
|
||||
:: 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
|
||||
:: "constructors" adds the _Construct version of constructors
|
||||
:: examples: "" "internal" "internal comments"
|
||||
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG)
|
||||
::-DIMGUI_USE_WCHAR32 should not be used (is discarded)
|
||||
luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 sdl3 -DIMGUI_USE_WCHAR32 %*
|
||||
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
|
||||
:: examples: "" "internal" "internal freetype comments"
|
||||
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 %*
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
@@ -7,9 +7,8 @@ assert(bit,"Must use LuaJIT")
|
||||
local script_args = {...}
|
||||
local COMPILER = script_args[1]
|
||||
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 CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or false
|
||||
local NOCHAR = script_args[2]:match("nochar") and true or false
|
||||
local NOIMSTRV = script_args[2]:match("noimstrv") and true or false
|
||||
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
|
||||
@@ -19,9 +18,6 @@ local CPRE,CTEST
|
||||
local implementations = {}
|
||||
for i=3,#script_args do
|
||||
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("^(.+)=(.+)$")
|
||||
if key and value then
|
||||
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
|
||||
@@ -34,11 +30,11 @@ for i=3,#script_args do
|
||||
end
|
||||
|
||||
if FREETYPE_GENERATION then
|
||||
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE" --both builders
|
||||
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
|
||||
end
|
||||
|
||||
if COMPILER == "gcc" or COMPILER == "clang" or COMPILER == "zig cc" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
CTEST = COMPILER.." --version"
|
||||
elseif COMPILER == "cl" then
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
@@ -71,7 +67,6 @@ print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
|
||||
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
|
||||
print("COMMENTS_GENERATION",COMMENTS_GENERATION)
|
||||
print("CONSTRUCTORS_GENERATION",CONSTRUCTORS_GENERATION)
|
||||
print("CPRE",CPRE)
|
||||
--------------------------------------------------------------------------
|
||||
--this table has the functions to be skipped in generation
|
||||
@@ -217,27 +212,6 @@ local function DefsByStruct(FP)
|
||||
FP.defsBystruct = structs
|
||||
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
|
||||
local function cimgui_generation(parser)
|
||||
@@ -276,36 +250,24 @@ local function cimgui_generation(parser)
|
||||
if gdefines.IMGUI_HAS_DOCK then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
|
||||
end
|
||||
if gdefines.ImDrawCallback_ResetRenderState then
|
||||
cstructsstr = cstructsstr.."\n#define ImDrawCallback_ResetRenderState "..gdefines.ImDrawCallback_ResetRenderState.."\n"
|
||||
end
|
||||
if gdefines.IMGUI_HAS_IMSTR then
|
||||
if not (NOCHAR or NOIMSTRV) then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
|
||||
end
|
||||
end
|
||||
|
||||
cstructsstr = colapse_defines(cstructsstr, "IMGUI_ENABLE_FREETYPE")
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||
local cfuncsstr = func_header_generate(parser)
|
||||
cfuncsstr = colapse_defines(cfuncsstr, "IMGUI_ENABLE_FREETYPE")
|
||||
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)
|
||||
|
||||
--merge it in cimgui_template.cpp to cimgui.cpp
|
||||
local cimplem = func_implementation(parser)
|
||||
cimplem = colapse_defines(cimplem, "IMGUI_ENABLE_FREETYPE")
|
||||
|
||||
local hstrfile = read_data"./cimgui_template.cpp"
|
||||
|
||||
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)
|
||||
|
||||
end
|
||||
@@ -314,8 +276,8 @@ end
|
||||
--------------------------------------------------------
|
||||
--get imgui.h version and IMGUI_HAS_DOCK--------------------------
|
||||
--defines for the cl compiler must be present in the print_defines.cpp file
|
||||
gdefines = get_defines{"IMGUI_VERSION","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR","ImDrawCallback_ResetRenderState"}
|
||||
--cpp2ffi.prtable(gdefines)
|
||||
gdefines = get_defines{"IMGUI_VERSION","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
|
||||
|
||||
if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
|
||||
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
|
||||
|
||||
@@ -340,20 +302,6 @@ print("NOIMSTRV",NOIMSTRV)
|
||||
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
|
||||
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
|
||||
local function parseImGuiHeader(header,names)
|
||||
@@ -365,17 +313,13 @@ local function parseImGuiHeader(header,names)
|
||||
return pre..funcname
|
||||
end
|
||||
parser.cname_overloads = cimgui_overloads
|
||||
--parser.manuals = cimgui_manuals
|
||||
parser:set_manuals(cimgui_manuals, "cimgui")
|
||||
parser.manuals = cimgui_manuals
|
||||
parser.skipped = cimgui_skipped
|
||||
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
|
||||
--parser.gen_template_typedef = gen_template_typedef --use auto
|
||||
parser.COMMENTS_GENERATION = COMMENTS_GENERATION
|
||||
parser.CONSTRUCTORS_GENERATION = CONSTRUCTORS_GENERATION
|
||||
parser.NOCHAR = NOCHAR
|
||||
parser.NOIMSTRV = NOIMSTRV
|
||||
parser.custom_function_post = custom_function_post
|
||||
parser.header_text_insert = header_text_insert
|
||||
local defines = parser:take_lines(CPRE..header,names,COMPILER)
|
||||
|
||||
return parser
|
||||
|
@@ -13,11 +13,9 @@
|
||||
|
||||
#process files
|
||||
# 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
|
||||
# "constructors" adds the _Construct version of constructors
|
||||
# examples: "" "internal" "comments internal"
|
||||
# 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
|
||||
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
|
||||
# examples: "" "internal" "internal freetype" "comments internal"
|
||||
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
#
|
||||
|
||||
# parse command line arguments
|
||||
@@ -25,7 +23,7 @@
|
||||
POSITIONAL_ARGS=()
|
||||
|
||||
TARGETS="internal noimstrv"
|
||||
CFLAGS="glfw opengl3 opengl2 sdl2 sdl3"
|
||||
CFLAGS="glfw opengl3 opengl2 sdl2"
|
||||
|
||||
help() {
|
||||
cat <<EOF
|
||||
|
@@ -19,7 +19,6 @@ CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,
|
||||
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
|
||||
@@ -48,12 +47,9 @@ CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
||||
|
||||
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;CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
|
||||
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);
|
||||
@@ -62,28 +58,5 @@ 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
|
||||
|
||||
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;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
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CharCallback",
|
||||
"location": "imgui_impl_glfw:61",
|
||||
"location": "imgui_impl_glfw:47",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,unsigned int)",
|
||||
@@ -42,7 +42,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"location": "imgui_impl_glfw:56",
|
||||
"location": "imgui_impl_glfw:42",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
@@ -71,7 +71,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"location": "imgui_impl_glfw:57",
|
||||
"location": "imgui_impl_glfw:43",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
@@ -96,7 +96,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"location": "imgui_impl_glfw:32",
|
||||
"location": "imgui_impl_glfw:24",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -121,7 +121,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOther",
|
||||
"location": "imgui_impl_glfw:34",
|
||||
"location": "imgui_impl_glfw:26",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -146,7 +146,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"location": "imgui_impl_glfw:33",
|
||||
"location": "imgui_impl_glfw:25",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -167,7 +167,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"location": "imgui_impl_glfw:47",
|
||||
"location": "imgui_impl_glfw:33",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
@@ -204,7 +204,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"location": "imgui_impl_glfw:60",
|
||||
"location": "imgui_impl_glfw:46",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int,int)",
|
||||
@@ -229,7 +229,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"location": "imgui_impl_glfw:62",
|
||||
"location": "imgui_impl_glfw:48",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWmonitor*,int)",
|
||||
@@ -262,7 +262,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"location": "imgui_impl_glfw:58",
|
||||
"location": "imgui_impl_glfw:44",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int)",
|
||||
@@ -278,7 +278,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_NewFrame",
|
||||
"location": "imgui_impl_glfw:36",
|
||||
"location": "imgui_impl_glfw:28",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -299,7 +299,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"location": "imgui_impl_glfw:48",
|
||||
"location": "imgui_impl_glfw:34",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
@@ -328,7 +328,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"location": "imgui_impl_glfw:59",
|
||||
"location": "imgui_impl_glfw:45",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
@@ -349,7 +349,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"location": "imgui_impl_glfw:52",
|
||||
"location": "imgui_impl_glfw:38",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"ret": "void",
|
||||
"signature": "(bool)",
|
||||
@@ -365,34 +365,13 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Shutdown",
|
||||
"location": "imgui_impl_glfw:35",
|
||||
"location": "imgui_impl_glfw:27",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_Sleep": [
|
||||
{
|
||||
"args": "(int milliseconds)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "milliseconds",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(int milliseconds)",
|
||||
"call_args": "(milliseconds)",
|
||||
"cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Sleep",
|
||||
"location": "imgui_impl_glfw:65",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"ret": "void",
|
||||
"signature": "(int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_WindowFocusCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int focused)",
|
||||
@@ -411,7 +390,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"location": "imgui_impl_glfw:55",
|
||||
"location": "imgui_impl_glfw:41",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
@@ -427,7 +406,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:39",
|
||||
"location": "imgui_impl_opengl2:32",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -443,7 +422,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl2:37",
|
||||
"location": "imgui_impl_opengl2:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -459,7 +438,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:40",
|
||||
"location": "imgui_impl_opengl2:33",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -475,7 +454,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl2:38",
|
||||
"location": "imgui_impl_opengl2:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -491,7 +470,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Init",
|
||||
"location": "imgui_impl_opengl2:31",
|
||||
"location": "imgui_impl_opengl2:24",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -507,7 +486,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"location": "imgui_impl_opengl2:33",
|
||||
"location": "imgui_impl_opengl2:26",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -528,7 +507,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"location": "imgui_impl_opengl2:34",
|
||||
"location": "imgui_impl_opengl2:27",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -544,7 +523,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"location": "imgui_impl_opengl2:32",
|
||||
"location": "imgui_impl_opengl2:25",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -560,7 +539,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:42",
|
||||
"location": "imgui_impl_opengl3:38",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -576,7 +555,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl3:40",
|
||||
"location": "imgui_impl_opengl3:36",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -592,7 +571,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:43",
|
||||
"location": "imgui_impl_opengl3:39",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -608,7 +587,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl3:41",
|
||||
"location": "imgui_impl_opengl3:37",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -631,7 +610,7 @@
|
||||
"glsl_version": "nullptr"
|
||||
},
|
||||
"funcname": "ImGui_ImplOpenGL3_Init",
|
||||
"location": "imgui_impl_opengl3:34",
|
||||
"location": "imgui_impl_opengl3:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"ret": "bool",
|
||||
"signature": "(const char*)",
|
||||
@@ -647,7 +626,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"location": "imgui_impl_opengl3:36",
|
||||
"location": "imgui_impl_opengl3:32",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -668,7 +647,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"location": "imgui_impl_opengl3:37",
|
||||
"location": "imgui_impl_opengl3:33",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -684,7 +663,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"location": "imgui_impl_opengl3:35",
|
||||
"location": "imgui_impl_opengl3:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -705,7 +684,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"location": "imgui_impl_sdl2:37",
|
||||
"location": "imgui_impl_sdl2:28",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -726,7 +705,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"location": "imgui_impl_sdl2:38",
|
||||
"location": "imgui_impl_sdl2:29",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -751,7 +730,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"location": "imgui_impl_sdl2:35",
|
||||
"location": "imgui_impl_sdl2:26",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,void*)",
|
||||
@@ -772,7 +751,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForOther",
|
||||
"location": "imgui_impl_sdl2:40",
|
||||
"location": "imgui_impl_sdl2:31",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -797,7 +776,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"location": "imgui_impl_sdl2:39",
|
||||
"location": "imgui_impl_sdl2:30",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,SDL_Renderer*)",
|
||||
@@ -818,7 +797,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"location": "imgui_impl_sdl2:36",
|
||||
"location": "imgui_impl_sdl2:27",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -834,7 +813,7 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_NewFrame",
|
||||
"location": "imgui_impl_sdl2:42",
|
||||
"location": "imgui_impl_sdl2:33",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -855,45 +834,13 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"location": "imgui_impl_sdl2:43",
|
||||
"location": "imgui_impl_sdl2:34",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"ret": "bool",
|
||||
"signature": "(const SDL_Event*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_SetGamepadMode": [
|
||||
{
|
||||
"args": "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array,int manual_gamepads_count)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": "ImGui_ImplSDL2_GamepadMode"
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_array",
|
||||
"type": "struct _SDL_GameController**"
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_count",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)",
|
||||
"call_args": "(mode,manual_gamepads_array,manual_gamepads_count)",
|
||||
"cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"defaults": {
|
||||
"manual_gamepads_array": "nullptr",
|
||||
"manual_gamepads_count": "-1"
|
||||
},
|
||||
"funcname": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"location": "imgui_impl_sdl2:48",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"ret": "void",
|
||||
"signature": "(ImGui_ImplSDL2_GamepadMode,struct _SDL_GameController**,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
@@ -903,251 +850,11 @@
|
||||
"cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_Shutdown",
|
||||
"location": "imgui_impl_sdl2:41",
|
||||
"location": "imgui_impl_sdl2:32",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForD3D": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForD3D",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForD3D",
|
||||
"location": "imgui_impl_sdl3:36",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForD3D",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForMetal": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForMetal",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForMetal",
|
||||
"location": "imgui_impl_sdl3:37",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForMetal",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForOpenGL": [
|
||||
{
|
||||
"args": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
},
|
||||
{
|
||||
"name": "sdl_gl_context",
|
||||
"type": "void*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"call_args": "(window,sdl_gl_context)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForOpenGL",
|
||||
"location": "imgui_impl_sdl3:34",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,void*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForOther": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForOther",
|
||||
"location": "imgui_impl_sdl3:40",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForSDLGPU": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForSDLGPU",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForSDLGPU",
|
||||
"location": "imgui_impl_sdl3:39",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForSDLGPU",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForSDLRenderer": [
|
||||
{
|
||||
"args": "(SDL_Window* window,SDL_Renderer* renderer)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": "SDL_Renderer*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
|
||||
"call_args": "(window,renderer)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForSDLRenderer",
|
||||
"location": "imgui_impl_sdl3:38",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,SDL_Renderer*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_InitForVulkan": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL3_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_InitForVulkan",
|
||||
"location": "imgui_impl_sdl3:35",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL3_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_NewFrame",
|
||||
"location": "imgui_impl_sdl3:42",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_ProcessEvent": [
|
||||
{
|
||||
"args": "(const SDL_Event* event)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": "const SDL_Event*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(const SDL_Event* event)",
|
||||
"call_args": "(event)",
|
||||
"cimguiname": "ImGui_ImplSDL3_ProcessEvent",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_ProcessEvent",
|
||||
"location": "imgui_impl_sdl3:43",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_ProcessEvent",
|
||||
"ret": "bool",
|
||||
"signature": "(const SDL_Event*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_SetGamepadMode": [
|
||||
{
|
||||
"args": "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array,int manual_gamepads_count)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "mode",
|
||||
"type": "ImGui_ImplSDL3_GamepadMode"
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_array",
|
||||
"type": "SDL_Gamepad**"
|
||||
},
|
||||
{
|
||||
"name": "manual_gamepads_count",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)",
|
||||
"call_args": "(mode,manual_gamepads_array,manual_gamepads_count)",
|
||||
"cimguiname": "ImGui_ImplSDL3_SetGamepadMode",
|
||||
"defaults": {
|
||||
"manual_gamepads_array": "nullptr",
|
||||
"manual_gamepads_count": "-1"
|
||||
},
|
||||
"funcname": "ImGui_ImplSDL3_SetGamepadMode",
|
||||
"location": "imgui_impl_sdl3:48",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_SetGamepadMode",
|
||||
"ret": "void",
|
||||
"signature": "(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL3_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL3_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL3_Shutdown",
|
||||
"location": "imgui_impl_sdl3:41",
|
||||
"ov_cimguiname": "ImGui_ImplSDL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ ImColor_ImColor 5
|
||||
5 nil ImColor_ImColor_U32 (ImU32)
|
||||
ImDrawList_AddText 2
|
||||
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
|
||||
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
|
||||
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
|
||||
@@ -94,8 +94,8 @@ ImVector_resize 2
|
||||
1 void ImVector_resize_Nil (int)
|
||||
2 void ImVector_resize_T (int,const T)
|
||||
igBeginChild 2
|
||||
1 bool igBeginChild_Str (const char*,const ImVec2,ImGuiChildFlags,ImGuiWindowFlags)
|
||||
2 bool igBeginChild_ID (ImGuiID,const ImVec2,ImGuiChildFlags,ImGuiWindowFlags)
|
||||
1 bool igBeginChild_Str (const char*,const ImVec2,bool,ImGuiWindowFlags)
|
||||
2 bool igBeginChild_ID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
|
||||
igCheckboxFlags 4
|
||||
1 bool igCheckboxFlags_IntPtr (const char*,int*,int)
|
||||
2 bool igCheckboxFlags_UintPtr (const char*,unsigned int*,unsigned int)
|
||||
@@ -107,19 +107,22 @@ igCollapsingHeader 2
|
||||
igCombo 3
|
||||
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igCombo_Str (const char*,int*,const char*,int)
|
||||
3 bool igCombo_FnStrPtr (const char*,int*,const char*(*)(void*,int),void*,int,int)
|
||||
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
|
||||
1 ImU32 igGetColorU32_Col (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32_Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32_U32 (ImU32,float)
|
||||
igGetForegroundDrawList 2
|
||||
1 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
|
||||
3 ImU32 igGetColorU32_U32 (ImU32)
|
||||
igGetForegroundDrawList 3
|
||||
1 ImDrawList* igGetForegroundDrawList_Nil ()
|
||||
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
|
||||
igGetID 4
|
||||
3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetID_Str (const char*)
|
||||
2 ImGuiID igGetID_StrStr (const char*,const char*)
|
||||
3 ImGuiID igGetID_Ptr (const void*)
|
||||
4 ImGuiID igGetID_Int (int)
|
||||
igGetIDWithSeed 2
|
||||
1 ImGuiID igGetIDWithSeed_Str (const char*,const char*,ImGuiID)
|
||||
2 ImGuiID igGetIDWithSeed_Int (int,ImGuiID)
|
||||
@@ -133,6 +136,9 @@ igImAbs 3
|
||||
igImFloor 2
|
||||
1 float igImFloor_Float (float)
|
||||
2 ImVec2 igImFloor_Vec2 (const ImVec2)
|
||||
igImFloorSigned 2
|
||||
1 float igImFloorSigned_Float (float)
|
||||
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
|
||||
igImIsPowerOfTwo 2
|
||||
1 bool igImIsPowerOfTwo_Int (int)
|
||||
2 bool igImIsPowerOfTwo_U64 (ImU64)
|
||||
@@ -155,27 +161,18 @@ igImRsqrt 2
|
||||
igImSign 2
|
||||
1 float igImSign_Float (float)
|
||||
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
|
||||
1 bool igIsKeyDown_Nil (ImGuiKey)
|
||||
2 bool igIsKeyDown_ID (ImGuiKey,ImGuiID)
|
||||
igIsKeyPressed 2
|
||||
1 bool igIsKeyPressed_Bool (ImGuiKey,bool)
|
||||
2 bool igIsKeyPressed_InputFlags (ImGuiKey,ImGuiInputFlags,ImGuiID)
|
||||
2 bool igIsKeyPressed_ID (ImGuiKey,ImGuiID,ImGuiInputFlags)
|
||||
igIsKeyReleased 2
|
||||
1 bool igIsKeyReleased_Nil (ImGuiKey)
|
||||
2 bool igIsKeyReleased_ID (ImGuiKey,ImGuiID)
|
||||
igIsMouseClicked 2
|
||||
1 bool igIsMouseClicked_Bool (ImGuiMouseButton,bool)
|
||||
2 bool igIsMouseClicked_InputFlags (ImGuiMouseButton,ImGuiInputFlags,ImGuiID)
|
||||
igIsMouseDoubleClicked 2
|
||||
1 bool igIsMouseDoubleClicked_Nil (ImGuiMouseButton)
|
||||
2 bool igIsMouseDoubleClicked_ID (ImGuiMouseButton,ImGuiID)
|
||||
2 bool igIsMouseClicked_ID (ImGuiMouseButton,ImGuiID,ImGuiInputFlags)
|
||||
igIsMouseDown 2
|
||||
1 bool igIsMouseDown_Nil (ImGuiMouseButton)
|
||||
2 bool igIsMouseDown_ID (ImGuiMouseButton,ImGuiID)
|
||||
@@ -193,7 +190,7 @@ igItemSize 2
|
||||
2 void igItemSize_Rect (const ImRect,float)
|
||||
igListBox 2
|
||||
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
|
||||
1 void igMarkIniSettingsDirty_Nil ()
|
||||
2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*)
|
||||
@@ -226,9 +223,6 @@ igRadioButton 2
|
||||
igSelectable 2
|
||||
1 bool igSelectable_Bool (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
|
||||
1 void igSetScrollFromPosX_Float (float,float)
|
||||
2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float)
|
||||
@@ -256,12 +250,6 @@ igSetWindowSize 3
|
||||
1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowSize_Str (const char*,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
|
||||
1 ImVec2 igTabItemCalcSize_Str (const char*,bool)
|
||||
2 ImVec2 igTabItemCalcSize_WindowPtr (ImGuiWindow*)
|
||||
@@ -293,4 +281,4 @@ igValue 4
|
||||
2 void igValue_Int (const char*,int)
|
||||
3 void igValue_Uint (const char*,unsigned int)
|
||||
4 void igValue_Float (const char*,float,const char*)
|
||||
205 overloaded
|
||||
197 overloaded
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>",
|
||||
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
|
||||
"ImBitArrayPtr": "ImU32*",
|
||||
"ImBitVector": "struct ImBitVector",
|
||||
"ImColor": "struct ImColor",
|
||||
"ImDrawCallback": "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);",
|
||||
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
|
||||
"ImDrawChannel": "struct ImDrawChannel",
|
||||
"ImDrawCmd": "struct ImDrawCmd",
|
||||
"ImDrawCmdHeader": "struct ImDrawCmdHeader",
|
||||
@@ -27,9 +27,7 @@
|
||||
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
|
||||
"ImGuiActivateFlags": "int",
|
||||
"ImGuiBackendFlags": "int",
|
||||
"ImGuiBoxSelectState": "struct ImGuiBoxSelectState",
|
||||
"ImGuiButtonFlags": "int",
|
||||
"ImGuiChildFlags": "int",
|
||||
"ImGuiCol": "int",
|
||||
"ImGuiColorEditFlags": "int",
|
||||
"ImGuiColorMod": "struct ImGuiColorMod",
|
||||
@@ -39,42 +37,30 @@
|
||||
"ImGuiConfigFlags": "int",
|
||||
"ImGuiContext": "struct ImGuiContext",
|
||||
"ImGuiContextHook": "struct ImGuiContextHook",
|
||||
"ImGuiContextHookCallback": "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);",
|
||||
"ImGuiDataAuthority": "int",
|
||||
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
|
||||
"ImGuiDataType": "int",
|
||||
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
|
||||
"ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage",
|
||||
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
|
||||
"ImGuiDataVarInfo": "struct ImGuiDataVarInfo",
|
||||
"ImGuiDeactivatedItemData": "struct ImGuiDeactivatedItemData",
|
||||
"ImGuiDebugAllocEntry": "struct ImGuiDebugAllocEntry",
|
||||
"ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo",
|
||||
"ImGuiDebugLogFlags": "int",
|
||||
"ImGuiDockContext": "struct ImGuiDockContext",
|
||||
"ImGuiDockNode": "struct ImGuiDockNode",
|
||||
"ImGuiDockNodeFlags": "int",
|
||||
"ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings",
|
||||
"ImGuiDockRequest": "struct ImGuiDockRequest",
|
||||
"ImGuiDir": "int",
|
||||
"ImGuiDragDropFlags": "int",
|
||||
"ImGuiErrorCallback": "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);",
|
||||
"ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState",
|
||||
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
|
||||
"ImGuiFocusRequestFlags": "int",
|
||||
"ImGuiFocusScopeData": "struct ImGuiFocusScopeData",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
"ImGuiGroupData": "struct ImGuiGroupData",
|
||||
"ImGuiHoveredFlags": "int",
|
||||
"ImGuiID": "unsigned int",
|
||||
"ImGuiIDStackTool": "struct ImGuiIDStackTool",
|
||||
"ImGuiIO": "struct ImGuiIO",
|
||||
"ImGuiInputEvent": "struct ImGuiInputEvent",
|
||||
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
|
||||
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
|
||||
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
|
||||
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
|
||||
"ImGuiInputEventMouseViewport": "struct ImGuiInputEventMouseViewport",
|
||||
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
|
||||
"ImGuiInputEventText": "struct ImGuiInputEventText",
|
||||
"ImGuiInputFlags": "int",
|
||||
"ImGuiInputTextCallback": "int (*)(ImGuiInputTextCallbackData* data);",
|
||||
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
|
||||
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
|
||||
"ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData",
|
||||
"ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState",
|
||||
@@ -94,20 +80,16 @@
|
||||
"ImGuiListClipperData": "struct ImGuiListClipperData",
|
||||
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
|
||||
"ImGuiLocEntry": "struct ImGuiLocEntry",
|
||||
"ImGuiLogFlags": "int",
|
||||
"ImGuiMemAllocFunc": "void* (*)(size_t sz, void* user_data);",
|
||||
"ImGuiMemFreeFunc": "void (*)(void* ptr, void* user_data);",
|
||||
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
|
||||
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
|
||||
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
|
||||
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
|
||||
"ImGuiMouseButton": "int",
|
||||
"ImGuiMouseCursor": "int",
|
||||
"ImGuiMultiSelectFlags": "int",
|
||||
"ImGuiMultiSelectIO": "struct ImGuiMultiSelectIO",
|
||||
"ImGuiMultiSelectState": "struct ImGuiMultiSelectState",
|
||||
"ImGuiMultiSelectTempData": "struct ImGuiMultiSelectTempData",
|
||||
"ImGuiNavHighlightFlags": "int",
|
||||
"ImGuiNavItemData": "struct ImGuiNavItemData",
|
||||
"ImGuiNavMoveFlags": "int",
|
||||
"ImGuiNavRenderCursorFlags": "int",
|
||||
"ImGuiNavTreeNodeData": "struct ImGuiNavTreeNodeData",
|
||||
"ImGuiNextItemData": "struct ImGuiNextItemData",
|
||||
"ImGuiNextItemDataFlags": "int",
|
||||
"ImGuiNextWindowData": "struct ImGuiNextWindowData",
|
||||
@@ -117,25 +99,22 @@
|
||||
"ImGuiOldColumns": "struct ImGuiOldColumns",
|
||||
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
|
||||
"ImGuiPayload": "struct ImGuiPayload",
|
||||
"ImGuiPlatformIO": "struct ImGuiPlatformIO",
|
||||
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
|
||||
"ImGuiPlatformMonitor": "struct ImGuiPlatformMonitor",
|
||||
"ImGuiPopupData": "struct ImGuiPopupData",
|
||||
"ImGuiPopupFlags": "int",
|
||||
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
|
||||
"ImGuiScrollFlags": "int",
|
||||
"ImGuiSelectableFlags": "int",
|
||||
"ImGuiSelectionBasicStorage": "struct ImGuiSelectionBasicStorage",
|
||||
"ImGuiSelectionExternalStorage": "struct ImGuiSelectionExternalStorage",
|
||||
"ImGuiSelectionRequest": "struct ImGuiSelectionRequest",
|
||||
"ImGuiSelectionUserData": "ImS64",
|
||||
"ImGuiSeparatorFlags": "int",
|
||||
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
|
||||
"ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem",
|
||||
"ImGuiSizeCallback": "void (*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiSliderFlags": "int",
|
||||
"ImGuiSortDirection": "int",
|
||||
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
|
||||
"ImGuiStackSizes": "struct ImGuiStackSizes",
|
||||
"ImGuiStackTool": "struct ImGuiStackTool",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStoragePair": "struct ImGuiStoragePair",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
@@ -156,7 +135,6 @@
|
||||
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
|
||||
"ImGuiTableDrawChannelIdx": "ImU16",
|
||||
"ImGuiTableFlags": "int",
|
||||
"ImGuiTableHeaderData": "struct ImGuiTableHeaderData",
|
||||
"ImGuiTableInstanceData": "struct ImGuiTableInstanceData",
|
||||
"ImGuiTableRowFlags": "int",
|
||||
"ImGuiTableSettings": "struct ImGuiTableSettings",
|
||||
@@ -169,18 +147,11 @@
|
||||
"ImGuiTextRange": "struct ImGuiTextRange",
|
||||
"ImGuiTooltipFlags": "int",
|
||||
"ImGuiTreeNodeFlags": "int",
|
||||
"ImGuiTreeNodeStackData": "struct ImGuiTreeNodeStackData",
|
||||
"ImGuiTypingSelectFlags": "int",
|
||||
"ImGuiTypingSelectRequest": "struct ImGuiTypingSelectRequest",
|
||||
"ImGuiTypingSelectState": "struct ImGuiTypingSelectState",
|
||||
"ImGuiViewport": "struct ImGuiViewport",
|
||||
"ImGuiViewportFlags": "int",
|
||||
"ImGuiViewportP": "struct ImGuiViewportP",
|
||||
"ImGuiWindow": "struct ImGuiWindow",
|
||||
"ImGuiWindowClass": "struct ImGuiWindowClass",
|
||||
"ImGuiWindowDockStyle": "struct ImGuiWindowDockStyle",
|
||||
"ImGuiWindowFlags": "int",
|
||||
"ImGuiWindowRefreshFlags": "int",
|
||||
"ImGuiWindowSettings": "struct ImGuiWindowSettings",
|
||||
"ImGuiWindowStackData": "struct ImGuiWindowStackData",
|
||||
"ImGuiWindowTempData": "struct ImGuiWindowTempData",
|
||||
@@ -190,8 +161,7 @@
|
||||
"ImS32": "signed int",
|
||||
"ImS64": "signed long long",
|
||||
"ImS8": "signed char",
|
||||
"ImStbTexteditState": "ImStb::STB_TexteditState",
|
||||
"ImTextureID": "ImU64",
|
||||
"ImTextureID": "void*",
|
||||
"ImU16": "unsigned short",
|
||||
"ImU32": "unsigned int",
|
||||
"ImU64": "unsigned long long",
|
||||
@@ -203,5 +173,11 @@
|
||||
"ImWchar": "ImWchar16",
|
||||
"ImWchar16": "unsigned short",
|
||||
"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"
|
||||
}
|
@@ -1,207 +1,184 @@
|
||||
local t={
|
||||
ImBitArrayForNamedKeys="ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>",
|
||||
ImBitArrayPtr="ImU32*",
|
||||
ImBitVector="struct ImBitVector",
|
||||
ImColor="struct ImColor",
|
||||
ImDrawCallback="void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);",
|
||||
ImDrawChannel="struct ImDrawChannel",
|
||||
ImDrawCmd="struct ImDrawCmd",
|
||||
ImDrawCmdHeader="struct ImDrawCmdHeader",
|
||||
ImDrawData="struct ImDrawData",
|
||||
ImDrawDataBuilder="struct ImDrawDataBuilder",
|
||||
ImDrawFlags="int",
|
||||
ImDrawIdx="unsigned short",
|
||||
ImDrawList="struct ImDrawList",
|
||||
ImDrawListFlags="int",
|
||||
ImDrawListSharedData="struct ImDrawListSharedData",
|
||||
ImDrawListSplitter="struct ImDrawListSplitter",
|
||||
ImDrawVert="struct ImDrawVert",
|
||||
ImFileHandle="FILE*",
|
||||
ImFont="struct ImFont",
|
||||
ImFontAtlas="struct ImFontAtlas",
|
||||
ImFontAtlasCustomRect="struct ImFontAtlasCustomRect",
|
||||
ImFontAtlasFlags="int",
|
||||
ImFontBuilderIO="struct ImFontBuilderIO",
|
||||
ImFontConfig="struct ImFontConfig",
|
||||
ImFontGlyph="struct ImFontGlyph",
|
||||
ImFontGlyphRangesBuilder="struct ImFontGlyphRangesBuilder",
|
||||
ImGuiActivateFlags="int",
|
||||
ImGuiBackendFlags="int",
|
||||
ImGuiBoxSelectState="struct ImGuiBoxSelectState",
|
||||
ImGuiButtonFlags="int",
|
||||
ImGuiChildFlags="int",
|
||||
ImGuiCol="int",
|
||||
ImGuiColorEditFlags="int",
|
||||
ImGuiColorMod="struct ImGuiColorMod",
|
||||
ImGuiComboFlags="int",
|
||||
ImGuiComboPreviewData="struct ImGuiComboPreviewData",
|
||||
ImGuiCond="int",
|
||||
ImGuiConfigFlags="int",
|
||||
ImGuiContext="struct ImGuiContext",
|
||||
ImGuiContextHook="struct ImGuiContextHook",
|
||||
ImGuiContextHookCallback="void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);",
|
||||
ImGuiDataAuthority="int",
|
||||
ImGuiDataType="int",
|
||||
ImGuiDataTypeInfo="struct ImGuiDataTypeInfo",
|
||||
ImGuiDataTypeStorage="struct ImGuiDataTypeStorage",
|
||||
ImGuiDataVarInfo="struct ImGuiDataVarInfo",
|
||||
ImGuiDeactivatedItemData="struct ImGuiDeactivatedItemData",
|
||||
ImGuiDebugAllocEntry="struct ImGuiDebugAllocEntry",
|
||||
ImGuiDebugAllocInfo="struct ImGuiDebugAllocInfo",
|
||||
ImGuiDebugLogFlags="int",
|
||||
ImGuiDockContext="struct ImGuiDockContext",
|
||||
ImGuiDockNode="struct ImGuiDockNode",
|
||||
ImGuiDockNodeFlags="int",
|
||||
ImGuiDockNodeSettings="struct ImGuiDockNodeSettings",
|
||||
ImGuiDockRequest="struct ImGuiDockRequest",
|
||||
ImGuiDragDropFlags="int",
|
||||
ImGuiErrorCallback="void (*)(ImGuiContext* ctx, void* user_data, const char* msg);",
|
||||
ImGuiErrorRecoveryState="struct ImGuiErrorRecoveryState",
|
||||
ImGuiFocusRequestFlags="int",
|
||||
ImGuiFocusScopeData="struct ImGuiFocusScopeData",
|
||||
ImGuiFocusedFlags="int",
|
||||
ImGuiGroupData="struct ImGuiGroupData",
|
||||
ImGuiHoveredFlags="int",
|
||||
ImGuiID="unsigned int",
|
||||
ImGuiIDStackTool="struct ImGuiIDStackTool",
|
||||
ImGuiIO="struct ImGuiIO",
|
||||
ImGuiInputEvent="struct ImGuiInputEvent",
|
||||
ImGuiInputEventAppFocused="struct ImGuiInputEventAppFocused",
|
||||
ImGuiInputEventKey="struct ImGuiInputEventKey",
|
||||
ImGuiInputEventMouseButton="struct ImGuiInputEventMouseButton",
|
||||
ImGuiInputEventMousePos="struct ImGuiInputEventMousePos",
|
||||
ImGuiInputEventMouseViewport="struct ImGuiInputEventMouseViewport",
|
||||
ImGuiInputEventMouseWheel="struct ImGuiInputEventMouseWheel",
|
||||
ImGuiInputEventText="struct ImGuiInputEventText",
|
||||
ImGuiInputFlags="int",
|
||||
ImGuiInputTextCallback="int (*)(ImGuiInputTextCallbackData* data);",
|
||||
ImGuiInputTextCallbackData="struct ImGuiInputTextCallbackData",
|
||||
ImGuiInputTextDeactivateData="struct ImGuiInputTextDeactivateData",
|
||||
ImGuiInputTextDeactivatedState="struct ImGuiInputTextDeactivatedState",
|
||||
ImGuiInputTextFlags="int",
|
||||
ImGuiInputTextState="struct ImGuiInputTextState",
|
||||
ImGuiItemFlags="int",
|
||||
ImGuiItemStatusFlags="int",
|
||||
ImGuiKeyChord="int",
|
||||
ImGuiKeyData="struct ImGuiKeyData",
|
||||
ImGuiKeyOwnerData="struct ImGuiKeyOwnerData",
|
||||
ImGuiKeyRoutingData="struct ImGuiKeyRoutingData",
|
||||
ImGuiKeyRoutingIndex="ImS16",
|
||||
ImGuiKeyRoutingTable="struct ImGuiKeyRoutingTable",
|
||||
ImGuiLastItemData="struct ImGuiLastItemData",
|
||||
ImGuiLayoutType="int",
|
||||
ImGuiListClipper="struct ImGuiListClipper",
|
||||
ImGuiListClipperData="struct ImGuiListClipperData",
|
||||
ImGuiListClipperRange="struct ImGuiListClipperRange",
|
||||
ImGuiLocEntry="struct ImGuiLocEntry",
|
||||
ImGuiLogFlags="int",
|
||||
ImGuiMemAllocFunc="void* (*)(size_t sz, void* user_data);",
|
||||
ImGuiMemFreeFunc="void (*)(void* ptr, void* user_data);",
|
||||
ImGuiMenuColumns="struct ImGuiMenuColumns",
|
||||
ImGuiMetricsConfig="struct ImGuiMetricsConfig",
|
||||
ImGuiMouseButton="int",
|
||||
ImGuiMouseCursor="int",
|
||||
ImGuiMultiSelectFlags="int",
|
||||
ImGuiMultiSelectIO="struct ImGuiMultiSelectIO",
|
||||
ImGuiMultiSelectState="struct ImGuiMultiSelectState",
|
||||
ImGuiMultiSelectTempData="struct ImGuiMultiSelectTempData",
|
||||
ImGuiNavItemData="struct ImGuiNavItemData",
|
||||
ImGuiNavMoveFlags="int",
|
||||
ImGuiNavRenderCursorFlags="int",
|
||||
ImGuiNextItemData="struct ImGuiNextItemData",
|
||||
ImGuiNextItemDataFlags="int",
|
||||
ImGuiNextWindowData="struct ImGuiNextWindowData",
|
||||
ImGuiNextWindowDataFlags="int",
|
||||
ImGuiOldColumnData="struct ImGuiOldColumnData",
|
||||
ImGuiOldColumnFlags="int",
|
||||
ImGuiOldColumns="struct ImGuiOldColumns",
|
||||
ImGuiOnceUponAFrame="struct ImGuiOnceUponAFrame",
|
||||
ImGuiPayload="struct ImGuiPayload",
|
||||
ImGuiPlatformIO="struct ImGuiPlatformIO",
|
||||
ImGuiPlatformImeData="struct ImGuiPlatformImeData",
|
||||
ImGuiPlatformMonitor="struct ImGuiPlatformMonitor",
|
||||
ImGuiPopupData="struct ImGuiPopupData",
|
||||
ImGuiPopupFlags="int",
|
||||
ImGuiPtrOrIndex="struct ImGuiPtrOrIndex",
|
||||
ImGuiScrollFlags="int",
|
||||
ImGuiSelectableFlags="int",
|
||||
ImGuiSelectionBasicStorage="struct ImGuiSelectionBasicStorage",
|
||||
ImGuiSelectionExternalStorage="struct ImGuiSelectionExternalStorage",
|
||||
ImGuiSelectionRequest="struct ImGuiSelectionRequest",
|
||||
ImGuiSelectionUserData="ImS64",
|
||||
ImGuiSeparatorFlags="int",
|
||||
ImGuiSettingsHandler="struct ImGuiSettingsHandler",
|
||||
ImGuiShrinkWidthItem="struct ImGuiShrinkWidthItem",
|
||||
ImGuiSizeCallback="void (*)(ImGuiSizeCallbackData* data);",
|
||||
ImGuiSizeCallbackData="struct ImGuiSizeCallbackData",
|
||||
ImGuiSliderFlags="int",
|
||||
ImGuiStackLevelInfo="struct ImGuiStackLevelInfo",
|
||||
ImGuiStorage="struct ImGuiStorage",
|
||||
ImGuiStoragePair="struct ImGuiStoragePair",
|
||||
ImGuiStyle="struct ImGuiStyle",
|
||||
ImGuiStyleMod="struct ImGuiStyleMod",
|
||||
ImGuiStyleVar="int",
|
||||
ImGuiTabBar="struct ImGuiTabBar",
|
||||
ImGuiTabBarFlags="int",
|
||||
ImGuiTabItem="struct ImGuiTabItem",
|
||||
ImGuiTabItemFlags="int",
|
||||
ImGuiTable="struct ImGuiTable",
|
||||
ImGuiTableBgTarget="int",
|
||||
ImGuiTableCellData="struct ImGuiTableCellData",
|
||||
ImGuiTableColumn="struct ImGuiTableColumn",
|
||||
ImGuiTableColumnFlags="int",
|
||||
ImGuiTableColumnIdx="ImS16",
|
||||
ImGuiTableColumnSettings="struct ImGuiTableColumnSettings",
|
||||
ImGuiTableColumnSortSpecs="struct ImGuiTableColumnSortSpecs",
|
||||
ImGuiTableColumnsSettings="struct ImGuiTableColumnsSettings",
|
||||
ImGuiTableDrawChannelIdx="ImU16",
|
||||
ImGuiTableFlags="int",
|
||||
ImGuiTableHeaderData="struct ImGuiTableHeaderData",
|
||||
ImGuiTableInstanceData="struct ImGuiTableInstanceData",
|
||||
ImGuiTableRowFlags="int",
|
||||
ImGuiTableSettings="struct ImGuiTableSettings",
|
||||
ImGuiTableSortSpecs="struct ImGuiTableSortSpecs",
|
||||
ImGuiTableTempData="struct ImGuiTableTempData",
|
||||
ImGuiTextBuffer="struct ImGuiTextBuffer",
|
||||
ImGuiTextFilter="struct ImGuiTextFilter",
|
||||
ImGuiTextFlags="int",
|
||||
ImGuiTextIndex="struct ImGuiTextIndex",
|
||||
ImGuiTextRange="struct ImGuiTextRange",
|
||||
ImGuiTooltipFlags="int",
|
||||
ImGuiTreeNodeFlags="int",
|
||||
ImGuiTreeNodeStackData="struct ImGuiTreeNodeStackData",
|
||||
ImGuiTypingSelectFlags="int",
|
||||
ImGuiTypingSelectRequest="struct ImGuiTypingSelectRequest",
|
||||
ImGuiTypingSelectState="struct ImGuiTypingSelectState",
|
||||
ImGuiViewport="struct ImGuiViewport",
|
||||
ImGuiViewportFlags="int",
|
||||
ImGuiViewportP="struct ImGuiViewportP",
|
||||
ImGuiWindow="struct ImGuiWindow",
|
||||
ImGuiWindowClass="struct ImGuiWindowClass",
|
||||
ImGuiWindowDockStyle="struct ImGuiWindowDockStyle",
|
||||
ImGuiWindowFlags="int",
|
||||
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
|
||||
local defs = {}
|
||||
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
|
||||
defs["ImBitArrayPtr"] = "ImU32*"
|
||||
defs["ImBitVector"] = "struct ImBitVector"
|
||||
defs["ImColor"] = "struct ImColor"
|
||||
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
|
||||
defs["ImDrawChannel"] = "struct ImDrawChannel"
|
||||
defs["ImDrawCmd"] = "struct ImDrawCmd"
|
||||
defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
|
||||
defs["ImDrawData"] = "struct ImDrawData"
|
||||
defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
|
||||
defs["ImDrawFlags"] = "int"
|
||||
defs["ImDrawIdx"] = "unsigned short"
|
||||
defs["ImDrawList"] = "struct ImDrawList"
|
||||
defs["ImDrawListFlags"] = "int"
|
||||
defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
|
||||
defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
|
||||
defs["ImDrawVert"] = "struct ImDrawVert"
|
||||
defs["ImFileHandle"] = "FILE*"
|
||||
defs["ImFont"] = "struct ImFont"
|
||||
defs["ImFontAtlas"] = "struct ImFontAtlas"
|
||||
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
|
||||
defs["ImFontAtlasFlags"] = "int"
|
||||
defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
|
||||
defs["ImFontConfig"] = "struct ImFontConfig"
|
||||
defs["ImFontGlyph"] = "struct ImFontGlyph"
|
||||
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
|
||||
defs["ImGuiActivateFlags"] = "int"
|
||||
defs["ImGuiBackendFlags"] = "int"
|
||||
defs["ImGuiButtonFlags"] = "int"
|
||||
defs["ImGuiCol"] = "int"
|
||||
defs["ImGuiColorEditFlags"] = "int"
|
||||
defs["ImGuiColorMod"] = "struct ImGuiColorMod"
|
||||
defs["ImGuiComboFlags"] = "int"
|
||||
defs["ImGuiComboPreviewData"] = "struct ImGuiComboPreviewData"
|
||||
defs["ImGuiCond"] = "int"
|
||||
defs["ImGuiConfigFlags"] = "int"
|
||||
defs["ImGuiContext"] = "struct ImGuiContext"
|
||||
defs["ImGuiContextHook"] = "struct ImGuiContextHook"
|
||||
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
|
||||
defs["ImGuiDataType"] = "int"
|
||||
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
|
||||
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
|
||||
defs["ImGuiDataVarInfo"] = "struct ImGuiDataVarInfo"
|
||||
defs["ImGuiDebugLogFlags"] = "int"
|
||||
defs["ImGuiDir"] = "int"
|
||||
defs["ImGuiDragDropFlags"] = "int"
|
||||
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
|
||||
defs["ImGuiFocusRequestFlags"] = "int"
|
||||
defs["ImGuiFocusedFlags"] = "int"
|
||||
defs["ImGuiGroupData"] = "struct ImGuiGroupData"
|
||||
defs["ImGuiHoveredFlags"] = "int"
|
||||
defs["ImGuiID"] = "unsigned int"
|
||||
defs["ImGuiIO"] = "struct ImGuiIO"
|
||||
defs["ImGuiInputEvent"] = "struct ImGuiInputEvent"
|
||||
defs["ImGuiInputEventAppFocused"] = "struct ImGuiInputEventAppFocused"
|
||||
defs["ImGuiInputEventKey"] = "struct ImGuiInputEventKey"
|
||||
defs["ImGuiInputEventMouseButton"] = "struct ImGuiInputEventMouseButton"
|
||||
defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
|
||||
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
|
||||
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
|
||||
defs["ImGuiInputFlags"] = "int"
|
||||
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
|
||||
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
|
||||
defs["ImGuiInputTextDeactivateData"] = "struct ImGuiInputTextDeactivateData"
|
||||
defs["ImGuiInputTextDeactivatedState"] = "struct ImGuiInputTextDeactivatedState"
|
||||
defs["ImGuiInputTextFlags"] = "int"
|
||||
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
|
||||
defs["ImGuiItemFlags"] = "int"
|
||||
defs["ImGuiItemStatusFlags"] = "int"
|
||||
defs["ImGuiKeyChord"] = "int"
|
||||
defs["ImGuiKeyData"] = "struct ImGuiKeyData"
|
||||
defs["ImGuiKeyOwnerData"] = "struct ImGuiKeyOwnerData"
|
||||
defs["ImGuiKeyRoutingData"] = "struct ImGuiKeyRoutingData"
|
||||
defs["ImGuiKeyRoutingIndex"] = "ImS16"
|
||||
defs["ImGuiKeyRoutingTable"] = "struct ImGuiKeyRoutingTable"
|
||||
defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
|
||||
defs["ImGuiLayoutType"] = "int"
|
||||
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
|
||||
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
|
||||
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
|
||||
defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
|
||||
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
|
||||
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
|
||||
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
|
||||
defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
|
||||
defs["ImGuiMouseButton"] = "int"
|
||||
defs["ImGuiMouseCursor"] = "int"
|
||||
defs["ImGuiNavHighlightFlags"] = "int"
|
||||
defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
|
||||
defs["ImGuiNavMoveFlags"] = "int"
|
||||
defs["ImGuiNavTreeNodeData"] = "struct ImGuiNavTreeNodeData"
|
||||
defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
|
||||
defs["ImGuiNextItemDataFlags"] = "int"
|
||||
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
|
||||
defs["ImGuiNextWindowDataFlags"] = "int"
|
||||
defs["ImGuiOldColumnData"] = "struct ImGuiOldColumnData"
|
||||
defs["ImGuiOldColumnFlags"] = "int"
|
||||
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
|
||||
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
|
||||
defs["ImGuiPayload"] = "struct ImGuiPayload"
|
||||
defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
|
||||
defs["ImGuiPopupData"] = "struct ImGuiPopupData"
|
||||
defs["ImGuiPopupFlags"] = "int"
|
||||
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
|
||||
defs["ImGuiScrollFlags"] = "int"
|
||||
defs["ImGuiSelectableFlags"] = "int"
|
||||
defs["ImGuiSeparatorFlags"] = "int"
|
||||
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
|
||||
defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
|
||||
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiSliderFlags"] = "int"
|
||||
defs["ImGuiSortDirection"] = "int"
|
||||
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
|
||||
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
|
||||
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
defs["ImGuiStyleMod"] = "struct ImGuiStyleMod"
|
||||
defs["ImGuiStyleVar"] = "int"
|
||||
defs["ImGuiTabBar"] = "struct ImGuiTabBar"
|
||||
defs["ImGuiTabBarFlags"] = "int"
|
||||
defs["ImGuiTabItem"] = "struct ImGuiTabItem"
|
||||
defs["ImGuiTabItemFlags"] = "int"
|
||||
defs["ImGuiTable"] = "struct ImGuiTable"
|
||||
defs["ImGuiTableBgTarget"] = "int"
|
||||
defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
|
||||
defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
|
||||
defs["ImGuiTableColumnFlags"] = "int"
|
||||
defs["ImGuiTableColumnIdx"] = "ImS16"
|
||||
defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
|
||||
defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
|
||||
defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
|
||||
defs["ImGuiTableDrawChannelIdx"] = "ImU16"
|
||||
defs["ImGuiTableFlags"] = "int"
|
||||
defs["ImGuiTableInstanceData"] = "struct ImGuiTableInstanceData"
|
||||
defs["ImGuiTableRowFlags"] = "int"
|
||||
defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
|
||||
defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
|
||||
defs["ImGuiTableTempData"] = "struct ImGuiTableTempData"
|
||||
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
|
||||
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
|
||||
defs["ImGuiTextFlags"] = "int"
|
||||
defs["ImGuiTextIndex"] = "struct ImGuiTextIndex"
|
||||
defs["ImGuiTextRange"] = "struct ImGuiTextRange"
|
||||
defs["ImGuiTooltipFlags"] = "int"
|
||||
defs["ImGuiTreeNodeFlags"] = "int"
|
||||
defs["ImGuiViewport"] = "struct ImGuiViewport"
|
||||
defs["ImGuiViewportFlags"] = "int"
|
||||
defs["ImGuiViewportP"] = "struct ImGuiViewportP"
|
||||
defs["ImGuiWindow"] = "struct ImGuiWindow"
|
||||
defs["ImGuiWindowFlags"] = "int"
|
||||
defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
|
||||
defs["ImGuiWindowStackData"] = "struct ImGuiWindowStackData"
|
||||
defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData"
|
||||
defs["ImPoolIdx"] = "int"
|
||||
defs["ImRect"] = "struct ImRect"
|
||||
defs["ImS16"] = "signed short"
|
||||
defs["ImS32"] = "signed int"
|
||||
defs["ImS64"] = "signed long long"
|
||||
defs["ImS8"] = "signed char"
|
||||
defs["ImTextureID"] = "void*"
|
||||
defs["ImU16"] = "unsigned short"
|
||||
defs["ImU32"] = "unsigned int"
|
||||
defs["ImU64"] = "unsigned long long"
|
||||
defs["ImU8"] = "unsigned char"
|
||||
defs["ImVec1"] = "struct ImVec1"
|
||||
defs["ImVec2"] = "struct ImVec2"
|
||||
defs["ImVec2ih"] = "struct ImVec2ih"
|
||||
defs["ImVec4"] = "struct ImVec4"
|
||||
defs["ImWchar"] = "ImWchar16"
|
||||
defs["ImWchar16"] = "unsigned short"
|
||||
defs["ImWchar32"] = "unsigned int"
|
||||
defs["STB_TexteditState"] = "struct STB_TexteditState"
|
||||
defs["StbTexteditRow"] = "struct StbTexteditRow"
|
||||
defs["StbUndoRecord"] = "struct StbUndoRecord"
|
||||
defs["StbUndoState"] = "struct StbUndoState"
|
||||
defs["const_iterator"] = "const value_type*"
|
||||
defs["iterator"] = "value_type*"
|
||||
defs["value_type"] = "T"
|
||||
|
||||
return defs
|
@@ -8,10 +8,6 @@
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION))
|
||||
#endif
|
||||
|
||||
#ifdef IMGUI_VERSION_NUM
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION_NUM))
|
||||
#endif
|
||||
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK))
|
||||
#endif
|
||||
@@ -27,7 +23,3 @@
|
||||
#ifdef FLT_MAX
|
||||
#pragma message(CIMGUI_DEFSTRING(FLT_MAX))
|
||||
#endif
|
||||
|
||||
#ifdef ImDrawCallback_ResetRenderState
|
||||
#pragma message(CIMGUI_DEFSTRING(ImDrawCallback_ResetRenderState))
|
||||
#endif
|
||||
|
2
imgui
2
imgui
Submodule imgui updated: 11b3a7c8ca...c6e0284ac5
Reference in New Issue
Block a user