Compare commits

...

24 Commits

Author SHA1 Message Date
sonoro1234
e3b48a15f0 Merge branch 'docking_inter' 2024-12-12 13:20:21 +01:00
sonoro1234
970c614802 pull imgui docking 1.91.6 and generate 2024-12-12 13:13:36 +01:00
sonoro1234
3d5b2e7650 dont break cimgui.h on comments generation 2024-11-19 07:54:41 +01:00
sonoro1234
8ec6558ecc Merge branch 'docking_inter' 2024-11-18 18:26:51 +01:00
sonoro1234
4e89eac938 pull imgui docking 1.91.5 and generate 2024-11-18 18:20:25 +01:00
sonoro1234
bd2ea2acbb cpp2ffi: move typedefs_dict to gen_structs_and_enums_table 2024-11-06 16:36:29 +01:00
sonoro1234
69d3b29392 update README.md 2024-11-05 16:34:30 +01:00
sonoro1234
1c3d694f36 generator: _destroy functions get location
IMGUI_USE_FREETYPE and IMGUI_USE_WCHAR32 are build options now.
cmake takes IMGUI_FREETYPE and IMGUI_WCHAR32
2024-11-05 16:30:47 +01:00
sonoro1234
be19fd11eb cpp2ffi.lua, generator ... :get manual funcs args and ret 2024-11-01 13:47:14 +01:00
sonoro1234
fdd07821bb CMakeLists.txt: add cimconfig.h to #undef NDEBUG even in release mode https://github.com/ocornut/imgui/issues/8078 2024-10-21 09:59:59 +02:00
sonoro1234
43429513a8 Merge branch 'docking_inter' 2024-10-19 12:05:11 +02:00
sonoro1234
7640b00d27 pull imgui docking 1.91.4 and generate 2024-10-19 11:48:14 +02:00
sonoro1234
90f2147dbe generator: add sdl3 and generate 2024-10-12 11:52:55 +02:00
sonoro1234
79e40b6657 Merge branch 'docking_inter' 2024-10-05 11:06:45 +02:00
sonoro1234
8268b6748b pull imgui 1.91.3 docking and generate 2024-10-05 10:59:13 +02:00
sonoro1234
833e9366de Merge branch 'docking_inter' 2024-10-01 13:05:38 +02:00
sonoro1234
652d4cbc89 pull imgui 1.91.2 and generate 2024-10-01 12:49:47 +02:00
sonoro1234
e50a65fd62 cpp2ffi: templates from classes name :: -> _ 2024-09-24 18:52:47 +02:00
sonoro1234
f276fd4ae1 cpp2ffi: initial changes for processing classes 2024-09-24 17:47:48 +02:00
sonoro1234
c06a46b0f2 cpp2ffi: get enum name from typedef enum ... 2024-09-23 10:53:32 +02:00
sonoro1234
a051fe287b constructors missed semicolon 2024-09-18 17:16:45 +02:00
sonoro1234
411924f104 script param "constructors" to add the _Construct version of constructors issue #278 2024-09-18 14:36:22 +02:00
sonoro1234
0c7f67607d cpp2ffi: get class name 2024-09-14 20:19:51 +02:00
sonoro1234
51197f420a cpp2ffi: clean namespace in typedefs issue #277 2024-09-11 11:39:05 +02:00
26 changed files with 7099 additions and 5836 deletions

View File

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

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes:
* currently this wrapper is based on version [1.91.0 of Dear ImGui with internal api]
* currently this wrapper is based on version [1.91.6 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) (only if cimgui is generated with freetype option)
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) and IMGUI_WCHAR32
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test.
@@ -37,12 +37,12 @@ Notes:
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
* update `imgui` folder to the version you desire.
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, comments are generated or not and if constructors are generated also with versions performing just initialization of structs provided by yourself (_Construct is added to the constructor names)
* the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends.
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
* You can pass compiler flags to generator.sh or generator.bat by editing them at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG)
* You are able to pass any extra argument to generator.sh (.bat) in the command-line.
* If you are using different options than cimgui repo and if you want to keep them after a cimgui update, you can keep them in a copy of generator.sh (.bat) outside of cimgui folder where `cd cimgui/generator` is used before luajit call. See https://github.com/cimgui/cimgui/issues/232#issuecomment-1497059497
# generate binding

View File

@@ -23,6 +23,7 @@ else()
endif()
include_directories(../../imgui)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../)

View File

@@ -23,6 +23,7 @@ else()
endif()
include_directories(../../imgui)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../)

View File

@@ -22,6 +22,7 @@ else()
endif()
include_directories(../../imgui)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../)

View File

@@ -19,6 +19,7 @@ else()
endif()
include_directories(../../imgui)
add_definitions("-DIMGUI_USER_CONFIG=\"../cimconfig.h\"")
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
include_directories(../../)

1
cimconfig.h Normal file
View File

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

View File

