Compare commits

...

9 Commits

Author SHA1 Message Date
sonoro1234
4e3e9b5fb2 backend_test/example_sdlgpu3: thanks to @hgranthorner PR #291 with generation from cmake 2025-03-22 17:36:09 +01:00
sonoro1234
334c9fa140 generator: correct structs_and_enums.lua path 2025-03-22 11:27:36 +01:00
sonoro1234
03e6c8d1f2 pull imgui 1.91.9bdock and generate 2025-03-20 01:39:06 +01:00
sonoro1234
50c60f3da6 IMGUI_HAS_TEXTURES do nothing 2025-03-20 01:34:34 +01:00
sonoro1234
140d107be5 improve customization (see PR #290) 2025-03-18 13:20:46 +01:00
sonoro1234
c32d1c0c9b dont name igGetIO overload as the generic name of function (C++ name) solves issue #289 2025-03-15 17:51:30 +01:00
sonoro1234
3530b937f1 generation 2025-03-15 17:03:47 +01:00
Victor Bombi
bb6f212993 Merge pull request #288 from spencercw/vulkan
generator.lua: fix missing void in Vulkan function generation
2025-03-15 16:57:30 +01:00
Chris Spencer
e3af31fb9c generator.lua: fix missing void in Vulkan function generation 2025-03-15 11:57:14 +00:00
25 changed files with 2015 additions and 1676 deletions

View File

@@ -24,6 +24,8 @@
#define igButton igButton_Str
#endif
#define igGetIO igGetIO_Nil
GLFWwindow *window;
// Data

View File

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

View File

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

View File

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

View File

@@ -26,6 +26,8 @@
#define igButton igButton_Str
#endif
#define igGetIO igGetIO_Nil
#define IM_UNUSED(_VAR) ((void)(_VAR))
#define IM_ASSERT(_EXPR) assert(_EXPR)
#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR))))

View File

@@ -0,0 +1,31 @@
cmake_minimum_required(VERSION 3.30)
project(cimgui_sdlgpu3 LANGUAGES C CXX)
set(CMAKE_C_STANDARD 11)
include(FetchContent)
FetchContent_Declare(
sdl3
URL https://github.com/libsdl-org/SDL/releases/download/release-3.2.8/SDL3-3.2.8.tar.gz
)
set(SDL_TEST_LIBRARY OFF CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(sdl3)
include(GenerateCimguiBindings.cmake)
GenerateCimguiBindings(cimgui_with_backend)
add_executable(${PROJECT_NAME}
main.c
)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3 cimgui_with_backend)
target_compile_definitions(
${PROJECT_NAME}
PRIVATE
CIMGUI_DEFINE_ENUMS_AND_STRUCTS=1
CIMGUI_USE_SDL3=1
CIMGUI_USE_SDLGPU3=1
)

View File

@@ -0,0 +1,68 @@
# This downloads cimgui, configures it to generate the SDL3 and SDLGPU3 bindings,
# and adds it as a cmake target for you to link to. Feel free to copy this file
# into your project, or refit it to your needs.
function(GenerateCimguiBindings target)
include(FetchContent)
# NOTE: In your own project, you may want to pin this project to a particular commit
FetchContent_Declare(
cimgui
EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/cimgui/cimgui.git
GIT_TAG docking_inter
GIT_SUBMODULES_RECURSE true
GIT_PROGRESS true
GIT_SHALLOW true
)
FetchContent_MakeAvailable(cimgui)
file(READ ${cimgui_SOURCE_DIR}/cimgui_impl.h cimgui_impl)
# We're checking to see if the cimgui_impl.h file already has SDLGPU3 bindings,
# since this will be executed on each "configure" (whenever you run cmake)
string(FIND "${cimgui_impl}" "SDLGPU3" sdlgpu_position)
# If we don't find it, sdlgpu_position will be -1
if(sdlgpu_position EQUAL -1)
# NOTE: This requires a luajit on your path. If your binary is named different, you will
# need to modify this command
cmake_path(GET CMAKE_C_COMPILER FILENAME C_COMP)
cmake_path(REMOVE_EXTENSION C_COMP)
execute_process(
COMMAND luajit generator.lua ${C_COMP} internal sdl3 sdlgpu3 -I../imgui -I${sdl3_SOURCE_DIR}/include
WORKING_DIRECTORY ${cimgui_SOURCE_DIR}/generator
ERROR_VARIABLE error_command
RESULT_VARIABLE build_command_result
)
if(NOT ${build_command_result} EQUAL 0)
message(STATUS "cimgui generation failed: ${build_command_result}")
message(FATAL_ERROR "error_command: ${error_command}")
endif()
endif()
add_library(${target} SHARED
${cimgui_SOURCE_DIR}/cimgui.cpp
${cimgui_SOURCE_DIR}/cimgui_impl.cpp
${cimgui_SOURCE_DIR}/imgui/imgui.cpp
${cimgui_SOURCE_DIR}/imgui/imgui_draw.cpp
${cimgui_SOURCE_DIR}/imgui/imgui_demo.cpp
${cimgui_SOURCE_DIR}/imgui/imgui_widgets.cpp
${cimgui_SOURCE_DIR}/imgui/imgui_tables.cpp
${cimgui_SOURCE_DIR}/imgui/backends/imgui_impl_sdl3.cpp
${cimgui_SOURCE_DIR}/imgui/backends/imgui_impl_sdlgpu3.cpp
)
target_include_directories(${target} PUBLIC ${cimgui_SOURCE_DIR} ${cimgui_SOURCE_DIR}/generator/output)
target_include_directories(${target} PRIVATE ${cimgui_SOURCE_DIR}/imgui ${cimgui_SOURCE_DIR}/imgui/backends)
#for ASSERT working on Release mode
target_compile_definitions(${target} PUBLIC "-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
target_compile_definitions(${target} PUBLIC "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
if (WIN32)
target_compile_definitions(${target} PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
else(WIN32)
target_compile_definitions(${target} PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
endif(WIN32)
target_compile_features(${target} PRIVATE cxx_std_11)
target_link_libraries(${target} PRIVATE SDL3::SDL3)
endfunction()

View File

@@ -0,0 +1,16 @@
# SDLGPU3
This example is a little different from the others, because `cimgui` doesn't come with bindings for the SDLGPU3 backend out of the box. Instead, this example shows how to generate the necessary bindings during cmake's configure time, then add the compiled library as a target for your application to link to.
For the generation phase from cmake you need LuaJIT to be present.
## Building
From the build directory of your choice:
`cmake path_to_example_sdlgpu3`
and after
`make`

View File

@@ -0,0 +1,200 @@
#include <assert.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <SDL3/SDL.h>
#include <SDL3/SDL_gpu.h>
#include <cimgui.h>
#include <cimgui_impl.h>
#define igGetIO igGetIO_Nil
int main() {
if (!SDL_Init(SDL_INIT_VIDEO)) {
fprintf(stderr, "Failed to init video! %s", SDL_GetError());
return 1;
};
SDL_Window *window = NULL;
window = SDL_CreateWindow("cimgui SDL3+SDL_GPU example", 1280, 720, SDL_WINDOW_RESIZABLE | SDL_WINDOW_HIGH_PIXEL_DENSITY);
if (window == NULL)
{
printf("Error: SDL_CreateWindow(): %s\n", SDL_GetError());
return -1;
}
// Create GPU Device
SDL_GPUDevice* gpu_device = SDL_CreateGPUDevice(SDL_GPU_SHADERFORMAT_SPIRV | SDL_GPU_SHADERFORMAT_DXIL | SDL_GPU_SHADERFORMAT_METALLIB,true,NULL);
if (gpu_device == NULL)
{
printf("Error: SDL_CreateGPUDevice(): %s\n", SDL_GetError());
return -1;
}
// Claim window for GPU Device
if (!SDL_ClaimWindowForGPUDevice(gpu_device, window))
{
printf("Error: SDL_ClaimWindowForGPUDevice(): %s\n", SDL_GetError());
return -1;
}
SDL_SetGPUSwapchainParameters(gpu_device, window, SDL_GPU_SWAPCHAINCOMPOSITION_SDR, SDL_GPU_PRESENTMODE_MAILBOX);
// Setup Dear ImGui context
//IMGUI_CHECKVERSION();
igCreateContext(NULL);
ImGuiIO* io = igGetIO(); (void)io;
io->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
io->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
// Setup Dear ImGui style
igStyleColorsDark(NULL);
//igStyleColorsLight(NULL);
// Setup Platform/Renderer backends
ImGui_ImplSDL3_InitForSDLGPU(window);
ImGui_ImplSDLGPU3_InitInfo init_info = {};
init_info.Device = gpu_device;
init_info.ColorTargetFormat = SDL_GetGPUSwapchainTextureFormat(gpu_device, window);
init_info.MSAASamples = SDL_GPU_SAMPLECOUNT_1;
ImGui_ImplSDLGPU3_Init(&init_info);
// finish loading data
// Our state
bool show_demo_window = true;
bool show_another_window = false;
ImVec4 clear_color;
clear_color.x = 0.45f;
clear_color.y = 0.55f;
clear_color.z = 0.60f;
clear_color.w = 1.00f;
// Main loop
bool done = false;
while (!done)
{
// Poll and handle events (inputs, window resize, etc.)
// You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs.
// - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application, or clear/overwrite your copy of the mouse data.
// - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application, or clear/overwrite your copy of the keyboard data.
// Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags.
// [If using SDL_MAIN_USE_CALLBACKS: call ImGui_ImplSDL3_ProcessEvent() from your SDL_AppEvent() function]
SDL_Event event;
while (SDL_PollEvent(&event))
{
ImGui_ImplSDL3_ProcessEvent(&event);
if (event.type == SDL_EVENT_QUIT)
done = true;
if (event.type == SDL_EVENT_WINDOW_CLOSE_REQUESTED && event.window.windowID == SDL_GetWindowID(window))
done = true;
}
// [If using SDL_MAIN_USE_CALLBACKS: all code below would likely be your SDL_AppIterate() function]
if (SDL_GetWindowFlags(window) & SDL_WINDOW_MINIMIZED)
{
SDL_Delay(10);
continue;
}
// Start the Dear ImGui frame
ImGui_ImplSDLGPU3_NewFrame();
ImGui_ImplSDL3_NewFrame();
igNewFrame();
// 1. Show the big demo window (Most of the sample code is in igShowDemoWindow()! You can browse its code to learn more about Dear ImGui!).
if (show_demo_window)
igShowDemoWindow(&show_demo_window);
// 2. Show a simple window that we create ourselves. We use a Begin/End pair to create a named window.
{
static float f = 0.0f;
static int counter = 0;
igBegin("Hello, world!", NULL, 0); // Create a window called "Hello, world!" and append into it.
igText("This is some useful text."); // Display some text (you can use a format strings too)
igCheckbox("Demo Window", &show_demo_window); // Edit bools storing our window open/close state
igCheckbox("Another Window", &show_another_window);
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 0); // Edit 1 float using a slider from 0.0f to 1.0f
igColorEdit4("clear color", (float*)&clear_color, 0); // Edit 3 floats representing a color
ImVec2 buttonSize;
buttonSize.x = 0;
buttonSize.y = 0;
if (igButton("Button", buttonSize)) // Buttons return true when clicked (most widgets return true when edited/activated)
counter++;
igSameLine(0.0f, -1.0f);
igText("counter = %d", counter);
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate);
igEnd();
}
// 3. Show another simple window.
if (show_another_window)
{
igBegin("Another Window", &show_another_window, 0); // Pass a pointer to our bool variable (the window will have a closing button that will clear the bool when clicked)
igText("Hello from another window!");
ImVec2 buttonSize;
buttonSize.x = 0; buttonSize.y = 0;
if (igButton("Close Me", buttonSize))
show_another_window = false;
igEnd();
}
// Rendering
igRender();
ImDrawData* draw_data = igGetDrawData();
const bool is_minimized = (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f);
SDL_GPUCommandBuffer* command_buffer = SDL_AcquireGPUCommandBuffer(gpu_device); // Acquire a GPU command buffer
SDL_GPUTexture* swapchain_texture;
SDL_AcquireGPUSwapchainTexture(command_buffer, window, &swapchain_texture, NULL, NULL); // Acquire a swapchain texture
if (swapchain_texture != NULL && !is_minimized)
{
// This is mandatory: call Imgui_ImplSDLGPU3_PrepareDrawData() to upload the vertex/index buffer!
Imgui_ImplSDLGPU3_PrepareDrawData(draw_data, command_buffer);
// Setup and start a render pass
SDL_GPUColorTargetInfo target_info = {};
target_info.texture = swapchain_texture;
target_info.clear_color.r = clear_color.x;
target_info.clear_color.g = clear_color.y;
target_info.clear_color.b = clear_color.z;
target_info.clear_color.a = clear_color.w;
target_info.load_op = SDL_GPU_LOADOP_CLEAR;
target_info.store_op = SDL_GPU_STOREOP_STORE;
target_info.mip_level = 0;
target_info.layer_or_depth_plane = 0;
target_info.cycle = false;
SDL_GPURenderPass* render_pass = SDL_BeginGPURenderPass(command_buffer, &target_info, 1, NULL);
// Render ImGui
ImGui_ImplSDLGPU3_RenderDrawData(draw_data, command_buffer, render_pass, NULL);
SDL_EndGPURenderPass(render_pass);
}
// Submit the command buffer
SDL_SubmitGPUCommandBuffer(command_buffer);
}
// Cleanup
// [If using SDL_MAIN_USE_CALLBACKS: all code below would likely be your SDL_AppQuit() function]
SDL_WaitForGPUIdle(gpu_device);
ImGui_ImplSDL3_Shutdown();
ImGui_ImplSDLGPU3_Shutdown();
igDestroyContext(NULL);
SDL_ReleaseWindowFromGPUDevice(gpu_device, window);
SDL_DestroyGPUDevice(gpu_device);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}

View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.91.9" 19190 from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.91.9b" 19191 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//with imgui_freetype.h api
//docking branch
@@ -53,7 +53,7 @@ CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx)
{
return ImGui::SetCurrentContext(ctx);
}
CIMGUI_API ImGuiIO* igGetIO()
CIMGUI_API ImGuiIO* igGetIO_Nil()
{
return &ImGui::GetIO();
}
@@ -3999,7 +3999,7 @@ CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiT
{
return self->GetColumnSettings();
}
CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx)
CIMGUI_API ImGuiIO* igGetIO_ContextPtr(ImGuiContext* ctx)
{
return &ImGui::GetIO(ctx);
}

View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.91.9" 19190 from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.91.9b" 19191 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//with imgui_freetype.h api
//docking branch
@@ -214,8 +214,6 @@ typedef int ImGuiTableRowFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags;
typedef ImU64 ImTextureID;
typedef unsigned short ImDrawIdx;
typedef unsigned int ImWchar32;
typedef unsigned short ImWchar16;
@@ -245,6 +243,7 @@ struct ImVec4
{
float x, y, z, w;
};
typedef ImU64 ImTextureID;
typedef enum {
ImGuiWindowFlags_None = 0,
ImGuiWindowFlags_NoTitleBar = 1 << 0,
@@ -1310,6 +1309,7 @@ struct ImGuiSelectionExternalStorage
void* UserData;
void (*AdapterSetItemSelected)(ImGuiSelectionExternalStorage* self, int idx, bool selected);
};
typedef unsigned short ImDrawIdx;
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
struct ImDrawCmd
{
@@ -3633,7 +3633,7 @@ CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas);
CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
CIMGUI_API ImGuiContext* igGetCurrentContext(void);
CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx);
CIMGUI_API ImGuiIO* igGetIO(void);
CIMGUI_API ImGuiIO* igGetIO_Nil(void);
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO_Nil(void);
CIMGUI_API ImGuiStyle* igGetStyle(void);
CIMGUI_API void igNewFrame(void);
@@ -4607,7 +4607,7 @@ CIMGUI_API void ImGuiTableColumnSettings_destroy(ImGuiTableColumnSettings* self)
CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void);
CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self);
CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiTableSettings* self);
CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx);
CIMGUI_API ImGuiIO* igGetIO_ContextPtr(ImGuiContext* ctx);
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO_ContextPtr(ImGuiContext* ctx);
CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void);
CIMGUI_API ImGuiWindow* igGetCurrentWindow(void);

