mirror of
https://github.com/cimgui/cimgui.git
synced 2025-10-09 19:21:39 +01:00
Compare commits
16 Commits
08677d259c
...
1.92.1dock
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d61baefa0c | ||
![]() |
7dc88bd031 | ||
![]() |
bcb179376b | ||
![]() |
dd9196a19b | ||
![]() |
439e8073c2 | ||
![]() |
63e6dd0ef3 | ||
![]() |
85d6d12ec6 | ||
![]() |
8e95247e63 | ||
![]() |
92b0239554 | ||
![]() |
094a55523a | ||
![]() |
c561c6a6e5 | ||
![]() |
5ba6ea3fc0 | ||
![]() |
623cbefe49 | ||
![]() |
a007c438f0 | ||
![]() |
f6e14c22eb | ||
![]() |
205107640d |
@@ -48,6 +48,10 @@ if(IMGUI_WCHAR32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_USE_WCHAR32)
|
||||
endif(IMGUI_WCHAR32)
|
||||
|
||||
if(CIMGUI_VARGS0)
|
||||
target_compile_definitions(cimgui PUBLIC CIMGUI_VARGS0)
|
||||
endif(CIMGUI_VARGS0)
|
||||
|
||||
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
|
||||
if (WIN32)
|
||||
|
@@ -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.9 of Dear ImGui with internal api]
|
||||
* currently this wrapper is based on version [1.92.1 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), IMGUI_WCHAR32 and CIMGUI_VARGS0 for compiling a function version without varargs for vararg functions (function name with 0 sufix)
|
||||
* 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.
|
||||
|
@@ -22,6 +22,7 @@ endfunction()
|
||||
|
||||
function(GenerateCimguiBindings target platbk rendbk _inclist)
|
||||
include(FetchContent)
|
||||
set(FETCHCONTENT_QUIET OFF)
|
||||
#cmake_print_variables(_inclist)
|
||||
set(__inclist ${${_inclist}})
|
||||
#cmake_print_variables(__inclist)
|
||||
|
@@ -8,6 +8,7 @@ include(FetchContent)
|
||||
set(GLFW_VERSION 3.3.8)
|
||||
FetchContent_Declare(
|
||||
glfw
|
||||
EXCLUDE_FROM_ALL
|
||||
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz
|
||||
GIT_PROGRESS true)
|
||||
|
||||
@@ -17,7 +18,7 @@ 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)
|
||||
|
||||
|
||||
FetchContent_MakeAvailable(glfw)
|
||||
install(TARGETS glfw RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
|
||||
|
@@ -45,10 +45,13 @@ add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
|
||||
option(IMGUI_FREETYPE "add Freetype2" OFF)
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
message("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")
|
||||
#add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
add_definitions("-DIMGUI_ENABLE_FREETYPE=1")
|
||||
add_definitions("-DIMGUI_ENABLE_STB_TRUETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
# opengl3
|
||||
|
@@ -43,8 +43,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
// just an extra window hint for resize
|
||||
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
|
||||
float main_scale = ImGui_ImplGlfw_GetContentScaleForMonitor(glfwGetPrimaryMonitor()); // Valid on GLFW 3.3+ only
|
||||
window = glfwCreateWindow((int)(1280 * main_scale), (int)(800 * main_scale), "Dear ImGui GLFW+OpenGL3 example", NULL, NULL);
|
||||
|
||||
window = glfwCreateWindow(1024, 768, "Hello World!", NULL, NULL);
|
||||
if (!window)
|
||||
{
|
||||
printf("Failed to create window! Terminating!\n");
|
||||
@@ -72,6 +73,15 @@ int main(int argc, char *argv[])
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
#endif
|
||||
|
||||
|
||||
// Setup scaling
|
||||
ImGuiStyle* style = igGetStyle();
|
||||
ImGuiStyle_ScaleAllSizes(style, main_scale); // Bake a fixed style scale. (until we have a solution for dynamic style scaling, changing this requires resetting Style + calling this again)
|
||||
style->FontScaleDpi = main_scale; // Set initial font scale. (using io.ConfigDpiScaleFonts=true makes this unnecessary. We leave both here for documentation purpose)
|
||||
#if GLFW_VERSION_MAJOR >= 3 && GLFW_VERSION_MINOR >= 3
|
||||
ioptr->ConfigDpiScaleFonts = true; // [Experimental] Automatically overwrite style.FontScaleDpi in Begin() when Monitor DPI changes. This will scale fonts but _NOT_ scale sizes/padding for now.
|
||||
ioptr->ConfigDpiScaleViewports = true; // [Experimental] Scale Dear ImGui and Platform Windows when Monitor DPI changes.
|
||||
#endif
|
||||
ImGui_ImplGlfw_InitForOpenGL(window, true);
|
||||
ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
|
||||
|
100
backend_test/example_sdl3_vulkan/CMakeLists.txt
Normal file
100
backend_test/example_sdl3_vulkan/CMakeLists.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
Project(cimgui_sdl3_vk)
|
||||
if(WIN32) # to make mingw work as all the others
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
endif(WIN32)
|
||||
# general settings
|
||||
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
|
||||
set(BACKENDS_FOLDER "../../imgui/backends/")
|
||||
else()
|
||||
set(BACKENDS_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 ../../imgui/backends)
|
||||
|
||||
|
||||
include_directories(../../)
|
||||
set(IMGUI_SOURCES ../../cimgui.cpp
|
||||
../../cimgui_impl.cpp
|
||||
../../imgui/imgui.cpp
|
||||
../../imgui/imgui_draw.cpp
|
||||
../../imgui/imgui_demo.cpp
|
||||
../../imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
|
||||
#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)
|
||||
|
||||
# vulkan
|
||||
find_package(Vulkan REQUIRED FATAL_ERROR)
|
||||
list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
|
||||
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_vulkan.cpp)
|
||||
include_directories(${Vulkan_INCLUDE_DIRS})
|
||||
|
||||
#sdl3
|
||||
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl3.cpp)
|
||||
include(FetchContent)
|
||||
Set(FETCHCONTENT_QUIET FALSE)
|
||||
|
||||
FetchContent_Declare(
|
||||
SDL3
|
||||
GIT_REPOSITORY https://github.com/libsdl-org/SDL.git
|
||||
GIT_TAG release-3.2.8
|
||||
#GIT_SHALLOW TRUE
|
||||
GIT_PROGRESS TRUE
|
||||
)
|
||||
FetchContent_GetProperties(SDL3)
|
||||
if (NOT sdl3_POPULATED)
|
||||
set(FETCHCONTENT_QUIET NO)
|
||||
FetchContent_Populate(SDL3)
|
||||
set(SDL_TEST OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${sdl3_SOURCE_DIR} ${sdl3_BINARY_DIR})
|
||||
endif()
|
||||
include_directories(${SDL3_SOURCE_DIR}/include)
|
||||
|
||||
|
||||
#if dynamic SDL3 then install
|
||||
# install(TARGETS SDL3 RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
|
||||
# LIBRARY DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
|
||||
# )
|
||||
|
||||
add_library(cimgui_sdl STATIC ${IMGUI_SOURCES})
|
||||
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
|
||||
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
target_compile_definitions(cimgui_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL3)
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
target_compile_definitions(cimgui_sdl PUBLIC "-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
#target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} SDL3-static)
|
||||
|
||||
#using library
|
||||
add_executable(test_sdl main.c)
|
||||
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL3)
|
||||
if (MINGW)
|
||||
target_link_options(test_sdl PRIVATE "-mconsole")
|
||||
endif()
|
||||
target_link_libraries(test_sdl SDL3-static cimgui_sdl ${IMGUI_LIBRARIES})
|
||||
|
2
backend_test/example_sdl3_vulkan/README.md
Normal file
2
backend_test/example_sdl3_vulkan/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
To build use `cmake path_to_example_sdl3_vulkan` and then `make install`
|
630
backend_test/example_sdl3_vulkan/main.c
Normal file
630
backend_test/example_sdl3_vulkan/main.c
Normal file
@@ -0,0 +1,630 @@
|
||||
#include <stdio.h> // printf, fprintf
|
||||
#include <stdlib.h> // abort
|
||||
#include <assert.h>
|
||||
#define SDL_MAIN_HANDLED
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3/SDL_vulkan.h>
|
||||
#include <vulkan/vulkan.h>
|
||||
// Volk headers
|
||||
#ifdef IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
#define VOLK_IMPLEMENTATION
|
||||
#include <volk.h>
|
||||
#endif
|
||||
|
||||
//this must be equal to that in imgui_impl_vulkan.h
|
||||
#define IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE (1) // Minimum per atlas
|
||||
|
||||
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include <cimgui.h>
|
||||
#include <cimgui_impl.h>
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
#define igCheckbox igCheckbox_Str
|
||||
#define igColorEdit3 igColorEdit3_Str
|
||||
#define igButton igButton_Str
|
||||
#endif
|
||||
|
||||
#define igGetIO igGetIO_Nil
|
||||
|
||||
#define IM_UNUSED(_VAR) ((void)(_VAR))
|
||||
#define IM_ASSERT(_EXPR) assert(_EXPR)
|
||||
#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR))))
|
||||
|
||||
//#define APP_USE_UNLIMITED_FRAME_RATE
|
||||
#ifdef _DEBUG
|
||||
#define APP_USE_VULKAN_DEBUG_REPORT
|
||||
#endif
|
||||
#define APP_USE_VULKAN_DEBUG_REPORT
|
||||
// Data
|
||||
static VkAllocationCallbacks* g_Allocator = NULL;
|
||||
static VkInstance g_Instance = VK_NULL_HANDLE;
|
||||
static VkPhysicalDevice g_PhysicalDevice = VK_NULL_HANDLE;
|
||||
static VkDevice g_Device = VK_NULL_HANDLE;
|
||||
static uint32_t g_QueueFamily = (uint32_t)-1;
|
||||
static VkQueue g_Queue = VK_NULL_HANDLE;
|
||||
static VkDebugReportCallbackEXT g_DebugReport = VK_NULL_HANDLE;
|
||||
static VkPipelineCache g_PipelineCache = VK_NULL_HANDLE;
|
||||
static VkDescriptorPool g_DescriptorPool = VK_NULL_HANDLE;
|
||||
|
||||
static ImGui_ImplVulkanH_Window g_MainWindowData;
|
||||
static uint32_t g_MinImageCount = 2;
|
||||
static bool g_SwapChainRebuild = false;
|
||||
|
||||
static void check_vk_result(VkResult err)
|
||||
{
|
||||
if (err == VK_SUCCESS)
|
||||
return;
|
||||
fprintf(stderr, "[vulkan] Error: VkResult = %d\n", err);
|
||||
if (err < 0)
|
||||
abort();
|
||||
}
|
||||
|
||||
static void check_vk_result_line(VkResult err,int line)
|
||||
{
|
||||
if (err == VK_SUCCESS)
|
||||
return;
|
||||
fprintf(stderr, "[vulkan] Error: VkResult = %d in line: (%d)\n", err, line);
|
||||
if (err < 0)
|
||||
abort();
|
||||
}
|
||||
|
||||
#ifdef APP_USE_VULKAN_DEBUG_REPORT
|
||||
static VKAPI_ATTR VkBool32 VKAPI_CALL debug_report(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData)
|
||||
{
|
||||
(void)flags; (void)object; (void)location; (void)messageCode; (void)pUserData; (void)pLayerPrefix; // Unused arguments
|
||||
fprintf(stderr, "[vulkan] Debug report from ObjectType: %i\nMessage: %s\n\n", objectType, pMessage);
|
||||
return VK_FALSE;
|
||||
}
|
||||
#endif // APP_USE_VULKAN_DEBUG_REPORT
|
||||
//*
|
||||
static bool IsExtensionAvailable(VkExtensionProperties* properties, uint32_t properties_count, const char* extension)
|
||||
{
|
||||
for(uint32_t i = 0 ; i < properties_count; i++){
|
||||
if (strcmp(properties[i].extensionName, extension) == 0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void SetupVulkan(const char** extensions, uint32_t extensions_count)
|
||||
{
|
||||
VkResult err;
|
||||
#ifdef IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
volkInitialize();
|
||||
#endif
|
||||
|
||||
// Create Vulkan Instance
|
||||
{
|
||||
VkInstanceCreateInfo create_info = {};
|
||||
create_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
||||
|
||||
// Enumerate available extensions
|
||||
uint32_t properties_count;
|
||||
vkEnumerateInstanceExtensionProperties(NULL, &properties_count, NULL);
|
||||
VkExtensionProperties* properties = (VkExtensionProperties*)malloc(properties_count * sizeof(VkExtensionProperties));
|
||||
err = vkEnumerateInstanceExtensionProperties(NULL, &properties_count, properties);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
|
||||
// Enable required extensions
|
||||
if (IsExtensionAvailable(properties, properties_count, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME)){
|
||||
//instance_extensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
|
||||
extensions_count++;
|
||||
extensions = realloc(extensions, extensions_count * sizeof(char*));
|
||||
assert(extensions);
|
||||
extensions[extensions_count-1] = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
|
||||
}
|
||||
#ifdef VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME
|
||||
if (IsExtensionAvailable(properties, properties_count, VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME))
|
||||
{
|
||||
//instance_extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
|
||||
extensions_count++;
|
||||
extensions = realloc(extensions, extensions_count * sizeof(char*));
|
||||
assert(extensions);
|
||||
extensions[extensions_count-1] = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
|
||||
create_info.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
|
||||
}
|
||||
#endif
|
||||
free(properties);
|
||||
// Enabling validation layers
|
||||
#ifdef APP_USE_VULKAN_DEBUG_REPORT
|
||||
const char* layers[] = { "VK_LAYER_KHRONOS_validation" };
|
||||
create_info.enabledLayerCount = 1;
|
||||
create_info.ppEnabledLayerNames = layers;
|
||||
//instance_extensions.push_back("VK_EXT_debug_report");
|
||||
extensions_count++;
|
||||
extensions = realloc(extensions, extensions_count * sizeof(char*));
|
||||
assert(extensions);
|
||||
extensions[extensions_count-1] = "VK_EXT_debug_report";
|
||||
#endif
|
||||
|
||||
// Create Vulkan Instance
|
||||
create_info.enabledExtensionCount = extensions_count;//(uint32_t)instance_extensions.Size;
|
||||
create_info.ppEnabledExtensionNames = extensions;//instance_extensions.Data;
|
||||
err = vkCreateInstance(&create_info, g_Allocator, &g_Instance);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
#ifdef IMGUI_IMPL_VULKAN_USE_VOLK
|
||||
volkLoadInstance(g_Instance);
|
||||
#endif
|
||||
|
||||
// Setup the debug report callback
|
||||
#ifdef APP_USE_VULKAN_DEBUG_REPORT
|
||||
PFN_vkCreateDebugReportCallbackEXT f_vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(g_Instance, "vkCreateDebugReportCallbackEXT");
|
||||
IM_ASSERT(f_vkCreateDebugReportCallbackEXT != NULL);
|
||||
VkDebugReportCallbackCreateInfoEXT debug_report_ci = {};
|
||||
debug_report_ci.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
|
||||
debug_report_ci.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT | VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
|
||||
debug_report_ci.pfnCallback = debug_report;
|
||||
debug_report_ci.pUserData = NULL;
|
||||
err = f_vkCreateDebugReportCallbackEXT(g_Instance, &debug_report_ci, g_Allocator, &g_DebugReport);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
#endif
|
||||
}
|
||||
// Select Physical Device (GPU)
|
||||
g_PhysicalDevice = ImGui_ImplVulkanH_SelectPhysicalDevice(g_Instance);
|
||||
IM_ASSERT(g_PhysicalDevice != VK_NULL_HANDLE);
|
||||
// Select graphics queue family
|
||||
g_QueueFamily = ImGui_ImplVulkanH_SelectQueueFamilyIndex(g_PhysicalDevice);
|
||||
IM_ASSERT(g_QueueFamily != (uint32_t)-1);
|
||||
|
||||
// Create Logical Device (with 1 queue)
|
||||
{
|
||||
//ImVector<const char*> device_extensions;
|
||||
//device_extensions.push_back("VK_KHR_swapchain");
|
||||
uint32_t device_extensions_count = 1;
|
||||
const char** device_extensions = (const char**)malloc(device_extensions_count * sizeof(char*));
|
||||
device_extensions[0] = "VK_KHR_swapchain";
|
||||
|
||||
// Enumerate physical device extension
|
||||
uint32_t properties_count;
|
||||
//ImVector<VkExtensionProperties> properties;
|
||||
vkEnumerateDeviceExtensionProperties(g_PhysicalDevice, NULL, &properties_count, NULL);
|
||||
//properties.resize(properties_count);
|
||||
VkExtensionProperties* properties = (VkExtensionProperties*)malloc(properties_count * sizeof(VkExtensionProperties));
|
||||
vkEnumerateDeviceExtensionProperties(g_PhysicalDevice, NULL, &properties_count, properties);
|
||||
#ifdef VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME
|
||||
if (IsExtensionAvailable(properties, properties_count, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME)){
|
||||
//device_extensions.push_back(VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME);
|
||||
device_extensions_count++;
|
||||
device_extensions = realloc(device_extensions, device_extensions_count * sizeof(const char*));
|
||||
assert(device_extensions);
|
||||
device_extensions[device_extensions_count-1] = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
|
||||
}
|
||||
#endif
|
||||
|
||||
const float queue_priority[] = { 1.0f };
|
||||
VkDeviceQueueCreateInfo queue_info[1] = {};
|
||||
queue_info[0].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
|
||||
queue_info[0].queueFamilyIndex = g_QueueFamily;
|
||||
queue_info[0].queueCount = 1;
|
||||
queue_info[0].pQueuePriorities = queue_priority;
|
||||
VkDeviceCreateInfo create_info = {};
|
||||
create_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
|
||||
create_info.queueCreateInfoCount = sizeof(queue_info) / sizeof(queue_info[0]);
|
||||
create_info.pQueueCreateInfos = queue_info;
|
||||
create_info.enabledExtensionCount = device_extensions_count; //(uint32_t)device_extensions.Size;
|
||||
create_info.ppEnabledExtensionNames = device_extensions;//device_extensions.Data;
|
||||
err = vkCreateDevice(g_PhysicalDevice, &create_info, g_Allocator, &g_Device);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
vkGetDeviceQueue(g_Device, g_QueueFamily, 0, &g_Queue);
|
||||
}
|
||||
// Create Descriptor Pool
|
||||
// If you wish to load e.g. additional textures you may need to alter pools sizes and maxSets.
|
||||
{
|
||||
VkDescriptorPoolSize pool_sizes[] =
|
||||
{
|
||||
{ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE },
|
||||
};
|
||||
VkDescriptorPoolCreateInfo pool_info = {};
|
||||
pool_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
|
||||
pool_info.flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT;
|
||||
pool_info.maxSets = 0;
|
||||
//for (VkDescriptorPoolSize& pool_size : pool_sizes)
|
||||
// pool_info.maxSets += pool_size.descriptorCount;
|
||||
for(int i = 0; i < IM_ARRAYSIZE(pool_sizes); i++){
|
||||
VkDescriptorPoolSize pool_size = pool_sizes[i];
|
||||
pool_info.maxSets += pool_size.descriptorCount;
|
||||
}
|
||||
pool_info.poolSizeCount = (uint32_t)IM_ARRAYSIZE(pool_sizes);
|
||||
pool_info.pPoolSizes = pool_sizes;
|
||||
err = vkCreateDescriptorPool(g_Device, &pool_info, g_Allocator, &g_DescriptorPool);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
}
|
||||
}
|
||||
//*/
|
||||
// All the ImGui_ImplVulkanH_XXX structures/functions are optional helpers used by the demo.
|
||||
// Your real engine/app may not use them.
|
||||
static void SetupVulkanWindow(ImGui_ImplVulkanH_Window* wd, VkSurfaceKHR surface, int width, int height)
|
||||
{
|
||||
wd->Surface = surface;
|
||||
|
||||
// Check for WSI support
|
||||
VkBool32 res;
|
||||
vkGetPhysicalDeviceSurfaceSupportKHR(g_PhysicalDevice, g_QueueFamily, wd->Surface, &res);
|
||||
if (res != VK_TRUE)
|
||||
{
|
||||
fprintf(stderr, "Error no WSI support on physical device 0\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
// Select Surface Format
|
||||
const VkFormat requestSurfaceImageFormat[] = { VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_B8G8R8_UNORM, VK_FORMAT_R8G8B8_UNORM };
|
||||
const VkColorSpaceKHR requestSurfaceColorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
|
||||
wd->SurfaceFormat = ImGui_ImplVulkanH_SelectSurfaceFormat(g_PhysicalDevice, wd->Surface, requestSurfaceImageFormat, (size_t)IM_ARRAYSIZE(requestSurfaceImageFormat), requestSurfaceColorSpace);
|
||||
|
||||
// Select Present Mode
|
||||
#ifdef APP_USE_UNLIMITED_FRAME_RATE
|
||||
VkPresentModeKHR present_modes[] = { VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_IMMEDIATE_KHR, VK_PRESENT_MODE_FIFO_KHR };
|
||||
#else
|
||||
VkPresentModeKHR present_modes[] = { VK_PRESENT_MODE_FIFO_KHR };
|
||||
#endif
|
||||
wd->PresentMode = ImGui_ImplVulkanH_SelectPresentMode(g_PhysicalDevice, wd->Surface, &present_modes[0], IM_ARRAYSIZE(present_modes));
|
||||
//printf("[vulkan] Selected PresentMode = %d\n", wd->PresentMode);
|
||||
|
||||
// Create SwapChain, RenderPass, Framebuffer, etc.
|
||||
IM_ASSERT(g_MinImageCount >= 2);
|
||||
ImGui_ImplVulkanH_CreateOrResizeWindow(g_Instance, g_PhysicalDevice, g_Device, wd, g_QueueFamily, g_Allocator, width, height, g_MinImageCount);
|
||||
}
|
||||
|
||||
static void CleanupVulkan()
|
||||
{
|
||||
vkDestroyDescriptorPool(g_Device, g_DescriptorPool, g_Allocator);
|
||||
|
||||
#ifdef APP_USE_VULKAN_DEBUG_REPORT
|
||||
// Remove the debug report callback
|
||||
PFN_vkDestroyDebugReportCallbackEXT f_vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)vkGetInstanceProcAddr(g_Instance, "vkDestroyDebugReportCallbackEXT");
|
||||
f_vkDestroyDebugReportCallbackEXT(g_Instance, g_DebugReport, g_Allocator);
|
||||
#endif // APP_USE_VULKAN_DEBUG_REPORT
|
||||
|
||||
vkDestroyDevice(g_Device, g_Allocator);
|
||||
vkDestroyInstance(g_Instance, g_Allocator);
|
||||
}
|
||||
|
||||
static void CleanupVulkanWindow()
|
||||
{
|
||||
ImGui_ImplVulkanH_DestroyWindow(g_Instance, g_Device, &g_MainWindowData, g_Allocator);
|
||||
}
|
||||
|
||||
static void FrameRender(ImGui_ImplVulkanH_Window* wd, ImDrawData* draw_data)
|
||||
{
|
||||
VkSemaphore image_acquired_semaphore = wd->FrameSemaphores.Data[wd->SemaphoreIndex].ImageAcquiredSemaphore;
|
||||
VkSemaphore render_complete_semaphore = wd->FrameSemaphores.Data[wd->SemaphoreIndex].RenderCompleteSemaphore;
|
||||
VkResult err = vkAcquireNextImageKHR(g_Device, wd->Swapchain, UINT64_MAX, image_acquired_semaphore, VK_NULL_HANDLE, &wd->FrameIndex);
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
|
||||
g_SwapChainRebuild = true;
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR)
|
||||
return;
|
||||
if (err != VK_SUBOPTIMAL_KHR)
|
||||
check_vk_result_line(err, __LINE__);
|
||||
|
||||
ImGui_ImplVulkanH_Frame* fd = &wd->Frames.Data[wd->FrameIndex];
|
||||
{
|
||||
err = vkWaitForFences(g_Device, 1, &fd->Fence, VK_TRUE, UINT64_MAX); // wait indefinitely instead of periodically checking
|
||||
check_vk_result_line(err, __LINE__);
|
||||
|
||||
err = vkResetFences(g_Device, 1, &fd->Fence);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
}
|
||||
{
|
||||
err = vkResetCommandPool(g_Device, fd->CommandPool, 0);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
VkCommandBufferBeginInfo info = {};
|
||||
info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
|
||||
info.flags |= VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
|
||||
err = vkBeginCommandBuffer(fd->CommandBuffer, &info);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
}
|
||||
{
|
||||
VkRenderPassBeginInfo info = {};
|
||||
info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
|
||||
info.renderPass = wd->RenderPass;
|
||||
info.framebuffer = fd->Framebuffer;
|
||||
info.renderArea.extent.width = wd->Width;
|
||||
info.renderArea.extent.height = wd->Height;
|
||||
info.clearValueCount = 1;
|
||||
info.pClearValues = &wd->ClearValue;
|
||||
vkCmdBeginRenderPass(fd->CommandBuffer, &info, VK_SUBPASS_CONTENTS_INLINE);
|
||||
}
|
||||
|
||||
// Record dear imgui primitives into command buffer
|
||||
ImGui_ImplVulkan_RenderDrawData(draw_data, fd->CommandBuffer, VK_NULL_HANDLE);
|
||||
|
||||
// Submit command buffer
|
||||
vkCmdEndRenderPass(fd->CommandBuffer);
|
||||
{
|
||||
VkPipelineStageFlags wait_stage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
VkSubmitInfo info = {};
|
||||
info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
|
||||
info.waitSemaphoreCount = 1;
|
||||
info.pWaitSemaphores = &image_acquired_semaphore;
|
||||
info.pWaitDstStageMask = &wait_stage;
|
||||
info.commandBufferCount = 1;
|
||||
info.pCommandBuffers = &fd->CommandBuffer;
|
||||
info.signalSemaphoreCount = 1;
|
||||
info.pSignalSemaphores = &render_complete_semaphore;
|
||||
|
||||
err = vkEndCommandBuffer(fd->CommandBuffer);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
err = vkQueueSubmit(g_Queue, 1, &info, fd->Fence);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
}
|
||||
}
|
||||
|
||||
static void FramePresent(ImGui_ImplVulkanH_Window* wd)
|
||||
{
|
||||
if (g_SwapChainRebuild)
|
||||
return;
|
||||
VkSemaphore render_complete_semaphore = wd->FrameSemaphores.Data[wd->SemaphoreIndex].RenderCompleteSemaphore;
|
||||
VkPresentInfoKHR info = {};
|
||||
info.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
|
||||
info.waitSemaphoreCount = 1;
|
||||
info.pWaitSemaphores = &render_complete_semaphore;
|
||||
info.swapchainCount = 1;
|
||||
info.pSwapchains = &wd->Swapchain;
|
||||
info.pImageIndices = &wd->FrameIndex;
|
||||
VkResult err = vkQueuePresentKHR(g_Queue, &info);
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
|
||||
g_SwapChainRebuild = true;
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR)
|
||||
return;
|
||||
if (err != VK_SUBOPTIMAL_KHR)
|
||||
check_vk_result_line(err, __LINE__);
|
||||
wd->SemaphoreIndex = (wd->SemaphoreIndex + 1) % wd->SemaphoreCount; // Now we can use the next set of semaphores
|
||||
}
|
||||
|
||||
// Main code
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
//g_MainWindowData.ClearEnable = true;
|
||||
//ImGui_ImplVulkanH_Window_Construct(&g_MainWindowData);
|
||||
g_MainWindowData = *ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window();
|
||||
// Setup SDL
|
||||
if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMEPAD))
|
||||
{
|
||||
printf("Error: SDL_Init(): %s\n", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// From 2.0.18: Enable native IME.
|
||||
#ifdef SDL_HINT_IME_SHOW_UI
|
||||
SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");
|
||||
#endif
|
||||
|
||||
// Create window with Vulkan graphics context
|
||||
float main_scale = SDL_GetDisplayContentScale(SDL_GetPrimaryDisplay());
|
||||
SDL_WindowFlags window_flags = SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_HIDDEN | SDL_WINDOW_HIGH_PIXEL_DENSITY;
|
||||
SDL_Window* window = SDL_CreateWindow("Dear ImGui SDL3+Vulkan example", (int)(1280 * main_scale), (int)(720 * main_scale), window_flags);
|
||||
if (window == NULL)
|
||||
{
|
||||
printf("Error: SDL_CreateWindow(): %s\n", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
// Setup Vulkan
|
||||
uint32_t extensions_count = 0;
|
||||
const char *const *extensions_nude = SDL_Vulkan_GetInstanceExtensions(&extensions_count);
|
||||
if (extensions_nude == NULL) {
|
||||
printf("Error: SDL_Vulkan_GetInstanceExtensions(): %s\n", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
const char** extensions = (const char**)malloc(extensions_count * sizeof(const char*));
|
||||
if (extensions == NULL) {
|
||||
printf("Error allocating space for extensions array\n");
|
||||
return -1;
|
||||
}
|
||||
for (int i = 0; i < extensions_count; i++) {
|
||||
extensions[i] = extensions_nude[i];
|
||||
}
|
||||
SetupVulkan(extensions, extensions_count);
|
||||
//leak?? but free crashes
|
||||
// free(extensions);
|
||||
// Create Window Surface
|
||||
VkSurfaceKHR surface;
|
||||
VkResult err;
|
||||
if (SDL_Vulkan_CreateSurface(window, g_Instance, g_Allocator, &surface) == 0)
|
||||
{
|
||||
printf("Failed to create Vulkan surface.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Create Framebuffers
|
||||
int w, h;
|
||||
SDL_GetWindowSize(window, &w, &h);
|
||||
ImGui_ImplVulkanH_Window* wd = &g_MainWindowData;
|
||||
SetupVulkanWindow(wd, surface, w, h);
|
||||
SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
|
||||
SDL_ShowWindow(window);
|
||||
|
||||
// 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
|
||||
io->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
|
||||
io->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
//io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
|
||||
//io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
|
||||
|
||||
// Setup Dear ImGui style
|
||||
igStyleColorsDark(NULL);
|
||||
//ImGui::StyleColorsLight();
|
||||
|
||||
// When viewports are enabled we tweak WindowRounding/WindowBg so platform windows can look identical to regular ones.
|
||||
ImGuiStyle* style = igGetStyle();
|
||||
ImGuiStyle_ScaleAllSizes(style, main_scale); // Bake a fixed style scale. (until we have a solution for dynamic style scaling, changing this requires resetting Style + calling this again)
|
||||
style->FontScaleDpi = main_scale; // Set initial font scale. (using io.ConfigDpiScaleFonts=true makes this unnecessary. We leave both here for documentation purpose)
|
||||
io->ConfigDpiScaleFonts = true; // [Experimental] Automatically overwrite style.FontScaleDpi in Begin() when Monitor DPI changes. This will scale fonts but _NOT_ scale sizes/padding for now.
|
||||
io->ConfigDpiScaleViewports = true; // [Experimental] Scale Dear ImGui and Platform Windows when Monitor DPI changes.
|
||||
if (io->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
|
||||
{
|
||||
style->WindowRounding = 0.0f;
|
||||
style->Colors[ImGuiCol_WindowBg].w = 1.0f;
|
||||
}
|
||||
|
||||
// Setup Platform/Renderer backends
|
||||
ImGui_ImplSDL3_InitForVulkan(window);
|
||||
ImGui_ImplVulkan_InitInfo init_info = {};
|
||||
init_info.Instance = g_Instance;
|
||||
init_info.PhysicalDevice = g_PhysicalDevice;
|
||||
init_info.Device = g_Device;
|
||||
init_info.QueueFamily = g_QueueFamily;
|
||||
init_info.Queue = g_Queue;
|
||||
init_info.PipelineCache = g_PipelineCache;
|
||||
init_info.DescriptorPool = g_DescriptorPool;
|
||||
init_info.RenderPass = wd->RenderPass;
|
||||
init_info.Subpass = 0;
|
||||
init_info.MinImageCount = g_MinImageCount;
|
||||
init_info.ImageCount = wd->ImageCount;
|
||||
init_info.MSAASamples = VK_SAMPLE_COUNT_1_BIT;
|
||||
init_info.Allocator = g_Allocator;
|
||||
init_info.CheckVkResultFn = check_vk_result;
|
||||
ImGui_ImplVulkan_Init(&init_info);
|
||||
|
||||
// Load Fonts
|
||||
// - If no fonts are loaded, dear imgui will use the default font. You can also load multiple fonts and use ImGui::PushFont()/PopFont() to select them.
|
||||
// - AddFontFromFileTTF() will return the ImFont* so you can store it if you need to select the font among multiple.
|
||||
// - If the file cannot be loaded, the function will return a nullptr. Please handle those errors in your application (e.g. use an assertion, or display an error and quit).
|
||||
// - The fonts will be rasterized at a given size (w/ oversampling) and stored into a texture when calling ImFontAtlas::Build()/GetTexDataAsXXXX(), which ImGui_ImplXXXX_NewFrame below will call.
|
||||
// - Use '#define IMGUI_ENABLE_FREETYPE' in your imconfig file to use Freetype for higher quality font rendering.
|
||||
// - Read 'docs/FONTS.md' for more instructions and details.
|
||||
// - Remember that in C/C++ if you want to include a backslash \ in a string literal you need to write a double backslash \\ !
|
||||
//io.Fonts->AddFontDefault();
|
||||
//io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\segoeui.ttf", 18.0f);
|
||||
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/DroidSans.ttf", 16.0f);
|
||||
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Roboto-Medium.ttf", 16.0f);
|
||||
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Cousine-Regular.ttf", 15.0f);
|
||||
//ImFont* font = io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\ArialUni.ttf", 18.0f, nullptr, io.Fonts->GetGlyphRangesJapanese());
|
||||
//IM_ASSERT(font != nullptr);
|
||||
|
||||
// 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.
|
||||
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 (SDL_GetWindowFlags(window) & SDL_WINDOW_MINIMIZED)
|
||||
{
|
||||
SDL_Delay(10);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Resize swap chain?
|
||||
int fb_width, fb_height;
|
||||
SDL_GetWindowSize(window, &fb_width, &fb_height);
|
||||
if (fb_width > 0 && fb_height > 0 && (g_SwapChainRebuild || g_MainWindowData.Width != fb_width || g_MainWindowData.Height != fb_height))
|
||||
{
|
||||
ImGui_ImplVulkan_SetMinImageCount(g_MinImageCount);
|
||||
ImGui_ImplVulkanH_CreateOrResizeWindow(g_Instance, g_PhysicalDevice, g_Device, &g_MainWindowData, g_QueueFamily, g_Allocator, fb_width, fb_height, g_MinImageCount);
|
||||
g_MainWindowData.FrameIndex = 0;
|
||||
g_SwapChainRebuild = false;
|
||||
}
|
||||
|
||||
// Start the Dear ImGui frame
|
||||
ImGui_ImplVulkan_NewFrame();
|
||||
ImGui_ImplSDL3_NewFrame();
|
||||
igNewFrame();
|
||||
|
||||
// 1. Show the big demo window (Most of the sample code is in ImGui::ShowDemoWindow()! 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);
|
||||
igText("This is some useful text");
|
||||
igCheckbox("Demo window", &show_demo_window);
|
||||
igCheckbox("Another window", &show_another_window);
|
||||
|
||||
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igColorEdit3("clear color", (float*)&clear_color, 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();
|
||||
}
|
||||
|
||||
// 3. Show another simple window.
|
||||
if (show_another_window)
|
||||
{
|
||||
igBegin("imgui Another Window", &show_another_window, 0);
|
||||
igText("Hello from imgui");
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0; buttonSize.y = 0;
|
||||
if (igButton("Close me", buttonSize))
|
||||
{
|
||||
show_another_window = false;
|
||||
}
|
||||
igEnd();
|
||||
}
|
||||
|
||||
// Rendering
|
||||
igRender();
|
||||
ImDrawData* main_draw_data = igGetDrawData();
|
||||
const bool main_is_minimized = (main_draw_data->DisplaySize.x <= 0.0f || main_draw_data->DisplaySize.y <= 0.0f);
|
||||
wd->ClearValue.color.float32[0] = clear_color.x * clear_color.w;
|
||||
wd->ClearValue.color.float32[1] = clear_color.y * clear_color.w;
|
||||
wd->ClearValue.color.float32[2] = clear_color.z * clear_color.w;
|
||||
wd->ClearValue.color.float32[3] = clear_color.w;
|
||||
if (!main_is_minimized)
|
||||
FrameRender(wd, main_draw_data);
|
||||
|
||||
// Update and Render additional Platform Windows
|
||||
if (io->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
|
||||
{
|
||||
igUpdatePlatformWindows();
|
||||
igRenderPlatformWindowsDefault(NULL, NULL);
|
||||
}
|
||||
|
||||
// Present Main Platform Window
|
||||
if (!main_is_minimized)
|
||||
FramePresent(wd);
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
err = vkDeviceWaitIdle(g_Device);
|
||||
check_vk_result_line(err, __LINE__);
|
||||
ImGui_ImplVulkan_Shutdown();
|
||||
ImGui_ImplSDL3_Shutdown();
|
||||
igDestroyContext(NULL);
|
||||
|
||||
CleanupVulkanWindow();
|
||||
CleanupVulkan();
|
||||
|
||||
SDL_DestroyWindow(window);
|
||||
SDL_Quit();
|
||||
|
||||
return 0;
|
||||
}
|
@@ -10,6 +10,10 @@
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h> // SetProcessDPIAware()
|
||||
#endif
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
@@ -24,6 +28,9 @@ SDL_Window *window = NULL;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
#ifdef _WIN32
|
||||
SetProcessDPIAware();
|
||||
#endif
|
||||
|
||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||
SDL_Log("failed to init: %s", SDL_GetError());
|
||||
@@ -54,11 +61,10 @@ int main(int argc, char* argv[])
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
SDL_DisplayMode current;
|
||||
SDL_GetCurrentDisplayMode(0, ¤t);
|
||||
|
||||
window = SDL_CreateWindow(
|
||||
"Hello", 0, 0, 1024, 768,
|
||||
SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE
|
||||
);
|
||||
float main_scale = ImGui_ImplSDL2_GetContentScaleForDisplay(0);
|
||||
SDL_WindowFlags window_flags = (SDL_WindowFlags)(SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
window = SDL_CreateWindow("Dear ImGui SDL2+OpenGL3 example", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (int)(1280 * main_scale), (int)(720 * main_scale), window_flags);
|
||||
|
||||
if (window == NULL) {
|
||||
SDL_Log("Failed to create window: %s", SDL_GetError());
|
||||
return -1;
|
||||
@@ -83,6 +89,14 @@ int main(int argc, char* argv[])
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
#endif
|
||||
|
||||
// Setup scaling
|
||||
ImGuiStyle* style = igGetStyle();
|
||||
ImGuiStyle_ScaleAllSizes(style, main_scale); // Bake a fixed style scale. (until we have a solution for dynamic style scaling, changing this requires resetting Style + calling this again)
|
||||
style->FontScaleDpi = main_scale; // Set initial font scale. (using io.ConfigDpiScaleFonts=true makes this unnecessary. We leave both here for documentation purpose)
|
||||
ioptr->ConfigDpiScaleFonts = true; // [Experimental] Automatically overwrite style.FontScaleDpi in Begin() when Monitor DPI changes. This will scale fonts but _NOT_ scale sizes/padding for now.
|
||||
ioptr->ConfigDpiScaleViewports = true; // [Experimental] Scale Dear ImGui and Platform Windows when Monitor DPI changes.
|
||||
|
||||
|
||||
ImGui_ImplSDL2_InitForOpenGL(window, gl_context);
|
||||
ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
|
||||
|
@@ -11,6 +11,10 @@
|
||||
#include <volk.h>
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h> // SetProcessDPIAware()
|
||||
#endif
|
||||
|
||||
//this must be equal to that in imgui_impl_vulkan.h
|
||||
#define IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE (1) // Minimum per atlas
|
||||
|
||||
@@ -376,6 +380,9 @@ static void FramePresent(ImGui_ImplVulkanH_Window* wd)
|
||||
// Main code
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
#ifdef _WIN32
|
||||
SetProcessDPIAware();
|
||||
#endif
|
||||
//g_MainWindowData.ClearEnable = true;
|
||||
//ImGui_ImplVulkanH_Window_Construct(&g_MainWindowData);
|
||||
g_MainWindowData = *ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window();
|
||||
@@ -391,9 +398,10 @@ int main(int argc, char* argv[])
|
||||
SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");
|
||||
#endif
|
||||
|
||||
// Create window with Vulkan graphics context
|
||||
float main_scale = ImGui_ImplSDL2_GetContentScaleForDisplay(0);
|
||||
SDL_WindowFlags window_flags = (SDL_WindowFlags)(SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
SDL_Window* window = SDL_CreateWindow("Dear ImGui SDL2+Vulkan example", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1280, 720, window_flags);
|
||||
SDL_Window* window = SDL_CreateWindow("Dear ImGui SDL2+Vulkan example", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, (int)(1280 * main_scale), (int)(720 * main_scale), window_flags);
|
||||
|
||||
if (window == NULL)
|
||||
{
|
||||
printf("Error: SDL_CreateWindow(): %s\n", SDL_GetError());
|
||||
@@ -445,6 +453,10 @@ int main(int argc, char* argv[])
|
||||
style->Colors[ImGuiCol_WindowBg].w = 1.0f;
|
||||
}
|
||||
|
||||
// Setup scaling
|
||||
ImGuiStyle_ScaleAllSizes(style, main_scale); // Bake a fixed style scale. (until we have a solution for dynamic style scaling, changing this requires resetting Style + calling this again)
|
||||
style->FontScaleDpi = main_scale; // Set initial font scale. (using io.ConfigDpiScaleFonts=true makes this unnecessary. We leave both here for documentation purpose)
|
||||
|
||||
// Setup Platform/Renderer backends
|
||||
ImGui_ImplSDL2_InitForVulkan(window);
|
||||
ImGui_ImplVulkan_InitInfo init_info = {};
|
||||
|
@@ -13,18 +13,22 @@
|
||||
#define igGetIO igGetIO_Nil
|
||||
|
||||
int main() {
|
||||
if (!SDL_Init(SDL_INIT_VIDEO)) {
|
||||
if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMEPAD)) {
|
||||
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);
|
||||
float main_scale = SDL_GetDisplayContentScale(SDL_GetPrimaryDisplay());
|
||||
SDL_WindowFlags window_flags = SDL_WINDOW_RESIZABLE | SDL_WINDOW_HIDDEN | SDL_WINDOW_HIGH_PIXEL_DENSITY;
|
||||
SDL_Window* window = NULL;
|
||||
window = SDL_CreateWindow("Dear ImGui SDL3+SDL_GPU example", (int)(1280 * main_scale), (int)(720 * main_scale), window_flags);
|
||||
if (window == NULL)
|
||||
{
|
||||
printf("Error: SDL_CreateWindow(): %s\n", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
|
||||
SDL_ShowWindow(window);
|
||||
|
||||
// Create GPU Device
|
||||
SDL_GPUDevice* gpu_device = SDL_CreateGPUDevice(SDL_GPU_SHADERFORMAT_SPIRV | SDL_GPU_SHADERFORMAT_DXIL | SDL_GPU_SHADERFORMAT_METALLIB,true,NULL);
|
||||
@@ -52,6 +56,12 @@ int main() {
|
||||
// Setup Dear ImGui style
|
||||
igStyleColorsDark(NULL);
|
||||
//igStyleColorsLight(NULL);
|
||||
// Setup scaling
|
||||
ImGuiStyle* style = igGetStyle();
|
||||
ImGuiStyle_ScaleAllSizes(style, main_scale); // Bake a fixed style scale. (until we have a solution for dynamic style scaling, changing this requires resetting Style + calling this again)
|
||||
style->FontScaleDpi = main_scale; // Set initial font scale. (using io.ConfigDpiScaleFonts=true makes this unnecessary. We leave both here for documentation purpose)
|
||||
io->ConfigDpiScaleFonts = true; // [Experimental] Automatically overwrite style.FontScaleDpi in Begin() when Monitor DPI changes. This will scale fonts but _NOT_ scale sizes/padding for now.
|
||||
io->ConfigDpiScaleViewports = true; // [Experimental] Scale Dear ImGui and Platform Windows when Monitor DPI changes.
|
||||
|
||||
// Setup Platform/Renderer backends
|
||||
ImGui_ImplSDL3_InitForSDLGPU(window);
|
||||
@@ -158,7 +168,7 @@ int main() {
|
||||
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);
|
||||
ImGui_ImplSDLGPU3_PrepareDrawData(draw_data, command_buffer);
|
||||
|
||||
// Setup and start a render pass
|
||||
SDL_GPUColorTargetInfo target_info ;//= {};
|
||||
|
769
cimgui.cpp
769
cimgui.cpp
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,5 @@
|
||||
#ifndef CIMGUI_IMPL_DEFINED
|
||||
#define CIMGUI_IMPL_DEFINED
|
||||
#ifdef CIMGUI_USE_GLFW
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
|
||||
@@ -23,6 +25,8 @@ CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scanco
|
||||
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);
|
||||
CIMGUI_API float ImGui_ImplGlfw_GetContentScaleForWindow(GLFWwindow* window);
|
||||
CIMGUI_API float ImGui_ImplGlfw_GetContentScaleForMonitor(GLFWmonitor* monitor);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_OPENGL3
|
||||
@@ -30,10 +34,9 @@ CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_OPENGL2
|
||||
@@ -41,10 +44,9 @@ CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_UpdateTexture(ImTextureData* tex);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_SDL2
|
||||
@@ -68,6 +70,8 @@ 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 float ImGui_ImplSDL2_GetContentScaleForWindow(SDL_Window* window);
|
||||
CIMGUI_API float ImGui_ImplSDL2_GetContentScaleForDisplay(int display_index);
|
||||
CIMGUI_API void ImGui_ImplSDL2_SetGamepadMode(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array,int manual_gamepads_count);
|
||||
|
||||
#endif
|
||||
@@ -180,9 +184,8 @@ CIMGUI_API bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info);
|
||||
CIMGUI_API void ImGui_ImplVulkan_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplVulkan_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplVulkan_RenderDrawData(ImDrawData* draw_data,VkCommandBuffer command_buffer,VkPipeline pipeline);
|
||||
CIMGUI_API bool ImGui_ImplVulkan_CreateFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplVulkan_DestroyFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplVulkan_SetMinImageCount(uint32_t min_image_count);
|
||||
CIMGUI_API void ImGui_ImplVulkan_UpdateTexture(ImTextureData* tex);
|
||||
CIMGUI_API VkDescriptorSet ImGui_ImplVulkan_AddTexture(VkSampler sampler,VkImageView image_view,VkImageLayout image_layout);
|
||||
CIMGUI_API void ImGui_ImplVulkan_RemoveTexture(VkDescriptorSet descriptor_set);
|
||||
CIMGUI_API bool ImGui_ImplVulkan_LoadFunctions(uint32_t api_version,PFN_vkVoidFunction(*loader_func)(const char* function_name,void* user_data),void* user_data);
|
||||
@@ -196,3 +199,4 @@ CIMGUI_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKH
|
||||
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window(void);
|
||||
|
||||
#endif
|
||||
#endif //CIMGUI_IMPL_DEFINED
|
||||
|
@@ -1,8 +1,5 @@
|
||||
|
||||
#include "./imgui/imgui.h"
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
#include "./imgui/misc/freetype/imgui_freetype.h"
|
||||
#endif
|
||||
#include "./imgui/imgui_internal.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
@@ -12,16 +9,7 @@
|
||||
|
||||
|
||||
/////////////////////////////manual written functions
|
||||
CIMGUI_API void igLogText(const char *fmt, ...)
|
||||
{
|
||||
char buffer[256];
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buffer, 256, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
ImGui::LogText("%s", buffer);
|
||||
}
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
@@ -34,6 +34,12 @@ typedef unsigned __int64 ImU64;
|
||||
//typedef unsigned long long ImU64;
|
||||
#endif
|
||||
|
||||
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
#include "./imgui/misc/freetype/imgui_freetype.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "imgui_structs.h"
|
||||
@@ -46,8 +52,6 @@ typedef union SDL_Event SDL_Event;
|
||||
#include "auto_funcs.h"
|
||||
|
||||
/////////////////////////hand written functions
|
||||
//no LogTextV
|
||||
CIMGUI_API void igLogText(const char *fmt, ...);
|
||||
//no appendfV
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(ImGuiTextBuffer *self, const char *fmt, ...);
|
||||
//for getting FLT_MAX in bindings
|
||||
|
@@ -774,7 +774,9 @@ local function parseFunction(self,stname,itt,namespace,locat)
|
||||
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")
|
||||
-- also do type &name -> type& name
|
||||
--ar = ar:gsub("(%S)&(%S)","%1& %2")
|
||||
ar = ar:gsub("(%S)%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
|
||||
@@ -974,6 +976,7 @@ local function REPLACE_TEXTUREID(FP)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function ADDIMSTR_S(FP)
|
||||
local defsT = FP.defsT
|
||||
local newcdefs = {}
|
||||
@@ -1472,6 +1475,8 @@ function M.Parser()
|
||||
txt = txt:gsub(k,v)
|
||||
end
|
||||
end
|
||||
--clean = default in constructor (implot3d)
|
||||
txt = txt:gsub("=%s*default","")
|
||||
--save_data("./preprocode"..tostring(self):gsub("table: ","")..".c",txt)
|
||||
--clean bad positioned comments inside functionD_re
|
||||
if self.COMMENTS_GENERATION then
|
||||
@@ -1554,6 +1559,7 @@ function M.Parser()
|
||||
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
|
||||
@@ -2152,6 +2158,7 @@ function M.Parser()
|
||||
function par:dump_alltypes()
|
||||
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"
|
||||
@@ -2631,6 +2638,21 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
|
||||
end
|
||||
M.location = location
|
||||
---------------------- C writing functions
|
||||
local function paramListWithoutDots(params)
|
||||
i, j = string.find(params, "%.%.%.")
|
||||
while i > 1 do
|
||||
i = i - 1
|
||||
c = string.sub(params,i,i)
|
||||
if c == "," then
|
||||
return string.sub(params, 1, i-1) .. params:sub(j+1)
|
||||
elseif c == "(" then
|
||||
return string.sub(params, 1, i) .. params:sub(j+1)
|
||||
end
|
||||
end
|
||||
|
||||
error("paramListWithoutDots failed")
|
||||
return "()"
|
||||
end
|
||||
local function ImGui_f_implementation(def)
|
||||
local outtab = {}
|
||||
local ptret = def.retref and "&" or ""
|
||||
@@ -2651,14 +2673,24 @@ local function ImGui_f_implementation(def)
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," return ret;\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
|
||||
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
|
||||
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
|
||||
table.insert(outtab, "{\n")
|
||||
table.insert(outtab, " return "..def.ov_cimguiname..paramListWithoutDots(def.call_args)..";\n")
|
||||
table.insert(outtab, "}\n")
|
||||
table.insert(outtab, "#endif\n")
|
||||
elseif def.nonUDT then
|
||||
if def.nonUDT == 1 then
|
||||
table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
else --standard ImGui
|
||||
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
--table.insert(outtab,"}\n")
|
||||
return table.concat(outtab, "")
|
||||
end
|
||||
local function struct_f_implementation(def)
|
||||
@@ -2810,6 +2842,12 @@ local function func_header_generate_funcs(FP)
|
||||
|
||||
if def.stname == "" or def.is_static_function then --ImGui namespace or top level
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." ".. def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
if def.isvararg then
|
||||
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
|
||||
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
|
||||
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
|
||||
table.insert(outtab, "#endif\n")
|
||||
end
|
||||
else
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
end
|
||||
|
@@ -78,7 +78,7 @@ print("CPRE",CPRE)
|
||||
--this table has the functions to be skipped in generation
|
||||
--------------------------------------------------------------------------
|
||||
local cimgui_manuals = {
|
||||
igLogText = true,
|
||||
-- igLogText = true,
|
||||
ImGuiTextBuffer_appendf = true,
|
||||
--igColorConvertRGBtoHSV = true,
|
||||
--igColorConvertHSVtoRGB = true
|
||||
@@ -460,7 +460,7 @@ if #implementations > 0 then
|
||||
parser2 = cpp2ffi.Parser()
|
||||
|
||||
local config = dofile(CONFIG_GENERATOR_PATH) --"./config_generator.lua"
|
||||
local impl_str = ""
|
||||
local impl_str = "#ifndef CIMGUI_IMPL_DEFINED\n#define CIMGUI_IMPL_DEFINED\n"
|
||||
local impl_str_cpp = {}
|
||||
for i,impl in ipairs(implementations) do
|
||||
print("------------implementation:",impl)
|
||||
@@ -502,7 +502,7 @@ if #implementations > 0 then
|
||||
end
|
||||
impl_str = impl_str.. table.concat(outtab)..cfuncsstr .. "\n#endif\n"
|
||||
end
|
||||
|
||||
impl_str = impl_str .. "#endif //CIMGUI_IMPL_DEFINED\n"
|
||||
parser2:do_parse()
|
||||
save_data("./output/cimgui_impl.h",impl_str)
|
||||
|
||||
@@ -513,6 +513,11 @@ if #implementations > 0 then
|
||||
local cppstr = read_data"./cimgui_impl_template.cpp"
|
||||
cppstr = cppstr:gsub("GENERATED_PLACEHOLDER", impl_str_cpp)
|
||||
save_data("./output/cimgui_impl.cpp",cppstr)
|
||||
|
||||
copyfile("./output/cimgui_impl.h", "../cimgui_impl.h")
|
||||
copyfile("./output/cimgui_impl.cpp", "../cimgui_impl.cpp")
|
||||
os.remove("./output/cimgui_impl.h")
|
||||
os.remove("./output/cimgui_impl.cpp")
|
||||
|
||||
end -- #implementations > 0 then
|
||||
|
||||
@@ -544,11 +549,7 @@ 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!!"
|
||||
|
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:63",
|
||||
"location": "imgui_impl_glfw:64",
|
||||
"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:58",
|
||||
"location": "imgui_impl_glfw:59",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
@@ -71,13 +71,55 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"location": "imgui_impl_glfw:59",
|
||||
"location": "imgui_impl_glfw:60",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_GetContentScaleForMonitor": [
|
||||
{
|
||||
"args": "(GLFWmonitor* monitor)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "monitor",
|
||||
"type": "GLFWmonitor*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWmonitor* monitor)",
|
||||
"call_args": "(monitor)",
|
||||
"cimguiname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
"location": "imgui_impl_glfw:70",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
"ret": "float",
|
||||
"signature": "(GLFWmonitor*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_GetContentScaleForWindow": [
|
||||
{
|
||||
"args": "(GLFWwindow* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
"location": "imgui_impl_glfw:69",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
"ret": "float",
|
||||
"signature": "(GLFWwindow*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForOpenGL": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
@@ -96,7 +138,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"location": "imgui_impl_glfw:34",
|
||||
"location": "imgui_impl_glfw:35",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -121,7 +163,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOther",
|
||||
"location": "imgui_impl_glfw:36",
|
||||
"location": "imgui_impl_glfw:37",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -146,7 +188,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"location": "imgui_impl_glfw:35",
|
||||
"location": "imgui_impl_glfw:36",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -167,7 +209,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"location": "imgui_impl_glfw:49",
|
||||
"location": "imgui_impl_glfw:50",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
@@ -204,7 +246,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"location": "imgui_impl_glfw:62",
|
||||
"location": "imgui_impl_glfw:63",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int,int)",
|
||||
@@ -229,7 +271,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"location": "imgui_impl_glfw:64",
|
||||
"location": "imgui_impl_glfw:65",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWmonitor*,int)",
|
||||
@@ -262,7 +304,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"location": "imgui_impl_glfw:60",
|
||||
"location": "imgui_impl_glfw:61",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int)",
|
||||
@@ -278,7 +320,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_NewFrame",
|
||||
"location": "imgui_impl_glfw:38",
|
||||
"location": "imgui_impl_glfw:39",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -299,7 +341,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"location": "imgui_impl_glfw:50",
|
||||
"location": "imgui_impl_glfw:51",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
@@ -328,7 +370,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"location": "imgui_impl_glfw:61",
|
||||
"location": "imgui_impl_glfw:62",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
@@ -349,7 +391,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"location": "imgui_impl_glfw:54",
|
||||
"location": "imgui_impl_glfw:55",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
"ret": "void",
|
||||
"signature": "(bool)",
|
||||
@@ -365,7 +407,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Shutdown",
|
||||
"location": "imgui_impl_glfw:37",
|
||||
"location": "imgui_impl_glfw:38",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -386,7 +428,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Sleep",
|
||||
"location": "imgui_impl_glfw:67",
|
||||
"location": "imgui_impl_glfw:68",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"ret": "void",
|
||||
"signature": "(int)",
|
||||
@@ -411,7 +453,7 @@
|
||||
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"location": "imgui_impl_glfw:57",
|
||||
"location": "imgui_impl_glfw:58",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
@@ -427,29 +469,13 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:39",
|
||||
"location": "imgui_impl_opengl2:38",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl2:37",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
@@ -459,29 +485,13 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:40",
|
||||
"location": "imgui_impl_opengl2:39",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl2:38",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_Init": [
|
||||
{
|
||||
"args": "()",
|
||||
@@ -491,7 +501,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Init",
|
||||
"location": "imgui_impl_opengl2:31",
|
||||
"location": "imgui_impl_opengl2:32",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -507,7 +517,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"location": "imgui_impl_opengl2:33",
|
||||
"location": "imgui_impl_opengl2:34",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -528,7 +538,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"location": "imgui_impl_opengl2:34",
|
||||
"location": "imgui_impl_opengl2:35",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -544,13 +554,34 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"location": "imgui_impl_opengl2:32",
|
||||
"location": "imgui_impl_opengl2:33",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_UpdateTexture": [
|
||||
{
|
||||
"args": "(ImTextureData* tex)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": "ImTextureData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImTextureData* tex)",
|
||||
"call_args": "(tex)",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_UpdateTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_UpdateTexture",
|
||||
"location": "imgui_impl_opengl2:42",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_UpdateTexture",
|
||||
"ret": "void",
|
||||
"signature": "(ImTextureData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
@@ -560,29 +591,13 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:42",
|
||||
"location": "imgui_impl_opengl3:41",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl3:40",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
@@ -592,29 +607,13 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:43",
|
||||
"location": "imgui_impl_opengl3:42",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl3:41",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_Init": [
|
||||
{
|
||||
"args": "(const char* glsl_version)",
|
||||
@@ -631,7 +630,7 @@
|
||||
"glsl_version": "nullptr"
|
||||
},
|
||||
"funcname": "ImGui_ImplOpenGL3_Init",
|
||||
"location": "imgui_impl_opengl3:34",
|
||||
"location": "imgui_impl_opengl3:35",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"ret": "bool",
|
||||
"signature": "(const char*)",
|
||||
@@ -647,7 +646,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"location": "imgui_impl_opengl3:36",
|
||||
"location": "imgui_impl_opengl3:37",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -668,7 +667,7 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"location": "imgui_impl_opengl3:37",
|
||||
"location": "imgui_impl_opengl3:38",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -684,13 +683,76 @@
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"location": "imgui_impl_opengl3:35",
|
||||
"location": "imgui_impl_opengl3:36",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_UpdateTexture": [
|
||||
{
|
||||
"args": "(ImTextureData* tex)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": "ImTextureData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImTextureData* tex)",
|
||||
"call_args": "(tex)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_UpdateTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_UpdateTexture",
|
||||
"location": "imgui_impl_opengl3:45",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_UpdateTexture",
|
||||
"ret": "void",
|
||||
"signature": "(ImTextureData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_GetContentScaleForDisplay": [
|
||||
{
|
||||
"args": "(int display_index)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "display_index",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(int display_index)",
|
||||
"call_args": "(display_index)",
|
||||
"cimguiname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
"location": "imgui_impl_sdl2:47",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
"ret": "float",
|
||||
"signature": "(int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_GetContentScaleForWindow": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
"location": "imgui_impl_sdl2:46",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
"ret": "float",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForD3D": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
@@ -887,7 +949,7 @@
|
||||
"manual_gamepads_count": "-1"
|
||||
},
|
||||
"funcname": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"location": "imgui_impl_sdl2:48",
|
||||
"location": "imgui_impl_sdl2:52",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
|
||||
"ret": "void",
|
||||
"signature": "(ImGui_ImplSDL2_GamepadMode,struct _SDL_GameController**,int)",
|
||||
@@ -1196,7 +1258,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
"location": "imgui_impl_vulkan:166",
|
||||
"location": "imgui_impl_vulkan:167",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
"ret": "void",
|
||||
"signature": "(VkInstance,VkPhysicalDevice,VkDevice,ImGui_ImplVulkanH_Window*,uint32_t,const VkAllocationCallbacks*,int,int,uint32_t)",
|
||||
@@ -1229,7 +1291,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_DestroyWindow",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_DestroyWindow",
|
||||
"location": "imgui_impl_vulkan:167",
|
||||
"location": "imgui_impl_vulkan:168",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_DestroyWindow",
|
||||
"ret": "void",
|
||||
"signature": "(VkInstance,VkDevice,ImGui_ImplVulkanH_Window*,const VkAllocationCallbacks*)",
|
||||
@@ -1250,7 +1312,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
"location": "imgui_impl_vulkan:172",
|
||||
"location": "imgui_impl_vulkan:173",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
"ret": "int",
|
||||
"signature": "(VkPresentModeKHR)",
|
||||
@@ -1271,7 +1333,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
"location": "imgui_impl_vulkan:170",
|
||||
"location": "imgui_impl_vulkan:171",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
"ret": "VkPhysicalDevice",
|
||||
"signature": "(VkInstance)",
|
||||
@@ -1304,7 +1366,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_SelectPresentMode",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_SelectPresentMode",
|
||||
"location": "imgui_impl_vulkan:169",
|
||||
"location": "imgui_impl_vulkan:170",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_SelectPresentMode",
|
||||
"ret": "VkPresentModeKHR",
|
||||
"signature": "(VkPhysicalDevice,VkSurfaceKHR,const VkPresentModeKHR*,int)",
|
||||
@@ -1325,7 +1387,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
"location": "imgui_impl_vulkan:171",
|
||||
"location": "imgui_impl_vulkan:172",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
"ret": "uint32_t",
|
||||
"signature": "(VkPhysicalDevice)",
|
||||
@@ -1362,7 +1424,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
"location": "imgui_impl_vulkan:168",
|
||||
"location": "imgui_impl_vulkan:169",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
"ret": "VkSurfaceFormatKHR",
|
||||
"signature": "(VkPhysicalDevice,VkSurfaceKHR,const VkFormat*,int,VkColorSpaceKHR)",
|
||||
@@ -1379,7 +1441,7 @@
|
||||
"constructor": true,
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkanH_Window",
|
||||
"location": "imgui_impl_vulkan:214",
|
||||
"location": "imgui_impl_vulkan:215",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
|
||||
"signature": "()",
|
||||
"stname": "ImGui_ImplVulkanH_Window"
|
||||
@@ -1398,7 +1460,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkanH_Window_destroy",
|
||||
"defaults": {},
|
||||
"destructor": true,
|
||||
"location": "imgui_impl_vulkan:214",
|
||||
"location": "imgui_impl_vulkan:215",
|
||||
"ov_cimguiname": "ImGui_ImplVulkanH_Window_destroy",
|
||||
"ret": "void",
|
||||
"signature": "(ImGui_ImplVulkanH_Window*)",
|
||||
@@ -1427,45 +1489,13 @@
|
||||
"cimguiname": "ImGui_ImplVulkan_AddTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_AddTexture",
|
||||
"location": "imgui_impl_vulkan:123",
|
||||
"location": "imgui_impl_vulkan:124",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_AddTexture",
|
||||
"ret": "VkDescriptorSet",
|
||||
"signature": "(VkSampler,VkImageView,VkImageLayout)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplVulkan_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplVulkan_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_CreateFontsTexture",
|
||||
"location": "imgui_impl_vulkan:116",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplVulkan_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
"location": "imgui_impl_vulkan:117",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplVulkan_Init": [
|
||||
{
|
||||
"args": "(ImGui_ImplVulkan_InitInfo* info)",
|
||||
@@ -1511,7 +1541,7 @@
|
||||
"user_data": "nullptr"
|
||||
},
|
||||
"funcname": "ImGui_ImplVulkan_LoadFunctions",
|
||||
"location": "imgui_impl_vulkan:128",
|
||||
"location": "imgui_impl_vulkan:129",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_LoadFunctions",
|
||||
"ret": "bool",
|
||||
"signature": "(uint32_t,PFN_vkVoidFunction(*loader_func)(const char* function_name,void*,void*)",
|
||||
@@ -1548,7 +1578,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkan_RemoveTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_RemoveTexture",
|
||||
"location": "imgui_impl_vulkan:124",
|
||||
"location": "imgui_impl_vulkan:125",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_RemoveTexture",
|
||||
"ret": "void",
|
||||
"signature": "(VkDescriptorSet)",
|
||||
@@ -1600,7 +1630,7 @@
|
||||
"cimguiname": "ImGui_ImplVulkan_SetMinImageCount",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_SetMinImageCount",
|
||||
"location": "imgui_impl_vulkan:118",
|
||||
"location": "imgui_impl_vulkan:116",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_SetMinImageCount",
|
||||
"ret": "void",
|
||||
"signature": "(uint32_t)",
|
||||
@@ -1622,5 +1652,26 @@
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplVulkan_UpdateTexture": [
|
||||
{
|
||||
"args": "(ImTextureData* tex)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "tex",
|
||||
"type": "ImTextureData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImTextureData* tex)",
|
||||
"call_args": "(tex)",
|
||||
"cimguiname": "ImGui_ImplVulkan_UpdateTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplVulkan_UpdateTexture",
|
||||
"location": "imgui_impl_vulkan:119",
|
||||
"ov_cimguiname": "ImGui_ImplVulkan_UpdateTexture",
|
||||
"ret": "void",
|
||||
"signature": "(ImTextureData*)",
|
||||
"stname": ""
|
||||
}
|
||||
]
|
||||
}
|
@@ -14,7 +14,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_CharCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_CharCallback",
|
||||
location="imgui_impl_glfw:63",
|
||||
location="imgui_impl_glfw:64",
|
||||
ov_cimguiname="ImGui_ImplGlfw_CharCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,unsigned int)",
|
||||
@@ -35,7 +35,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_CursorEnterCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_CursorEnterCallback",
|
||||
location="imgui_impl_glfw:58",
|
||||
location="imgui_impl_glfw:59",
|
||||
ov_cimguiname="ImGui_ImplGlfw_CursorEnterCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,int)",
|
||||
@@ -59,12 +59,48 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_CursorPosCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_CursorPosCallback",
|
||||
location="imgui_impl_glfw:59",
|
||||
location="imgui_impl_glfw:60",
|
||||
ov_cimguiname="ImGui_ImplGlfw_CursorPosCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,double,double)",
|
||||
stname=""},
|
||||
["(GLFWwindow*,double,double)"]=nil},
|
||||
ImGui_ImplGlfw_GetContentScaleForMonitor={
|
||||
[1]={
|
||||
args="(GLFWmonitor* monitor)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="monitor",
|
||||
type="GLFWmonitor*"}},
|
||||
argsoriginal="(GLFWmonitor* monitor)",
|
||||
call_args="(monitor)",
|
||||
cimguiname="ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
location="imgui_impl_glfw:70",
|
||||
ov_cimguiname="ImGui_ImplGlfw_GetContentScaleForMonitor",
|
||||
ret="float",
|
||||
signature="(GLFWmonitor*)",
|
||||
stname=""},
|
||||
["(GLFWmonitor*)"]=nil},
|
||||
ImGui_ImplGlfw_GetContentScaleForWindow={
|
||||
[1]={
|
||||
args="(GLFWwindow* window)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="window",
|
||||
type="GLFWwindow*"}},
|
||||
argsoriginal="(GLFWwindow* window)",
|
||||
call_args="(window)",
|
||||
cimguiname="ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
location="imgui_impl_glfw:69",
|
||||
ov_cimguiname="ImGui_ImplGlfw_GetContentScaleForWindow",
|
||||
ret="float",
|
||||
signature="(GLFWwindow*)",
|
||||
stname=""},
|
||||
["(GLFWwindow*)"]=nil},
|
||||
ImGui_ImplGlfw_InitForOpenGL={
|
||||
[1]={
|
||||
args="(GLFWwindow* window,bool install_callbacks)",
|
||||
@@ -80,7 +116,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_InitForOpenGL",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_InitForOpenGL",
|
||||
location="imgui_impl_glfw:34",
|
||||
location="imgui_impl_glfw:35",
|
||||
ov_cimguiname="ImGui_ImplGlfw_InitForOpenGL",
|
||||
ret="bool",
|
||||
signature="(GLFWwindow*,bool)",
|
||||
@@ -101,7 +137,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_InitForOther",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_InitForOther",
|
||||
location="imgui_impl_glfw:36",
|
||||
location="imgui_impl_glfw:37",
|
||||
ov_cimguiname="ImGui_ImplGlfw_InitForOther",
|
||||
ret="bool",
|
||||
signature="(GLFWwindow*,bool)",
|
||||
@@ -122,7 +158,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_InitForVulkan",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_InitForVulkan",
|
||||
location="imgui_impl_glfw:35",
|
||||
location="imgui_impl_glfw:36",
|
||||
ov_cimguiname="ImGui_ImplGlfw_InitForVulkan",
|
||||
ret="bool",
|
||||
signature="(GLFWwindow*,bool)",
|
||||
@@ -140,7 +176,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_InstallCallbacks",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_InstallCallbacks",
|
||||
location="imgui_impl_glfw:49",
|
||||
location="imgui_impl_glfw:50",
|
||||
ov_cimguiname="ImGui_ImplGlfw_InstallCallbacks",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*)",
|
||||
@@ -170,7 +206,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_KeyCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_KeyCallback",
|
||||
location="imgui_impl_glfw:62",
|
||||
location="imgui_impl_glfw:63",
|
||||
ov_cimguiname="ImGui_ImplGlfw_KeyCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,int,int,int,int)",
|
||||
@@ -191,7 +227,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_MonitorCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_MonitorCallback",
|
||||
location="imgui_impl_glfw:64",
|
||||
location="imgui_impl_glfw:65",
|
||||
ov_cimguiname="ImGui_ImplGlfw_MonitorCallback",
|
||||
ret="void",
|
||||
signature="(GLFWmonitor*,int)",
|
||||
@@ -218,7 +254,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_MouseButtonCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_MouseButtonCallback",
|
||||
location="imgui_impl_glfw:60",
|
||||
location="imgui_impl_glfw:61",
|
||||
ov_cimguiname="ImGui_ImplGlfw_MouseButtonCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,int,int,int)",
|
||||
@@ -233,7 +269,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_NewFrame",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_NewFrame",
|
||||
location="imgui_impl_glfw:38",
|
||||
location="imgui_impl_glfw:39",
|
||||
ov_cimguiname="ImGui_ImplGlfw_NewFrame",
|
||||
ret="void",
|
||||
signature="()",
|
||||
@@ -251,7 +287,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_RestoreCallbacks",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_RestoreCallbacks",
|
||||
location="imgui_impl_glfw:50",
|
||||
location="imgui_impl_glfw:51",
|
||||
ov_cimguiname="ImGui_ImplGlfw_RestoreCallbacks",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*)",
|
||||
@@ -275,7 +311,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_ScrollCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_ScrollCallback",
|
||||
location="imgui_impl_glfw:61",
|
||||
location="imgui_impl_glfw:62",
|
||||
ov_cimguiname="ImGui_ImplGlfw_ScrollCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,double,double)",
|
||||
@@ -293,7 +329,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
location="imgui_impl_glfw:54",
|
||||
location="imgui_impl_glfw:55",
|
||||
ov_cimguiname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
|
||||
ret="void",
|
||||
signature="(bool)",
|
||||
@@ -308,7 +344,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_Shutdown",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_Shutdown",
|
||||
location="imgui_impl_glfw:37",
|
||||
location="imgui_impl_glfw:38",
|
||||
ov_cimguiname="ImGui_ImplGlfw_Shutdown",
|
||||
ret="void",
|
||||
signature="()",
|
||||
@@ -326,7 +362,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_Sleep",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_Sleep",
|
||||
location="imgui_impl_glfw:67",
|
||||
location="imgui_impl_glfw:68",
|
||||
ov_cimguiname="ImGui_ImplGlfw_Sleep",
|
||||
ret="void",
|
||||
signature="(int)",
|
||||
@@ -347,7 +383,7 @@ local t={
|
||||
cimguiname="ImGui_ImplGlfw_WindowFocusCallback",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplGlfw_WindowFocusCallback",
|
||||
location="imgui_impl_glfw:57",
|
||||
location="imgui_impl_glfw:58",
|
||||
ov_cimguiname="ImGui_ImplGlfw_WindowFocusCallback",
|
||||
ret="void",
|
||||
signature="(GLFWwindow*,int)",
|
||||
@@ -362,27 +398,12 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
location="imgui_impl_opengl2:39",
|
||||
location="imgui_impl_opengl2:38",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL2_CreateFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
location="imgui_impl_opengl2:37",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL2_DestroyDeviceObjects={
|
||||
[1]={
|
||||
args="()",
|
||||
@@ -392,27 +413,12 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
location="imgui_impl_opengl2:40",
|
||||
location="imgui_impl_opengl2:39",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL2_DestroyFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
location="imgui_impl_opengl2:38",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL2_Init={
|
||||
[1]={
|
||||
args="()",
|
||||
@@ -422,7 +428,7 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_Init",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_Init",
|
||||
location="imgui_impl_opengl2:31",
|
||||
location="imgui_impl_opengl2:32",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_Init",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
@@ -437,7 +443,7 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_NewFrame",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_NewFrame",
|
||||
location="imgui_impl_opengl2:33",
|
||||
location="imgui_impl_opengl2:34",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_NewFrame",
|
||||
ret="void",
|
||||
signature="()",
|
||||
@@ -455,7 +461,7 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_RenderDrawData",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_RenderDrawData",
|
||||
location="imgui_impl_opengl2:34",
|
||||
location="imgui_impl_opengl2:35",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_RenderDrawData",
|
||||
ret="void",
|
||||
signature="(ImDrawData*)",
|
||||
@@ -470,12 +476,30 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL2_Shutdown",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_Shutdown",
|
||||
location="imgui_impl_opengl2:32",
|
||||
location="imgui_impl_opengl2:33",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_Shutdown",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL2_UpdateTexture={
|
||||
[1]={
|
||||
args="(ImTextureData* tex)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="tex",
|
||||
type="ImTextureData*"}},
|
||||
argsoriginal="(ImTextureData* tex)",
|
||||
call_args="(tex)",
|
||||
cimguiname="ImGui_ImplOpenGL2_UpdateTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL2_UpdateTexture",
|
||||
location="imgui_impl_opengl2:42",
|
||||
ov_cimguiname="ImGui_ImplOpenGL2_UpdateTexture",
|
||||
ret="void",
|
||||
signature="(ImTextureData*)",
|
||||
stname=""},
|
||||
["(ImTextureData*)"]=nil},
|
||||
ImGui_ImplOpenGL3_CreateDeviceObjects={
|
||||
[1]={
|
||||
args="()",
|
||||
@@ -485,27 +509,12 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
location="imgui_impl_opengl3:42",
|
||||
location="imgui_impl_opengl3:41",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL3_CreateFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
location="imgui_impl_opengl3:40",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL3_DestroyDeviceObjects={
|
||||
[1]={
|
||||
args="()",
|
||||
@@ -515,27 +524,12 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
location="imgui_impl_opengl3:43",
|
||||
location="imgui_impl_opengl3:42",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL3_DestroyFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
location="imgui_impl_opengl3:41",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL3_Init={
|
||||
[1]={
|
||||
args="(const char* glsl_version)",
|
||||
@@ -549,7 +543,7 @@ local t={
|
||||
defaults={
|
||||
glsl_version="nullptr"},
|
||||
funcname="ImGui_ImplOpenGL3_Init",
|
||||
location="imgui_impl_opengl3:34",
|
||||
location="imgui_impl_opengl3:35",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_Init",
|
||||
ret="bool",
|
||||
signature="(const char*)",
|
||||
@@ -564,7 +558,7 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL3_NewFrame",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_NewFrame",
|
||||
location="imgui_impl_opengl3:36",
|
||||
location="imgui_impl_opengl3:37",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_NewFrame",
|
||||
ret="void",
|
||||
signature="()",
|
||||
@@ -582,7 +576,7 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL3_RenderDrawData",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_RenderDrawData",
|
||||
location="imgui_impl_opengl3:37",
|
||||
location="imgui_impl_opengl3:38",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_RenderDrawData",
|
||||
ret="void",
|
||||
signature="(ImDrawData*)",
|
||||
@@ -597,12 +591,66 @@ local t={
|
||||
cimguiname="ImGui_ImplOpenGL3_Shutdown",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_Shutdown",
|
||||
location="imgui_impl_opengl3:35",
|
||||
location="imgui_impl_opengl3:36",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_Shutdown",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplOpenGL3_UpdateTexture={
|
||||
[1]={
|
||||
args="(ImTextureData* tex)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="tex",
|
||||
type="ImTextureData*"}},
|
||||
argsoriginal="(ImTextureData* tex)",
|
||||
call_args="(tex)",
|
||||
cimguiname="ImGui_ImplOpenGL3_UpdateTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplOpenGL3_UpdateTexture",
|
||||
location="imgui_impl_opengl3:45",
|
||||
ov_cimguiname="ImGui_ImplOpenGL3_UpdateTexture",
|
||||
ret="void",
|
||||
signature="(ImTextureData*)",
|
||||
stname=""},
|
||||
["(ImTextureData*)"]=nil},
|
||||
ImGui_ImplSDL2_GetContentScaleForDisplay={
|
||||
[1]={
|
||||
args="(int display_index)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="display_index",
|
||||
type="int"}},
|
||||
argsoriginal="(int display_index)",
|
||||
call_args="(display_index)",
|
||||
cimguiname="ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
location="imgui_impl_sdl2:47",
|
||||
ov_cimguiname="ImGui_ImplSDL2_GetContentScaleForDisplay",
|
||||
ret="float",
|
||||
signature="(int)",
|
||||
stname=""},
|
||||
["(int)"]=nil},
|
||||
ImGui_ImplSDL2_GetContentScaleForWindow={
|
||||
[1]={
|
||||
args="(SDL_Window* window)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="window",
|
||||
type="SDL_Window*"}},
|
||||
argsoriginal="(SDL_Window* window)",
|
||||
call_args="(window)",
|
||||
cimguiname="ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
location="imgui_impl_sdl2:46",
|
||||
ov_cimguiname="ImGui_ImplSDL2_GetContentScaleForWindow",
|
||||
ret="float",
|
||||
signature="(SDL_Window*)",
|
||||
stname=""},
|
||||
["(SDL_Window*)"]=nil},
|
||||
ImGui_ImplSDL2_InitForD3D={
|
||||
[1]={
|
||||
args="(SDL_Window* window)",
|
||||
@@ -770,7 +818,7 @@ local t={
|
||||
manual_gamepads_array="nullptr",
|
||||
manual_gamepads_count="-1"},
|
||||
funcname="ImGui_ImplSDL2_SetGamepadMode",
|
||||
location="imgui_impl_sdl2:48",
|
||||
location="imgui_impl_sdl2:52",
|
||||
ov_cimguiname="ImGui_ImplSDL2_SetGamepadMode",
|
||||
ret="void",
|
||||
signature="(ImGui_ImplSDL2_GamepadMode,struct _SDL_GameController**,int)",
|
||||
@@ -1033,7 +1081,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
location="imgui_impl_vulkan:166",
|
||||
location="imgui_impl_vulkan:167",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_CreateOrResizeWindow",
|
||||
ret="void",
|
||||
signature="(VkInstance,VkPhysicalDevice,VkDevice,ImGui_ImplVulkanH_Window*,uint32_t,const VkAllocationCallbacks*,int,int,uint32_t)",
|
||||
@@ -1060,7 +1108,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_DestroyWindow",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_DestroyWindow",
|
||||
location="imgui_impl_vulkan:167",
|
||||
location="imgui_impl_vulkan:168",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_DestroyWindow",
|
||||
ret="void",
|
||||
signature="(VkInstance,VkDevice,ImGui_ImplVulkanH_Window*,const VkAllocationCallbacks*)",
|
||||
@@ -1078,7 +1126,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
location="imgui_impl_vulkan:172",
|
||||
location="imgui_impl_vulkan:173",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
|
||||
ret="int",
|
||||
signature="(VkPresentModeKHR)",
|
||||
@@ -1096,7 +1144,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
location="imgui_impl_vulkan:170",
|
||||
location="imgui_impl_vulkan:171",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_SelectPhysicalDevice",
|
||||
ret="VkPhysicalDevice",
|
||||
signature="(VkInstance)",
|
||||
@@ -1123,7 +1171,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_SelectPresentMode",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_SelectPresentMode",
|
||||
location="imgui_impl_vulkan:169",
|
||||
location="imgui_impl_vulkan:170",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_SelectPresentMode",
|
||||
ret="VkPresentModeKHR",
|
||||
signature="(VkPhysicalDevice,VkSurfaceKHR,const VkPresentModeKHR*,int)",
|
||||
@@ -1141,7 +1189,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
location="imgui_impl_vulkan:171",
|
||||
location="imgui_impl_vulkan:172",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
|
||||
ret="uint32_t",
|
||||
signature="(VkPhysicalDevice)",
|
||||
@@ -1171,7 +1219,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
location="imgui_impl_vulkan:168",
|
||||
location="imgui_impl_vulkan:169",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_SelectSurfaceFormat",
|
||||
ret="VkSurfaceFormatKHR",
|
||||
signature="(VkPhysicalDevice,VkSurfaceKHR,const VkFormat*,int,VkColorSpaceKHR)",
|
||||
@@ -1187,7 +1235,7 @@ local t={
|
||||
constructor=true,
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkanH_Window",
|
||||
location="imgui_impl_vulkan:214",
|
||||
location="imgui_impl_vulkan:215",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
|
||||
signature="()",
|
||||
stname="ImGui_ImplVulkanH_Window"},
|
||||
@@ -1203,7 +1251,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkanH_Window_destroy",
|
||||
defaults={},
|
||||
destructor=true,
|
||||
location="imgui_impl_vulkan:214",
|
||||
location="imgui_impl_vulkan:215",
|
||||
ov_cimguiname="ImGui_ImplVulkanH_Window_destroy",
|
||||
ret="void",
|
||||
signature="(ImGui_ImplVulkanH_Window*)",
|
||||
@@ -1227,42 +1275,12 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkan_AddTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_AddTexture",
|
||||
location="imgui_impl_vulkan:123",
|
||||
location="imgui_impl_vulkan:124",
|
||||
ov_cimguiname="ImGui_ImplVulkan_AddTexture",
|
||||
ret="VkDescriptorSet",
|
||||
signature="(VkSampler,VkImageView,VkImageLayout)",
|
||||
stname=""},
|
||||
["(VkSampler,VkImageView,VkImageLayout)"]=nil},
|
||||
ImGui_ImplVulkan_CreateFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplVulkan_CreateFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_CreateFontsTexture",
|
||||
location="imgui_impl_vulkan:116",
|
||||
ov_cimguiname="ImGui_ImplVulkan_CreateFontsTexture",
|
||||
ret="bool",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplVulkan_DestroyFontsTexture={
|
||||
[1]={
|
||||
args="()",
|
||||
argsT={},
|
||||
argsoriginal="()",
|
||||
call_args="()",
|
||||
cimguiname="ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
location="imgui_impl_vulkan:117",
|
||||
ov_cimguiname="ImGui_ImplVulkan_DestroyFontsTexture",
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil},
|
||||
ImGui_ImplVulkan_Init={
|
||||
[1]={
|
||||
args="(ImGui_ImplVulkan_InitInfo* info)",
|
||||
@@ -1300,7 +1318,7 @@ local t={
|
||||
defaults={
|
||||
user_data="nullptr"},
|
||||
funcname="ImGui_ImplVulkan_LoadFunctions",
|
||||
location="imgui_impl_vulkan:128",
|
||||
location="imgui_impl_vulkan:129",
|
||||
ov_cimguiname="ImGui_ImplVulkan_LoadFunctions",
|
||||
ret="bool",
|
||||
signature="(uint32_t,PFN_vkVoidFunction(*loader_func)(const char* function_name,void*,void*)",
|
||||
@@ -1333,7 +1351,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkan_RemoveTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_RemoveTexture",
|
||||
location="imgui_impl_vulkan:124",
|
||||
location="imgui_impl_vulkan:125",
|
||||
ov_cimguiname="ImGui_ImplVulkan_RemoveTexture",
|
||||
ret="void",
|
||||
signature="(VkDescriptorSet)",
|
||||
@@ -1376,7 +1394,7 @@ local t={
|
||||
cimguiname="ImGui_ImplVulkan_SetMinImageCount",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_SetMinImageCount",
|
||||
location="imgui_impl_vulkan:118",
|
||||
location="imgui_impl_vulkan:116",
|
||||
ov_cimguiname="ImGui_ImplVulkan_SetMinImageCount",
|
||||
ret="void",
|
||||
signature="(uint32_t)",
|
||||
@@ -1396,10 +1414,30 @@ local t={
|
||||
ret="void",
|
||||
signature="()",
|
||||
stname=""},
|
||||
["()"]=nil}}
|
||||
["()"]=nil},
|
||||
ImGui_ImplVulkan_UpdateTexture={
|
||||
[1]={
|
||||
args="(ImTextureData* tex)",
|
||||
argsT={
|
||||
[1]={
|
||||
name="tex",
|
||||
type="ImTextureData*"}},
|
||||
argsoriginal="(ImTextureData* tex)",
|
||||
call_args="(tex)",
|
||||
cimguiname="ImGui_ImplVulkan_UpdateTexture",
|
||||
defaults={},
|
||||
funcname="ImGui_ImplVulkan_UpdateTexture",
|
||||
location="imgui_impl_vulkan:119",
|
||||
ov_cimguiname="ImGui_ImplVulkan_UpdateTexture",
|
||||
ret="void",
|
||||
signature="(ImTextureData*)",
|
||||
stname=""},
|
||||
["(ImTextureData*)"]=nil}}
|
||||
t.ImGui_ImplGlfw_CharCallback["(GLFWwindow*,unsigned int)"]=t.ImGui_ImplGlfw_CharCallback[1]
|
||||
t.ImGui_ImplGlfw_CursorEnterCallback["(GLFWwindow*,int)"]=t.ImGui_ImplGlfw_CursorEnterCallback[1]
|
||||
t.ImGui_ImplGlfw_CursorPosCallback["(GLFWwindow*,double,double)"]=t.ImGui_ImplGlfw_CursorPosCallback[1]
|
||||
t.ImGui_ImplGlfw_GetContentScaleForMonitor["(GLFWmonitor*)"]=t.ImGui_ImplGlfw_GetContentScaleForMonitor[1]
|
||||
t.ImGui_ImplGlfw_GetContentScaleForWindow["(GLFWwindow*)"]=t.ImGui_ImplGlfw_GetContentScaleForWindow[1]
|
||||
t.ImGui_ImplGlfw_InitForOpenGL["(GLFWwindow*,bool)"]=t.ImGui_ImplGlfw_InitForOpenGL[1]
|
||||
t.ImGui_ImplGlfw_InitForOther["(GLFWwindow*,bool)"]=t.ImGui_ImplGlfw_InitForOther[1]
|
||||
t.ImGui_ImplGlfw_InitForVulkan["(GLFWwindow*,bool)"]=t.ImGui_ImplGlfw_InitForVulkan[1]
|
||||
@@ -1415,21 +1453,21 @@ t.ImGui_ImplGlfw_Shutdown["()"]=t.ImGui_ImplGlfw_Shutdown[1]
|
||||
t.ImGui_ImplGlfw_Sleep["(int)"]=t.ImGui_ImplGlfw_Sleep[1]
|
||||
t.ImGui_ImplGlfw_WindowFocusCallback["(GLFWwindow*,int)"]=t.ImGui_ImplGlfw_WindowFocusCallback[1]
|
||||
t.ImGui_ImplOpenGL2_CreateDeviceObjects["()"]=t.ImGui_ImplOpenGL2_CreateDeviceObjects[1]
|
||||
t.ImGui_ImplOpenGL2_CreateFontsTexture["()"]=t.ImGui_ImplOpenGL2_CreateFontsTexture[1]
|
||||
t.ImGui_ImplOpenGL2_DestroyDeviceObjects["()"]=t.ImGui_ImplOpenGL2_DestroyDeviceObjects[1]
|
||||
t.ImGui_ImplOpenGL2_DestroyFontsTexture["()"]=t.ImGui_ImplOpenGL2_DestroyFontsTexture[1]
|
||||
t.ImGui_ImplOpenGL2_Init["()"]=t.ImGui_ImplOpenGL2_Init[1]
|
||||
t.ImGui_ImplOpenGL2_NewFrame["()"]=t.ImGui_ImplOpenGL2_NewFrame[1]
|
||||
t.ImGui_ImplOpenGL2_RenderDrawData["(ImDrawData*)"]=t.ImGui_ImplOpenGL2_RenderDrawData[1]
|
||||
t.ImGui_ImplOpenGL2_Shutdown["()"]=t.ImGui_ImplOpenGL2_Shutdown[1]
|
||||
t.ImGui_ImplOpenGL2_UpdateTexture["(ImTextureData*)"]=t.ImGui_ImplOpenGL2_UpdateTexture[1]
|
||||
t.ImGui_ImplOpenGL3_CreateDeviceObjects["()"]=t.ImGui_ImplOpenGL3_CreateDeviceObjects[1]
|
||||
t.ImGui_ImplOpenGL3_CreateFontsTexture["()"]=t.ImGui_ImplOpenGL3_CreateFontsTexture[1]
|
||||
t.ImGui_ImplOpenGL3_DestroyDeviceObjects["()"]=t.ImGui_ImplOpenGL3_DestroyDeviceObjects[1]
|
||||
t.ImGui_ImplOpenGL3_DestroyFontsTexture["()"]=t.ImGui_ImplOpenGL3_DestroyFontsTexture[1]
|
||||
t.ImGui_ImplOpenGL3_Init["(const char*)"]=t.ImGui_ImplOpenGL3_Init[1]
|
||||
t.ImGui_ImplOpenGL3_NewFrame["()"]=t.ImGui_ImplOpenGL3_NewFrame[1]
|
||||
t.ImGui_ImplOpenGL3_RenderDrawData["(ImDrawData*)"]=t.ImGui_ImplOpenGL3_RenderDrawData[1]
|
||||
t.ImGui_ImplOpenGL3_Shutdown["()"]=t.ImGui_ImplOpenGL3_Shutdown[1]
|
||||
t.ImGui_ImplOpenGL3_UpdateTexture["(ImTextureData*)"]=t.ImGui_ImplOpenGL3_UpdateTexture[1]
|
||||
t.ImGui_ImplSDL2_GetContentScaleForDisplay["(int)"]=t.ImGui_ImplSDL2_GetContentScaleForDisplay[1]
|
||||
t.ImGui_ImplSDL2_GetContentScaleForWindow["(SDL_Window*)"]=t.ImGui_ImplSDL2_GetContentScaleForWindow[1]
|
||||
t.ImGui_ImplSDL2_InitForD3D["(SDL_Window*)"]=t.ImGui_ImplSDL2_InitForD3D[1]
|
||||
t.ImGui_ImplSDL2_InitForMetal["(SDL_Window*)"]=t.ImGui_ImplSDL2_InitForMetal[1]
|
||||
t.ImGui_ImplSDL2_InitForOpenGL["(SDL_Window*,void*)"]=t.ImGui_ImplSDL2_InitForOpenGL[1]
|
||||
@@ -1461,8 +1499,6 @@ t.ImGui_ImplVulkanH_SelectSurfaceFormat["(VkPhysicalDevice,VkSurfaceKHR,const Vk
|
||||
t.ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window["()"]=t.ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window[1]
|
||||
t.ImGui_ImplVulkanH_Window_destroy["(ImGui_ImplVulkanH_Window*)"]=t.ImGui_ImplVulkanH_Window_destroy[1]
|
||||
t.ImGui_ImplVulkan_AddTexture["(VkSampler,VkImageView,VkImageLayout)"]=t.ImGui_ImplVulkan_AddTexture[1]
|
||||
t.ImGui_ImplVulkan_CreateFontsTexture["()"]=t.ImGui_ImplVulkan_CreateFontsTexture[1]
|
||||
t.ImGui_ImplVulkan_DestroyFontsTexture["()"]=t.ImGui_ImplVulkan_DestroyFontsTexture[1]
|
||||
t.ImGui_ImplVulkan_Init["(ImGui_ImplVulkan_InitInfo*)"]=t.ImGui_ImplVulkan_Init[1]
|
||||
t.ImGui_ImplVulkan_LoadFunctions["(uint32_t,PFN_vkVoidFunction(*loader_func)(const char* function_name,void*,void*)"]=t.ImGui_ImplVulkan_LoadFunctions[1]
|
||||
t.ImGui_ImplVulkan_NewFrame["()"]=t.ImGui_ImplVulkan_NewFrame[1]
|
||||
@@ -1470,4 +1506,5 @@ t.ImGui_ImplVulkan_RemoveTexture["(VkDescriptorSet)"]=t.ImGui_ImplVulkan_RemoveT
|
||||
t.ImGui_ImplVulkan_RenderDrawData["(ImDrawData*,VkCommandBuffer,VkPipeline)"]=t.ImGui_ImplVulkan_RenderDrawData[1]
|
||||
t.ImGui_ImplVulkan_SetMinImageCount["(uint32_t)"]=t.ImGui_ImplVulkan_SetMinImageCount[1]
|
||||
t.ImGui_ImplVulkan_Shutdown["()"]=t.ImGui_ImplVulkan_Shutdown[1]
|
||||
t.ImGui_ImplVulkan_UpdateTexture["(ImTextureData*)"]=t.ImGui_ImplVulkan_UpdateTexture[1]
|
||||
return t
|
@@ -56,12 +56,18 @@ ImSpan_end 2
|
||||
ImSpan_set 2
|
||||
1 void ImSpan_set_Int (T*,int)
|
||||
2 void ImSpan_set_TPtr (T*,T*)
|
||||
ImTextureRef_ImTextureRef 2
|
||||
1 nil ImTextureRef_ImTextureRef_Nil ()
|
||||
2 nil ImTextureRef_ImTextureRef_TextureID (ImTextureID)
|
||||
ImVec1_ImVec1 2
|
||||
1 nil ImVec1_ImVec1_Nil ()
|
||||
2 nil ImVec1_ImVec1_Float (float)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2_Nil ()
|
||||
2 nil ImVec2_ImVec2_Float (float,float)
|
||||
ImVec2i_ImVec2i 2
|
||||
1 nil ImVec2i_ImVec2i_Nil ()
|
||||
2 nil ImVec2i_ImVec2i_Int (int,int)
|
||||
ImVec2ih_ImVec2ih 3
|
||||
1 nil ImVec2ih_ImVec2ih_Nil ()
|
||||
2 nil ImVec2ih_ImVec2ih_short (short,short)
|
||||
@@ -299,4 +305,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*)
|
||||
209 overloaded
|
||||
213 overloaded
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -19,12 +19,19 @@
|
||||
"ImFileHandle": "FILE*",
|
||||
"ImFont": "struct ImFont",
|
||||
"ImFontAtlas": "struct ImFontAtlas",
|
||||
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
|
||||
"ImFontAtlasBuilder": "struct ImFontAtlasBuilder",
|
||||
"ImFontAtlasFlags": "int",
|
||||
"ImFontBuilderIO": "struct ImFontBuilderIO",
|
||||
"ImFontAtlasPostProcessData": "struct ImFontAtlasPostProcessData",
|
||||
"ImFontAtlasRect": "struct ImFontAtlasRect",
|
||||
"ImFontAtlasRectEntry": "struct ImFontAtlasRectEntry",
|
||||
"ImFontAtlasRectId": "int",
|
||||
"ImFontBaked": "struct ImFontBaked",
|
||||
"ImFontConfig": "struct ImFontConfig",
|
||||
"ImFontFlags": "int",
|
||||
"ImFontGlyph": "struct ImFontGlyph",
|
||||
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
|
||||
"ImFontLoader": "struct ImFontLoader",
|
||||
"ImFontStackData": "struct ImFontStackData",
|
||||
"ImGuiActivateFlags": "int",
|
||||
"ImGuiBackendFlags": "int",
|
||||
"ImGuiBoxSelectState": "struct ImGuiBoxSelectState",
|
||||
@@ -59,6 +66,7 @@
|
||||
"ImGuiFocusRequestFlags": "int",
|
||||
"ImGuiFocusScopeData": "struct ImGuiFocusScopeData",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
"ImGuiFreeTypeLoaderFlags": "unsigned int",
|
||||
"ImGuiGroupData": "struct ImGuiGroupData",
|
||||
"ImGuiHoveredFlags": "int",
|
||||
"ImGuiID": "unsigned int",
|
||||
@@ -191,17 +199,24 @@
|
||||
"ImS64": "signed long long",
|
||||
"ImS8": "signed char",
|
||||
"ImStbTexteditState": "ImStb::STB_TexteditState",
|
||||
"ImTextureData": "struct ImTextureData",
|
||||
"ImTextureID": "ImU64",
|
||||
"ImTextureRect": "struct ImTextureRect",
|
||||
"ImTextureRef": "struct ImTextureRef",
|
||||
"ImU16": "unsigned short",
|
||||
"ImU32": "unsigned int",
|
||||
"ImU64": "unsigned long long",
|
||||
"ImU8": "unsigned char",
|
||||
"ImVec1": "struct ImVec1",
|
||||
"ImVec2": "struct ImVec2",
|
||||
"ImVec2i": "struct ImVec2i",
|
||||
"ImVec2ih": "struct ImVec2ih",
|
||||
"ImVec4": "struct ImVec4",
|
||||
"ImWchar": "ImWchar16",
|
||||
"ImWchar16": "unsigned short",
|
||||
"ImWchar32": "unsigned int",
|
||||
"STB_TexteditState": "struct STB_TexteditState"
|
||||
"STB_TexteditState": "struct STB_TexteditState",
|
||||
"stbrp_context_opaque": "struct stbrp_context_opaque",
|
||||
"stbrp_node": "struct stbrp_node",
|
||||
"stbrp_node_im": "stbrp_node"
|
||||
}
|
@@ -19,12 +19,19 @@ local t={
|
||||
ImFileHandle="FILE*",
|
||||
ImFont="struct ImFont",
|
||||
ImFontAtlas="struct ImFontAtlas",
|
||||
ImFontAtlasCustomRect="struct ImFontAtlasCustomRect",
|
||||
ImFontAtlasBuilder="struct ImFontAtlasBuilder",
|
||||
ImFontAtlasFlags="int",
|
||||
ImFontBuilderIO="struct ImFontBuilderIO",
|
||||
ImFontAtlasPostProcessData="struct ImFontAtlasPostProcessData",
|
||||
ImFontAtlasRect="struct ImFontAtlasRect",
|
||||
ImFontAtlasRectEntry="struct ImFontAtlasRectEntry",
|
||||
ImFontAtlasRectId="int",
|
||||
ImFontBaked="struct ImFontBaked",
|
||||
ImFontConfig="struct ImFontConfig",
|
||||
ImFontFlags="int",
|
||||
ImFontGlyph="struct ImFontGlyph",
|
||||
ImFontGlyphRangesBuilder="struct ImFontGlyphRangesBuilder",
|
||||
ImFontLoader="struct ImFontLoader",
|
||||
ImFontStackData="struct ImFontStackData",
|
||||
ImGuiActivateFlags="int",
|
||||
ImGuiBackendFlags="int",
|
||||
ImGuiBoxSelectState="struct ImGuiBoxSelectState",
|
||||
@@ -59,6 +66,7 @@ local t={
|
||||
ImGuiFocusRequestFlags="int",
|
||||
ImGuiFocusScopeData="struct ImGuiFocusScopeData",
|
||||
ImGuiFocusedFlags="int",
|
||||
ImGuiFreeTypeLoaderFlags="unsigned int",
|
||||
ImGuiGroupData="struct ImGuiGroupData",
|
||||
ImGuiHoveredFlags="int",
|
||||
ImGuiID="unsigned int",
|
||||
@@ -191,17 +199,24 @@ local t={
|
||||
ImS64="signed long long",
|
||||
ImS8="signed char",
|
||||
ImStbTexteditState="ImStb::STB_TexteditState",
|
||||
ImTextureData="struct ImTextureData",
|
||||
ImTextureID="ImU64",
|
||||
ImTextureRect="struct ImTextureRect",
|
||||
ImTextureRef="struct ImTextureRef",
|
||||
ImU16="unsigned short",
|
||||
ImU32="unsigned int",
|
||||
ImU64="unsigned long long",
|
||||
ImU8="unsigned char",
|
||||
ImVec1="struct ImVec1",
|
||||
ImVec2="struct ImVec2",
|
||||
ImVec2i="struct ImVec2i",
|
||||
ImVec2ih="struct ImVec2ih",
|
||||
ImVec4="struct ImVec4",
|
||||
ImWchar="ImWchar16",
|
||||
ImWchar16="unsigned short",
|
||||
ImWchar32="unsigned int",
|
||||
STB_TexteditState="struct STB_TexteditState"}
|
||||
STB_TexteditState="struct STB_TexteditState",
|
||||
stbrp_context_opaque="struct stbrp_context_opaque",
|
||||
stbrp_node="struct stbrp_node",
|
||||
stbrp_node_im="stbrp_node"}
|
||||
return t
|
2
imgui
2
imgui
Submodule imgui updated: 4806a1924f...44aa9a4b3a
@@ -22,9 +22,10 @@ int main(void)
|
||||
igCreateContext(NULL);
|
||||
ImGuiIO *io = igGetIO();
|
||||
|
||||
unsigned char *text_pixels = NULL;
|
||||
int text_w, text_h;
|
||||
ImFontAtlas_GetTexDataAsRGBA32(io->Fonts, &text_pixels, &text_w, &text_h, NULL);
|
||||
// unsigned char *text_pixels = NULL;
|
||||
// int text_w, text_h;
|
||||
// ImFontAtlas_GetTexDataAsRGBA32(io->Fonts, &text_pixels, &text_w, &text_h, NULL);
|
||||
io->BackendFlags |= ImGuiBackendFlags_RendererHasTextures;
|
||||
|
||||
for (int n = 0; n < 20; n++) {
|
||||
printf("NewFrame() %d\n", n);
|
||||
|
Reference in New Issue
Block a user