@@ -1,15 +1,8 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.91.1" 19110 from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.91.6" 19160 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
#ifdef IMGUI_ENABLE_FREETYPE
#ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
#endif
#endif
//with imgui_freetype.h api
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"
@@ -1351,6 +1344,10 @@ CIMGUI_API void igSetKeyboardFocusHere(int offset)
{
return ImGui::SetKeyboardFocusHere(offset);
}
CIMGUI_API void igSetNavCursorVisible(bool visible)
{
return ImGui::SetNavCursorVisible(visible);
}
CIMGUI_API void igSetNextItemAllowOverlap()
{
return ImGui::SetNextItemAllowOverlap();
@@ -2230,7 +2227,7 @@ CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2 pos,ImU32
{
return self->AddText(pos,col,text_begin,text_end);
}
CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect)
CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect)
{
return self->AddText(font,font_size,pos,col,text_begin,text_end,wrap_width,cpu_fine_clip_rect);
}
@@ -2314,9 +2311,9 @@ CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const
{
return self->PathRect(rect_min,rect_max,rounding,flags);
}
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data)
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* userdata,size_t userdata_size)
{
return self->AddCallback(callback,callback_data);
return self->AddCallback(callback,userdata,userdata_size);
}
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self)
{
@@ -2794,9 +2791,9 @@ CIMGUI_API int igImStrlenW(const ImWchar* str)
{
return ImStrlenW(str);
}
CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line,const ImWchar* buf_begin)
CIMGUI_API const char* igImStrbol(const char* buf_mid_line,const char* buf_begin)
{
return ImStrbolW(buf_mid_line,buf_begin);
return ImStrbol(buf_mid_line,buf_begin);
}
CIMGUI_API char igImToUpper(char c)
{
@@ -3405,18 +3402,14 @@ CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self)
{
return self->ClearFreeMemory();
}
CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self)
{
return self->GetUndoAvailCount();
}
CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self)
{
return self->GetRedoAvailCount();
}
CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self,int key)
{
return self->OnKeyPressed(key);
}
CIMGUI_API void ImGuiInputTextState_OnCharPressed(ImGuiInputTextState* self,unsigned int c)
{
return self->OnCharPressed(c);
}
CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self)
{
return self->CursorAnimReset();
@@ -3493,22 +3486,14 @@ CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void)
CIMGUI_API ImGuiErrorRecoveryState* ImGuiErrorRecoveryState_ImGuiErrorRecoveryState(void)
{
return IM_NEW(ImGuiStackSizes)();
return IM_NEW(ImGuiErrorRecoveryState)();
}
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self)
CIMGUI_API void ImGuiErrorRecoveryState_destroy(ImGuiErrorRecoveryState* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
{
return self->SetToContextState(ctx);
}
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
{
return self->CompareWithContextState(ctx);
}
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr)
{
return IM_NEW(ImGuiPtrOrIndex)(ptr);
@@ -3861,6 +3846,10 @@ CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiT
{
return self->GetColumnSettings();
}
CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx)
{
return &ImGui::GetIOEx(ctx);
}
CIMGUI_API ImGuiWindow* igGetCurrentWindowRead()
{
return ImGui::GetCurrentWindowRead();
@@ -4245,9 +4234,9 @@ CIMGUI_API void igEndDisabledOverrideReenable()
{
return ImGui::EndDisabledOverrideReenable();
}
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth)
CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth)
{
return ImGui::LogBegin(type,auto_open_depth);
return ImGui::LogBegin(flags,auto_open_depth);
}
CIMGUI_API void igLogToBuffer(int auto_open_depth)
{
@@ -4393,9 +4382,9 @@ CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis)
{
return ImGui::NavClearPreferredPosForAxis(axis);
}
CIMGUI_API void igNavRestoreHighlightAfterMove()
CIMGUI_API void igSetNavCursorVisibleAfterMove()
{
return ImGui::NavRestoreHighlightAfterMove();
return ImGui::SetNavCursorVisibleAfterMove();
}
CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX()
{
@@ -4937,10 +4926,14 @@ CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarCloseTab(tab_bar,tab);
}
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
CIMGUI_API void igTabBarQueueFocus_TabItemPtr(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
{
return ImGui::TabBarQueueFocus(tab_bar,tab);
}
CIMGUI_API void igTabBarQueueFocus_Str(ImGuiTabBar* tab_bar,const char* tab_name)
{
return ImGui::TabBarQueueFocus(tab_bar,tab_name);
}
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset)
{
return ImGui::TabBarQueueReorder(tab_bar,tab,offset);
@@ -5005,9 +4998,9 @@ CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImV
{
return ImGui::RenderColorRectWithAlphaCheckerboard(draw_list,p_min,p_max,fill_col,grid_step,grid_off,rounding,flags);
}
CIMGUI_API void igRenderNavHighlight(const ImRect bb,ImGuiID id,ImGuiNavHighlightFlags flags)
CIMGUI_API void igRenderNavCursor(const ImRect bb,ImGuiID id,ImGuiNavRenderCursorFlags flags)
{
return ImGui::RenderNavHighlight(bb,id,flags);
return ImGui::RenderNavCursor(bb,id,flags);
}
CIMGUI_API const char* igFindRenderedTextEnd(const char* text,const char* text_end)
{
@@ -5053,9 +5046,9 @@ CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,
{
return ImGui::ArrowButtonEx(str_id,dir,size_arg,flags);
}
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags)
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags)
{
return ImGui::ImageButtonEx(id,texture_id,image_size,uv0,uv1,bg_col,tint_col,flags);
return ImGui::ImageButtonEx(id,user_texture_id,image_size,uv0,uv1,bg_col,tint_col,flags);
}
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags,float thickness)
{
@@ -5085,9 +5078,9 @@ CIMGUI_API void igScrollbar(ImGuiAxis axis)
{
return ImGui::Scrollbar(axis);
}
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags)
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags draw_rounding_flags)
{
return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags);
return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,draw_rounding_flags);
}
CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis)
{
@@ -5165,6 +5158,10 @@ CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void*
{
return ImGui::DataTypeClamp(data_type,p_data,p_min,p_max);
}
CIMGUI_API bool igDataTypeIsZero(ImGuiDataType data_type,const void* p_data)
{
return ImGui::DataTypeIsZero(data_type,p_data);
}
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
{
return ImGui::InputTextEx(label,hint,buf,buf_size,size_arg,flags,callback,user_data);
@@ -5233,22 +5230,42 @@ CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window)
{
return ImGui::GcAwakeTransientWindowBuffers(window);
}
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size)
CIMGUI_API bool igErrorLog(const char* msg)
{
return ImGui::DebugAllocHook(info,frame_count,ptr,size);
return ImGui::ErrorLog(msg);
}
CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data)
CIMGUI_API void igErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out)
{
return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data);
return ImGui::ErrorRecoveryStoreState(state_out);
}
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data)
CIMGUI_API void igErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in)
{
return ImGui::ErrorCheckEndWindowRecover(log_callback,user_data);
return ImGui::ErrorRecoveryTryToRecoverState(state_in);
}
CIMGUI_API void igErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in)
{
return ImGui::ErrorRecoveryTryToRecoverWindowState(state_in);
}
CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries()
{
return ImGui::ErrorCheckUsingSetCursorPosToExtendParentBoundaries();
}
CIMGUI_API void igErrorCheckEndFrameFinalizeErrorTooltip()
{
return ImGui::ErrorCheckEndFrameFinalizeErrorTooltip();
}
CIMGUI_API bool igBeginErrorTooltip()
{
return ImGui::BeginErrorTooltip();
}
CIMGUI_API void igEndErrorTooltip()
{
return ImGui::EndErrorTooltip();
}
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size)
{
return ImGui::DebugAllocHook(info,frame_count,ptr,size);
}
CIMGUI_API void igDebugDrawCursorPos(ImU32 col)
{
return ImGui::DebugDrawCursorPos(col);
@@ -5413,6 +5430,18 @@ CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[2
{
return ImFontAtlasBuildMultiplyRectAlpha8(table,pixels,x,y,w,h,stride);
}
#ifdef IMGUI_ENABLE_FREETYPE
CIMGUI_API const ImFontBuilderIO* ImGuiFreeType_GetBuilderForFreeType()
{
return ImGuiFreeType::GetBuilderForFreeType();
}
CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data)
{
return ImGuiFreeType::SetAllocatorFunctions(alloc_func,free_func,user_data);
}
#endif

321
cimgui.h
View File

@@ -1,6 +1,7 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.91.1" 19110 from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.91.6" 19160 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//with imgui_freetype.h api
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
#include <stdio.h>
@@ -84,6 +85,7 @@ typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImGuiContextHook ImGuiContextHook;
typedef struct ImGuiDataVarInfo ImGuiDataVarInfo;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiErrorRecoveryState ImGuiErrorRecoveryState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData;
@@ -100,7 +102,6 @@ typedef struct ImGuiOldColumnData ImGuiOldColumnData;
typedef struct ImGuiOldColumns ImGuiOldColumns;
typedef struct ImGuiPopupData ImGuiPopupData;
typedef struct ImGuiSettingsHandler ImGuiSettingsHandler;
typedef struct ImGuiStackSizes ImGuiStackSizes;
typedef struct ImGuiStyleMod ImGuiStyleMod;
typedef struct ImGuiTabBar ImGuiTabBar;
typedef struct ImGuiTabItem ImGuiTabItem;
@@ -117,6 +118,7 @@ typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest;
typedef struct ImGuiWindow ImGuiWindow;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct STB_TexteditState STB_TexteditState;
typedef unsigned int ImGuiID;
typedef signed char ImS8;
typedef unsigned char ImU8;
@@ -197,11 +199,22 @@ typedef int ImGuiTableRowFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags;
typedef void* ImTextureID;
typedef ImU64 ImTextureID;
typedef unsigned short ImDrawIdx;
typedef unsigned int ImWchar32;
typedef unsigned short ImWchar16;
#ifdef IMGUI_USE_WCHAR32
typedef ImWchar32 ImWchar;
#else
typedef ImWchar16 ImWchar;
#endif
#ifdef IMGUI_USE_WCHAR32
#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF
#else
#define IM_UNICODE_CODEPOINT_MAX 0xFFFF
#endif
typedef ImS64 ImGuiSelectionUserData;
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
@@ -266,6 +279,7 @@ typedef enum {
ImGuiItemFlags_NoNavDefaultFocus = 1 << 2,
ImGuiItemFlags_ButtonRepeat = 1 << 3,
ImGuiItemFlags_AutoClosePopups = 1 << 4,
ImGuiItemFlags_AllowDuplicateId = 1 << 5,
}ImGuiItemFlags_;
typedef enum {
ImGuiInputTextFlags_None = 0,
@@ -286,12 +300,13 @@ typedef enum {
ImGuiInputTextFlags_DisplayEmptyRefVal = 1 << 14,
ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15,
ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
ImGuiInputTextFlags_CallbackCompletion = 1 << 17,
ImGuiInputTextFlags_CallbackHistory = 1 << 18,
ImGuiInputTextFlags_CallbackAlways = 1 << 19,
ImGuiInputTextFlags_CallbackCharFilter = 1 << 20,
ImGuiInputTextFlags_CallbackResize = 1 << 21,
ImGuiInputTextFlags_CallbackEdit = 1 << 22,
ImGuiInputTextFlags_ElideLeft = 1 << 17,
ImGuiInputTextFlags_CallbackCompletion = 1 << 18,
ImGuiInputTextFlags_CallbackHistory = 1 << 19,
ImGuiInputTextFlags_CallbackAlways = 1 << 20,
ImGuiInputTextFlags_CallbackCharFilter = 1 << 21,
ImGuiInputTextFlags_CallbackResize = 1 << 22,
ImGuiInputTextFlags_CallbackEdit = 1 << 23,
}ImGuiInputTextFlags_;
typedef enum {
ImGuiTreeNodeFlags_None = 0,
@@ -448,6 +463,7 @@ ImGuiSortDirection_Descending=2,
}ImGuiSortDirection;
typedef enum {
ImGuiKey_None=0,
ImGuiKey_NamedKey_BEGIN=512,
ImGuiKey_Tab=512,
ImGuiKey_LeftArrow=513,
ImGuiKey_RightArrow=514,
@@ -602,18 +618,14 @@ ImGuiKey_ReservedForModCtrl=662,
ImGuiKey_ReservedForModShift=663,
ImGuiKey_ReservedForModAlt=664,
ImGuiKey_ReservedForModSuper=665,
ImGuiKey_COUNT=666,
ImGuiKey_NamedKey_END=666,
ImGuiMod_None=0,
ImGuiMod_Ctrl=1 << 12,
ImGuiMod_Shift=1 << 13,
ImGuiMod_Alt=1 << 14,
ImGuiMod_Super=1 << 15,
ImGuiMod_Mask_=0xF000,
ImGuiKey_NamedKey_BEGIN=512,
ImGuiKey_NamedKey_END=ImGuiKey_COUNT,
ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN,
ImGuiKey_KeysData_SIZE=ImGuiKey_NamedKey_COUNT,
ImGuiKey_KeysData_OFFSET=ImGuiKey_NamedKey_BEGIN,
}ImGuiKey;
typedef enum {
ImGuiInputFlags_None = 0,
@@ -632,8 +644,6 @@ typedef enum {
ImGuiConfigFlags_None = 0,
ImGuiConfigFlags_NavEnableKeyboard = 1 << 0,
ImGuiConfigFlags_NavEnableGamepad = 1 << 1,
ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2,
ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
ImGuiConfigFlags_NoMouse = 1 << 4,
ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
ImGuiConfigFlags_NoKeyboard = 1 << 6,
@@ -700,7 +710,7 @@ typedef enum {
ImGuiCol_TextLink,
ImGuiCol_TextSelectedBg,
ImGuiCol_DragDropTarget,
ImGuiCol_NavHighlight,
ImGuiCol_NavCursor,
ImGuiCol_NavWindowingHighlight,
ImGuiCol_NavWindowingDimBg,
ImGuiCol_ModalWindowDimBg,
@@ -748,6 +758,7 @@ typedef enum {
ImGuiButtonFlags_MouseButtonRight = 1 << 1,
ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
ImGuiButtonFlags_EnableNav = 1 << 3,
}ImGuiButtonFlags_;
typedef enum {
ImGuiColorEditFlags_None = 0,
@@ -782,11 +793,13 @@ typedef enum {
}ImGuiColorEditFlags_;
typedef enum {
ImGuiSliderFlags_None = 0,
ImGuiSliderFlags_AlwaysClamp = 1 << 4,
ImGuiSliderFlags_Logarithmic = 1 << 5,
ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
ImGuiSliderFlags_NoInput = 1 << 7,
ImGuiSliderFlags_WrapAround = 1 << 8,
ImGuiSliderFlags_ClampOnInput = 1 << 9,
ImGuiSliderFlags_ClampZeroRange = 1 << 10,
ImGuiSliderFlags_AlwaysClamp = ImGuiSliderFlags_ClampOnInput | ImGuiSliderFlags_ClampZeroRange,
ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
}ImGuiSliderFlags_;
typedef enum {
@@ -993,22 +1006,35 @@ struct ImGuiIO
bool FontAllowUserScaling;
ImFont* FontDefault;
ImVec2 DisplayFramebufferScale;
bool ConfigNavSwapGamepadButtons;
bool ConfigNavMoveSetMousePos;
bool ConfigNavCaptureKeyboard;
bool ConfigNavEscapeClearFocusItem;
bool ConfigNavEscapeClearFocusWindow;
bool ConfigNavCursorVisibleAuto;
bool ConfigNavCursorVisibleAlways;
bool MouseDrawCursor;
bool ConfigMacOSXBehaviors;
bool ConfigNavSwapGamepadButtons;
bool ConfigInputTrickleEventQueue;
bool ConfigInputTextCursorBlink;
bool ConfigInputTextEnterKeepActive;
bool ConfigDragClickToInputText;
bool ConfigWindowsResizeFromEdges;
bool ConfigWindowsMoveFromTitleBarOnly;
bool ConfigWindowsCopyContentsWithCtrlC;
bool ConfigScrollbarScrollByPage;
float ConfigMemoryCompactTimer;
float MouseDoubleClickTime;
float MouseDoubleClickMaxDist;
float MouseDragThreshold;
float KeyRepeatDelay;
float KeyRepeatRate;
bool ConfigErrorRecovery;
bool ConfigErrorRecoveryEnableAssert;
bool ConfigErrorRecoveryEnableDebugLog;
bool ConfigErrorRecoveryEnableTooltip;
bool ConfigDebugIsDebuggerPresent;
bool ConfigDebugHighlightIdConflicts;
bool ConfigDebugBeginReturnValueOnce;
bool ConfigDebugBeginReturnValueLoop;
bool ConfigDebugIgnoreFocusLoss;
@@ -1042,7 +1068,7 @@ struct ImGuiIO
bool KeyAlt;
bool KeySuper;
ImGuiKeyChord KeyMods;
ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE];
ImGuiKeyData KeysData[ImGuiKey_NamedKey_COUNT];
bool WantCaptureMouseUnlessPopupClose;
ImVec2 MousePosPrev;
ImVec2 MouseClickedPos[5];
@@ -1062,8 +1088,6 @@ struct ImGuiIO
float PenPressure;
bool AppFocusLost;
bool AppAcceptingEvents;
ImS8 BackendUsingLegacyKeyArrays;
bool BackendUsingLegacyNavInputArray;
ImWchar16 InputQueueSurrogate;
ImVector_ImWchar InputQueueCharacters;
};
@@ -1220,6 +1244,8 @@ struct ImDrawCmd
unsigned int ElemCount;
ImDrawCallback UserCallback;
void* UserCallbackData;
int UserCallbackDataSize;
int UserCallbackDataOffset;
};
struct ImDrawVert
{
@@ -1282,6 +1308,8 @@ typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_Im
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImU8 {int Size;int Capacity;ImU8* Data;} ImVector_ImU8;
struct ImDrawList
{
ImVector_ImDrawCmd CmdBuffer;
@@ -1297,6 +1325,7 @@ struct ImDrawList
ImDrawListSplitter _Splitter;
ImVector_ImVec4 _ClipRectStack;
ImVector_ImTextureID _TextureIdStack;
ImVector_ImU8 _CallbacksDataBuf;
float _FringeScale;
const char* _OwnerName;
};
@@ -1355,9 +1384,10 @@ struct ImFontGlyphRangesBuilder
typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
struct ImFontAtlasCustomRect
{
unsigned short Width, Height;
unsigned short X, Y;
unsigned int GlyphID;
unsigned short Width, Height;
unsigned int GlyphID : 31;
unsigned int GlyphColored : 1;
float GlyphAdvanceX;
ImVec2 GlyphOffset;
ImFont* Font;
@@ -1414,16 +1444,16 @@ struct ImFont
ImFontAtlas* ContainerAtlas;
const ImFontConfig* ConfigData;
short ConfigDataCount;
ImWchar FallbackChar;
ImWchar EllipsisChar;
short EllipsisCharCount;
ImWchar EllipsisChar;
ImWchar FallbackChar;
float EllipsisWidth;
float EllipsisCharStep;
bool DirtyLookupTables;
float Scale;
float Ascent, Descent;
int MetricsTotalSurface;
ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8];
ImU8 Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX +1)/4096/8];
};
typedef enum {
ImGuiViewportFlags_None = 0,
@@ -1452,6 +1482,7 @@ struct ImGuiPlatformIO
void (*Platform_SetImeDataFn)(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data);
void* Platform_ImeUserData;
ImWchar Platform_LocaleDecimalPoint;
void* Renderer_RenderState;
};
struct ImGuiPlatformImeData
{
@@ -1469,6 +1500,7 @@ struct ImGuiContext;
struct ImGuiContextHook;
struct ImGuiDataVarInfo;
struct ImGuiDataTypeInfo;
struct ImGuiErrorRecoveryState;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiInputTextDeactivateData;
@@ -1485,7 +1517,6 @@ struct ImGuiOldColumnData;
struct ImGuiOldColumns;
struct ImGuiPopupData;
struct ImGuiSettingsHandler;
struct ImGuiStackSizes;
struct ImGuiStyleMod;
struct ImGuiTabBar;
struct ImGuiTabItem;
@@ -1508,7 +1539,8 @@ typedef int ImGuiDebugLogFlags;
typedef int ImGuiFocusRequestFlags;
typedef int ImGuiItemStatusFlags;
typedef int ImGuiOldColumnFlags;
typedef int ImGuiNavHighlightFlags;
typedef int ImGuiLogFlags;
typedef int ImGuiNavRenderCursorFlags;
typedef int ImGuiNavMoveFlags;
typedef int ImGuiNextItemDataFlags;
typedef int ImGuiNextWindowDataFlags;
@@ -1518,48 +1550,7 @@ typedef int ImGuiTextFlags;
typedef int ImGuiTooltipFlags;
typedef int ImGuiTypingSelectFlags;
typedef int ImGuiWindowRefreshFlags;
typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...);
extern ImGuiContext* GImGui;
typedef struct StbUndoRecord StbUndoRecord;
struct StbUndoRecord
{
int where;
int insert_length;
int delete_length;
int char_storage;
};
typedef struct StbUndoState StbUndoState;
struct StbUndoState
{
StbUndoRecord undo_rec [99];
ImWchar undo_char[999];
short undo_point, redo_point;
int undo_char_point, redo_char_point;
};
typedef struct STB_TexteditState STB_TexteditState;
struct STB_TexteditState
{
int cursor;
int select_start;
int select_end;
unsigned char insert_mode;
int row_count_per_page;
unsigned char cursor_at_end_of_line;
unsigned char initialized;
unsigned char has_preferred_x;
unsigned char single_line;
unsigned char padding1, padding2, padding3;
float preferred_x;
StbUndoState undostate;
};
typedef struct StbTexteditRow StbTexteditRow;
struct StbTexteditRow
{
float x0,x1;
float baseline_y_delta;
float ymin,ymax;
int num_chars;
};
typedef FILE* ImFileHandle;
typedef struct ImVec1 ImVec1;
struct ImVec1
@@ -1593,6 +1584,7 @@ struct ImGuiTextIndex
struct ImDrawListSharedData
{
ImVec2 TexUvWhitePixel;
const ImVec4* TexUvLines;
ImFont* Font;
float FontSize;
float FontScale;
@@ -1604,7 +1596,6 @@ struct ImDrawListSharedData
ImVec2 ArcFastVtx[48];
float ArcFastRadiusCutoff;
ImU8 CircleSegmentCounts[64];
const ImVec4* TexUvLines;
};
struct ImDrawDataBuilder
{
@@ -1640,6 +1631,8 @@ typedef enum {
ImGuiItemFlags_MixedValue = 1 << 12,
ImGuiItemFlags_NoWindowHoverableCheck = 1 << 13,
ImGuiItemFlags_AllowOverlap = 1 << 14,
ImGuiItemFlags_NoNavDisableMouseHover = 1 << 15,
ImGuiItemFlags_NoMarkEdited = 1 << 16,
ImGuiItemFlags_Inputable = 1 << 20,
ImGuiItemFlags_HasSelectionUserData = 1 << 21,
ImGuiItemFlags_IsMultiSelect = 1 << 22,
@@ -1666,9 +1659,8 @@ typedef enum {
}ImGuiHoveredFlagsPrivate_;
typedef enum {
ImGuiInputTextFlags_Multiline = 1 << 26,
ImGuiInputTextFlags_NoMarkEdited = 1 << 27,
ImGuiInputTextFlags_MergedItem = 1 << 28,
ImGuiInputTextFlags_LocalizeDecimalPoint= 1 << 29,
ImGuiInputTextFlags_MergedItem = 1 << 27,
ImGuiInputTextFlags_LocalizeDecimalPoint= 1 << 28,
}ImGuiInputTextFlagsPrivate_;
typedef enum {
ImGuiButtonFlags_PressedOnClick = 1 << 4,
@@ -1677,12 +1669,10 @@ typedef enum {
ImGuiButtonFlags_PressedOnRelease = 1 << 7,
ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8,
ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9,
ImGuiButtonFlags_Repeat = 1 << 10,
ImGuiButtonFlags_FlattenChildren = 1 << 11,
ImGuiButtonFlags_AllowOverlap = 1 << 12,
ImGuiButtonFlags_DontClosePopups = 1 << 13,
ImGuiButtonFlags_AlignTextBaseLine = 1 << 15,
ImGuiButtonFlags_NoKeyModifiers = 1 << 16,
ImGuiButtonFlags_NoKeyModsAllowed = 1 << 16,
ImGuiButtonFlags_NoHoldingActiveId = 1 << 17,
ImGuiButtonFlags_NoNavFocus = 1 << 18,
ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19,
@@ -1737,12 +1727,13 @@ typedef enum {
ImGuiLayoutType_Vertical = 1
}ImGuiLayoutType_;
typedef enum {
ImGuiLogType_None = 0,
ImGuiLogType_TTY,
ImGuiLogType_File,
ImGuiLogType_Buffer,
ImGuiLogType_Clipboard,
}ImGuiLogType;
ImGuiLogFlags_None = 0,
ImGuiLogFlags_OutputTTY = 1 << 0,
ImGuiLogFlags_OutputFile = 1 << 1,
ImGuiLogFlags_OutputBuffer = 1 << 2,
ImGuiLogFlags_OutputClipboard = 1 << 3,
ImGuiLogFlags_OutputMask_ = ImGuiLogFlags_OutputTTY | ImGuiLogFlags_OutputFile | ImGuiLogFlags_OutputBuffer | ImGuiLogFlags_OutputClipboard,
}ImGuiLogFlags_;
typedef enum {
ImGuiAxis_None = -1,
ImGuiAxis_X = 0,
@@ -1804,19 +1795,19 @@ struct ImGuiInputTextDeactivatedState
{
ImGuiID ID;
ImVector_char TextA;
};
}; struct STB_TexteditState;
typedef STB_TexteditState ImStbTexteditState;
struct ImGuiInputTextState
{
ImGuiContext* Ctx;
ImStbTexteditState* Stb;
ImGuiID ID;
int CurLenW, CurLenA;
ImVector_ImWchar TextW;
int TextLen;
ImVector_char TextA;
ImVector_char InitialTextA;
bool TextAIsValid;
int BufCapacityA;
ImVector_char TextToRevertTo;
ImVector_char CallbackTextBackup;
int BufCapacity;
ImVec2 Scroll;
STB_TexteditState Stb;
float CursorAnim;
bool CursorFollow;
bool SelectedAllMouseLock;
@@ -1875,7 +1866,7 @@ typedef enum {
}ImGuiNextItemDataFlags_;
struct ImGuiNextItemData
{
ImGuiNextItemDataFlags Flags;
ImGuiNextItemDataFlags HasFlags;
ImGuiItemFlags ItemFlags;
ImGuiID FocusScopeId;
ImGuiSelectionUserData SelectionUserData;
@@ -1890,7 +1881,7 @@ struct ImGuiNextItemData
struct ImGuiLastItemData
{
ImGuiID ID;
ImGuiItemFlags InFlags;
ImGuiItemFlags ItemFlags;
ImGuiItemStatusFlags StatusFlags;
ImRect Rect;
ImRect NavRect;
@@ -1902,12 +1893,14 @@ struct ImGuiTreeNodeStackData
{
ImGuiID ID;
ImGuiTreeNodeFlags TreeFlags;
ImGuiItemFlags InFlags;
ImGuiItemFlags ItemFlags;
ImRect NavRect;
};
struct ImGuiStackSizes
struct ImGuiErrorRecoveryState
{
short SizeOfWindowStack;
short SizeOfIDStack;
short SizeOfTreeStack;
short SizeOfColorStack;
short SizeOfStyleVarStack;
short SizeOfFontStack;
@@ -1922,7 +1915,7 @@ struct ImGuiWindowStackData
{
ImGuiWindow* Window;
ImGuiLastItemData ParentLastItemDataBackup;
ImGuiStackSizes StackSizesOnBegin;
ImGuiErrorRecoveryState StackSizesInBegin;
bool DisabledOverrideReenable;
};
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
@@ -2110,11 +2103,11 @@ typedef enum {
ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | ImGuiScrollFlags_KeepVisibleCenterY | ImGuiScrollFlags_AlwaysCenterY,
}ImGuiScrollFlags_;
typedef enum {
ImGuiNavHighlightFlags_None = 0,
ImGuiNavHighlightFlags_Compact = 1 << 1,
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
ImGuiNavHighlightFlags_NoRounding = 1 << 3,
}ImGuiNavHighlightFlags_;
ImGuiNavRenderCursorFlags_None = 0,
ImGuiNavRenderCursorFlags_Compact = 1 << 1,
ImGuiNavRenderCursorFlags_AlwaysDraw = 1 << 2,
ImGuiNavRenderCursorFlags_NoRounding = 1 << 3,
}ImGuiNavRenderCursorFlags_;
typedef enum {
ImGuiNavMoveFlags_None = 0,
ImGuiNavMoveFlags_LoopX = 1 << 0,
@@ -2132,7 +2125,7 @@ typedef enum {
ImGuiNavMoveFlags_IsPageMove = 1 << 11,
ImGuiNavMoveFlags_Activate = 1 << 12,
ImGuiNavMoveFlags_NoSelect = 1 << 13,
ImGuiNavMoveFlags_NoSetNavHighlight = 1 << 14,
ImGuiNavMoveFlags_NoSetNavCursorVisible = 1 << 14,
ImGuiNavMoveFlags_NoClearActiveId = 1 << 15,
}ImGuiNavMoveFlags_;
typedef enum {
@@ -2146,7 +2139,7 @@ struct ImGuiNavItemData
ImGuiID ID;
ImGuiID FocusScopeId;
ImRect RectRel;
ImGuiItemFlags InFlags;
ImGuiItemFlags ItemFlags;
float DistBox;
float DistCenter;
float DistAxial;
@@ -2308,25 +2301,31 @@ ImGuiLocKey_TableResetOrder=4,
ImGuiLocKey_WindowingMainMenuBar=5,
ImGuiLocKey_WindowingPopup=6,
ImGuiLocKey_WindowingUntitled=7,
ImGuiLocKey_CopyLink=8,
ImGuiLocKey_COUNT=9,
ImGuiLocKey_OpenLink_s=8,
ImGuiLocKey_CopyLink=9,
ImGuiLocKey_COUNT=10,
}ImGuiLocKey;
struct ImGuiLocEntry
{
ImGuiLocKey Key;
const char* Text;
};
typedef void (*ImGuiErrorCallback)(ImGuiContext* ctx, void* user_data, const char* msg);
typedef enum {
ImGuiDebugLogFlags_None = 0,
ImGuiDebugLogFlags_EventActiveId = 1 << 0,
ImGuiDebugLogFlags_EventFocus = 1 << 1,
ImGuiDebugLogFlags_EventPopup = 1 << 2,
ImGuiDebugLogFlags_EventNav = 1 << 3,
ImGuiDebugLogFlags_EventClipper = 1 << 4,
ImGuiDebugLogFlags_EventSelection = 1 << 5,
ImGuiDebugLogFlags_EventIO = 1 << 6,
ImGuiDebugLogFlags_EventInputRouting = 1 << 7,
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting,
ImGuiDebugLogFlags_EventError = 1 << 0,
ImGuiDebugLogFlags_EventActiveId = 1 << 1,
ImGuiDebugLogFlags_EventFocus = 1 << 2,
ImGuiDebugLogFlags_EventPopup = 1 << 3,
ImGuiDebugLogFlags_EventNav = 1 << 4,
ImGuiDebugLogFlags_EventClipper = 1 << 5,
ImGuiDebugLogFlags_EventSelection = 1 << 6,
ImGuiDebugLogFlags_EventIO = 1 << 7,
ImGuiDebugLogFlags_EventFont = 1 << 8,
ImGuiDebugLogFlags_EventInputRouting = 1 << 9,
ImGuiDebugLogFlags_EventDocking = 1 << 10,
ImGuiDebugLogFlags_EventViewport = 1 << 11,
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventError | ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventFont | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
ImGuiDebugLogFlags_OutputToTTY = 1 << 20,
ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21,
}ImGuiDebugLogFlags_;
@@ -2496,9 +2495,11 @@ struct ImGuiContext
float WheelingWindowReleaseTimer;
ImVec2 WheelingWindowWheelRemainder;
ImVec2 WheelingAxisAvg;
ImGuiID DebugDrawIdConflicts;
ImGuiID DebugHookIdInfo;
ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame;
int HoveredIdPreviousFrameItemCount;
float HoveredIdTimer;
float HoveredIdNotActiveTimer;
bool HoveredIdAllowOverlap;
@@ -2551,8 +2552,12 @@ struct ImGuiContext
ImVector_ImGuiPopupData BeginPopupStack;
ImVector_ImGuiTreeNodeStackData TreeNodeStack;
ImVector_ImGuiViewportPPtr Viewports;
ImGuiWindow* NavWindow;
bool NavCursorVisible;
bool NavHighlightItemUnderNav;
bool NavMousePosDirty;
bool NavIdIsAlive;
ImGuiID NavId;
ImGuiWindow* NavWindow;
ImGuiID NavFocusScopeId;
ImGuiNavLayer NavLayer;
ImGuiID NavActivateId;
@@ -2566,10 +2571,7 @@ struct ImGuiContext
ImGuiActivateFlags NavNextActivateFlags;
ImGuiInputSource NavInputSource;
ImGuiSelectionUserData NavLastValidSelectionUserData;
bool NavIdIsAlive;
bool NavMousePosDirty;
bool NavDisableHighlight;
bool NavDisableMouseHover;
ImS8 NavCursorHideFrames;
bool NavAnyRequest;
bool NavInitRequest;
bool NavInitRequestFromMove;
@@ -2682,8 +2684,8 @@ struct ImGuiContext
float DragSpeedDefaultRatio;
float DisabledAlphaBackup;
short DisabledStackSize;
short LockMarkEdited;
short TooltipOverrideCount;
ImGuiWindow* TooltipPreviousWindow;
ImVector_char ClipboardHandlerData;
ImVector_ImGuiID MenusIdSubmittedThisFrame;
ImGuiTypingSelectState TypingSelectState;
@@ -2699,7 +2701,8 @@ struct ImGuiContext
ImGuiID HookIdNext;
const char* LocalizationTable[ImGuiLocKey_COUNT];
bool LogEnabled;
ImGuiLogType LogType;
ImGuiLogFlags LogFlags;
ImGuiWindow* LogWindow;
ImFileHandle LogFile;
ImGuiTextBuffer LogBuffer;
const char* LogNextPrefix;
@@ -2709,9 +2712,18 @@ struct ImGuiContext
int LogDepthRef;
int LogDepthToExpand;
int LogDepthToExpandDefault;
ImGuiErrorCallback ErrorCallback;
void* ErrorCallbackUserData;
ImVec2 ErrorTooltipLockedPos;
bool ErrorFirst;
int ErrorCountCurrentFrame;
ImGuiErrorRecoveryState StackSizesInNewFrame;
ImGuiErrorRecoveryState*StackSizesInBeginForCurrentWindow;
int DebugDrawIdConflictsCount;
ImGuiDebugLogFlags DebugLogFlags;
ImGuiTextBuffer DebugLogBuf;
ImGuiTextIndex DebugLogIndex;
int DebugLogSkippedErrors;
ImGuiDebugLogFlags DebugLogAutoDisableFlags;
ImU8 DebugLogAutoDisableFrames;
ImU8 DebugLocateFrames;
@@ -2906,6 +2918,7 @@ typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;}
struct ImGuiTabBar
{
ImGuiWindow* Window;
ImVector_ImGuiTabItem Tabs;
ImGuiTabBarFlags Flags;
ImGuiID ID;
@@ -3178,6 +3191,22 @@ struct ImFontBuilderIO
{
bool (*FontBuilder_Build)(ImFontAtlas* atlas);
};
#ifdef IMGUI_ENABLE_FREETYPE
struct ImFontAtlas;
struct ImFontBuilderIO;
typedef enum {
ImGuiFreeTypeBuilderFlags_NoHinting = 1 << 0,
ImGuiFreeTypeBuilderFlags_NoAutoHint = 1 << 1,
ImGuiFreeTypeBuilderFlags_ForceAutoHint = 1 << 2,
ImGuiFreeTypeBuilderFlags_LightHinting = 1 << 3,
ImGuiFreeTypeBuilderFlags_MonoHinting = 1 << 4,
ImGuiFreeTypeBuilderFlags_Bold = 1 << 5,
ImGuiFreeTypeBuilderFlags_Oblique = 1 << 6,
ImGuiFreeTypeBuilderFlags_Monochrome = 1 << 7,
ImGuiFreeTypeBuilderFlags_LoadColor = 1 << 8,
ImGuiFreeTypeBuilderFlags_Bitmap = 1 << 9
}ImGuiFreeTypeBuilderFlags;
#endif
#define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8)
#else
@@ -3189,9 +3218,6 @@ typedef union SDL_Event SDL_Event;
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
typedef ImStb::STB_TexteditState STB_TexteditState;
typedef ImStb::StbTexteditRow StbTexteditRow;
typedef ImStb::StbUndoRecord StbUndoRecord;
typedef ImStb::StbUndoState StbUndoState;
typedef ImChunkStream<ImGuiTableSettings> ImChunkStream_ImGuiTableSettings;
typedef ImChunkStream<ImGuiWindowSettings> ImChunkStream_ImGuiWindowSettings;
typedef ImPool<ImGuiMultiSelectState> ImPool_ImGuiMultiSelectState;
@@ -3242,6 +3268,7 @@ typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImGuiWindowStackData> ImVector_ImGuiWindowStackData;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImU32> ImVector_ImU32;
typedef ImVector<ImU8> ImVector_ImU8;
typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImWchar> ImVector_ImWchar;
@@ -3573,6 +3600,7 @@ CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min,const ImVec2 clip_rect
CIMGUI_API void igPopClipRect(void);
CIMGUI_API void igSetItemDefaultFocus(void);
CIMGUI_API void igSetKeyboardFocusHere(int offset);
CIMGUI_API void igSetNavCursorVisible(bool visible);
CIMGUI_API void igSetNextItemAllowOverlap(void);
CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags);
CIMGUI_API bool igIsItemActive(void);
@@ -3792,7 +3820,7 @@ CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,fl
CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments,float thickness);
CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments);
CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);
CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);
CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness,int num_segments);
CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness,int num_segments);
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness);
@@ -3813,7 +3841,7 @@ CIMGUI_API void ImDrawList_PathEllipticalArcTo(ImDrawList* self,const ImVec2 cen
CIMGUI_API void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,int num_segments);
CIMGUI_API void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self,const ImVec2 p2,const ImVec2 p3,int num_segments);
CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,ImDrawFlags flags);
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data);
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* userdata,size_t userdata_size);
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self);
CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self);
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int count);
@@ -3933,7 +3961,7 @@ CIMGUI_API const char* igImStristr(const char* haystack,const char* haystack_end
CIMGUI_API void igImStrTrimBlanks(char* str);
CIMGUI_API const char* igImStrSkipBlank(const char* str);
CIMGUI_API int igImStrlenW(const ImWchar* str);
CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line,const ImWchar* buf_begin);
CIMGUI_API const char* igImStrbol(const char* buf_mid_line,const char* buf_begin);
CIMGUI_API char igImToUpper(char c);
CIMGUI_API bool igImCharIsBlankA(char c);
CIMGUI_API bool igImCharIsBlankW(unsigned int c);
@@ -4084,9 +4112,8 @@ CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void);
CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self);
CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self);
CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self,int key);
CIMGUI_API void ImGuiInputTextState_OnCharPressed(ImGuiInputTextState* self,unsigned int c);
CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self);
CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self);
@@ -4106,10 +4133,8 @@ CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self);
CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void);
CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void);
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
CIMGUI_API ImGuiErrorRecoveryState* ImGuiErrorRecoveryState_ImGuiErrorRecoveryState(void);
CIMGUI_API void ImGuiErrorRecoveryState_destroy(ImGuiErrorRecoveryState* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
@@ -4198,6 +4223,7 @@ CIMGUI_API void ImGuiTableColumnSettings_destroy(ImGuiTableColumnSettings* self)
CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void);
CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self);
CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiTableSettings* self);
CIMGUI_API ImGuiIO* igGetIOEx(ImGuiContext* ctx);
CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void);
CIMGUI_API ImGuiWindow* igGetCurrentWindow(void);
CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id);
@@ -4294,7 +4320,7 @@ CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width
CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx);
CIMGUI_API void igBeginDisabledOverrideReenable(void);
CIMGUI_API void igEndDisabledOverrideReenable(void);
CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth);
CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth);
CIMGUI_API void igLogToBuffer(int auto_open_depth);
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix);
@@ -4331,7 +4357,7 @@ CIMGUI_API void igNavMoveRequestApplyResult(void);
CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags);
CIMGUI_API void igNavHighlightActivated(ImGuiID id);
CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis);
CIMGUI_API void igNavRestoreHighlightAfterMove(void);
CIMGUI_API void igSetNavCursorVisibleAfterMove(void);
CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX(void);
CIMGUI_API void igSetNavWindow(ImGuiWindow* window);
CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scope_id,const ImRect rect_rel);
@@ -4467,7 +4493,8 @@ CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueFocus_TabItemPtr(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueFocus_Str(ImGuiTabBar* tab_bar,const char* tab_name);
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset);
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,ImVec2 mouse_pos);
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
@@ -4484,7 +4511,7 @@ CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2 pos_min,
CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool borders,float rounding);
CIMGUI_API void igRenderFrameBorder(ImVec2 p_min,ImVec2 p_max,float rounding);
CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,float grid_step,ImVec2 grid_off,float rounding,ImDrawFlags flags);
CIMGUI_API void igRenderNavHighlight(const ImRect bb,ImGuiID id,ImGuiNavHighlightFlags flags);
CIMGUI_API void igRenderNavCursor(const ImRect bb,ImGuiID id,ImGuiNavRenderCursorFlags flags);
CIMGUI_API const char* igFindRenderedTextEnd(const char* text,const char* text_end);
CIMGUI_API void igRenderMouseCursor(ImVec2 pos,float scale,ImGuiMouseCursor mouse_cursor,ImU32 col_fill,ImU32 col_border,ImU32 col_shadow);
CIMGUI_API void igRenderArrow(ImDrawList* draw_list,ImVec2 pos,ImU32 col,ImGuiDir dir,float scale);
@@ -4496,7 +4523,7 @@ CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,const ImRect ou
CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags);
CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags);
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags);
CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags,float thickness);
CIMGUI_API void igSeparatorTextEx(ImGuiID id,const char* label,const char* label_end,float extra_width);
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value);
@@ -4504,7 +4531,7 @@ CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flag
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API void igScrollbar(ImGuiAxis axis);
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags);
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags draw_rounding_flags);
CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window,int n);
@@ -4524,6 +4551,7 @@ CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,co
CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format,void* p_data_when_empty);
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max);
CIMGUI_API bool igDataTypeIsZero(ImGuiDataType data_type,const void* p_data);
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
CIMGUI_API void igInputTextDeactivateHook(ImGuiID id);
CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags);
@@ -4541,10 +4569,15 @@ CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list,int vert_start_id
CIMGUI_API void igGcCompactTransientMiscBuffers(void);
CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window);
CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window);
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size);
CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data);
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data);
CIMGUI_API bool igErrorLog(const char* msg);
CIMGUI_API void igErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out);
CIMGUI_API void igErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in);
CIMGUI_API void igErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in);
CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void);
CIMGUI_API void igErrorCheckEndFrameFinalizeErrorTooltip(void);
CIMGUI_API bool igBeginErrorTooltip(void);
CIMGUI_API void igEndErrorTooltip(void);
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size);
CIMGUI_API void igDebugDrawCursorPos(ImU32 col);
CIMGUI_API void igDebugDrawLineExtents(ImU32 col);
CIMGUI_API void igDebugDrawItemRect(ImU32 col);
@@ -4586,11 +4619,15 @@ CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas,in
CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned int in_marker_pixel_value);
CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor);
CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256],unsigned char* pixels,int x,int y,int w,int h,int stride);
#ifdef IMGUI_ENABLE_FREETYPE
CIMGUI_API const ImFontBuilderIO* ImGuiFreeType_GetBuilderForFreeType(void);
CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);
#endif
/////////////////////////hand written functions
//no LogTextV
CIMGUI_API void igLogText(CONST char *fmt, ...);
CIMGUI_API void igLogText(const char *fmt, ...);
//no appendfV
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
//for getting FLT_MAX in bindings