View File

@@ -5,34 +5,19 @@
#include "./imgui/imgui_internal.h"
#include "cimgui.h"
#ifdef CIMGUI_USE_DX9
#include "imgui_impl_dx9.h"
#endif
#ifdef CIMGUI_USE_DX10
#include "imgui_impl_dx10.h"
#endif
#ifdef CIMGUI_USE_DX11
#include "imgui_impl_dx11.h"
#endif
#ifdef CIMGUI_USE_DX12
#include "imgui_impl_dx12.h"
#endif
#ifdef CIMGUI_USE_GLFW
#include "imgui_impl_glfw.h"
#endif
#ifdef CIMGUI_USE_OPENGL2
#include "imgui_impl_opengl2.h"
#endif
#ifdef CIMGUI_USE_OPENGL3
#include "imgui_impl_opengl3.h"
#endif
#ifdef CIMGUI_USE_OPENGL2
#include "imgui_impl_opengl2.h"
#endif
#ifdef CIMGUI_USE_SDL2
#include "imgui_impl_sdl2.h"
#endif
@@ -45,10 +30,6 @@
#include "imgui_impl_vulkan.h"
#endif
#ifdef CIMGUI_USE_WIN32
#include "imgui_impl_win32.h"
#endif
#include "cimgui_impl.h"
#ifdef CIMGUI_USE_VULKAN