View File

@@ -1,12 +1,4 @@
#ifdef IMGUI_ENABLE_FREETYPE
#ifndef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should be defined for Freetype linking"
#endif
#else
#ifdef CIMGUI_FREETYPE
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
#endif
#endif
#include "./imgui/imgui.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "./imgui/misc/freetype/imgui_freetype.h"

View File

@@ -47,7 +47,7 @@ typedef union SDL_Event SDL_Event;
/////////////////////////hand written functions
//no LogTextV
CIMGUI_API void igLogText(CONST char *fmt, ...);
CIMGUI_API void igLogText(const char *fmt, ...);
//no appendfV
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
//for getting FLT_MAX in bindings

View File

@@ -175,6 +175,7 @@ local function check_template(code)
te = te:gsub("%-","less")
te = te:gsub("%s","_")
te = te:gsub("%*","Ptr")
te = te:gsub("::","_")
code2 = code:gsub("(<[%w_%*%s]+>)([^%s%*])","%1 %2")
code2 = code2:gsub("<([^<>]-)>","_"..te)
@@ -431,20 +432,15 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
loca = table.remove(loca,1)
end
if not loca then
print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline)
-- for k,v in pairs(linenumdict) do
-- if k:match(itemfirstline) then
-- print(string.format("%q",k),#k)
-- end
-- end
--error"no entry in linenumdict"
--take locat from parent
if itparent and itparent.locat then
loca = itparent.locat
print("parent loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca)
else
loca = 0
--error"no entry in linenumdict"
print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline,loca)
end
end
else
error"no linenumdict"
@@ -480,7 +476,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
end
return itemarr,items
end
M.parseItems = parseItems
--M.parseItems = parseItems
local function name_overloadsAlgo(v)
local aa = {} -- args
@@ -672,14 +668,18 @@ local function CleanImU32(def)
for i=1,#bb do res = res + bb[i] end
return res
end
local function moveptr(line)
line = line:gsub("%s*%*","%*")
line = line:gsub("%*([%w_])","%* %1")
line = line:gsub("(%(%*)%s","%1")
return line
end
local function parseFunction(self,stname,itt,namespace,locat)
local lineorig,comment = split_comment(itt.item)
line = clean_spaces(lineorig)
--move *
line = line:gsub("%s*%*","%*")
line = line:gsub("%*([%w_])","%* %1")
line = line:gsub("(%(%*)%s","%1")
line = moveptr(line)
--print(line)
--clean implemetation
@@ -718,6 +718,21 @@ local function parseFunction(self,stname,itt,namespace,locat)
error"parseFunction not getting args"
end
--get manuals args and ret
local cname = self.getCname(stname,funcname, namespace) --cimguiname
local manpars = self.manuals[cname]
local ismanual
if manpars then
if type(manpars) == "boolean" then
print("warning: unable to get args and ret from "..cname)
print("did you forgot to use set_manuals? ")
else
ismanual = true
args, ret = manpars.args, manpars.ret
args = moveptr(args)
ret = moveptr(ret)
end
end
local argsp = args:sub(2,-2)..","
local argsTa = {}
@@ -733,6 +748,8 @@ local function parseFunction(self,stname,itt,namespace,locat)
argsTa[#argsTa+1] = tynam
end
end
--- templates in args
for i,ar in ipairs(argsTa) do
--TODO several diferent templates
@@ -746,7 +763,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
end
argsTa[i] = te and code2 or ar --ar:gsub("<([%w_%*%s]+)>",te) --ImVector
end
--get typ, name and defaults
local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
@@ -806,6 +823,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
end
end
local argsArr = argsTa2
--recreate argscsinpars, call_args and signature from argsArr
@@ -837,7 +855,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
caar = "()"
signat = "()" .. (extraconst or "")
end
--if ismanual then print("manual",asp, caar, signat) end
------------------------------
if not ret and stname then --must be constructors
@@ -870,6 +888,9 @@ local function parseFunction(self,stname,itt,namespace,locat)
ar.default = nil
end
end
--if ismanual then M.prtable(argsArr) end
defT.templated = self.typenames[stname] and true
defT.namespace = namespace
defT.cimguiname = cimguiname
@@ -900,6 +921,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
-- end
end
defsT[cimguiname][signat] = defT
end
local function itemsCount(items)
print"------------items"
@@ -912,8 +934,8 @@ end
local function AdjustArguments(FP)
for fun,defs in pairs(FP.defsT) do
--struct function but no constructors or static functions
if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function then
--struct function but no constructors or static functions or manuals
if defs[1].stname~="" and defs[1].ret and not defs[1].is_static_function and not defs[1].manual then
--print("adjusting",fun)
for i,def in ipairs(defs) do
local empty = def.args:match("^%(%)") --no args
@@ -1110,14 +1132,15 @@ local function ADDdestructors(FP)
error"names should be equal"
end
local def = {}
local isrealdestructor = keep_dest_locat[defT[1].stname] and true
def.stname = defT[1].stname
def.templated = defT[1].templated
def.location = keep_dest_locat[defT[1].stname]
def.location = keep_dest_locat[defT[1].stname] or defT[1].location
def.ret = "void"
def.ov_cimguiname = def.stname.."_destroy"
def.cimguiname = def.ov_cimguiname
def.destructor = true
def.realdestructor = def.location and true
def.realdestructor = isrealdestructor
def.args = "("..def.stname.."* self)"
def.call_args = "(self)"
def.signature = "("..def.stname.."*)"
@@ -1269,7 +1292,7 @@ function M.Parser()
self.typedefs_dict[key] = linet
elseif not line:match"typedef%s*struct" then --discard typedef struct
print("typedef not found")
print(key,value,line)
print(key,value,line,cdef[1],cdef[2])
end
end
end
@@ -1289,6 +1312,15 @@ function M.Parser()
function par:parseItemsR2(txt, itparent)
local itsarr,its = parseItems(txt,self.linenumdict,itparent)
for i,it in ipairs(itsarr) do
--clean class
if it.re_name == "class_re" then
it.name = it.item:match("class%s+(%S+)")
print("cleaning class",it.name)
it.item = it.item:gsub("private:.+};$","};")
--it.item = it.item:gsub("private:","")
it.item = it.item:gsub("public:","")
it.item = it.item:gsub("enum%s*class","enum")
end
if not isLeaf(it.re_name) then
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
it.childs = par:parseItemsR2(inner, it)
@@ -1311,6 +1343,8 @@ function M.Parser()
end
elseif it.re_name == "namespace_re" then
it.name = it.item:match("namespace%s+(%S+)")
elseif it.re_name == "class_re" then
--it.name = it.item:match("class%s+(%S+)")
end
end
end
@@ -1332,11 +1366,12 @@ function M.Parser()
return table.concat(txtclean)
end
function par:parseItems()
self:initTypedefsDict()
--self:initTypedefsDict()
self.linenumdict = {}
local cdefs2 = {}
for i,cdef in ipairs(cdefs) do
cdef[1] = cdef[1]:gsub("enum%s*class","enum") --clean class
local cdef1 = clean_comments(cdef[1])
if self.linenumdict[cdef1] then
--print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
@@ -1346,7 +1381,6 @@ function M.Parser()
table.insert(self.linenumdict[cdef1],cdef[2])
end
else
--print("nuevo linenumdict es",cdef[1],cdef[2])
self.linenumdict[cdef1]=cdef[2]
end
table.insert(cdefs2,cdef[1])
@@ -1397,6 +1431,20 @@ function M.Parser()
function par:printItems()
printItems(items)
end
function par:set_manuals(manuals, modulen, erase)
erase = erase or {"CIMGUI_API"}
local moddata = read_data("./"..modulen.."_template.h")
for k,v in pairs(manuals) do
local ret = moddata:match("([^%(%):,\n;]+[%*%s])%s?~?"..k.."%b()")
for i,ww in ipairs(erase) do
ret = ret:gsub(ww,"")
end
local args = moddata:match(k.."%s*(%b())")
manuals[k] = {args = args, ret = ret}
--print(k,args,ret)
end
self.manuals = manuals
end
par.parseFunction = parseFunction
local uniques = {}
local function check_unique_typedefs(l,uniques)
@@ -1429,7 +1477,11 @@ function M.Parser()
stname,derived = inistruct:match"struct%s*([^%s:]+):(.+)"
derived = derived:match"(%S+)$"
else
stname = inistruct:match"struct%s(%S+)"
if itst.re_name == "struct_re" then
stname = inistruct:match"struct%s(%S+)"
elseif itst.re_name == "class_re" then
stname = inistruct:match"class%s(%S+)"
end
end
if derived then print(stname,"derived from",derived) end
@@ -1439,6 +1491,7 @@ function M.Parser()
stname = stru:match("%b{}%s*(%S+)%s*;")
end
local is_nested
if not stname then
is_nested = itst.parent and (itst.parent.re_name == "struct_re")
@@ -1566,8 +1619,9 @@ function M.Parser()
if parnam~="" then parnam = parnam:sub(1,-3) end
return parnam
end
function par:header_text_insert(tab,txt,it)
table.insert(tab, txt)
end
function par:gen_structs_and_enums()
print"--------------gen_structs_and_enums"
--M.prtable(self.typenames)
@@ -1595,6 +1649,9 @@ function M.Parser()
local tdt = self:gentemplatetypedef(ttype,template,te)
it2 = tdt..code2
elseif it2:match"%w+::" then
print("clean namespace typedef",it2)
it2 = it2:gsub("%w+::","")
end
elseif it.re_name == "functypedef_re" then
it2 = clean_functypedef(it2)
@@ -1606,14 +1663,16 @@ function M.Parser()
end
end
--table.insert(outtabpre,it2)
table.insert(outtab,it2)
--table.insert(outtab,it2)
self:header_text_insert(outtab, it2, it)
-- add typedef after struct name
if it.re_name == "vardef_re" and it.item:match"^%s*struct" then
local stname = it.item:match("struct%s*(%S+)%s*;")
--table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n")
local tst = "\ntypedef struct "..stname.." "..stname..";"
if check_unique_typedefs(tst,uniques) then
table.insert(outtabpre,tst)
--table.insert(outtabpre,tst)
self:header_text_insert(outtabpre ,tst, it)
end
self.typedefs_dict[stname]="struct "..stname
if it.parent then --must be struct name; inside namespace
@@ -1639,24 +1698,31 @@ function M.Parser()
end
end
enumbody = "{"..enumbody.."\n}"
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums)
--table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";"..extraenums)
local it2 = "\ntypedef enum ".. enumbody..enumname..";"..extraenums
self:header_text_insert(outtab, it2, it)
else
local enumbody = it.item:match"(%b{})"
enumbody = clean_comments(enumbody)
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
--table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
local it2 = "\ntypedef enum ".. enumbody..enumname..";"
self:header_text_insert(outtab, it2, it)
end
if it.parent then
if it.parent.re_name == "namespace_re" then
local namespace = it.parent.item:match("namespace%s+(%S+)")
self.embeded_enums[enumname] = namespace.."::"..enumname
else
self.embeded_enums[enumname] = it.parent.name.."::"..enumname
end
end
else --unamed enum just repeat declaration
local cl_item = clean_comments(it.item)
table.insert(outtab,cl_item)
--table.insert(outtab,cl_item)
self:header_text_insert(outtab, cl_item, it)
print("unnamed enum",cl_item)
end
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,true)
if not structname then print("NO NAME",cleanst,it.item) end
--if not void stname or templated
@@ -1665,12 +1731,14 @@ function M.Parser()
--table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n")
local tst = "\ntypedef struct "..structname.." "..structname..";"
if check_unique_typedefs(tst,uniques) then
table.insert(outtab,tst)
--table.insert(outtab,tst)
self:header_text_insert(outtab, tst, it)
end
self.typedefs_dict[structname]="struct "..structname
--dont insert child structs as they are inserted before parent struct
if not (it.parent and it.parent.re_name == "struct_re") then
table.insert(outtab,predec .. cleanst)
--table.insert(outtab,predec .. cleanst)
self:header_text_insert(outtab, predec .. cleanst, it)
end
end
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
@@ -1693,7 +1761,7 @@ function M.Parser()
local stname = ""
local namespace
if it.parent then
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" or it.parent.re_name == "class_re" then
stname = it.parent.name
elseif it.parent.re_name == "namespace_re" then
namespace = get_parents_nameC(it) --it.parent.name
@@ -1779,7 +1847,8 @@ function M.Parser()
end
local unnamed_enum_counter = 0
local function enums_for_table(it, outtab, enumsordered)
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
--local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
local enumname = it.item:match"^[^;{}]-enum%s+([^%s;{}]+)"
if not enumname then
unnamed_enum_counter = unnamed_enum_counter + 1
enumname = "unnamed"..unnamed_enum_counter
@@ -1842,7 +1911,7 @@ function M.Parser()
function par:gen_structs_and_enums_table()
print"--------------gen_structs_and_enums_table"
local outtab = {enums={},structs={},locations={},enumtypes={},struct_comments={},enum_comments={}}
self.typedefs_table = {}
--self.typedefs_table = {}
local enumsordered = {}
unnamed_enum_counter = 0
self.templated_structs = {}
@@ -1865,11 +1934,35 @@ function M.Parser()
if it.re_name == "typedef_re" and not it.parent then
local typedefdef,typedefname = it.item:match"typedef(.+)%s([^%s;]+);$"
typedefname = strip(typedefname)
self.typedefs_table[typedefname] = strip(typedefdef)
--self.typedefs_table[typedefname] = strip(typedefdef)
self.typedefs_dict[typedefname] = strip(typedefdef)
elseif it.re_name == "functypedef_re" then
-- "^\n*%s*(typedef[%w%s%*_]+%([^*]*%*?%s*[%w_]+%s*%)%s*%b()%s*;)"
local key = it.item:match("%(%*([%w_]+)%)%([^%(%)]*%)")
if key then
local linet = it.item
linet = linet:gsub("[\n%s]+typedef ","")
linet = linet:gsub("%(%*("..key..")%)","(*)")
self.typedefs_dict[key] = linet
--print("functypedef_re",1,linet)--,clean_functypedef(line))
else
--try function typedef
key = it.item:match("%(([%w_]+)%)%([^%(%)]*%)")
if key then
local linet = it.item
linet = linet:gsub("typedef ","")
linet = linet:gsub("%(("..key..")%)","()")
self.typedefs_dict[key] = linet
print("functypedef_re",2, it.item)
else
print("func typedef not found")
print(it.item)
end
end
end
elseif it.re_name == "enum_re" then
enums_for_table(it, outtab, enumsordered)
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
local cleanst,structname,strtab,comstab = self:clean_structR1(it)
--if not void stname or templated
if not structname then print("NO NAME",cleanst,it.item) end
@@ -2336,7 +2429,8 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
end
M.location = location
---------------------- C writing functions
local function ImGui_f_implementation(outtab,def)
local function ImGui_f_implementation(def)
local outtab = {}
local ptret = def.retref and "&" or ""
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
table.insert(outtab,"{\n")
@@ -2363,8 +2457,10 @@ local function ImGui_f_implementation(outtab,def)
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
end
table.insert(outtab,"}\n")
return table.concat(outtab, "")
end
local function struct_f_implementation(outtab,def)
local function struct_f_implementation(def)
local outtab = {}
local empty = def.args:match("^%(%)") --no args
local ptret = def.retref and "&" or ""
@@ -2393,6 +2489,7 @@ local function struct_f_implementation(outtab,def)
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
end
table.insert(outtab,"}\n")
return table.concat(outtab, "")
end
local function func_implementation(FP)
@@ -2410,25 +2507,38 @@ local function func_implementation(FP)
local manual = FP.get_manuals(def)
if not custom and not manual and not def.templated and not FP.get_skipped(def) then
if def.constructor then
local tab = {}
assert(def.stname ~= "","constructor without struct")
local empty = def.args:match("^%(%)") --no args
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
table.insert(outtab,"{\n")
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
table.insert(outtab,"}\n")
table.insert(tab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
table.insert(tab,"{\n")
table.insert(tab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
table.insert(tab,"}\n")
if FP.CONSTRUCTORS_GENERATION then
table.insert(tab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n")
table.insert(tab,"{\n")
table.insert(tab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n")
table.insert(tab,"}\n")
end
table.insert(outtab, table.concat(tab, ""))
elseif def.destructor then
local tab = {}
local args = "("..def.stname.."* self)"
local fname = def.stname.."_destroy"
table.insert(outtab,"CIMGUI_API void "..fname..args.."\n")
table.insert(outtab,"{\n")
table.insert(outtab," IM_DELETE(self);\n")
table.insert(outtab,"}\n")
table.insert(tab,"CIMGUI_API void "..fname..args.."\n")
table.insert(tab,"{\n")
table.insert(tab," IM_DELETE(self);\n")
table.insert(tab,"}\n")
table.insert(outtab, table.concat(tab, ""))
elseif def.stname == "" or def.is_static_function then
ImGui_f_implementation(outtab,def)
table.insert(outtab, ImGui_f_implementation(def))
else -- stname
struct_f_implementation(outtab,def)
table.insert(outtab, struct_f_implementation(def))
end
end
if FP.custom_function_post then
FP:custom_function_post(outtab, def)
end
until true
end
return table.concat(outtab)
@@ -2451,13 +2561,16 @@ local function func_header_generate_structs(FP)
local outtab = {}
table_do_sorted(FP.embeded_structs,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
table_do_sorted(FP.embeded_structs,function(k,v)
table.insert(outtab,"typedef "..v.." "..k..";\n")
end)
table_do_sorted(FP.embeded_enums,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
table_do_sorted(FP.templates,function(ttype,v)
table_do_sorted(v,function(ttypein,te)
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype.."_"..te..";\n")
local ttype2 = ttype:gsub("::","_") --std::string
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype2.."_"..te..";\n")
end)
end)
return outtab
@@ -2486,6 +2599,9 @@ local function func_header_generate_funcs(FP)
if def.constructor then
assert(def.stname ~= "","constructor without struct")
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
if FP.CONSTRUCTORS_GENERATION then
outtab[#outtab] = outtab[#outtab].."\nCIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..");\n"
end
elseif def.destructor then
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
else --not constructor
@@ -2497,9 +2613,13 @@ local function func_header_generate_funcs(FP)
end
end
end
if FP.custom_function_post then
FP:custom_function_post(outtab, def)
end
else --not cimguiname
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
end
end
return outtab

View File

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

View File

@@ -7,8 +7,9 @@ assert(bit,"Must use LuaJIT")
local script_args = {...}
local COMPILER = script_args[1]
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
local FREETYPE_GENERATION = true --script_args[2]:match("freetype") and true or false
local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false
local CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or false
local NOCHAR = script_args[2]:match("nochar") and true or false
local NOIMSTRV = script_args[2]:match("noimstrv") and true or false
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
@@ -18,6 +19,9 @@ local CPRE,CTEST
local implementations = {}
for i=3,#script_args do
if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
if script_args[i]:match("IMGUI_USE_WCHAR32") then
script_args[i] = "" --dont use this define
end
local key, value = script_args[i]:match("^(.+)=(.+)$")
if key and value then
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
@@ -30,11 +34,11 @@ for i=3,#script_args do
end
if FREETYPE_GENERATION then
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE" --both builders
end
if COMPILER == "gcc" or COMPILER == "clang" or COMPILER == "zig cc" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
@@ -67,6 +71,7 @@ print("HAVE_COMPILER",HAVE_COMPILER)
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
print("COMMENTS_GENERATION",COMMENTS_GENERATION)
print("CONSTRUCTORS_GENERATION",CONSTRUCTORS_GENERATION)
print("CPRE",CPRE)
--------------------------------------------------------------------------
--this table has the functions to be skipped in generation
@@ -212,6 +217,27 @@ local function DefsByStruct(FP)
FP.defsBystruct = structs
end
local function colapse_defines(str, define)
local num = 1
while num > 0 do
str,num = str:gsub("(#ifdef "..define..".+)".."(#endif\n+#ifdef "..define.."\n)", "%1")
end
return str
end
local wchardefine =
[[
#ifdef IMGUI_USE_WCHAR32
typedef ImWchar32 ImWchar;
#else
typedef ImWchar16 ImWchar;
#endif
#ifdef IMGUI_USE_WCHAR32
#define IM_UNICODE_CODEPOINT_MAX 0x10FFFF
#else
#define IM_UNICODE_CODEPOINT_MAX 0xFFFF
#endif
]]
--generate cimgui.cpp cimgui.h
local function cimgui_generation(parser)
@@ -259,18 +285,27 @@ local function cimgui_generation(parser)
end
end
cstructsstr = colapse_defines(cstructsstr, "IMGUI_ENABLE_FREETYPE")
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
local cfuncsstr = func_header_generate(parser)
cfuncsstr = colapse_defines(cfuncsstr, "IMGUI_ENABLE_FREETYPE")
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
--patch hstrfile for ImWchar
local num
hstrfile, num = hstrfile:gsub("typedef ImWchar16 ImWchar;", wchardefine)
assert(num == 1)
hstrfile, num = hstrfile:gsub("Used4kPagesMap%[%(0xFFFF", "Used4kPagesMap[(IM_UNICODE_CODEPOINT_MAX")
assert(num == 1)
save_data("./output/cimgui.h",cimgui_header,hstrfile)
--merge it in cimgui_template.cpp to cimgui.cpp
local cimplem = func_implementation(parser)
cimplem = colapse_defines(cimplem, "IMGUI_ENABLE_FREETYPE")
local hstrfile = read_data"./cimgui_template.cpp"
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
local ftdef = "" --FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)
end
@@ -305,6 +340,20 @@ print("NOIMSTRV",NOIMSTRV)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
local function custom_function_post(self, outtab, def)
assert(def.location)
if def.location:match("imgui_freetype") then
outtab[#outtab] = "#ifdef IMGUI_ENABLE_FREETYPE\n"..outtab[#outtab].."\n#endif\n"
end
end
local function header_text_insert(self, outtab, txt, it)
assert(it.locat)
if it.locat:match("imgui_freetype") then
table.insert(outtab, "\n#ifdef IMGUI_ENABLE_FREETYPE"..txt.."\n#endif")
else
table.insert(outtab, txt)
end
end
--funtion for parsing imgui headers
local function parseImGuiHeader(header,names)
@@ -316,13 +365,17 @@ local function parseImGuiHeader(header,names)
return pre..funcname
end
parser.cname_overloads = cimgui_overloads
parser.manuals = cimgui_manuals
--parser.manuals = cimgui_manuals
parser:set_manuals(cimgui_manuals, "cimgui")
parser.skipped = cimgui_skipped
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
--parser.gen_template_typedef = gen_template_typedef --use auto
parser.COMMENTS_GENERATION = COMMENTS_GENERATION
parser.CONSTRUCTORS_GENERATION = CONSTRUCTORS_GENERATION
parser.NOCHAR = NOCHAR
parser.NOIMSTRV = NOIMSTRV
parser.custom_function_post = custom_function_post
parser.header_text_insert = header_text_insert
local defines = parser:take_lines(CPRE..header,names,COMPILER)
return parser

View File

@@ -13,9 +13,11 @@
#process files
# arg[1] compiler name gcc, clang, or cl
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
# examples: "" "internal" "internal freetype" "comments internal"
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
# arg[2] options as words in one string: internal for imgui_internal generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
# "constructors" adds the _Construct version of constructors
# examples: "" "internal" "comments internal"
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG)
# -DIMGUI_USE_WCHAR32 should not be used as it is generated for both ImWchar
#
# parse command line arguments
@@ -23,7 +25,7 @@
POSITIONAL_ARGS=()
TARGETS="internal noimstrv"
CFLAGS="glfw opengl3 opengl2 sdl2"
CFLAGS="glfw opengl3 opengl2 sdl2 sdl3"
help() {
cat <<EOF

View File

@@ -65,3 +65,24 @@ CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
CIMGUI_API void ImGui_ImplSDL2_SetGamepadMode(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array,int manual_gamepads_count);
#endif
#ifdef CIMGUI_USE_SDL3
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Renderer SDL_Renderer;
typedef struct SDL_Gamepad SDL_Gamepad;
struct SDL_Window;
struct SDL_Renderer;
struct SDL_Gamepad;
typedef union SDL_Event SDL_Event;
typedef enum { ImGui_ImplSDL3_GamepadMode_AutoFirst, ImGui_ImplSDL3_GamepadMode_AutoAll, ImGui_ImplSDL3_GamepadMode_Manual }ImGui_ImplSDL3_GamepadMode;CIMGUI_API bool ImGui_ImplSDL3_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
CIMGUI_API bool ImGui_ImplSDL3_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL3_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
CIMGUI_API bool ImGui_ImplSDL3_InitForOther(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL3_Shutdown(void);
CIMGUI_API void ImGui_ImplSDL3_NewFrame(void);
CIMGUI_API bool ImGui_ImplSDL3_ProcessEvent(const SDL_Event* event);
CIMGUI_API void ImGui_ImplSDL3_SetGamepadMode(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array,int manual_gamepads_count);
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -427,7 +427,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"location": "imgui_impl_opengl2:36",
"location": "imgui_impl_opengl2:38",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -443,7 +443,7 @@
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"location": "imgui_impl_opengl2:34",
"location": "imgui_impl_opengl2:36",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
"ret": "bool",
"signature": "()",
@@ -459,7 +459,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"location": "imgui_impl_opengl2:37",
"location": "imgui_impl_opengl2:39",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -475,7 +475,7 @@
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"location": "imgui_impl_opengl2:35",
"location": "imgui_impl_opengl2:37",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
"ret": "void",
"signature": "()",
@@ -491,7 +491,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Init",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Init",
"location": "imgui_impl_opengl2:28",
"location": "imgui_impl_opengl2:30",
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
"ret": "bool",
"signature": "()",
@@ -507,7 +507,7 @@
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_NewFrame",
"location": "imgui_impl_opengl2:30",
"location": "imgui_impl_opengl2:32",
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -528,7 +528,7 @@
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
"location": "imgui_impl_opengl2:31",
"location": "imgui_impl_opengl2:33",
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -544,7 +544,7 @@
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Shutdown",
"location": "imgui_impl_opengl2:29",
"location": "imgui_impl_opengl2:31",
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"ret": "void",
"signature": "()",
@@ -879,11 +879,11 @@
"type": "int"
}
],
"argsoriginal": "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=((void*)0),int manual_gamepads_count=-1)",
"argsoriginal": "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)",
"call_args": "(mode,manual_gamepads_array,manual_gamepads_count)",
"cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
"defaults": {
"manual_gamepads_array": "NULL",
"manual_gamepads_array": "nullptr",
"manual_gamepads_count": "-1"
},
"funcname": "ImGui_ImplSDL2_SetGamepadMode",
@@ -909,5 +909,224 @@
"signature": "()",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForD3D": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForD3D",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForD3D",
"location": "imgui_impl_sdl3:35",
"ov_cimguiname": "ImGui_ImplSDL3_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForMetal": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForMetal",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForMetal",
"location": "imgui_impl_sdl3:36",
"ov_cimguiname": "ImGui_ImplSDL3_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForOpenGL": [
{
"args": "(SDL_Window* window,void* sdl_gl_context)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
},
{
"name": "sdl_gl_context",
"type": "void*"
}
],
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
"call_args": "(window,sdl_gl_context)",
"cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForOpenGL",
"location": "imgui_impl_sdl3:33",
"ov_cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForOther": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForOther",
"location": "imgui_impl_sdl3:38",
"ov_cimguiname": "ImGui_ImplSDL3_InitForOther",
"ret": "bool",
"signature": "(SDL_Window*)",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForSDLRenderer": [
{
"args": "(SDL_Window* window,SDL_Renderer* renderer)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
},
{
"name": "renderer",
"type": "SDL_Renderer*"
}
],
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
"call_args": "(window,renderer)",
"cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForSDLRenderer",
"location": "imgui_impl_sdl3:37",
"ov_cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
"stname": ""
}
],
"ImGui_ImplSDL3_InitForVulkan": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForVulkan",
"location": "imgui_impl_sdl3:34",
"ov_cimguiname": "ImGui_ImplSDL3_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
"stname": ""
}
],
"ImGui_ImplSDL3_NewFrame": [
{
"args": "()",
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplSDL3_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplSDL3_NewFrame",
"location": "imgui_impl_sdl3:40",
"ov_cimguiname": "ImGui_ImplSDL3_NewFrame",
"ret": "void",
"signature": "()",
"stname": ""
}
],
"ImGui_ImplSDL3_ProcessEvent": [
{
"args": "(const SDL_Event* event)",
"argsT": [
{
"name": "event",
"type": "const SDL_Event*"
}
],
"argsoriginal": "(const SDL_Event* event)",
"call_args": "(event)",
"cimguiname": "ImGui_ImplSDL3_ProcessEvent",
"defaults": {},
"funcname": "ImGui_ImplSDL3_ProcessEvent",
"location": "imgui_impl_sdl3:41",
"ov_cimguiname": "ImGui_ImplSDL3_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
"stname": ""
}
],
"ImGui_ImplSDL3_SetGamepadMode": [
{
"args": "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array,int manual_gamepads_count)",
"argsT": [
{
"name": "mode",
"type": "ImGui_ImplSDL3_GamepadMode"
},
{
"name": "manual_gamepads_array",
"type": "SDL_Gamepad**"
},
{
"name": "manual_gamepads_count",
"type": "int"
}
],
"argsoriginal": "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)",
"call_args": "(mode,manual_gamepads_array,manual_gamepads_count)",
"cimguiname": "ImGui_ImplSDL3_SetGamepadMode",
"defaults": {
"manual_gamepads_array": "nullptr",
"manual_gamepads_count": "-1"
},
"funcname": "ImGui_ImplSDL3_SetGamepadMode",
"location": "imgui_impl_sdl3:46",
"ov_cimguiname": "ImGui_ImplSDL3_SetGamepadMode",
"ret": "void",
"signature": "(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)",
"stname": ""
}
],
"ImGui_ImplSDL3_Shutdown": [
{
"args": "()",
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"cimguiname": "ImGui_ImplSDL3_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplSDL3_Shutdown",
"location": "imgui_impl_sdl3:39",
"ov_cimguiname": "ImGui_ImplSDL3_Shutdown",
"ret": "void",
"signature": "()",
"stname": ""
}
]
}

View File

@@ -362,7 +362,7 @@ defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:36"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:38"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
@@ -377,7 +377,7 @@ defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:34"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:36"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
@@ -392,7 +392,7 @@ defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:37"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:39"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
@@ -407,7 +407,7 @@ defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:35"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:37"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
@@ -422,7 +422,7 @@ defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:28"
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
@@ -437,7 +437,7 @@ defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:30"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:32"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
@@ -455,7 +455,7 @@ defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:33"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
@@ -470,7 +470,7 @@ defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:29"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:31"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
@@ -763,11 +763,11 @@ defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsT"][2]["type"] = "struct _SDL_Game
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsT"][3] = {}
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsT"][3]["name"] = "manual_gamepads_count"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsoriginal"] = "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=((void*)0),int manual_gamepads_count=-1)"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["argsoriginal"] = "(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["call_args"] = "(mode,manual_gamepads_array,manual_gamepads_count)"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["cimguiname"] = "ImGui_ImplSDL2_SetGamepadMode"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["defaults"]["manual_gamepads_array"] = "NULL"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["defaults"]["manual_gamepads_array"] = "nullptr"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["defaults"]["manual_gamepads_count"] = "-1"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["funcname"] = "ImGui_ImplSDL2_SetGamepadMode"
defs["ImGui_ImplSDL2_SetGamepadMode"][1]["location"] = "imgui_impl_sdl2:44"
@@ -791,5 +791,193 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplSDL2_Shutdown"]["()"] = defs["ImGui_ImplSDL2_Shutdown"][1]
defs["ImGui_ImplSDL3_InitForD3D"] = {}
defs["ImGui_ImplSDL3_InitForD3D"][1] = {}
defs["ImGui_ImplSDL3_InitForD3D"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForD3D"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForD3D"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForD3D"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForD3D"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForD3D"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForD3D"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL3_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForD3D"
defs["ImGui_ImplSDL3_InitForD3D"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL3_InitForD3D"
defs["ImGui_ImplSDL3_InitForD3D"][1]["location"] = "imgui_impl_sdl3:35"
defs["ImGui_ImplSDL3_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForD3D"
defs["ImGui_ImplSDL3_InitForD3D"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForD3D"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL3_InitForD3D"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForD3D"]["(SDL_Window*)"] = defs["ImGui_ImplSDL3_InitForD3D"][1]
defs["ImGui_ImplSDL3_InitForMetal"] = {}
defs["ImGui_ImplSDL3_InitForMetal"][1] = {}
defs["ImGui_ImplSDL3_InitForMetal"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForMetal"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForMetal"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForMetal"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForMetal"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForMetal"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForMetal"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL3_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForMetal"
defs["ImGui_ImplSDL3_InitForMetal"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL3_InitForMetal"
defs["ImGui_ImplSDL3_InitForMetal"][1]["location"] = "imgui_impl_sdl3:36"
defs["ImGui_ImplSDL3_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForMetal"
defs["ImGui_ImplSDL3_InitForMetal"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForMetal"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL3_InitForMetal"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForMetal"]["(SDL_Window*)"] = defs["ImGui_ImplSDL3_InitForMetal"][1]
defs["ImGui_ImplSDL3_InitForOpenGL"] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][2]["name"] = "sdl_gl_context"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsT"][2]["type"] = "void*"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["argsoriginal"] = "(SDL_Window* window,void* sdl_gl_context)"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForOpenGL"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL3_InitForOpenGL"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["location"] = "imgui_impl_sdl3:33"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForOpenGL"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL3_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL3_InitForOpenGL"][1]
defs["ImGui_ImplSDL3_InitForOther"] = {}
defs["ImGui_ImplSDL3_InitForOther"][1] = {}
defs["ImGui_ImplSDL3_InitForOther"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForOther"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForOther"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForOther"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForOther"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForOther"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForOther"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL3_InitForOther"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForOther"
defs["ImGui_ImplSDL3_InitForOther"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForOther"][1]["funcname"] = "ImGui_ImplSDL3_InitForOther"
defs["ImGui_ImplSDL3_InitForOther"][1]["location"] = "imgui_impl_sdl3:38"
defs["ImGui_ImplSDL3_InitForOther"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForOther"
defs["ImGui_ImplSDL3_InitForOther"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForOther"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL3_InitForOther"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForOther"]["(SDL_Window*)"] = defs["ImGui_ImplSDL3_InitForOther"][1]
defs["ImGui_ImplSDL3_InitForSDLRenderer"] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["args"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][2]["name"] = "renderer"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsT"][2]["type"] = "SDL_Renderer*"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["argsoriginal"] = "(SDL_Window* window,SDL_Renderer* renderer)"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["call_args"] = "(window,renderer)"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForSDLRenderer"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL3_InitForSDLRenderer"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl3:37"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForSDLRenderer"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["signature"] = "(SDL_Window*,SDL_Renderer*)"
defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForSDLRenderer"]["(SDL_Window*,SDL_Renderer*)"] = defs["ImGui_ImplSDL3_InitForSDLRenderer"][1]
defs["ImGui_ImplSDL3_InitForVulkan"] = {}
defs["ImGui_ImplSDL3_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL3_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_InitForVulkan"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_InitForVulkan"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL3_InitForVulkan"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL3_InitForVulkan"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["location"] = "imgui_impl_sdl3:34"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_InitForVulkan"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL3_InitForVulkan"][1]["stname"] = ""
defs["ImGui_ImplSDL3_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL3_InitForVulkan"][1]
defs["ImGui_ImplSDL3_NewFrame"] = {}
defs["ImGui_ImplSDL3_NewFrame"][1] = {}
defs["ImGui_ImplSDL3_NewFrame"][1]["args"] = "()"
defs["ImGui_ImplSDL3_NewFrame"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_NewFrame"][1]["argsoriginal"] = "()"
defs["ImGui_ImplSDL3_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplSDL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL3_NewFrame"
defs["ImGui_ImplSDL3_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_NewFrame"][1]["funcname"] = "ImGui_ImplSDL3_NewFrame"
defs["ImGui_ImplSDL3_NewFrame"][1]["location"] = "imgui_impl_sdl3:40"
defs["ImGui_ImplSDL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_NewFrame"
defs["ImGui_ImplSDL3_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL3_NewFrame"][1]["signature"] = "()"
defs["ImGui_ImplSDL3_NewFrame"][1]["stname"] = ""
defs["ImGui_ImplSDL3_NewFrame"]["()"] = defs["ImGui_ImplSDL3_NewFrame"][1]
defs["ImGui_ImplSDL3_ProcessEvent"] = {}
defs["ImGui_ImplSDL3_ProcessEvent"][1] = {}
defs["ImGui_ImplSDL3_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_ProcessEvent"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_ProcessEvent"][1]["argsT"][1]["name"] = "event"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["argsT"][1]["type"] = "const SDL_Event*"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["argsoriginal"] = "(const SDL_Event* event)"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL3_ProcessEvent"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL3_ProcessEvent"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["location"] = "imgui_impl_sdl3:41"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_ProcessEvent"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
defs["ImGui_ImplSDL3_ProcessEvent"][1]["stname"] = ""
defs["ImGui_ImplSDL3_ProcessEvent"]["(const SDL_Event*)"] = defs["ImGui_ImplSDL3_ProcessEvent"][1]
defs["ImGui_ImplSDL3_SetGamepadMode"] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["args"] = "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array,int manual_gamepads_count)"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][1]["name"] = "mode"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][1]["type"] = "ImGui_ImplSDL3_GamepadMode"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][2] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][2]["name"] = "manual_gamepads_array"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][2]["type"] = "SDL_Gamepad**"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][3] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][3]["name"] = "manual_gamepads_count"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsT"][3]["type"] = "int"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["argsoriginal"] = "(ImGui_ImplSDL3_GamepadMode mode,SDL_Gamepad** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["call_args"] = "(mode,manual_gamepads_array,manual_gamepads_count)"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["cimguiname"] = "ImGui_ImplSDL3_SetGamepadMode"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["defaults"]["manual_gamepads_array"] = "nullptr"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["defaults"]["manual_gamepads_count"] = "-1"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["funcname"] = "ImGui_ImplSDL3_SetGamepadMode"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["location"] = "imgui_impl_sdl3:46"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_SetGamepadMode"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["ret"] = "void"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["signature"] = "(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)"
defs["ImGui_ImplSDL3_SetGamepadMode"][1]["stname"] = ""
defs["ImGui_ImplSDL3_SetGamepadMode"]["(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)"] = defs["ImGui_ImplSDL3_SetGamepadMode"][1]
defs["ImGui_ImplSDL3_Shutdown"] = {}
defs["ImGui_ImplSDL3_Shutdown"][1] = {}
defs["ImGui_ImplSDL3_Shutdown"][1]["args"] = "()"
defs["ImGui_ImplSDL3_Shutdown"][1]["argsT"] = {}
defs["ImGui_ImplSDL3_Shutdown"][1]["argsoriginal"] = "()"
defs["ImGui_ImplSDL3_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL3_Shutdown"
defs["ImGui_ImplSDL3_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL3_Shutdown"][1]["funcname"] = "ImGui_ImplSDL3_Shutdown"
defs["ImGui_ImplSDL3_Shutdown"][1]["location"] = "imgui_impl_sdl3:39"
defs["ImGui_ImplSDL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL3_Shutdown"
defs["ImGui_ImplSDL3_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL3_Shutdown"][1]["signature"] = "()"
defs["ImGui_ImplSDL3_Shutdown"][1]["stname"] = ""
defs["ImGui_ImplSDL3_Shutdown"]["()"] = defs["ImGui_ImplSDL3_Shutdown"][1]
return defs

View File

@@ -7,7 +7,7 @@ ImColor_ImColor 5
5 nil ImColor_ImColor_U32 (ImU32)
ImDrawList_AddText 2
1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*)
2 void ImDrawList_AddText_FontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
2 void ImDrawList_AddText_FontPtr (ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
@@ -263,6 +263,9 @@ igSetWindowSize 3
igShortcut 2
1 bool igShortcut_Nil (ImGuiKeyChord,ImGuiInputFlags)
2 bool igShortcut_ID (ImGuiKeyChord,ImGuiInputFlags,ImGuiID)
igTabBarQueueFocus 2
1 void igTabBarQueueFocus_TabItemPtr (ImGuiTabBar*,ImGuiTabItem*)
2 void igTabBarQueueFocus_Str (ImGuiTabBar*,const char*)
igTabItemCalcSize 2
1 ImVec2 igTabItemCalcSize_Str (const char*,bool)
2 ImVec2 igTabItemCalcSize_WindowPtr (ImGuiWindow*)
@@ -294,4 +297,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*)
206 overloaded
208 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
{
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>",
"ImBitArrayPtr": "ImU32*",
"ImBitVector": "struct ImBitVector",
"ImColor": "struct ImColor",
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
"ImDrawCallback": "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);",
"ImDrawChannel": "struct ImDrawChannel",
"ImDrawCmd": "struct ImDrawCmd",
"ImDrawCmdHeader": "struct ImDrawCmdHeader",
@@ -39,7 +39,7 @@
"ImGuiConfigFlags": "int",
"ImGuiContext": "struct ImGuiContext",
"ImGuiContextHook": "struct ImGuiContextHook",
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
"ImGuiContextHookCallback": "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);",
"ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage",
@@ -48,7 +48,8 @@
"ImGuiDebugAllocInfo": "struct ImGuiDebugAllocInfo",
"ImGuiDebugLogFlags": "int",
"ImGuiDragDropFlags": "int",
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
"ImGuiErrorCallback": "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);",
"ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState",
"ImGuiFocusRequestFlags": "int",
"ImGuiFocusScopeData": "struct ImGuiFocusScopeData",
"ImGuiFocusedFlags": "int",
@@ -65,7 +66,7 @@
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputFlags": "int",
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallback": "int (*)(ImGuiInputTextCallbackData* data);",
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextDeactivateData": "struct ImGuiInputTextDeactivateData",
"ImGuiInputTextDeactivatedState": "struct ImGuiInputTextDeactivatedState",
@@ -85,8 +86,9 @@
"ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiLocEntry": "struct ImGuiLocEntry",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiLogFlags": "int",
"ImGuiMemAllocFunc": "void* (*)(size_t sz, void* user_data);",
"ImGuiMemFreeFunc": "void (*)(void* ptr, void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
"ImGuiMouseButton": "int",
@@ -95,9 +97,9 @@
"ImGuiMultiSelectIO": "struct ImGuiMultiSelectIO",
"ImGuiMultiSelectState": "struct ImGuiMultiSelectState",
"ImGuiMultiSelectTempData": "struct ImGuiMultiSelectTempData",
"ImGuiNavHighlightFlags": "int",
"ImGuiNavItemData": "struct ImGuiNavItemData",
"ImGuiNavMoveFlags": "int",
"ImGuiNavRenderCursorFlags": "int",
"ImGuiNextItemData": "struct ImGuiNextItemData",
"ImGuiNextItemDataFlags": "int",
"ImGuiNextWindowData": "struct ImGuiNextWindowData",
@@ -121,11 +123,10 @@
"ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
"ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem",
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallback": "void (*)(ImGuiSizeCallbackData* data);",
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle",
@@ -178,7 +179,8 @@
"ImS32": "signed int",
"ImS64": "signed long long",
"ImS8": "signed char",
"ImTextureID": "void*",
"ImStbTexteditState": "ImStb::STB_TexteditState",
"ImTextureID": "ImU64",
"ImU16": "unsigned short",
"ImU32": "unsigned int",
"ImU64": "unsigned long long",
@@ -190,11 +192,5 @@
"ImWchar": "ImWchar16",
"ImWchar16": "unsigned short",
"ImWchar32": "unsigned int",
"STB_TexteditState": "struct STB_TexteditState",
"StbTexteditRow": "struct StbTexteditRow",
"StbUndoRecord": "struct StbUndoRecord",
"StbUndoState": "struct StbUndoState",
"const_iterator": "const value_type*",
"iterator": "value_type*",
"value_type": "T"
"STB_TexteditState": "struct STB_TexteditState"
}

View File

@@ -1,9 +1,9 @@
local defs = {}
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT, -ImGuiKey_NamedKey_BEGIN>"
defs["ImBitArrayPtr"] = "ImU32*"
defs["ImBitVector"] = "struct ImBitVector"
defs["ImColor"] = "struct ImColor"
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
defs["ImDrawCallback"] = "void (*)(const ImDrawList* parent_list, const ImDrawCmd* cmd);"
defs["ImDrawChannel"] = "struct ImDrawChannel"
defs["ImDrawCmd"] = "struct ImDrawCmd"
defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
@@ -39,7 +39,7 @@ defs["ImGuiCond"] = "int"
defs["ImGuiConfigFlags"] = "int"
defs["ImGuiContext"] = "struct ImGuiContext"
defs["ImGuiContextHook"] = "struct ImGuiContextHook"
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
defs["ImGuiContextHookCallback"] = "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);"
defs["ImGuiDataType"] = "int"
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
defs["ImGuiDataTypeStorage"] = "struct ImGuiDataTypeStorage"
@@ -48,7 +48,8 @@ defs["ImGuiDebugAllocEntry"] = "struct ImGuiDebugAllocEntry"
defs["ImGuiDebugAllocInfo"] = "struct ImGuiDebugAllocInfo"
defs["ImGuiDebugLogFlags"] = "int"
defs["ImGuiDragDropFlags"] = "int"
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
defs["ImGuiErrorCallback"] = "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);"
defs["ImGuiErrorRecoveryState"] = "struct ImGuiErrorRecoveryState"
defs["ImGuiFocusRequestFlags"] = "int"
defs["ImGuiFocusScopeData"] = "struct ImGuiFocusScopeData"
defs["ImGuiFocusedFlags"] = "int"
@@ -65,7 +66,7 @@ defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
defs["ImGuiInputFlags"] = "int"
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallback"] = "int (*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextDeactivateData"] = "struct ImGuiInputTextDeactivateData"
defs["ImGuiInputTextDeactivatedState"] = "struct ImGuiInputTextDeactivatedState"
@@ -85,8 +86,9 @@ defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
defs["ImGuiLogFlags"] = "int"
defs["ImGuiMemAllocFunc"] = "void* (*)(size_t sz, void* user_data);"
defs["ImGuiMemFreeFunc"] = "void (*)(void* ptr, void* user_data);"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
defs["ImGuiMouseButton"] = "int"
@@ -95,9 +97,9 @@ defs["ImGuiMultiSelectFlags"] = "int"
defs["ImGuiMultiSelectIO"] = "struct ImGuiMultiSelectIO"
defs["ImGuiMultiSelectState"] = "struct ImGuiMultiSelectState"
defs["ImGuiMultiSelectTempData"] = "struct ImGuiMultiSelectTempData"
defs["ImGuiNavHighlightFlags"] = "int"
defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
defs["ImGuiNavMoveFlags"] = "int"
defs["ImGuiNavRenderCursorFlags"] = "int"
defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
defs["ImGuiNextItemDataFlags"] = "int"
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
@@ -121,11 +123,10 @@ defs["ImGuiSelectionUserData"] = "ImS64"
defs["ImGuiSeparatorFlags"] = "int"
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallback"] = "void (*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
defs["ImGuiStyle"] = "struct ImGuiStyle"
@@ -178,7 +179,8 @@ defs["ImS16"] = "signed short"
defs["ImS32"] = "signed int"
defs["ImS64"] = "signed long long"
defs["ImS8"] = "signed char"
defs["ImTextureID"] = "void*"
defs["ImStbTexteditState"] = "ImStb::STB_TexteditState"
defs["ImTextureID"] = "ImU64"
defs["ImU16"] = "unsigned short"
defs["ImU32"] = "unsigned int"
defs["ImU64"] = "unsigned long long"
@@ -191,11 +193,5 @@ defs["ImWchar"] = "ImWchar16"
defs["ImWchar16"] = "unsigned short"
defs["ImWchar32"] = "unsigned int"
defs["STB_TexteditState"] = "struct STB_TexteditState"
defs["StbTexteditRow"] = "struct StbTexteditRow"
defs["StbUndoRecord"] = "struct StbUndoRecord"
defs["StbUndoState"] = "struct StbUndoState"
defs["const_iterator"] = "const value_type*"
defs["iterator"] = "value_type*"
defs["value_type"] = "T"
return defs

2
imgui

Submodule imgui updated: 1dfbb100d6...993fa34749