View File

@@ -193,6 +193,6 @@ CIMGUI_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice
CIMGUI_API VkPhysicalDevice ImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance);
CIMGUI_API uint32_t ImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device);
CIMGUI_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window();
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window(void);
#endif

View File

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

View File

@@ -2140,11 +2140,11 @@ function M.Parser()
for k,v in pairs(self.alltypes) do print(k, typetoStr(k) ) end
end
function par:compute_overloads()
if self.IMGUI_HAS_TEXTURES then
print"----------replacing ImTextureID with ImTextureUserID"
REPLACE_TEXTUREID(self)
print"----------end replacing ImTextureID with ImTextureUserID"
end
-- if self.IMGUI_HAS_TEXTURES then
-- print"----------replacing ImTextureID with ImTextureUserID"
-- REPLACE_TEXTUREID(self)
-- print"----------end replacing ImTextureID with ImTextureUserID"
-- end
ADDIMSTR_S(self)
local strt = {}
local numoverloaded = 0

View File

@@ -20,7 +20,7 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
:: 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 vulkan -DIMGUI_USE_WCHAR32 %*
luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 sdl3 vulkan %*
::leave console open
cmd /k

View File

@@ -13,6 +13,7 @@ local CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or
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"
local CONFIG_GENERATOR_PATH = os.getenv"CONFIG_GENERATOR_PATH" or "./config_generator.lua"
local CFLAGS = ""
local CPRE,CTEST
--get implementations
@@ -91,10 +92,10 @@ local cimgui_skipped = {
--desired name
---------------------------------------------------------------------------
local cimgui_overloads = {
igGetIO = {
["()"] = "igGetIO",
["(ImGuiContext*)"] = "igGetIOEx",
},
-- igGetIO = {
-- ["()"] = "igGetIO",
-- ["(ImGuiContext*)"] = "igGetIOEx",
-- },
--igPushID = {
--["(const char*)"] = "igPushIDStr",
--["(const char*,const char*)"] = "igPushIDRange",
@@ -128,6 +129,7 @@ local function func_header_impl_generate(FP)
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
local addcoment = def.comment or ""
local empty = def.args:match("^%(%)") --no args
if def.constructor then
-- only vulkan is manually created
assert(def.ov_cimguiname=="ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window" or
@@ -139,7 +141,6 @@ local function func_header_impl_generate(FP)
else
if def.stname == "" then --ImGui namespace or top level
local empty = def.args:match("^%(%)") --no args
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..(empty and "(void)" or def.args)..";"..addcoment.."\n")
else
cpp2ffi.prtable(def)
@@ -454,11 +455,19 @@ local parser2
if #implementations > 0 then
print("------------------implementations generation with "..COMPILER.."------------------------")
--parser2 for function defs
--parser3 for separated structs and enums in cimgui_impl.h
parser2 = cpp2ffi.Parser()
local config = require"config_generator"
local config = dofile(CONFIG_GENERATOR_PATH) --"./config_generator.lua"
local impl_str = ""
local impl_str_cpp = {}
for i,impl in ipairs(implementations) do
print("------------implementation:",impl)
table.insert(impl_str_cpp, "\n#ifdef CIMGUI_USE_" .. string.upper(impl))
table.insert(impl_str_cpp, [[#include "imgui_impl_]]..impl..[[.h"]])
table.insert(impl_str_cpp, "#endif")
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
local locati = [[imgui_impl_]].. impl
@@ -472,11 +481,11 @@ if #implementations > 0 then
extra_includes = extra_includes .. include_cmd .. inc .. " "
end
end
parser2.cimgui_inherited = dofile([[../../cimgui/generator/output/structs_and_enums.lua]])
parser2.cimgui_inherited = dofile([[./output/structs_and_enums.lua]])
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
local parser3 = cpp2ffi.Parser()
parser3.cimgui_inherited = dofile([[../../cimgui/generator/output/structs_and_enums.lua]])
parser3.cimgui_inherited = dofile([[./output/structs_and_enums.lua]])
parser3:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
parser3:do_parse()
local cfuncsstr = func_header_impl_generate(parser3)
@@ -495,15 +504,15 @@ if #implementations > 0 then
end
parser2:do_parse()
-- save ./cimgui_impl.h
--local cfuncsstr = func_header_impl_generate(parser2)
--local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
--save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
save_data("./output/cimgui_impl.h",impl_str)
----------save fundefs in impl_definitions.lua for using in bindings
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
--impl cpp
impl_str_cpp = table.concat(impl_str_cpp, "\n")
local cppstr = read_data"./cimgui_impl_template.cpp"
cppstr = cppstr:gsub("GENERATED_PLACEHOLDER", impl_str_cpp)
save_data("./output/cimgui_impl.cpp",cppstr)
end -- #implementations > 0 then
@@ -536,8 +545,10 @@ end
-------------------copy C files to repo root
copyfile("./output/cimgui.h", "../cimgui.h")
copyfile("./output/cimgui_impl.h", "../cimgui_impl.h")
copyfile("./output/cimgui_impl.cpp", "../cimgui_impl.cpp")
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
os.remove("./output/cimgui.h")
os.remove("./output/cimgui_impl.h")
os.remove("./output/cimgui_impl.cpp")
os.remove("./output/cimgui.cpp")
print"all done!!"

View File

@@ -25,7 +25,7 @@
POSITIONAL_ARGS=()
TARGETS="internal noimstrv"
CFLAGS="glfw opengl3 opengl2 sdl2 sdl3"
CFLAGS="glfw opengl3 opengl2 sdl2 sdl3 vulkan"
help() {
cat <<EOF

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -124,8 +124,8 @@ igGetIDWithSeed 2
1 ImGuiID igGetIDWithSeed_Str (const char*,const char*,ImGuiID)
2 ImGuiID igGetIDWithSeed_Int (int,ImGuiID)
igGetIO 2
1 ImGuiIO* igGetIO ()
2 ImGuiIO* igGetIOEx (ImGuiContext*)
1 ImGuiIO* igGetIO_Nil ()
2 ImGuiIO* igGetIO_ContextPtr (ImGuiContext*)
igGetKeyData 2
1 ImGuiKeyData* igGetKeyData_ContextPtr (ImGuiContext*,ImGuiKey)
2 ImGuiKeyData* igGetKeyData_Key (ImGuiKey)

View File

@@ -5164,41 +5164,41 @@
},
"locations": {
"ImBitVector": "imgui_internal:627",
"ImColor": "imgui:2900",
"ImDrawChannel": "imgui:3140",
"ImDrawCmd": "imgui:3097",
"ImDrawCmdHeader": "imgui:3132",
"ImDrawData": "imgui:3356",
"ImColor": "imgui:2898",
"ImDrawChannel": "imgui:3145",
"ImDrawCmd": "imgui:3102",
"ImDrawCmdHeader": "imgui:3137",
"ImDrawData": "imgui:3361",
"ImDrawDataBuilder": "imgui_internal:818",
"ImDrawFlags_": "imgui:3165",
"ImDrawList": "imgui:3203",
"ImDrawListFlags_": "imgui:3185",
"ImDrawFlags_": "imgui:3170",
"ImDrawList": "imgui:3208",
"ImDrawListFlags_": "imgui:3190",
"ImDrawListSharedData": "imgui_internal:795",
"ImDrawListSplitter": "imgui:3148",
"ImDrawVert": "imgui:3117",
"ImFont": "imgui:3584",
"ImFontAtlas": "imgui:3480",
"ImFontAtlasCustomRect": "imgui:3439",
"ImFontAtlasFlags_": "imgui:3455",
"ImDrawListSplitter": "imgui:3153",
"ImDrawVert": "imgui:3122",
"ImFont": "imgui:3589",
"ImFontAtlas": "imgui:3485",
"ImFontAtlasCustomRect": "imgui:3444",
"ImFontAtlasFlags_": "imgui:3460",
"ImFontBuilderIO": "imgui_internal:3886",
"ImFontConfig": "imgui:3381",
"ImFontGlyph": "imgui:3412",
"ImFontGlyphRangesBuilder": "imgui:3424",
"ImFontConfig": "imgui:3386",
"ImFontGlyph": "imgui:3417",
"ImFontGlyphRangesBuilder": "imgui:3429",
"ImGuiActivateFlags_": "imgui_internal:1596",
"ImGuiAxis": "imgui_internal:1064",
"ImGuiBackendFlags_": "imgui:1677",
"ImGuiBackendFlags_": "imgui:1675",
"ImGuiBoxSelectState": "imgui_internal:1785",
"ImGuiButtonFlagsPrivate_": "imgui_internal:954",
"ImGuiButtonFlags_": "imgui:1812",
"ImGuiChildFlags_": "imgui:1159",
"ImGuiCol_": "imgui:1692",
"ImGuiColorEditFlags_": "imgui:1823",
"ImGuiButtonFlags_": "imgui:1810",
"ImGuiChildFlags_": "imgui:1157",
"ImGuiCol_": "imgui:1690",
"ImGuiColorEditFlags_": "imgui:1821",
"ImGuiColorMod": "imgui_internal:839",
"ImGuiComboFlagsPrivate_": "imgui_internal:979",
"ImGuiComboFlags_": "imgui:1307",
"ImGuiComboFlags_": "imgui:1305",
"ImGuiComboPreviewData": "imgui_internal:1078",
"ImGuiCond_": "imgui:1937",
"ImGuiConfigFlags_": "imgui:1648",
"ImGuiCond_": "imgui:1935",
"ImGuiConfigFlags_": "imgui:1646",
"ImGuiContext": "imgui_internal:2256",
"ImGuiContextHook": "imgui_internal:2241",
"ImGuiContextHookType": "imgui_internal:2239",
@@ -5206,28 +5206,28 @@
"ImGuiDataTypeInfo": "imgui_internal:865",
"ImGuiDataTypePrivate_": "imgui_internal:874",
"ImGuiDataTypeStorage": "imgui_internal:859",
"ImGuiDataType_": "imgui:1455",
"ImGuiDataType_": "imgui:1453",
"ImGuiDeactivatedItemData": "imgui_internal:1361",
"ImGuiDebugAllocEntry": "imgui_internal:2175",
"ImGuiDebugAllocInfo": "imgui_internal:2182",
"ImGuiDebugLogFlags_": "imgui_internal:2153",
"ImGuiDir": "imgui:1473",
"ImGuiDir": "imgui:1471",
"ImGuiDockContext": "imgui_internal:2000",
"ImGuiDockNode": "imgui_internal:1914",
"ImGuiDockNodeFlagsPrivate_": "imgui_internal:1866",
"ImGuiDockNodeFlags_": "imgui:1408",
"ImGuiDockNodeFlags_": "imgui:1406",
"ImGuiDockNodeState": "imgui_internal:1905",
"ImGuiDragDropFlags_": "imgui:1427",
"ImGuiDragDropFlags_": "imgui:1425",
"ImGuiErrorRecoveryState": "imgui_internal:1317",
"ImGuiFocusRequestFlags_": "imgui_internal:1024",
"ImGuiFocusScopeData": "imgui_internal:1682",
"ImGuiFocusedFlags_": "imgui:1354",
"ImGuiFocusedFlags_": "imgui:1352",
"ImGuiFreeTypeBuilderFlags": "imgui_freetype:26",
"ImGuiGroupData": "imgui_internal:1091",
"ImGuiHoveredFlagsPrivate_": "imgui_internal:937",
"ImGuiHoveredFlags_": "imgui:1368",
"ImGuiHoveredFlags_": "imgui:1366",
"ImGuiIDStackTool": "imgui_internal:2221",
"ImGuiIO": "imgui:2320",
"ImGuiIO": "imgui:2318",
"ImGuiInputEvent": "imgui_internal:1456",
"ImGuiInputEventAppFocused": "imgui_internal:1454",
"ImGuiInputEventKey": "imgui_internal:1452",
@@ -5238,24 +5238,24 @@
"ImGuiInputEventText": "imgui_internal:1453",
"ImGuiInputEventType": "imgui_internal:1424",
"ImGuiInputFlagsPrivate_": "imgui_internal:1523",
"ImGuiInputFlags_": "imgui:1625",
"ImGuiInputFlags_": "imgui:1623",
"ImGuiInputSource": "imgui_internal:1437",
"ImGuiInputTextCallbackData": "imgui:2576",
"ImGuiInputTextCallbackData": "imgui:2574",
"ImGuiInputTextDeactivatedState": "imgui_internal:1127",
"ImGuiInputTextFlagsPrivate_": "imgui_internal:945",
"ImGuiInputTextFlags_": "imgui:1193",
"ImGuiInputTextFlags_": "imgui:1191",
"ImGuiInputTextState": "imgui_internal:1149",
"ImGuiItemFlagsPrivate_": "imgui_internal:887",
"ImGuiItemFlags_": "imgui:1180",
"ImGuiItemFlags_": "imgui:1178",
"ImGuiItemStatusFlags_": "imgui_internal:911",
"ImGuiKey": "imgui:1497",
"ImGuiKeyData": "imgui:2312",
"ImGuiKey": "imgui:1495",
"ImGuiKeyData": "imgui:2310",
"ImGuiKeyOwnerData": "imgui_internal:1510",
"ImGuiKeyRoutingData": "imgui_internal:1484",
"ImGuiKeyRoutingTable": "imgui_internal:1498",
"ImGuiLastItemData": "imgui_internal:1289",
"ImGuiLayoutType_": "imgui_internal:1045",
"ImGuiListClipper": "imgui:2806",
"ImGuiListClipper": "imgui:2804",
"ImGuiListClipperData": "imgui_internal:1580",
"ImGuiListClipperRange": "imgui_internal:1567",
"ImGuiLocEntry": "imgui_internal:2126",
@@ -5263,11 +5263,11 @@
"ImGuiLogFlags_": "imgui_internal:1052",
"ImGuiMenuColumns": "imgui_internal:1109",
"ImGuiMetricsConfig": "imgui_internal:2192",
"ImGuiMouseButton_": "imgui:1895",
"ImGuiMouseCursor_": "imgui:1905",
"ImGuiMouseSource": "imgui:1926",
"ImGuiMultiSelectFlags_": "imgui:2958",
"ImGuiMultiSelectIO": "imgui:2985",
"ImGuiMouseButton_": "imgui:1893",
"ImGuiMouseCursor_": "imgui:1903",
"ImGuiMouseSource": "imgui:1924",
"ImGuiMultiSelectFlags_": "imgui:2956",
"ImGuiMultiSelectIO": "imgui:2983",
"ImGuiMultiSelectState": "imgui_internal:1842",
"ImGuiMultiSelectTempData": "imgui_internal:1817",
"ImGuiNavItemData": "imgui_internal:1665",
@@ -5281,86 +5281,86 @@
"ImGuiOldColumnData": "imgui_internal:1750",
"ImGuiOldColumnFlags_": "imgui_internal:1730",
"ImGuiOldColumns": "imgui_internal:1760",
"ImGuiOnceUponAFrame": "imgui:2676",
"ImGuiPayload": "imgui:2641",
"ImGuiPlatformIO": "imgui:3756",
"ImGuiPlatformImeData": "imgui:3862",
"ImGuiPlatformMonitor": "imgui:3852",
"ImGuiOnceUponAFrame": "imgui:2674",
"ImGuiPayload": "imgui:2639",
"ImGuiPlatformIO": "imgui:3761",
"ImGuiPlatformImeData": "imgui:3867",
"ImGuiPlatformMonitor": "imgui:3857",
"ImGuiPlotType": "imgui_internal:1071",
"ImGuiPopupData": "imgui_internal:1381",
"ImGuiPopupFlags_": "imgui:1272",
"ImGuiPopupFlags_": "imgui:1270",
"ImGuiPopupPositionPolicy": "imgui_internal:1373",
"ImGuiPtrOrIndex": "imgui_internal:1351",
"ImGuiScrollFlags_": "imgui_internal:1607",
"ImGuiSelectableFlagsPrivate_": "imgui_internal:992",
"ImGuiSelectableFlags_": "imgui:1290",
"ImGuiSelectionBasicStorage": "imgui:3031",
"ImGuiSelectionExternalStorage": "imgui:3054",
"ImGuiSelectionRequest": "imgui:3005",
"ImGuiSelectionRequestType": "imgui:2997",
"ImGuiSelectableFlags_": "imgui:1288",
"ImGuiSelectionBasicStorage": "imgui:3029",
"ImGuiSelectionExternalStorage": "imgui:3052",
"ImGuiSelectionRequest": "imgui:3003",
"ImGuiSelectionRequestType": "imgui:2995",
"ImGuiSeparatorFlags_": "imgui_internal:1013",
"ImGuiSettingsHandler": "imgui_internal:2088",
"ImGuiShrinkWidthItem": "imgui_internal:1344",
"ImGuiSizeCallbackData": "imgui:2610",
"ImGuiSizeCallbackData": "imgui:2608",
"ImGuiSliderFlagsPrivate_": "imgui_internal:985",
"ImGuiSliderFlags_": "imgui:1879",
"ImGuiSortDirection": "imgui:1484",
"ImGuiSliderFlags_": "imgui:1877",
"ImGuiSortDirection": "imgui:1482",
"ImGuiStackLevelInfo": "imgui_internal:2209",
"ImGuiStorage": "imgui:2749",
"ImGuiStoragePair": "imgui:2732",
"ImGuiStyle": "imgui:2224",
"ImGuiStorage": "imgui:2747",
"ImGuiStoragePair": "imgui:2730",
"ImGuiStyle": "imgui:2222",
"ImGuiStyleMod": "imgui_internal:846",
"ImGuiStyleVarInfo": "imgui_internal:830",
"ImGuiStyleVar_": "imgui:1770",
"ImGuiStyleVar_": "imgui:1768",
"ImGuiTabBar": "imgui_internal:2894",
"ImGuiTabBarFlagsPrivate_": "imgui_internal:2856",
"ImGuiTabBarFlags_": "imgui:1322",
"ImGuiTabBarFlags_": "imgui:1320",
"ImGuiTabItem": "imgui_internal:2874",
"ImGuiTabItemFlagsPrivate_": "imgui_internal:2864",
"ImGuiTabItemFlags_": "imgui:1339",
"ImGuiTabItemFlags_": "imgui:1337",
"ImGuiTable": "imgui_internal:3041",
"ImGuiTableBgTarget_": "imgui:2078",
"ImGuiTableBgTarget_": "imgui:2076",
"ImGuiTableCellData": "imgui_internal:3009",
"ImGuiTableColumn": "imgui_internal:2949",
"ImGuiTableColumnFlags_": "imgui:2025",
"ImGuiTableColumnFlags_": "imgui:2023",
"ImGuiTableColumnSettings": "imgui_internal:3189",
"ImGuiTableColumnSortSpecs": "imgui:2100",
"ImGuiTableFlags_": "imgui:1972",
"ImGuiTableColumnSortSpecs": "imgui:2098",
"ImGuiTableFlags_": "imgui:1970",
"ImGuiTableHeaderData": "imgui_internal:3018",
"ImGuiTableInstanceData": "imgui_internal:3028",
"ImGuiTableRowFlags_": "imgui:2063",
"ImGuiTableRowFlags_": "imgui:2061",
"ImGuiTableSettings": "imgui_internal:3213",
"ImGuiTableSortSpecs": "imgui:2090",
"ImGuiTableSortSpecs": "imgui:2088",
"ImGuiTableTempData": "imgui_internal:3166",
"ImGuiTextBuffer": "imgui:2711",
"ImGuiTextFilter": "imgui:2684",
"ImGuiTextBuffer": "imgui:2709",
"ImGuiTextFilter": "imgui:2682",
"ImGuiTextFlags_": "imgui_internal:1031",
"ImGuiTextIndex": "imgui_internal:747",
"ImGuiTextRange": "imgui:2694",
"ImGuiTextRange": "imgui:2692",
"ImGuiTooltipFlags_": "imgui_internal:1037",
"ImGuiTreeNodeFlagsPrivate_": "imgui_internal:1006",
"ImGuiTreeNodeFlags_": "imgui:1235",
"ImGuiTreeNodeFlags_": "imgui:1233",
"ImGuiTreeNodeStackData": "imgui_internal:1308",
"ImGuiTypingSelectFlags_": "imgui_internal:1693",
"ImGuiTypingSelectRequest": "imgui_internal:1701",
"ImGuiTypingSelectState": "imgui_internal:1712",
"ImGuiViewport": "imgui:3671",
"ImGuiViewportFlags_": "imgui:3643",
"ImGuiViewport": "imgui:3676",
"ImGuiViewportFlags_": "imgui:3648",
"ImGuiViewportP": "imgui_internal:2017",
"ImGuiWindow": "imgui_internal:2702",
"ImGuiWindowClass": "imgui:2625",
"ImGuiWindowClass": "imgui:2623",
"ImGuiWindowDockStyle": "imgui_internal:1995",
"ImGuiWindowDockStyleCol": "imgui_internal:1981",
"ImGuiWindowFlags_": "imgui:1108",
"ImGuiWindowFlags_": "imgui:1106",
"ImGuiWindowRefreshFlags_": "imgui_internal:1197",
"ImGuiWindowSettings": "imgui_internal:2069",
"ImGuiWindowStackData": "imgui_internal:1335",
"ImGuiWindowTempData": "imgui_internal:2646",
"ImRect": "imgui_internal:549",
"ImVec1": "imgui_internal:531",
"ImVec2": "imgui:299",
"ImVec2": "imgui:284",
"ImVec2ih": "imgui_internal:539",
"ImVec4": "imgui:312"
"ImVec4": "imgui:297"
},
"nonPOD": {
"ImBitArray": true,

View File

@@ -4082,41 +4082,41 @@ local t={
ImGuiSortDirection="ImU8"},
locations={
ImBitVector="imgui_internal:627",
ImColor="imgui:2900",
ImDrawChannel="imgui:3140",
ImDrawCmd="imgui:3097",
ImDrawCmdHeader="imgui:3132",
ImDrawData="imgui:3356",
ImColor="imgui:2898",
ImDrawChannel="imgui:3145",
ImDrawCmd="imgui:3102",
ImDrawCmdHeader="imgui:3137",
ImDrawData="imgui:3361",
ImDrawDataBuilder="imgui_internal:818",
ImDrawFlags_="imgui:3165",
ImDrawList="imgui:3203",
ImDrawListFlags_="imgui:3185",
ImDrawFlags_="imgui:3170",
ImDrawList="imgui:3208",
ImDrawListFlags_="imgui:3190",
ImDrawListSharedData="imgui_internal:795",
ImDrawListSplitter="imgui:3148",
ImDrawVert="imgui:3117",
ImFont="imgui:3584",
ImFontAtlas="imgui:3480",
ImFontAtlasCustomRect="imgui:3439",
ImFontAtlasFlags_="imgui:3455",
ImDrawListSplitter="imgui:3153",
ImDrawVert="imgui:3122",
ImFont="imgui:3589",
ImFontAtlas="imgui:3485",
ImFontAtlasCustomRect="imgui:3444",
ImFontAtlasFlags_="imgui:3460",
ImFontBuilderIO="imgui_internal:3886",
ImFontConfig="imgui:3381",
ImFontGlyph="imgui:3412",
ImFontGlyphRangesBuilder="imgui:3424",
ImFontConfig="imgui:3386",
ImFontGlyph="imgui:3417",
ImFontGlyphRangesBuilder="imgui:3429",
ImGuiActivateFlags_="imgui_internal:1596",
ImGuiAxis="imgui_internal:1064",
ImGuiBackendFlags_="imgui:1677",
ImGuiBackendFlags_="imgui:1675",
ImGuiBoxSelectState="imgui_internal:1785",
ImGuiButtonFlagsPrivate_="imgui_internal:954",
ImGuiButtonFlags_="imgui:1812",
ImGuiChildFlags_="imgui:1159",
ImGuiCol_="imgui:1692",
ImGuiColorEditFlags_="imgui:1823",
ImGuiButtonFlags_="imgui:1810",
ImGuiChildFlags_="imgui:1157",
ImGuiCol_="imgui:1690",
ImGuiColorEditFlags_="imgui:1821",
ImGuiColorMod="imgui_internal:839",
ImGuiComboFlagsPrivate_="imgui_internal:979",
ImGuiComboFlags_="imgui:1307",
ImGuiComboFlags_="imgui:1305",
ImGuiComboPreviewData="imgui_internal:1078",
ImGuiCond_="imgui:1937",
ImGuiConfigFlags_="imgui:1648",
ImGuiCond_="imgui:1935",
ImGuiConfigFlags_="imgui:1646",
ImGuiContext="imgui_internal:2256",
ImGuiContextHook="imgui_internal:2241",
ImGuiContextHookType="imgui_internal:2239",
@@ -4124,28 +4124,28 @@ local t={
ImGuiDataTypeInfo="imgui_internal:865",
ImGuiDataTypePrivate_="imgui_internal:874",
ImGuiDataTypeStorage="imgui_internal:859",
ImGuiDataType_="imgui:1455",
ImGuiDataType_="imgui:1453",
ImGuiDeactivatedItemData="imgui_internal:1361",
ImGuiDebugAllocEntry="imgui_internal:2175",
ImGuiDebugAllocInfo="imgui_internal:2182",
ImGuiDebugLogFlags_="imgui_internal:2153",
ImGuiDir="imgui:1473",
ImGuiDir="imgui:1471",
ImGuiDockContext="imgui_internal:2000",
ImGuiDockNode="imgui_internal:1914",
ImGuiDockNodeFlagsPrivate_="imgui_internal:1866",
ImGuiDockNodeFlags_="imgui:1408",
ImGuiDockNodeFlags_="imgui:1406",
ImGuiDockNodeState="imgui_internal:1905",
ImGuiDragDropFlags_="imgui:1427",
ImGuiDragDropFlags_="imgui:1425",
ImGuiErrorRecoveryState="imgui_internal:1317",
ImGuiFocusRequestFlags_="imgui_internal:1024",
ImGuiFocusScopeData="imgui_internal:1682",
ImGuiFocusedFlags_="imgui:1354",
ImGuiFocusedFlags_="imgui:1352",
ImGuiFreeTypeBuilderFlags="imgui_freetype:26",
ImGuiGroupData="imgui_internal:1091",
ImGuiHoveredFlagsPrivate_="imgui_internal:937",
ImGuiHoveredFlags_="imgui:1368",
ImGuiHoveredFlags_="imgui:1366",
ImGuiIDStackTool="imgui_internal:2221",
ImGuiIO="imgui:2320",
ImGuiIO="imgui:2318",
ImGuiInputEvent="imgui_internal:1456",
ImGuiInputEventAppFocused="imgui_internal:1454",
ImGuiInputEventKey="imgui_internal:1452",
@@ -4156,24 +4156,24 @@ local t={
ImGuiInputEventText="imgui_internal:1453",
ImGuiInputEventType="imgui_internal:1424",
ImGuiInputFlagsPrivate_="imgui_internal:1523",
ImGuiInputFlags_="imgui:1625",
ImGuiInputFlags_="imgui:1623",
ImGuiInputSource="imgui_internal:1437",
ImGuiInputTextCallbackData="imgui:2576",
ImGuiInputTextCallbackData="imgui:2574",
ImGuiInputTextDeactivatedState="imgui_internal:1127",
ImGuiInputTextFlagsPrivate_="imgui_internal:945",
ImGuiInputTextFlags_="imgui:1193",
ImGuiInputTextFlags_="imgui:1191",
ImGuiInputTextState="imgui_internal:1149",
ImGuiItemFlagsPrivate_="imgui_internal:887",
ImGuiItemFlags_="imgui:1180",
ImGuiItemFlags_="imgui:1178",
ImGuiItemStatusFlags_="imgui_internal:911",
ImGuiKey="imgui:1497",
ImGuiKeyData="imgui:2312",
ImGuiKey="imgui:1495",
ImGuiKeyData="imgui:2310",
ImGuiKeyOwnerData="imgui_internal:1510",
ImGuiKeyRoutingData="imgui_internal:1484",
ImGuiKeyRoutingTable="imgui_internal:1498",
ImGuiLastItemData="imgui_internal:1289",
ImGuiLayoutType_="imgui_internal:1045",
ImGuiListClipper="imgui:2806",
ImGuiListClipper="imgui:2804",
ImGuiListClipperData="imgui_internal:1580",
ImGuiListClipperRange="imgui_internal:1567",
ImGuiLocEntry="imgui_internal:2126",
@@ -4181,11 +4181,11 @@ local t={
ImGuiLogFlags_="imgui_internal:1052",
ImGuiMenuColumns="imgui_internal:1109",
ImGuiMetricsConfig="imgui_internal:2192",
ImGuiMouseButton_="imgui:1895",
ImGuiMouseCursor_="imgui:1905",
ImGuiMouseSource="imgui:1926",
ImGuiMultiSelectFlags_="imgui:2958",
ImGuiMultiSelectIO="imgui:2985",
ImGuiMouseButton_="imgui:1893",
ImGuiMouseCursor_="imgui:1903",
ImGuiMouseSource="imgui:1924",
ImGuiMultiSelectFlags_="imgui:2956",
ImGuiMultiSelectIO="imgui:2983",
ImGuiMultiSelectState="imgui_internal:1842",
ImGuiMultiSelectTempData="imgui_internal:1817",
ImGuiNavItemData="imgui_internal:1665",
@@ -4199,86 +4199,86 @@ local t={
ImGuiOldColumnData="imgui_internal:1750",
ImGuiOldColumnFlags_="imgui_internal:1730",
ImGuiOldColumns="imgui_internal:1760",
ImGuiOnceUponAFrame="imgui:2676",
ImGuiPayload="imgui:2641",
ImGuiPlatformIO="imgui:3756",
ImGuiPlatformImeData="imgui:3862",
ImGuiPlatformMonitor="imgui:3852",
ImGuiOnceUponAFrame="imgui:2674",
ImGuiPayload="imgui:2639",
ImGuiPlatformIO="imgui:3761",
ImGuiPlatformImeData="imgui:3867",
ImGuiPlatformMonitor="imgui:3857",
ImGuiPlotType="imgui_internal:1071",
ImGuiPopupData="imgui_internal:1381",
ImGuiPopupFlags_="imgui:1272",
ImGuiPopupFlags_="imgui:1270",
ImGuiPopupPositionPolicy="imgui_internal:1373",
ImGuiPtrOrIndex="imgui_internal:1351",
ImGuiScrollFlags_="imgui_internal:1607",
ImGuiSelectableFlagsPrivate_="imgui_internal:992",
ImGuiSelectableFlags_="imgui:1290",
ImGuiSelectionBasicStorage="imgui:3031",
ImGuiSelectionExternalStorage="imgui:3054",
ImGuiSelectionRequest="imgui:3005",
ImGuiSelectionRequestType="imgui:2997",
ImGuiSelectableFlags_="imgui:1288",
ImGuiSelectionBasicStorage="imgui:3029",
ImGuiSelectionExternalStorage="imgui:3052",
ImGuiSelectionRequest="imgui:3003",
ImGuiSelectionRequestType="imgui:2995",
ImGuiSeparatorFlags_="imgui_internal:1013",
ImGuiSettingsHandler="imgui_internal:2088",
ImGuiShrinkWidthItem="imgui_internal:1344",
ImGuiSizeCallbackData="imgui:2610",
ImGuiSizeCallbackData="imgui:2608",
ImGuiSliderFlagsPrivate_="imgui_internal:985",
ImGuiSliderFlags_="imgui:1879",
ImGuiSortDirection="imgui:1484",
ImGuiSliderFlags_="imgui:1877",
ImGuiSortDirection="imgui:1482",
ImGuiStackLevelInfo="imgui_internal:2209",
ImGuiStorage="imgui:2749",
ImGuiStoragePair="imgui:2732",
ImGuiStyle="imgui:2224",
ImGuiStorage="imgui:2747",
ImGuiStoragePair="imgui:2730",
ImGuiStyle="imgui:2222",
ImGuiStyleMod="imgui_internal:846",
ImGuiStyleVarInfo="imgui_internal:830",
ImGuiStyleVar_="imgui:1770",
ImGuiStyleVar_="imgui:1768",
ImGuiTabBar="imgui_internal:2894",
ImGuiTabBarFlagsPrivate_="imgui_internal:2856",
ImGuiTabBarFlags_="imgui:1322",
ImGuiTabBarFlags_="imgui:1320",
ImGuiTabItem="imgui_internal:2874",
ImGuiTabItemFlagsPrivate_="imgui_internal:2864",
ImGuiTabItemFlags_="imgui:1339",
ImGuiTabItemFlags_="imgui:1337",
ImGuiTable="imgui_internal:3041",
ImGuiTableBgTarget_="imgui:2078",
ImGuiTableBgTarget_="imgui:2076",
ImGuiTableCellData="imgui_internal:3009",
ImGuiTableColumn="imgui_internal:2949",
ImGuiTableColumnFlags_="imgui:2025",
ImGuiTableColumnFlags_="imgui:2023",
ImGuiTableColumnSettings="imgui_internal:3189",
ImGuiTableColumnSortSpecs="imgui:2100",
ImGuiTableFlags_="imgui:1972",
ImGuiTableColumnSortSpecs="imgui:2098",
ImGuiTableFlags_="imgui:1970",
ImGuiTableHeaderData="imgui_internal:3018",
ImGuiTableInstanceData="imgui_internal:3028",
ImGuiTableRowFlags_="imgui:2063",
ImGuiTableRowFlags_="imgui:2061",
ImGuiTableSettings="imgui_internal:3213",
ImGuiTableSortSpecs="imgui:2090",
ImGuiTableSortSpecs="imgui:2088",
ImGuiTableTempData="imgui_internal:3166",
ImGuiTextBuffer="imgui:2711",
ImGuiTextFilter="imgui:2684",
ImGuiTextBuffer="imgui:2709",
ImGuiTextFilter="imgui:2682",
ImGuiTextFlags_="imgui_internal:1031",
ImGuiTextIndex="imgui_internal:747",
ImGuiTextRange="imgui:2694",
ImGuiTextRange="imgui:2692",
ImGuiTooltipFlags_="imgui_internal:1037",
ImGuiTreeNodeFlagsPrivate_="imgui_internal:1006",
ImGuiTreeNodeFlags_="imgui:1235",
ImGuiTreeNodeFlags_="imgui:1233",
ImGuiTreeNodeStackData="imgui_internal:1308",
ImGuiTypingSelectFlags_="imgui_internal:1693",
ImGuiTypingSelectRequest="imgui_internal:1701",
ImGuiTypingSelectState="imgui_internal:1712",
ImGuiViewport="imgui:3671",
ImGuiViewportFlags_="imgui:3643",
ImGuiViewport="imgui:3676",
ImGuiViewportFlags_="imgui:3648",
ImGuiViewportP="imgui_internal:2017",
ImGuiWindow="imgui_internal:2702",
ImGuiWindowClass="imgui:2625",
ImGuiWindowClass="imgui:2623",
ImGuiWindowDockStyle="imgui_internal:1995",
ImGuiWindowDockStyleCol="imgui_internal:1981",
ImGuiWindowFlags_="imgui:1108",
ImGuiWindowFlags_="imgui:1106",
ImGuiWindowRefreshFlags_="imgui_internal:1197",
ImGuiWindowSettings="imgui_internal:2069",
ImGuiWindowStackData="imgui_internal:1335",
ImGuiWindowTempData="imgui_internal:2646",
ImRect="imgui_internal:549",
ImVec1="imgui_internal:531",
ImVec2="imgui:299",
ImVec2="imgui:284",
ImVec2ih="imgui_internal:539",
ImVec4="imgui:312"},
ImVec4="imgui:297"},
nonPOD={
ImBitArray=true,
ImColor=true,

2
imgui

Submodule imgui updated: 126d004f9e...4806a1924f

View File

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