Compare commits

..

6 Commits

Author SHA1 Message Date
Victor Bombi
700140771a Merge pull request #326 from JamesWrigley/header-test
cpp2ffi: don't let the generated-header test link
2026-08-21 15:39:32 +02:00
JamesWrigley
0fe23bd335 cpp2ffi: don't let the generated-header test link
The test at the end of cimgui_generation passes neither -c nor -E, so gcc
compiles the .h into a precompiled header and then still tries to link,
failing with "undefined reference to `main'" whenever the toolchain puts
something link-ish on the command line (a -Wl,... or -L from a spec file or
a compiler wrapper). That aborts generation via the assert in get_cdefs.

-fsyntax-only is all this check needs, since only the diagnostics are
inspected and the get_cdefs return value is discarded. -x c is needed too,
without it gcc 5 stays in precompiled-header mode and fails with "output
filename specified twice".
2026-08-20 17:00:05 +02:00
sonoro1234
91ea8b056f name_conversion clean 2026-08-17 11:33:10 +02:00
sonoro1234
773f3d56c4 cpp2ffi: breaking: call_args_old is gone we have call_args and call_args_conv only when needed 2026-08-13 12:10:25 +02:00
sonoro1234
ba1e982860 cpp2ffi: split with cpp2ffi_extra.lua 2026-08-13 11:23:16 +02:00
sonoro1234
a5ae0de007 cpp2ffi: 3 scope corrections 2026-08-12 10:52:24 +02:00
17 changed files with 13140 additions and 8978 deletions

View File

@@ -2,6 +2,7 @@
//based on imgui.h file version "1.92.9b" 19291 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//with imgui_freetype.h api
//docking branch
#include "./imgui/imgui.h"
#include "./imgui/imgui_internal.h"
@@ -280,6 +281,10 @@ CIMGUI_API ImDrawList* igGetWindowDrawList()
{
return ImGui::GetWindowDrawList();
}
CIMGUI_API float igGetWindowDpiScale()
{
return ImGui::GetWindowDpiScale();
}
CIMGUI_API ImVec2_c igGetWindowPos()
{
return ConvertFromCPP_ImVec2(ImGui::GetWindowPos());
@@ -296,6 +301,10 @@ CIMGUI_API float igGetWindowHeight()
{
return ImGui::GetWindowHeight();
}
CIMGUI_API ImGuiViewport* igGetWindowViewport()
{
return ImGui::GetWindowViewport();
}
CIMGUI_API void igSetNextWindowPos(const ImVec2_c pos,ImGuiCond cond,const ImVec2_c pivot)
{
return ImGui::SetNextWindowPos(ConvertToCPP_ImVec2(pos),cond,ConvertToCPP_ImVec2(pivot));
@@ -328,6 +337,10 @@ CIMGUI_API void igSetNextWindowBgAlpha(float alpha)
{
return ImGui::SetNextWindowBgAlpha(alpha);
}
CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id)
{
return ImGui::SetNextWindowViewport(viewport_id);
}
CIMGUI_API void igSetWindowPos_Vec2(const ImVec2_c pos,ImGuiCond cond)
{
return ImGui::SetWindowPos(ConvertToCPP_ImVec2(pos),cond);
@@ -1452,6 +1465,30 @@ CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label)
{
return ImGui::SetTabItemClosed(tab_or_docked_window_label);
}
CIMGUI_API ImGuiID igDockSpace(ImGuiID dockspace_id,const ImVec2_c size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
{
return ImGui::DockSpace(dockspace_id,ConvertToCPP_ImVec2(size),flags,window_class);
}
CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiID dockspace_id,const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
{
return ImGui::DockSpaceOverViewport(dockspace_id,viewport,flags,window_class);
}
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond)
{
return ImGui::SetNextWindowDockID(dock_id,cond);
}
CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class)
{
return ImGui::SetNextWindowClass(window_class);
}
CIMGUI_API ImGuiID igGetWindowDockID()
{
return ImGui::GetWindowDockID();
}
CIMGUI_API bool igIsWindowDocked()
{
return ImGui::IsWindowDocked();
}
CIMGUI_API void igLogToTTY(int auto_open_depth)
{
return ImGui::LogToTTY(auto_open_depth);
@@ -1629,13 +1666,13 @@ CIMGUI_API ImGuiViewport* igGetMainViewport()
{
return ImGui::GetMainViewport();
}
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil()
CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport)
{
return ImGui::GetBackgroundDrawList();
return ImGui::GetBackgroundDrawList(viewport);
}
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil()
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport)
{
return ImGui::GetForegroundDrawList();
return ImGui::GetForegroundDrawList(viewport);
}
CIMGUI_API bool igIsRectVisible_Nil(const ImVec2_c size)
{
@@ -1870,6 +1907,26 @@ CIMGUI_API void igMemFree(void* ptr)
{
return ImGui::MemFree(ptr);
}
CIMGUI_API void igUpdatePlatformWindows()
{
return ImGui::UpdatePlatformWindows();
}
CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg)
{
return ImGui::RenderPlatformWindowsDefault(platform_render_arg,renderer_render_arg);
}
CIMGUI_API void igDestroyPlatformWindows()
{
return ImGui::DestroyPlatformWindows();
}
CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID viewport_id)
{
return ImGui::FindViewportByID(viewport_id);
}
CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle)
{
return ImGui::FindViewportByPlatformHandle(platform_handle);
}
CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void)
{
return IM_NEW(ImGuiTableSortSpecs)();
@@ -1922,6 +1979,10 @@ CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self,ImGuiMouseSource sourc
{
return self->AddMouseSourceEvent(source);
}
CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self,ImGuiID id)
{
return self->AddMouseViewportEvent(id);
}
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused)
{
return self->AddFocusEvent(focused);
@@ -1998,6 +2059,14 @@ CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackDa
{
return self->HasSelection();
}
CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void)
{
return IM_NEW(ImGuiWindowClass)();
}
CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void)
{
return IM_NEW(ImGuiPayload)();
@@ -2958,6 +3027,10 @@ CIMGUI_API ImVec2_c ImGuiViewport_GetWorkCenter(ImGuiViewport* self)
{
return ConvertFromCPP_ImVec2(self->GetWorkCenter());
}
CIMGUI_API const char* ImGuiViewport_GetDebugName(ImGuiViewport* self)
{
return self->GetDebugName();
}
CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void)
{
return IM_NEW(ImGuiPlatformIO)();
@@ -2974,6 +3047,14 @@ CIMGUI_API void ImGuiPlatformIO_ClearRendererHandlers(ImGuiPlatformIO* self)
{
return self->ClearRendererHandlers();
}
CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void)
{
return IM_NEW(ImGuiPlatformMonitor)();
}
CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void)
{
return IM_NEW(ImGuiPlatformImeData)();
@@ -4029,6 +4110,70 @@ CIMGUI_API void ImGuiMultiSelectState_destroy(ImGuiMultiSelectState* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id)
{
return IM_NEW(ImGuiDockNode)(id);
}
CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self)
{
IM_DELETE(self);
}
CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self)
{
return self->IsRootNode();
}
CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self)
{
return self->IsDockSpace();
}
CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self)
{
return self->IsFloatingNode();
}
CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self)
{
return self->IsCentralNode();
}
CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self)
{
return self->IsHiddenTabBar();
}
CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self)
{
return self->IsNoTabBar();
}
CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self)
{
return self->IsSplitNode();
}
CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self)
{
return self->IsLeafNode();
}
CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self)
{
return self->IsEmpty();
}
CIMGUI_API ImRect_c ImGuiDockNode_Rect(ImGuiDockNode* self)
{
return ConvertFromCPP_ImRect(self->Rect());
}
CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self,ImGuiDockNodeFlags flags)
{
return self->SetLocalFlags(flags);
}
CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self)
{
return self->UpdateMergedFlags();
}
CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void)
{
return IM_NEW(ImGuiDockContext)();
}
CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self)
{
IM_DELETE(self);
}
CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void)
{
return IM_NEW(ImGuiViewportP)();
@@ -4037,6 +4182,10 @@ CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self)
{
return self->ClearRequestFlags();
}
CIMGUI_API ImVec2_c ImGuiViewportP_CalcWorkRectPos(ImGuiViewportP* self,const ImVec2_c inset_min)
{
return ConvertFromCPP_ImVec2(self->CalcWorkRectPos(ConvertToCPP_ImVec2(inset_min)));
@@ -4557,9 +4706,9 @@ CIMGUI_API ImVec2_c igCalcWindowNextAutoFitSize(ImGuiWindow* window)
{
return ConvertFromCPP_ImVec2(ImGui::CalcWindowNextAutoFitSize(window));
}
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy)
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy,bool dock_hierarchy)
{
return ImGui::IsWindowChildOf(window,potential_parent,popup_hierarchy);
return ImGui::IsWindowChildOf(window,potential_parent,popup_hierarchy,dock_hierarchy);
}
CIMGUI_API bool igIsWindowInBeginStack(ImGuiWindow* window)
{
@@ -4705,14 +4854,6 @@ CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window)
{
return ImGui::GetForegroundDrawList(window);
}
CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport)
{
return ImGui::GetBackgroundDrawList(viewport);
}
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport)
{
return ImGui::GetForegroundDrawList(viewport);
}
CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data,ImVector_ImDrawListPtr* out_list,ImDrawList* draw_list)
{
return ImGui::AddDrawListToDrawDataEx(draw_data,out_list,draw_list);
@@ -4757,6 +4898,10 @@ CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window)
{
return ImGui::StartMouseMovingWindow(window);
}
CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock)
{
return ImGui::StartMouseMovingWindowOrNode(window,node,undock);
}
CIMGUI_API void igStopMouseMovingWindow()
{
return ImGui::StopMouseMovingWindow();
@@ -4769,18 +4914,34 @@ CIMGUI_API void igUpdateMouseMovingWindowEndFrame()
{
return ImGui::UpdateMouseMovingWindowEndFrame();
}
CIMGUI_API ImGuiViewport* igGetWindowViewport()
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2_c old_pos,const ImVec2_c new_pos,const ImVec2_c old_size,const ImVec2_c new_size)
{
return ImGui::GetWindowViewport();
return ImGui::TranslateWindowsInViewport(viewport,ConvertToCPP_ImVec2(old_pos),ConvertToCPP_ImVec2(new_pos),ConvertToCPP_ImVec2(old_size),ConvertToCPP_ImVec2(new_size));
}
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale)
{
return ImGui::ScaleWindowsInViewport(viewport,scale);
}
CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport)
{
return ImGui::DestroyPlatformWindow(viewport);
}
CIMGUI_API void igSetWindowViewport(ImGuiWindow* window,ImGuiViewportP* viewport)
{
return ImGui::SetWindowViewport(window,viewport);
}
CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window,ImGuiViewportP* viewport)
{
return ImGui::SetCurrentViewport(window,viewport);
}
CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor(ImGuiViewport* viewport)
{
return ImGui::GetViewportPlatformMonitor(viewport);
}
CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack(const ImVec2_c mouse_platform_pos)
{
return ImGui::FindHoveredViewportFromPlatformWindowStack(ConvertToCPP_ImVec2(mouse_platform_pos));
}
CIMGUI_API void igMarkIniSettingsDirty_Nil()
{
return ImGui::MarkIniSettingsDirty();
@@ -5333,6 +5494,174 @@ CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData(ImGuiKeyChord key_chord
{
return ImGui::GetShortcutRoutingData(key_chord);
}
CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx)
{
return ImGui::DockContextInitialize(ctx);
}
CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx)
{
return ImGui::DockContextShutdown(ctx);
}
CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx,ImGuiID root_id,bool clear_settings_refs)
{
return ImGui::DockContextClearNodes(ctx,root_id,clear_settings_refs);
}
CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx)
{
return ImGui::DockContextRebuildNodes(ctx);
}
CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx)
{
return ImGui::DockContextNewFrameUpdateUndocking(ctx);
}
CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx)
{
return ImGui::DockContextNewFrameUpdateDocking(ctx);
}
CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx)
{
return ImGui::DockContextEndFrame(ctx);
}
CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx)
{
return ImGui::DockContextGenNodeID(ctx);
}
CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx,ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,float split_ratio,bool split_outer)
{
return ImGui::DockContextQueueDock(ctx,target,target_node,payload,split_dir,split_ratio,split_outer);
}
CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* window)
{
return ImGui::DockContextQueueUndockWindow(ctx,window);
}
CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node)
{
return ImGui::DockContextQueueUndockNode(ctx,node);
}
CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref)
{
return ImGui::DockContextProcessUndockWindow(ctx,window,clear_persistent_docking_ref);
}
CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node)
{
return ImGui::DockContextProcessUndockNode(ctx,node);
}
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos)
{
return ImGui::DockContextCalcDropPosForDocking(target,target_node,payload_window,payload_node,split_dir,split_outer,reinterpret_cast<ImVec2*>(out_pos));
}
CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id)
{
return ImGui::DockContextFindNodeByID(ctx,id);
}
CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar)
{
return ImGui::DockNodeWindowMenuHandler_Default(ctx,node,tab_bar);
}
CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node)
{
return ImGui::DockNodeBeginAmendTabBar(node);
}
CIMGUI_API void igDockNodeEndAmendTabBar()
{
return ImGui::DockNodeEndAmendTabBar();
}
CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node)
{
return ImGui::DockNodeGetRootNode(node);
}
CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node,ImGuiDockNode* parent)
{
return ImGui::DockNodeIsInHierarchyOf(node,parent);
}
CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node)
{
return ImGui::DockNodeGetDepth(node);
}
CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node)
{
return ImGui::DockNodeGetWindowMenuButtonId(node);
}
CIMGUI_API ImGuiDockNode* igGetWindowDockNode()
{
return ImGui::GetWindowDockNode();
}
CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window)
{
return ImGui::GetWindowAlwaysWantOwnTabBar(window);
}
CIMGUI_API void igBeginDocked(ImGuiWindow* window,bool* p_open)
{
return ImGui::BeginDocked(window,p_open);
}
CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window)
{
return ImGui::BeginDockableDragDropSource(window);
}
CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window)
{
return ImGui::BeginDockableDragDropTarget(window);
}
CIMGUI_API void igSetWindowDock(ImGuiWindow* window,ImGuiID dock_id,ImGuiCond cond)
{
return ImGui::SetWindowDock(window,dock_id,cond);
}
CIMGUI_API void igDockBuilderDockWindow(const char* window_name,ImGuiID node_id)
{
return ImGui::DockBuilderDockWindow(window_name,node_id);
}
CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id)
{
return ImGui::DockBuilderGetNode(node_id);
}
CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id)
{
return ImGui::DockBuilderGetCentralNode(node_id);
}
CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id,ImGuiDockNodeFlags flags)
{
return ImGui::DockBuilderAddNode(node_id,flags);
}
CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id)
{
return ImGui::DockBuilderRemoveNode(node_id);
}
CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id,bool clear_settings_refs)
{
return ImGui::DockBuilderRemoveNodeDockedWindows(node_id,clear_settings_refs);
}
CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id)
{
return ImGui::DockBuilderRemoveNodeChildNodes(node_id);
}
CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id,ImVec2_c pos)
{
return ImGui::DockBuilderSetNodePos(node_id,ConvertToCPP_ImVec2(pos));
}
CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id,ImVec2_c size)
{
return ImGui::DockBuilderSetNodeSize(node_id,ConvertToCPP_ImVec2(size));
}
CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id,ImGuiDir split_dir,float size_ratio_for_node_at_dir,ImGuiID* out_id_at_dir,ImGuiID* out_id_at_opposite_dir)
{
return ImGui::DockBuilderSplitNode(node_id,split_dir,size_ratio_for_node_at_dir,out_id_at_dir,out_id_at_opposite_dir);
}
CIMGUI_API void igDockBuilderCopyDockSpace(ImGuiID src_dockspace_id,ImGuiID dst_dockspace_id,ImVector_const_charPtr* in_window_remap_pairs)
{
return ImGui::DockBuilderCopyDockSpace(src_dockspace_id,dst_dockspace_id,in_window_remap_pairs);
}
CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id,ImGuiID dst_node_id,ImVector_ImGuiID* out_node_remap_pairs)
{
return ImGui::DockBuilderCopyNode(src_node_id,dst_node_id,out_node_remap_pairs);
}
CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name,const char* dst_name)
{
return ImGui::DockBuilderCopyWindowSettings(src_name,dst_name);
}
CIMGUI_API void igDockBuilderFinish(ImGuiID node_id)
{
return ImGui::DockBuilderFinish(node_id);
}
CIMGUI_API void igPushFocusScope(ImGuiID id)
{
return ImGui::PushFocusScope(id);
@@ -5449,6 +5778,10 @@ CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar,int order)
{
return ImGui::TabBarFindTabByOrder(tab_bar,order);
}
CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar)
{
return ImGui::TabBarFindMostRecentlySelectedTabForActiveWindow(tab_bar);
}
CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar)
{
return ImGui::TabBarGetCurrentTab(tab_bar);
@@ -5461,6 +5794,10 @@ CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab
{
return ImGui::TabBarGetTabName(tab_bar,tab);
}
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window)
{
return ImGui::TabBarAddTab(tab_bar,tab_flags,window);
}
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id)
{
return ImGui::TabBarRemoveTab(tab_bar,tab_id);
@@ -5577,6 +5914,10 @@ CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list,ImVec2_c pos,ImVec
{
return ImGui::RenderArrowPointingAt(draw_list,ConvertToCPP_ImVec2(pos),ConvertToCPP_ImVec2(half_sz),direction,col);
}
CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list,ImVec2_c p_min,float sz,ImU32 col)
{
return ImGui::RenderArrowDockMenu(draw_list,ConvertToCPP_ImVec2(p_min),sz,col);
}
CIMGUI_API void igRenderRectFilledInRangeH(ImDrawList* draw_list,const ImRect_c rect,ImU32 col,float fill_x0,float fill_x1,float rounding)
{
return ImGui::RenderRectFilledInRangeH(draw_list,ConvertToCPP_ImRect(rect),col,fill_x0,fill_x1,rounding);
@@ -5642,9 +5983,9 @@ CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2_c pos)
{
return ImGui::CloseButton(id,ConvertToCPP_ImVec2(pos));
}
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2_c pos)
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2_c pos,ImGuiDockNode* dock_node)
{
return ImGui::CollapseButton(id,ConvertToCPP_ImVec2(pos));
return ImGui::CollapseButton(id,ConvertToCPP_ImVec2(pos),dock_node);
}
CIMGUI_API void igScrollbar(ImGuiAxis axis)
{
@@ -5914,6 +6255,10 @@ CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns)
{
return ImGui::DebugNodeColumns(columns);
}
CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node,const char* label)
{
return ImGui::DebugNodeDockNode(node,label);
}
CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window,ImGuiViewportP* viewport,const ImDrawList* draw_list,const char* label)
{
return ImGui::DebugNodeDrawList(window,viewport,draw_list,label);
@@ -5986,6 +6331,10 @@ CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport)
{
return ImGui::DebugNodeViewport(viewport);
}
CIMGUI_API void igDebugNodePlatformMonitor(ImGuiPlatformMonitor* monitor,const char* label,int idx)
{
return ImGui::DebugNodePlatformMonitor(monitor,label,idx);
}
CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list)
{
return ImGui::DebugRenderKeyboardPreview(draw_list);

426
cimgui.h
View File

@@ -2,6 +2,7 @@
//based on imgui.h file version "1.92.9b" 19291 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//with imgui_freetype.h api
//docking branch
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
#include <stdio.h>
@@ -82,6 +83,7 @@ typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
typedef struct ImGuiPayload ImGuiPayload;
typedef struct ImGuiPlatformIO ImGuiPlatformIO;
typedef struct ImGuiPlatformImeData ImGuiPlatformImeData;
typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
typedef struct ImGuiSelectionBasicStorage ImGuiSelectionBasicStorage;
typedef struct ImGuiSelectionExternalStorage ImGuiSelectionExternalStorage;
typedef struct ImGuiSelectionRequest ImGuiSelectionRequest;
@@ -94,6 +96,7 @@ typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs;
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
typedef struct ImGuiTextFilter ImGuiTextFilter;
typedef struct ImGuiViewport ImGuiViewport;
typedef struct ImGuiWindowClass ImGuiWindowClass;
typedef struct ImBitVector ImBitVector;
typedef struct ImRect_c ImRect_c;
typedef struct ImGuiTextIndex ImGuiTextIndex;
@@ -106,6 +109,10 @@ typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImGuiContextHook ImGuiContextHook;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiDeactivatedItemData ImGuiDeactivatedItemData;
typedef struct ImGuiDockContext ImGuiDockContext;
typedef struct ImGuiDockRequest ImGuiDockRequest;
typedef struct ImGuiDockNode ImGuiDockNode;
typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
typedef struct ImGuiErrorRecoveryState ImGuiErrorRecoveryState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiInputTextState ImGuiInputTextState;
@@ -138,10 +145,13 @@ typedef struct ImGuiTreeNodeStackData ImGuiTreeNodeStackData;
typedef struct ImGuiTypingSelectState ImGuiTypingSelectState;
typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest;
typedef struct ImGuiWindow ImGuiWindow;
typedef struct ImGuiWindowDockStyle ImGuiWindowDockStyle;
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
typedef struct STB_TexteditState STB_TexteditState;
typedef struct stbrp_node stbrp_node;
typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr;
typedef unsigned int ImGuiID;
typedef signed char ImS8;
typedef unsigned char ImU8;
@@ -180,6 +190,7 @@ struct ImGuiOnceUponAFrame;
struct ImGuiPayload;
struct ImGuiPlatformIO;
struct ImGuiPlatformImeData;
struct ImGuiPlatformMonitor;
struct ImGuiSelectionBasicStorage;
struct ImGuiSelectionExternalStorage;
struct ImGuiSelectionRequest;
@@ -192,6 +203,7 @@ struct ImGuiTableColumnSortSpecs;
struct ImGuiTextBuffer;
struct ImGuiTextFilter;
struct ImGuiViewport;
struct ImGuiWindowClass;
typedef int ImGuiCol;
typedef int ImGuiCond;
typedef int ImGuiDataType;
@@ -210,6 +222,7 @@ typedef int ImGuiChildFlags;
typedef int ImGuiColorEditFlags;
typedef int ImGuiConfigFlags;
typedef int ImGuiComboFlags;
typedef int ImGuiDockNodeFlags;
typedef int ImGuiDragDropFlags;
typedef int ImGuiFocusedFlags;
typedef int ImGuiHoveredFlags;
@@ -287,9 +300,11 @@ typedef enum {
ImGuiWindowFlags_NoNavInputs = 1 << 16,
ImGuiWindowFlags_NoNavFocus = 1 << 17,
ImGuiWindowFlags_UnsavedDocument = 1 << 18,
ImGuiWindowFlags_NoDocking = 1 << 19,
ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_DockNodeHost = 1 << 23,
ImGuiWindowFlags_ChildWindow = 1 << 24,
ImGuiWindowFlags_Tooltip = 1 << 25,
ImGuiWindowFlags_Popup = 1 << 26,
@@ -443,6 +458,7 @@ typedef enum {
ImGuiFocusedFlags_RootWindow = 1 << 1,
ImGuiFocusedFlags_AnyWindow = 1 << 2,
ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3,
ImGuiFocusedFlags_DockHierarchy = 1 << 4,
ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows,
}ImGuiFocusedFlags_;
typedef enum {
@@ -451,6 +467,7 @@ typedef enum {
ImGuiHoveredFlags_RootWindow = 1 << 1,
ImGuiHoveredFlags_AnyWindow = 1 << 2,
ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3,
ImGuiHoveredFlags_DockHierarchy = 1 << 4,
ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5,
ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7,
ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8,
@@ -467,6 +484,16 @@ typedef enum {
ImGuiHoveredFlags_DelayNormal = 1 << 16,
ImGuiHoveredFlags_NoSharedDelay = 1 << 17,
}ImGuiHoveredFlags_;
typedef enum {
ImGuiDockNodeFlags_None = 0,
ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0,
ImGuiDockNodeFlags_NoDockingOverCentralNode = 1 << 2,
ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3,
ImGuiDockNodeFlags_NoDockingSplit = 1 << 4,
ImGuiDockNodeFlags_NoResize = 1 << 5,
ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6,
ImGuiDockNodeFlags_NoUndocking = 1 << 7,
}ImGuiDockNodeFlags_;
typedef enum {
ImGuiDragDropFlags_None = 0,
ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0,
@@ -698,6 +725,8 @@ typedef enum {
ImGuiConfigFlags_NoMouse = 1 << 4,
ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
ImGuiConfigFlags_NoKeyboard = 1 << 6,
ImGuiConfigFlags_DockingEnable = 1 << 7,
ImGuiConfigFlags_ViewportsEnable = 1 << 10,
ImGuiConfigFlags_IsSRGB = 1 << 20,
ImGuiConfigFlags_IsTouchScreen = 1 << 21,
}ImGuiConfigFlags_;
@@ -708,6 +737,10 @@ typedef enum {
ImGuiBackendFlags_HasSetMousePos = 1 << 2,
ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3,
ImGuiBackendFlags_RendererHasTextures = 1 << 4,
ImGuiBackendFlags_RendererHasViewports = 1 << 10,
ImGuiBackendFlags_PlatformHasViewports = 1 << 11,
ImGuiBackendFlags_HasMouseHoveredViewport=1 << 12,
ImGuiBackendFlags_HasParentViewport = 1 << 13,
}ImGuiBackendFlags_;
typedef enum {
ImGuiCol_Text,
@@ -752,6 +785,8 @@ typedef enum {
ImGuiCol_TabDimmed,
ImGuiCol_TabDimmedSelected,
ImGuiCol_TabDimmedSelectedOverline,
ImGuiCol_DockingPreview,
ImGuiCol_DockingEmptyBg,
ImGuiCol_PlotLines,
ImGuiCol_PlotLinesHovered,
ImGuiCol_PlotHistogram,
@@ -818,6 +853,7 @@ typedef enum {
ImGuiStyleVar_SeparatorTextBorderSize,
ImGuiStyleVar_SeparatorTextAlign,
ImGuiStyleVar_SeparatorTextPadding,
ImGuiStyleVar_DockingSeparatorSize,
ImGuiStyleVar_COUNT
}ImGuiStyleVar_;
typedef enum {
@@ -1067,6 +1103,8 @@ struct ImGuiStyle
ImVec2_c SeparatorTextPadding;
ImVec2_c DisplayWindowPadding;
ImVec2_c DisplaySafeAreaPadding;
bool DockingNodeHasCloseButton;
float DockingSeparatorSize;
float MouseCursorScale;
bool AntiAliasedLines;
bool AntiAliasedLinesUseTex;
@@ -1112,6 +1150,18 @@ struct ImGuiIO
bool ConfigNavEscapeClearFocusWindow;
bool ConfigNavCursorVisibleAuto;
bool ConfigNavCursorVisibleAlways;
bool ConfigDockingNoSplit;
bool ConfigDockingNoDockingOver;
bool ConfigDockingWithShift;
bool ConfigDockingAlwaysTabBar;
bool ConfigDockingTransparentPayload;
bool ConfigViewportsNoAutoMerge;
bool ConfigViewportsNoTaskBarIcon;
bool ConfigViewportsNoDecoration;
bool ConfigViewportsNoDefaultParent;
bool ConfigViewportsPlatformFocusSetsImGuiFocus;
bool ConfigDpiScaleFonts;
bool ConfigDpiScaleViewports;
bool ConfigMacOSXBehaviors;
bool ConfigInputTrickleEventQueue;
bool ConfigInputTextCursorBlink;
@@ -1167,6 +1217,7 @@ struct ImGuiIO
float MouseWheel;
float MouseWheelH;
ImGuiMouseSource MouseSource;
ImGuiID MouseHoveredViewport;
bool KeyCtrl;
bool KeyShift;
bool KeyAlt;
@@ -1189,6 +1240,7 @@ struct ImGuiIO
bool MouseCtrlLeftAsRightClick;
float MouseDownDuration[5];
float MouseDownDurationPrev[5];
ImVec2_c MouseDragMaxDistanceAbs[5];
float MouseDragMaxDistanceSqr[5];
float PenPressure;
bool AppFocusLost;
@@ -1221,6 +1273,19 @@ struct ImGuiSizeCallbackData
ImVec2_c CurrentSize;
ImVec2_c DesiredSize;
};
struct ImGuiWindowClass
{
ImGuiID ClassId;
ImGuiID ParentViewportId;
ImGuiID FocusRouteParentWindowId;
ImGuiViewportFlags ViewportFlagsOverrideSet;
ImGuiViewportFlags ViewportFlagsOverrideClear;
ImGuiTabItemFlags TabItemFlagsOverrideSet;
ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
bool DockingAlwaysTabBar;
bool DockingAllowUnclassed;
void* PlatformIconData;
};
struct ImGuiPayload
{
void* Data;
@@ -1655,6 +1720,17 @@ typedef enum {
ImGuiViewportFlags_IsPlatformWindow = 1 << 0,
ImGuiViewportFlags_IsPlatformMonitor = 1 << 1,
ImGuiViewportFlags_OwnedByApp = 1 << 2,
ImGuiViewportFlags_NoDecoration = 1 << 3,
ImGuiViewportFlags_NoTaskBarIcon = 1 << 4,
ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5,
ImGuiViewportFlags_NoFocusOnClick = 1 << 6,
ImGuiViewportFlags_NoInputs = 1 << 7,
ImGuiViewportFlags_NoRendererClear = 1 << 8,
ImGuiViewportFlags_NoAutoMerge = 1 << 9,
ImGuiViewportFlags_TopMost = 1 << 10,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 11,
ImGuiViewportFlags_IsMinimized = 1 << 12,
ImGuiViewportFlags_IsFocused = 1 << 13,
}ImGuiViewportFlags_;
struct ImGuiViewport
{
@@ -1665,9 +1741,24 @@ struct ImGuiViewport
ImVec2_c FramebufferScale;
ImVec2_c WorkPos;
ImVec2_c WorkSize;
float DpiScale;
ImGuiID ParentViewportId;
ImGuiViewport* ParentViewport;
ImDrawData* DrawData;
void* RendererUserData;
void* PlatformUserData;
void* PlatformIconData;
void* PlatformHandle;
void* PlatformHandleRaw;
bool PlatformWindowCreated;
bool PlatformRequestMove;
bool PlatformRequestResize;
bool PlatformRequestClose;
};
typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor;
typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** Data;} ImVector_ImGuiViewportPtr;
struct ImGuiPlatformIO
{
const char* (*Platform_GetClipboardTextFn)(ImGuiContext* ctx);
@@ -1685,7 +1776,41 @@ struct ImGuiPlatformIO
ImDrawCallback DrawCallback_ResetRenderState;
ImDrawCallback DrawCallback_SetSamplerLinear;
ImDrawCallback DrawCallback_SetSamplerNearest;
void (*Platform_CreateWindow)(ImGuiViewport* vp);
void (*Platform_DestroyWindow)(ImGuiViewport* vp);
void (*Platform_ShowWindow)(ImGuiViewport* vp);
void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2_c pos);
ImVec2_c (*Platform_GetWindowPos)(ImGuiViewport* vp);
void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2_c size);
ImVec2_c (*Platform_GetWindowSize)(ImGuiViewport* vp);
ImVec2_c (*Platform_GetWindowFramebufferScale)(ImGuiViewport* vp);
void (*Platform_SetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp);
void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str);
void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha);
void (*Platform_UpdateWindow)(ImGuiViewport* vp);
void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
ImVec4_c (*Platform_GetWindowWorkAreaInsets)(ImGuiViewport* vp);
int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
void (*Renderer_CreateWindow)(ImGuiViewport* vp);
void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2_c size);
void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
ImVector_ImGuiPlatformMonitor Monitors;
ImVector_ImTextureDataPtr Textures;
ImVector_ImGuiViewportPtr Viewports;
};
struct ImGuiPlatformMonitor
{
ImVec2_c MainPos, MainSize;
ImVec2_c WorkPos, WorkSize;
float DpiScale;
void* PlatformHandle;
};
struct ImGuiPlatformImeData
{
@@ -1710,6 +1835,10 @@ struct ImGuiContext;
struct ImGuiContextHook;
struct ImGuiDataTypeInfo;
struct ImGuiDeactivatedItemData;
struct ImGuiDockContext;
struct ImGuiDockRequest;
struct ImGuiDockNode;
struct ImGuiDockNodeSettings;
struct ImGuiErrorRecoveryState;
struct ImGuiGroupData;
struct ImGuiInputTextState;
@@ -1742,8 +1871,10 @@ struct ImGuiTreeNodeStackData;
struct ImGuiTypingSelectState;
struct ImGuiTypingSelectRequest;
struct ImGuiWindow;
struct ImGuiWindowDockStyle;
struct ImGuiWindowTempData;
struct ImGuiWindowSettings;
typedef unsigned int ImGuiDataAuthority;
typedef int ImGuiLayoutType;
typedef int ImDrawTextFlags;
typedef int ImGuiActivateFlags;
@@ -1908,7 +2039,7 @@ typedef enum {
}ImGuiItemStatusFlags_;
typedef enum {
ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay,
ImGuiHoveredFlags_AllowedMaskForIsWindowHovered = ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_NoPopupHierarchy | ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary,
ImGuiHoveredFlags_AllowedMaskForIsWindowHovered = ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_NoPopupHierarchy | ImGuiHoveredFlags_DockHierarchy | ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary,
ImGuiHoveredFlags_AllowedMaskForIsItemHovered = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped | ImGuiHoveredFlags_AllowWhenDisabled | ImGuiHoveredFlags_NoNavOverride | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayMask_,
}ImGuiHoveredFlagsPrivate_;
typedef enum {
@@ -2093,6 +2224,9 @@ typedef enum {
ImGuiNextWindowDataFlags_HasWindowFlags = 1 << 8,
ImGuiNextWindowDataFlags_HasChildFlags = 1 << 9,
ImGuiNextWindowDataFlags_HasRefreshPolicy = 1 << 10,
ImGuiNextWindowDataFlags_HasViewport = 1 << 11,
ImGuiNextWindowDataFlags_HasDock = 1 << 12,
ImGuiNextWindowDataFlags_HasWindowClass = 1 << 13,
}ImGuiNextWindowDataFlags_;
struct ImGuiNextWindowData
{
@@ -2100,6 +2234,7 @@ struct ImGuiNextWindowData
ImGuiCond PosCond;
ImGuiCond SizeCond;
ImGuiCond CollapsedCond;
ImGuiCond DockCond;
ImVec2_c PosVal;
ImVec2_c PosPivotVal;
ImVec2_c SizeVal;
@@ -2107,11 +2242,15 @@ struct ImGuiNextWindowData
ImVec2_c ScrollVal;
ImGuiWindowFlags WindowFlags;
ImGuiChildFlags ChildFlags;
bool PosUndock;
bool CollapsedVal;
ImRect_c SizeConstraintRect;
ImGuiSizeCallback SizeCallback;
void* SizeCallbackUserData;
float BgAlphaVal;
ImGuiID ViewportId;
ImGuiID DockId;
ImGuiWindowClass WindowClass;
ImVec2_c MenuBarOffsetMinVal;
ImGuiWindowRefreshFlags RefreshFlagsVal;
};
@@ -2227,6 +2366,7 @@ typedef enum {
ImGuiInputEventType_MousePos,
ImGuiInputEventType_MouseWheel,
ImGuiInputEventType_MouseButton,
ImGuiInputEventType_MouseViewport,
ImGuiInputEventType_Key,
ImGuiInputEventType_Text,
ImGuiInputEventType_Focus,
@@ -2251,6 +2391,10 @@ typedef struct ImGuiInputEventMouseButton ImGuiInputEventMouseButton;
struct ImGuiInputEventMouseButton
{ int Button; bool Down; ImGuiMouseSource MouseSource;
};
typedef struct ImGuiInputEventMouseViewport ImGuiInputEventMouseViewport;
struct ImGuiInputEventMouseViewport
{ ImGuiID HoveredViewportID;
};
typedef struct ImGuiInputEventKey ImGuiInputEventKey;
struct ImGuiInputEventKey
{ ImGuiKey Key; bool Down; float AnalogValue;
@@ -2274,6 +2418,7 @@ struct ImGuiInputEvent
ImGuiInputEventMousePos MousePos;
ImGuiInputEventMouseWheel MouseWheel;
ImGuiInputEventMouseButton MouseButton;
ImGuiInputEventMouseViewport MouseViewport;
ImGuiInputEventKey Key;
ImGuiInputEventText Text;
ImGuiInputEventAppFocused AppFocused;
@@ -2530,14 +2675,133 @@ struct ImGuiMultiSelectState
ImGuiSelectionUserData RangeSrcItem;
ImGuiSelectionUserData NavIdItem;
};
typedef enum {
ImGuiDockNodeFlags_DockSpace = 1 << 10,
ImGuiDockNodeFlags_CentralNode = 1 << 11,
ImGuiDockNodeFlags_NoTabBar = 1 << 12,
ImGuiDockNodeFlags_HiddenTabBar = 1 << 13,
ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14,
ImGuiDockNodeFlags_NoCloseButton = 1 << 15,
ImGuiDockNodeFlags_NoResizeX = 1 << 16,
ImGuiDockNodeFlags_NoResizeY = 1 << 17,
ImGuiDockNodeFlags_DockedWindowsInFocusRoute= 1 << 18,
ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19,
ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20,
ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21,
ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22,
ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | ImGuiDockNodeFlags_NoDockingOverOther | ImGuiDockNodeFlags_NoDockingOverEmpty | ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoDockingSplitOther,
ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
ImGuiDockNodeFlags_NoResizeFlagsMask_ = (int)ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
ImGuiDockNodeFlags_LocalFlagsTransferMask_ = (int)ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | (int)ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
}ImGuiDockNodeFlagsPrivate_;
typedef enum {
ImGuiDataAuthority_Auto,
ImGuiDataAuthority_DockNode,
ImGuiDataAuthority_Window,
}ImGuiDataAuthority_;
typedef enum {
ImGuiDockNodeState_Unknown,
ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow,
ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing,
ImGuiDockNodeState_HostWindowVisible,
}ImGuiDockNodeState;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
struct ImGuiDockNode
{
ImGuiID ID;
ImGuiDockNodeFlags SharedFlags;
ImGuiDockNodeFlags LocalFlags;
ImGuiDockNodeFlags LocalFlagsInWindows;
ImGuiDockNodeFlags MergedFlags;
ImGuiDockNodeState State;
ImGuiDockNode* ParentNode;
ImGuiDockNode* ChildNodes[2];
ImVector_ImGuiWindowPtr Windows;
ImGuiTabBar* TabBar;
ImVec2_c Pos;
ImVec2_c Size;
ImVec2_c SizeRef;
ImGuiAxis SplitAxis;
ImU32 LastBgColor;
ImGuiWindowClass WindowClass;
ImGuiWindow* HostWindow;
ImGuiWindow* VisibleWindow;
ImGuiDockNode* CentralNode;
ImGuiDockNode* OnlyNodeWithWindows;
int CountNodeWithWindows;
int LastFrameAlive;
int LastFrameActive;
int LastFrameFocused;
ImGuiID LastFocusedNodeId;
ImGuiID SelectedTabId;
ImGuiID WantCloseTabId;
ImGuiID RefViewportId;
ImU8 AuthorityForPos :3;
ImU8 AuthorityForSize :3;
ImU8 AuthorityForViewport :3;
bool IsVisible :1;
bool IsFocused :1;
bool IsBgDrawnThisFrame :1;
bool HasCloseButton :1;
bool HasWindowMenuButton :1;
bool HasCentralNodeChild :1;
bool WantCloseAll :1;
bool WantLockSizeOnce :1;
bool WantMouseMove :1;
bool WantHiddenTabBarUpdate :1;
bool WantHiddenTabBarToggle :1;
};
typedef enum {
ImGuiWindowDockStyleCol_Text,
ImGuiWindowDockStyleCol_TabHovered,
ImGuiWindowDockStyleCol_TabFocused,
ImGuiWindowDockStyleCol_TabSelected,
ImGuiWindowDockStyleCol_TabSelectedOverline,
ImGuiWindowDockStyleCol_TabDimmed,
ImGuiWindowDockStyleCol_TabDimmedSelected,
ImGuiWindowDockStyleCol_TabDimmedSelectedOverline,
ImGuiWindowDockStyleCol_UnsavedMarker,
ImGuiWindowDockStyleCol_COUNT
}ImGuiWindowDockStyleCol;
struct ImGuiWindowDockStyle
{
ImU32 Colors[ImGuiWindowDockStyleCol_COUNT];
};
typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest;
typedef struct ImVector_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings;
struct ImGuiDockContext
{
ImGuiStorage Nodes;
ImVector_ImGuiDockRequest Requests;
ImVector_ImGuiDockNodeSettings NodesSettings;
bool WantFullRebuild;
};
typedef struct ImGuiViewportP ImGuiViewportP;
struct ImGuiViewportP
{
ImGuiViewport _ImGuiViewport;
ImGuiWindow* Window;
int Idx;
int LastFrameActive;
int LastFocusedStampCount;
ImGuiID LastNameHash;
ImVec2_c LastPos;
ImVec2_c LastSize;
float Alpha;
float LastAlpha;
bool LastFocusedHadNavWindow;
short PlatformMonitor;
float BgFgDrawListsLastTimeActive[2];
ImDrawList* BgFgDrawLists[2];
ImDrawData DrawDataP;
ImDrawDataBuilder DrawDataBuilder;
ImVec2_c LastPlatformPos;
ImVec2_c LastPlatformSize;
ImVec2_c LastRendererSize;
ImVec2_c WorkInsetMin;
ImVec2_c WorkInsetMax;
ImVec2_c BuildWorkInsetMin;
@@ -2548,6 +2812,11 @@ struct ImGuiWindowSettings
ImGuiID ID;
ImVec2ih Pos;
ImVec2ih Size;
ImVec2ih ViewportPos;
ImGuiID ViewportId;
ImGuiID DockId;
ImGuiID ClassId;
short DockOrder;
ImGuiPackedDate LastUsedDate;
bool Collapsed : 1;
bool IsChild : 1;
@@ -2590,7 +2859,10 @@ ImGuiLocKey_WindowingPopup=8,
ImGuiLocKey_WindowingUntitled=9,
ImGuiLocKey_OpenLink_s=10,
ImGuiLocKey_CopyLink=11,
ImGuiLocKey_COUNT=12,
ImGuiLocKey_DockingHideTabBar=12,
ImGuiLocKey_DockingHoldShiftToDock=13,
ImGuiLocKey_DockingDragToUndockOrMoveNode=14,
ImGuiLocKey_COUNT=15,
}ImGuiLocKey;
struct ImGuiLocEntry
{
@@ -2644,6 +2916,7 @@ struct ImGuiMetricsConfig
bool ShowDrawCmdBoundingBoxes;
bool ShowTextEncodingViewer;
bool ShowTextureUsedRect;
bool ShowDockingNodes;
int ShowWindowsRectsType;
int ShowTablesRectsType;
int HighlightMonitorIdx;
@@ -2697,8 +2970,6 @@ typedef struct ImVector_ImFontAtlasPtr {int Size;int Capacity;ImFontAtlas** Data
typedef struct ImVector_ImGuiInputEvent {int Size;int Capacity;ImGuiInputEvent* Data;} ImVector_ImGuiInputEvent;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImGuiWindowStackData {int Size;int Capacity;ImGuiWindowStackData* Data;} ImVector_ImGuiWindowStackData;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
@@ -2761,12 +3032,15 @@ struct ImGuiContext
bool TestEngineHookItems;
int FrameCount;
int FrameCountEnded;
int FrameCountPlatformEnded;
int FrameCountRendered;
double Time;
char ContextName[16];
ImGuiIO IO;
ImGuiPlatformIO PlatformIO;
ImGuiStyle Style;
ImGuiConfigFlags ConfigFlagsCurrFrame;
ImGuiConfigFlags ConfigFlagsLastFrame;
ImVector_ImFontAtlasPtr FontAtlases;
ImFont* Font;
ImFontBaked* FontBaked;
@@ -2866,6 +3140,15 @@ struct ImGuiContext
ImVector_ImGuiPopupData BeginPopupStack;
ImVector_ImGuiTreeNodeStackData TreeNodeStack;
ImVector_ImGuiViewportPPtr Viewports;
ImGuiViewportP* CurrentViewport;
ImGuiViewportP* MouseViewport;
ImGuiViewportP* MouseLastHoveredViewport;
ImGuiID PlatformLastFocusedViewportId;
ImGuiPlatformMonitor FallbackMonitor;
ImRect_c PlatformMonitorsFullWorkRect;
int ViewportCreatedCount;
int PlatformWindowsCreatedCount;
int ViewportFocusedStampCount;
bool NavCursorVisible;
bool NavHighlightItemUnderNav;
bool NavMousePosDirty;
@@ -3016,6 +3299,8 @@ struct ImGuiContext
ImGuiPlatformImeData PlatformImeData;
ImGuiPlatformImeData PlatformImeDataPrev;
ImVector_ImTextureDataPtr UserTextures;
ImGuiDockContext DockContext;
void (*DockNodeWindowMenuHandler)(ImGuiContext* ctx, ImGuiDockNode* node, ImGuiTabBar* tab_bar);
ImGuiPackedDate SessionDate;
bool SettingsLoaded;
float SettingsDirtyTimer;
@@ -3066,6 +3351,7 @@ struct ImGuiContext
ImGuiDebugItemPathQuery DebugItemPathQuery;
ImGuiIDStackTool DebugIDStackTool;
ImGuiDebugAllocInfo DebugAllocInfo;
ImGuiDockNode* DebugHoveredDockNode;
float FramerateSecPerFrame[60];
int FramerateSecPerFrameIdx;
int FramerateSecPerFrameCount;
@@ -3114,6 +3400,8 @@ struct ImGuiWindowTempData
ImU32 ModalDimBgColor;
ImGuiItemStatusFlags WindowItemStatusFlags;
ImGuiItemStatusFlags ChildItemStatusFlags;
ImGuiItemStatusFlags DockTabItemStatusFlags;
ImRect_c DockTabItemRect;
float ItemWidth;
float ItemWidthDefault;
float TextWrapPos;
@@ -3127,9 +3415,13 @@ struct ImGuiWindow
ImGuiContext* Ctx;
char* Name;
ImGuiID ID;
ImGuiWindowFlags Flags;
ImGuiWindowFlags Flags, FlagsPreviousFrame;
ImGuiChildFlags ChildFlags;
ImGuiWindowClass WindowClass;
ImGuiViewportP* Viewport;
ImGuiID ViewportId;
ImVec2_c ViewportPos;
int ViewportAllowPlatformMonitorExtend;
ImVec2_c Pos;
ImVec2_c Size;
ImVec2_c SizeFull;
@@ -3145,6 +3437,7 @@ struct ImGuiWindow
float DecoInnerSizeX1, DecoInnerSizeY1;
int NameBufLen;
ImGuiID MoveId;
ImGuiID TabId;
ImGuiID ChildId;
ImGuiID PopupId;
ImVec2_c Scroll;
@@ -3156,6 +3449,7 @@ struct ImGuiWindow
bool ScrollbarX, ScrollbarY;
bool ScrollbarXStabilizeEnabled;
ImU8 ScrollbarXStabilizeToggledHistory;
bool ViewportOwned;
bool Active;
bool WasActive;
bool WriteAccessed;
@@ -3186,6 +3480,7 @@ struct ImGuiWindow
ImGuiCond SetWindowPosAllowFlags : 8;
ImGuiCond SetWindowSizeAllowFlags : 8;
ImGuiCond SetWindowCollapsedAllowFlags : 8;
ImGuiCond SetWindowDockAllowFlags : 8;
ImVec2_c SetWindowPosVal;
ImVec2_c SetWindowPosPivot;
ImVector_ImGuiID IDStack;
@@ -3200,6 +3495,7 @@ struct ImGuiWindow
ImVec2ih HitTestHoleSize;
ImVec2ih HitTestHoleOffset;
int LastFrameActive;
int LastFrameJustFocused;
float LastTimeActive;
ImGuiStorage StateStorage;
ImVector_ImGuiOldColumns ColumnsStorage;
@@ -3213,6 +3509,7 @@ struct ImGuiWindow
ImGuiWindow* ParentWindowInBeginStack;
ImGuiWindow* RootWindow;
ImGuiWindow* RootWindowPopupTree;
ImGuiWindow* RootWindowDockTree;
ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav;
ImGuiWindow* ParentWindowForFocusRoute;
@@ -3224,6 +3521,15 @@ struct ImGuiWindow
int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
bool MemoryCompacted;
bool DockIsActive :1;
bool DockNodeIsVisible :1;
bool DockTabIsVisible :1;
bool DockTabWantClose :1;
short DockOrder;
ImGuiWindowDockStyle DockStyle;
ImGuiDockNode* DockNode;
ImGuiDockNode* DockNodeAsHost;
ImGuiID DockId;
};
typedef enum {
ImGuiTabBarFlags_DockNode = 1 << 20,
@@ -3235,11 +3541,13 @@ typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20,
ImGuiTabItemFlags_Button = 1 << 21,
ImGuiTabItemFlags_Invisible = 1 << 22,
ImGuiTabItemFlags_Unsorted = 1 << 23,
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
ImGuiID ID;
ImGuiTabItemFlags Flags;
ImGuiWindow* Window;
int LastFrameVisible;
int LastFrameSelected;
float Offset;
@@ -3680,6 +3988,8 @@ typedef enum {
ImGuiFreeTypeLoaderFlags_Bitmap = 1 << 9,
}ImGuiFreeTypeLoaderFlags_;
#endif
#define IMGUI_HAS_DOCK 1
#define ImTextureID_Invalid ((ImTextureID)0)
#else
@@ -3758,6 +4068,8 @@ typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
typedef ImVector<ImFontStackData> ImVector_ImFontStackData;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImGuiContextHook> ImVector_ImGuiContextHook;
typedef ImVector<ImGuiDockNodeSettings> ImVector_ImGuiDockNodeSettings;
typedef ImVector<ImGuiDockRequest> ImVector_ImGuiDockRequest;
typedef ImVector<ImGuiFocusScopeData> ImVector_ImGuiFocusScopeData;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiID> ImVector_ImGuiID;
@@ -3769,6 +4081,7 @@ typedef ImVector<ImGuiListClipperRange> ImVector_ImGuiListClipperRange;
typedef ImVector<ImGuiMultiSelectTempData> ImVector_ImGuiMultiSelectTempData;
typedef ImVector<ImGuiOldColumnData> ImVector_ImGuiOldColumnData;
typedef ImVector<ImGuiOldColumns> ImVector_ImGuiOldColumns;
typedef ImVector<ImGuiPlatformMonitor> ImVector_ImGuiPlatformMonitor;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiSelectionRequest> ImVector_ImGuiSelectionRequest;
@@ -3785,6 +4098,7 @@ typedef ImVector<ImGuiTableReconcileColumnData> ImVector_ImGuiTableReconcileColu
typedef ImVector<ImGuiTableTempData> ImVector_ImGuiTableTempData;
typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
typedef ImVector<ImGuiTreeNodeStackData> ImVector_ImGuiTreeNodeStackData;
typedef ImVector<ImGuiViewport*> ImVector_ImGuiViewportPtr;
typedef ImVector<ImGuiViewportP*> ImVector_ImGuiViewportPPtr;
typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImGuiWindowStackData> ImVector_ImGuiWindowStackData;
@@ -3798,6 +4112,7 @@ typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector<char> ImVector_char;
typedef ImVector<const char*> ImVector_const_charPtr;
typedef ImVector<float> ImVector_float;
typedef ImVector<int> ImVector_int;
typedef ImVector<stbrp_node_im> ImVector_stbrp_node_im;
@@ -3847,10 +4162,12 @@ CIMGUI_API bool igIsWindowCollapsed(void);
CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags);
CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags);
CIMGUI_API ImDrawList* igGetWindowDrawList(void);
CIMGUI_API float igGetWindowDpiScale(void);
CIMGUI_API ImVec2_c igGetWindowPos(void);
CIMGUI_API ImVec2_c igGetWindowSize(void);
CIMGUI_API float igGetWindowWidth(void);
CIMGUI_API float igGetWindowHeight(void);
CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
CIMGUI_API void igSetNextWindowPos(const ImVec2_c pos,ImGuiCond cond,const ImVec2_c pivot);
CIMGUI_API void igSetNextWindowSize(const ImVec2_c size,ImGuiCond cond);
CIMGUI_API void igSetNextWindowSizeConstraints(const ImVec2_c size_min,const ImVec2_c size_max,ImGuiSizeCallback custom_callback,void* custom_callback_data);
@@ -3859,6 +4176,7 @@ CIMGUI_API void igSetNextWindowCollapsed(bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetNextWindowFocus(void);
CIMGUI_API void igSetNextWindowScroll(const ImVec2_c scroll);
CIMGUI_API void igSetNextWindowBgAlpha(float alpha);
CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id);
CIMGUI_API void igSetWindowPos_Vec2(const ImVec2_c pos,ImGuiCond cond);
CIMGUI_API void igSetWindowSize_Vec2(const ImVec2_c size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsed_Bool(bool collapsed,ImGuiCond cond);
@@ -4148,6 +4466,12 @@ CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags
CIMGUI_API void igEndTabItem(void);
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
CIMGUI_API ImGuiID igDockSpace(ImGuiID dockspace_id,const ImVec2_c size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiID dockspace_id,const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igGetWindowDockID(void);
CIMGUI_API bool igIsWindowDocked(void);
CIMGUI_API void igLogToTTY(int auto_open_depth);
CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename);
CIMGUI_API void igLogToClipboard(int auto_open_depth);
@@ -4193,8 +4517,8 @@ CIMGUI_API ImVec2_c igGetItemRectSize(void);
CIMGUI_API ImGuiItemFlags igGetItemFlags(void);
CIMGUI_API int igGetItemClickedCountWithSingleClickDelay(ImGuiMouseButton mouse_button,float delay);
CIMGUI_API ImGuiViewport* igGetMainViewport(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void);
CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawList(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
CIMGUI_API bool igIsRectVisible_Nil(const ImVec2_c size);
CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2_c rect_min,const ImVec2_c rect_max);
CIMGUI_API double igGetTime(void);
@@ -4254,6 +4578,11 @@ CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func,ImGuiMemFre
CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func,ImGuiMemFreeFunc* p_free_func,void** p_user_data);
CIMGUI_API void* igMemAlloc(size_t size);
CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API void igUpdatePlatformWindows(void);
CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg);
CIMGUI_API void igDestroyPlatformWindows(void);
CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID viewport_id);
CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void);
CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
CIMGUI_API ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void);
@@ -4267,6 +4596,7 @@ CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self,float x,float y);
CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self,int button,bool down);
CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self,float wheel_x,float wheel_y);
CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self,ImGuiMouseSource source);
CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self,ImGuiID id);
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c);
CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self,ImWchar16 c);
@@ -4286,6 +4616,8 @@ CIMGUI_API void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData*
CIMGUI_API void ImGuiInputTextCallbackData_SetSelection(ImGuiInputTextCallbackData* self,int s,int e);
CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void);
CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
@@ -4526,10 +4858,13 @@ CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
CIMGUI_API ImVec2_c ImGuiViewport_GetCenter(ImGuiViewport* self);
CIMGUI_API ImVec2_c ImGuiViewport_GetWorkCenter(ImGuiViewport* self);
CIMGUI_API const char* ImGuiViewport_GetDebugName(ImGuiViewport* self);
CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void);
CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
CIMGUI_API void ImGuiPlatformIO_ClearPlatformHandlers(ImGuiPlatformIO* self);
CIMGUI_API void ImGuiPlatformIO_ClearRendererHandlers(ImGuiPlatformIO* self);
CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void);
CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void);
CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImGuiID seed);
@@ -4795,8 +5130,25 @@ CIMGUI_API void ImGuiMultiSelectTempData_Clear(ImGuiMultiSelectTempData* self);
CIMGUI_API void ImGuiMultiSelectTempData_ClearIO(ImGuiMultiSelectTempData* self);
CIMGUI_API ImGuiMultiSelectState* ImGuiMultiSelectState_ImGuiMultiSelectState(void);
CIMGUI_API void ImGuiMultiSelectState_destroy(ImGuiMultiSelectState* self);
CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id);
CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self);
CIMGUI_API ImRect_c ImGuiDockNode_Rect(ImGuiDockNode* self);
CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self,ImGuiDockNodeFlags flags);
CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self);
CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void);
CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self);
CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void);
CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
CIMGUI_API ImVec2_c ImGuiViewportP_CalcWorkRectPos(ImGuiViewportP* self,const ImVec2_c inset_min);
CIMGUI_API ImVec2_c ImGuiViewportP_CalcWorkRectSize(ImGuiViewportP* self,const ImVec2_c inset_min,const ImVec2_c inset_max);
CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self);
@@ -4927,7 +5279,7 @@ CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name);
CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window,ImGuiWindowFlags flags,ImGuiWindow* parent_window);
CIMGUI_API void igUpdateWindowSkipRefresh(ImGuiWindow* window);
CIMGUI_API ImVec2_c igCalcWindowNextAutoFitSize(ImGuiWindow* window);
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy);
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy,bool dock_hierarchy);
CIMGUI_API bool igIsWindowInBeginStack(ImGuiWindow* window);
CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window,ImGuiWindow* potential_parent);
CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below);
@@ -4964,8 +5316,6 @@ CIMGUI_API ImFont* igGetDefaultFont(void);
CIMGUI_API void igPushPasswordFont(void);
CIMGUI_API void igPopPasswordFont(void);
CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window);
CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data,ImVector_ImDrawListPtr* out_list,ImDrawList* draw_list);
CIMGUI_API void igInitialize(void);
CIMGUI_API void igShutdown(void);
@@ -4977,12 +5327,17 @@ CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs);
CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(const ImVec2_c mouse_pos);
CIMGUI_API void igFindHoveredWindowEx(const ImVec2_c pos,bool find_first_and_in_any_viewport,ImGuiWindow** out_hovered_window,ImGuiWindow** out_hovered_window_under_moving_window);
CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window);
CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock);
CIMGUI_API void igStopMouseMovingWindow(void);
CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void);
CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void);
CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2_c old_pos,const ImVec2_c new_pos,const ImVec2_c old_size,const ImVec2_c new_size);
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale);
CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport);
CIMGUI_API void igSetWindowViewport(ImGuiWindow* window,ImGuiViewportP* viewport);
CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window,ImGuiViewportP* viewport);
CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor(ImGuiViewport* viewport);
CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack(const ImVec2_c mouse_platform_pos);
CIMGUI_API void igMarkIniSettingsDirty_Nil(void);
CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window);
CIMGUI_API void igClearIniSettings(void);
@@ -5121,6 +5476,48 @@ CIMGUI_API bool igShortcut_ID(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGu
CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id);
CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData(ImGuiKeyChord key_chord);
CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx);
CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx);
CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx,ImGuiID root_id,bool clear_settings_refs);
CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx);
CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx);
CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx);
CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx);
CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx);
CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx,ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,float split_ratio,bool split_outer);
CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* window);
CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref);
CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos);
CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id);
CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar);
CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node);
CIMGUI_API void igDockNodeEndAmendTabBar(void);
CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node);
CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node,ImGuiDockNode* parent);
CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node);
CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node);
CIMGUI_API ImGuiDockNode* igGetWindowDockNode(void);
CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window);
CIMGUI_API void igBeginDocked(ImGuiWindow* window,bool* p_open);
CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window);
CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window);
CIMGUI_API void igSetWindowDock(ImGuiWindow* window,ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igDockBuilderDockWindow(const char* window_name,ImGuiID node_id);
CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id);
CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id);
CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id,ImGuiDockNodeFlags flags);
CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id);
CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id,bool clear_settings_refs);
CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id);
CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id,ImVec2_c pos);
CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id,ImVec2_c size);
CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id,ImGuiDir split_dir,float size_ratio_for_node_at_dir,ImGuiID* out_id_at_dir,ImGuiID* out_id_at_opposite_dir);
CIMGUI_API void igDockBuilderCopyDockSpace(ImGuiID src_dockspace_id,ImGuiID dst_dockspace_id,ImVector_const_charPtr* in_window_remap_pairs);
CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id,ImGuiID dst_node_id,ImVector_ImGuiID* out_node_remap_pairs);
CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name,const char* dst_name);
CIMGUI_API void igDockBuilderFinish(ImGuiID node_id);
CIMGUI_API void igPushFocusScope(ImGuiID id);
CIMGUI_API void igPopFocusScope(void);
CIMGUI_API bool igIsInNavFocusRoute(ImGuiID focus_scope_id);
@@ -5150,9 +5547,11 @@ CIMGUI_API void igTabBarRemove(ImGuiTabBar* tab_bar);
CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect_c bb,ImGuiTabBarFlags flags);
CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar,int order);
CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar);
CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar);
CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window);
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueFocus_TabItemPtr(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
@@ -5182,6 +5581,7 @@ CIMGUI_API void igRenderArrow(ImDrawList* draw_list,ImVec2_c pos,ImU32 col,ImGui
CIMGUI_API void igRenderBullet(ImDrawList* draw_list,ImVec2_c pos,ImU32 col);
CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list,ImVec2_c pos,ImU32 col,float sz);
CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list,ImVec2_c pos,ImVec2_c half_sz,ImGuiDir direction,ImU32 col);
CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list,ImVec2_c p_min,float sz,ImU32 col);
CIMGUI_API void igRenderRectFilledInRangeH(ImDrawList* draw_list,const ImRect_c rect,ImU32 col,float fill_x0,float fill_x1,float rounding);
CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,const ImRect_c outer,const ImRect_c inner,ImU32 col,float rounding);
CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect_c r_in,const ImRect_c r_outer,float threshold);
@@ -5199,7 +5599,7 @@ CIMGUI_API void igSeparatorTextEx(ImGuiID id,const char* label,const char* label
CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value);
CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value);
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2_c pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2_c pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2_c pos,ImGuiDockNode* dock_node);
CIMGUI_API void igScrollbar(ImGuiAxis axis);
CIMGUI_API bool igScrollbarEx(const ImRect_c bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags draw_rounding_flags);
CIMGUI_API ImRect_c igGetWindowScrollbarRect(ImGuiWindow* window,ImGuiAxis axis);
@@ -5267,6 +5667,7 @@ CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas);
CIMGUI_API ImU64 igDebugTextureIDToU64(ImTextureID tex_id);
CIMGUI_API void igDebugHookIdInfo(ImGuiID id,ImGuiDataType data_type,const void* data_id,const void* data_id_end);
CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns);
CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node,const char* label);
CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window,ImGuiViewportP* viewport,const ImDrawList* draw_list,const char* label);
CIMGUI_API void igDebugNodeDrawCmdShowMeshAndBoundingBox(ImDrawList* out_draw_list,const ImDrawList* draw_list,const ImDrawCmd* draw_cmd,bool show_mesh,bool show_aabb);
CIMGUI_API void igDebugNodeFont(ImFont* font);
@@ -5285,6 +5686,7 @@ CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label);
CIMGUI_API void igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack);
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport);
CIMGUI_API void igDebugNodePlatformMonitor(ImGuiPlatformMonitor* monitor,const char* label,int idx);
CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list);
CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect_c bb);
CIMGUI_API ImFontLoader* ImFontLoader_ImFontLoader(void);

View File

@@ -131,6 +131,7 @@ struct ImGui_ImplVulkan_PipelineInfo
VkSampleCountFlagBits MSAASamples;
ImVector_VkDynamicState ExtraDynamicStates;
VkPipelineRenderingCreateInfoKHR PipelineRenderingCreateInfo;
VkImageUsageFlags SwapChainImageUsage;
};
typedef struct ImGui_ImplVulkan_InitInfo ImGui_ImplVulkan_InitInfo;
struct ImGui_ImplVulkan_InitInfo
@@ -147,6 +148,7 @@ struct ImGui_ImplVulkan_InitInfo
uint32_t ImageCount;
VkPipelineCache PipelineCache;
ImGui_ImplVulkan_PipelineInfo PipelineInfoMain;
ImGui_ImplVulkan_PipelineInfo PipelineInfoForViewports;
bool UseDynamicRendering;
const VkAllocationCallbacks* Allocator;
void (*CheckVkResultFn)(VkResult err);
@@ -194,7 +196,6 @@ struct ImGui_ImplVulkanH_Window
int Height;
VkSwapchainKHR Swapchain;
VkRenderPass RenderPass;
VkPipeline Pipeline;
uint32_t FrameIndex;
uint32_t ImageCount;
uint32_t SemaphoreCount;
@@ -213,6 +214,7 @@ typedef ImVector<VkDynamicState> ImVector_VkDynamicState;
CIMGUI_API void ImGui_ImplVulkanH_CreateOrResizeWindow(VkInstance instance,VkPhysicalDevice physical_device,VkDevice device,ImGui_ImplVulkanH_Window* wd,uint32_t queue_family,const VkAllocationCallbacks* allocator,int w,int h,uint32_t min_image_count,VkImageUsageFlags image_usage);
CIMGUI_API void ImGui_ImplVulkanH_DestroyWindow(VkInstance instance,VkDevice device,ImGui_ImplVulkanH_Window* wd,const VkAllocationCallbacks* allocator);
CIMGUI_API int ImGui_ImplVulkanH_GetMinImageCountFromPresentMode(VkPresentModeKHR present_mode);
CIMGUI_API ImGui_ImplVulkanH_Window* ImGui_ImplVulkanH_GetWindowDataFromViewport(ImGuiViewport* viewport);
CIMGUI_API VkPhysicalDevice ImGui_ImplVulkanH_SelectPhysicalDevice(VkInstance instance);
CIMGUI_API VkPresentModeKHR ImGui_ImplVulkanH_SelectPresentMode(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkPresentModeKHR* request_modes,int request_modes_count);
CIMGUI_API uint32_t ImGui_ImplVulkanH_SelectQueueFamilyIndex(VkPhysicalDevice physical_device);

View File

@@ -1,100 +1,22 @@
local M = {}
local insert = table.insert
local function ToStr(t,dometatables)
local function basicToStr (o)
if type(o) == "number" or type(o)=="boolean" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
else
return tostring(o) --"nil"
end
end
local strTG = {}
--local basicToStr= basicSerialize --tostring
if type(t) ~="table" then return basicToStr(t) end
local recG = 0
local nameG="SELF"..recG
local ancest ={}
local function _ToStr(t,strT,rec,name)
if ancest[t] then
strT[#strT + 1]=ancest[t]
return
end
rec = rec + 1
ancest[t]=name
strT[#strT + 1]='{'
local count=0
-------------
--if t.name then strT[#strT + 1]=string.rep("\t",rec).."name:"..tostring(t.name) end
----------------
for k,v in pairs(t) do
count=count+1
strT[#strT + 1]="\n"
local kstr
if type(k) == "table" then
local name2=string.format("%s.KEY%d",name,count)
strT[#strT + 1]=string.rep("\t",rec).."["
local strTK = {}
_ToStr(k,strTK,rec,name2)
kstr=table.concat(strTK)
strT[#strT + 1]=kstr.."]="
else
kstr = basicToStr(k)
strT[#strT + 1]=string.rep("\t",rec).."["..kstr.."]="
end
if type(v) == "table" then
local name2=string.format("%s[%s]",name,kstr)
_ToStr(v,strT,rec,name2)
else
strT[#strT + 1]=basicToStr(v)
end
end
if dometatables then
local mt = getmetatable(t)
if mt then
local namemt = string.format("%s.METATABLE",name)
local strMT = {}
_ToStr(mt,strMT,rec,namemt)
local metastr=table.concat(strMT)
strT[#strT + 1] = "\n"..string.rep("\t",rec).."[METATABLE]="..metastr
end
end
strT[#strT + 1]='}'
rec = rec - 1
return
end
_ToStr(t,strTG,recG,nameG)
return table.concat(strTG)
end
M.ToStr = ToStr
function M.prtable(...)
for i=1, select('#', ...) do
local t = select(i, ...)
print(ToStr(t))
print("\n")
end
end
local function deepcopy(object)
local lookup_table = {}
local function _copy(object)
--assert(object~=REST)
if type(object) ~= "table" then
return object
elseif lookup_table[object] then
return lookup_table[object]
end
local new_table = {}
lookup_table[object] = new_table
for index, value in pairs(object) do
new_table[_copy(index)] = _copy(value)
end
return setmetatable(new_table, getmetatable(object))
end
return _copy(object)
end
M.deepcopy = deepcopy
local extra = require"cpp2ffi_extra"
M.prtable = extra.prtable
M.table_do_sorted = extra.table_do_sorted
M.deepcopy = extra.deepcopy
M.copyfile = extra.copyfile
local save_data = extra.save_data
M.save_data = save_data
local read_data = extra.read_data
M.read_data = read_data
M.func_implementation = extra.func_implementation
M.func_header_generate_structs = extra.func_header_generate_structs
M.func_header_generate_funcs = extra.func_header_generate_funcs
M.func_header_generate = extra.func_header_generate
M.serializeTableF = extra.serializeTableF
------------------------------------------------------------
local function str_split(str, pat)
local t = {}
local fpat = "(.-)" .. pat
@@ -332,42 +254,6 @@ local function parse_enum_value(value, allenums,dontpost)
end
M.parse_enum_value = parse_enum_value
--------------------------------------------------------------------------
local function save_data(filename,...)
local file,err = io.open(filename,"w")
if not file then error(err) end
for i=1, select('#', ...) do
local data = select(i, ...)
file:write(data)
end
file:close()
end
M.save_data = save_data
----------------------------------------
local function read_data(filename)
local hfile,err = io.open(filename,"r")
if not hfile then error(err) end
local hstrfile = hfile:read"*a"
hfile:close()
return hstrfile
end
M.read_data = read_data
------------------------------------------------------------
local function copyfile(src,dst,blocksize)
blocksize = blocksize or 1024*4
print( "copyfile", src, dst)
local srcf, err = io.open(src,"rb")
if not srcf then error(err) end
local dstf, err = io.open(dst,"wb")
if not dstf then error(err) end
while true do
local data = srcf:read(blocksize)
if not data then break end
dstf:write(data)
end
srcf:close()
dstf:close()
end
M.copyfile = copyfile
--gives the re table
local function getRE()
@@ -747,7 +633,7 @@ end
local function parseFunction(self,stname,itt,namespace,locat)
local lineorig,comment = split_comment(itt.item)
line = clean_spaces(lineorig)
local line = clean_spaces(lineorig)
--move *
line = moveptr(line)
@@ -1030,7 +916,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
--name_conversion
local rr = defT.ret:gsub("*","")
rr = rr:gsub("const ","")
if self.name_conversion and self.name_conversion[rr] then
if self.name_conversion[rr] then
defT.ret = defT.ret:gsub(rr,self.name_conversion[rr])
end
defT.retref = ret:match("&")
@@ -1560,7 +1446,7 @@ local function ADDnonUDT(FP)
asp = "("
for i,v in ipairs(def.argsT) do
local name = v.name
argsTN[i] = deepcopy(v)
argsTN[i] = M.deepcopy(v)
if v.ret then --function pointer
local f_ = v.has_cdecl and "(__cdecl*" or "(*"
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
@@ -1635,8 +1521,10 @@ local function ADDnonUDT(FP)
def.skipped = skip
FP.skipped[def.ov_cimguiname] = true
else
def.call_args_old = def.call_args
def.call_args = caar
--def.call_args_old = def.call_args
if caar~=def.call_args then
def.call_args_conv = caar
end
def.args = asp
def.argsT = argsTN
end
@@ -1820,91 +1708,8 @@ local function printItems(items)
end
end
-------------------------------json saving
--avoid mixed tables (with string and integer keys)
local function json_prepare(defs)
--delete signatures in function
for k,def in pairs(defs) do
for k2,v in pairs(def) do
if type(k2)=="string" then
def[k2] = nil
end
end
end
return defs
end
local function paramListWithoutDots(params)
i, j = string.find(params, "%.%.%.")
while i > 1 do
i = i - 1
c = string.sub(params,i,i)
if c == "," then
return string.sub(params, 1, i-1) .. params:sub(j+1)
elseif c == "(" then
return string.sub(params, 1, i) .. params:sub(j+1)
end
end
error("paramListWithoutDots failed")
return "()"
end
local function save_output(self)
--add VARGS0
local defsVARG = {}
for k,defs in pairs(self.defsT) do
for i, def in ipairs(defs) do
if def.isvararg then
--print("vararg",k,#def)
local def1 = deepcopy(def)
def1.isvararg = nil
def1.isVARG0 = true
def1.argsT[#def1.argsT] = nil
def1.args = paramListWithoutDots(def1.args)
def1.call_args_old = paramListWithoutDots(def1.call_args_old)
def1.call_args = paramListWithoutDots(def1.call_args)
def1.signature = paramListWithoutDots(def1.signature)
def1.cimguiname = def1.cimguiname.."0"
def1.ov_cimguiname = def1.ov_cimguiname.."0"
defsVARG[k.."0"] = defsVARG[k.."0"] or {}
table.insert(defsVARG[k.."0"], def1)
end
end
end
for k,def in pairs(defsVARG) do
self.defsT[k] = def
end
--add manual not present in module
for k,v in pairs(self.manuals) do
if not self.defsT[k] then
--print("add manual",k)
self.defsT[k] = {v}
else
--print("skipped manual",k)
end
end
----------------------
save_data("./output/overloads.txt",self.overloadstxt)
save_data("./output/definitions.lua",M.serializeTableF(self.defsT))
save_data("./output/structs_and_enums.lua",M.serializeTableF(self.structs_and_enums_table))
save_data("./output/typedefs_dict.lua",M.serializeTableF(self.typedefs_dict))
save_data("./output/constants.lua",M.serializeTableF(self.constants))
local json = require"json"
local json_opts = {dict_on_empty={defaults=true}}
save_data("./output/definitions.json",json.encode(json_prepare(self.defsT),json_opts))
save_data("./output/structs_and_enums.json",json.encode(self.structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(self.typedefs_dict))
save_data("./output/constants.json",json.encode(self.constants))
local modulename = self.modulename
copyfile("./output/"..modulename..".h", "../"..modulename..".h")
copyfile("./output/"..modulename..".cpp", "../"..modulename..".cpp")
os.remove("./output/"..modulename..".h")
os.remove("./output/"..modulename..".cpp")
end
-------------
local numerr = 0 --for popen error file
function M.Parser()
@@ -1929,8 +1734,9 @@ function M.Parser()
par.forced_nonPOD = {}
par.skip_template = {}
par.skip_convert_gen = {}
par.name_conversion = {}
par.save_output = save_output
par.save_output = extra.save_output
par.genConversors = genConversions
par.gen_structs_c = gen_structs_c
function par:insert(line,loca)
@@ -2191,7 +1997,7 @@ function M.Parser()
it.item = it.item:gsub("enum%s*class","enum")
elseif it.re_name == "struct_re" then
it.name = it.item:match("struct%s+([^%s{]+)")
if self.name_conversion and self.name_conversion[it.name] then
if self.name_conversion[it.name] then
it.name = self.name_conversion[it.name]
print("=========conversion",it.name)
end
@@ -2610,7 +2416,7 @@ function M.Parser()
--name_conversion
local rr = defT.ret:gsub("*","")
rr = rr:gsub("const ","")
if self.name_conversion and self.name_conversion[rr] then
if self.name_conversion[rr] then
defT.ret = defT.ret:gsub(rr,self.name_conversion[rr])
end
defT.retref = ret:match("&")
@@ -2705,11 +2511,11 @@ function M.Parser()
end
end
if self.name_conversion and self.name_conversion[stname] then
if self.name_conversion[stname] then
itst.or_name = stname
stname = self.name_conversion[stname]
end
--stname = self.name_conversion and self.name_conversion[stname] or stname
--initial
table.insert(outtab,"\nstruct "..stname.."\n")
@@ -3670,184 +3476,14 @@ function M.Parser()
if COMPILER=="gcc" then
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
local extra_includes = include_cmd.." ../../cimgui "
local CPRE = COMPILER..[[ -std=c99 -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS -DIMGUI_ENABLE_FREETYPE ]] ..extra_includes.. "./output/"..name..".h"
local CPRE = COMPILER..[[ -fsyntax-only -x c -std=c99 -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS -DIMGUI_ENABLE_FREETYPE ]] ..extra_includes.. "./output/"..name..".h"
print(CPRE)
get_cdefs(CPRE,"name")
end
end
return par
end
-- more compact serialization
local function basicSerialize (o)
if type(o) == "number" then
return string.format("%.17g", o)
elseif type(o)=="boolean" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
elseif pcall(function() return o.__serialize end) then
return o.__serialize(o)
elseif type(o)=="cdata" then
return cdataSerialize(o)
else
return tostring(o) --"nil"
end
end
-- very readable and now suited for cyclic tables
local kw = {['and'] = true, ['break'] = true, ['do'] = true, ['else'] = true,
['elseif'] = true, ['end'] = true, ['false'] = true, ['for'] = true,
['function'] = true, ['goto'] = true, ['if'] = true, ['in'] = true,
['local'] = true, ['nil'] = true, ['not'] = true, ['or'] = true,
['repeat'] = true, ['return'] = true, ['then'] = true, ['true'] = true,
['until'] = true, ['while'] = true}
function tb2st_serialize(t,options)
options = options or {}
local function sorter(a,b)
if type(a)==type(b) then
return a<b
elseif type(a)=="number" then
return true
else
assert(type(b)=="number")
return false
end
end
local function serialize_key(val, dodot, pretty)
local dot = dodot and "." or ""
if type(val)=="string" then
if val:match '^[_%a][_%w]*$' and not kw[val] then
return dot..tostring(val)
else
return "[\""..tostring(val).."\"]"
end
elseif (not pretty) and (not dodot) and (type(val) == "number") and (math.floor(val)==val) then
return --array index
else
return "["..tostring(val).."]"
end
end
local function serialize_key_name(val)
return serialize_key(val, true)
end
local insert = table.insert
local function _tb2st(t,saved,sref,level,name)
saved = saved or {} -- initial value
level = level or 0
sref = sref or {}
name = name or "t"
if type(t)=="table" then
if saved[t] then
sref[#sref+1] = {saved[t],name}
return"nil"
else
saved[t] = name
local ordered_keys = {}
for k,v in pairs(t) do
insert(ordered_keys,k)
end
table.sort(ordered_keys,sorter)
local str2 = {}
insert(str2,"{")
if options.pretty then insert(str2,"\n") end
for _,k in ipairs(ordered_keys) do
if options.pretty then insert(str2,(" "):rep(level+1)) end
local v = t[k]
local kser = serialize_key(k, nil, options.pretty)
insert(str2, (kser and (kser .."=") or ""))
if type(v)~="table" then
insert(str2, basicSerialize(v))
else
local name2 = name .. serialize_key_name(k)
insert(str2,_tb2st(v,saved,sref,level+1,name2))
end
if options.pretty then insert(str2,",\n") else insert(str2, ",") end
end
str2[#str2] = "}"
if level == 0 then
--insert(str2, 1,"local ffi = require'ffi'\nlocal t=")
insert(str2, 1,"local t=")
for i,v in ipairs(sref) do
insert(str2, "\n"..v[2].."="..v[1])
end
insert(str2,"\n return t")
end
return table.concat(str2)
end
else
return basicSerialize(t)
end
end
return(_tb2st(t))
end
M.tb2st_serialize = tb2st_serialize
------serializeTable("anyname",table) gives a string that recreates the table with dofile(generated_string)
local function serializeTable(name, value, saved)
local function basicSerialize (o)
if type(o) == "number" or type(o)=="boolean" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
else
return "nil"
end
end
local string_table = {}
if not saved then
table.insert(string_table, "local "..name.." = ")
else
table.insert(string_table, name.." = ")
end
saved = saved or {} -- initial value
if type(value) == "number" or type(value) == "string" or type(value)=="boolean" then
table.insert(string_table,basicSerialize(value).."\n")
elseif type(value) == "table" then
if saved[value] then -- value already saved?
table.insert(string_table,saved[value].."\n")
else
saved[value] = name -- save name for next time
table.insert(string_table, "{}\n")
---[[
local ordered_keys = {}
for k,v in pairs(value) do
table.insert(ordered_keys,k)
end
local function sorter(a,b)
if type(a)==type(b) then
return a<b
elseif type(a)=="number" then
return true
else
assert(type(b)=="number")
return false
end
end
table.sort(ordered_keys,sorter)
for _,k in ipairs(ordered_keys) do
local v = value[k]
--]]
-- for k,v in pairs(value) do -- save its fields
local fieldname = string.format("%s[%s]", name,basicSerialize(k))
table.insert(string_table, serializeTable(fieldname, v, saved))
end
end
--else
--error("cannot save a " .. type(value))
end
return table.concat(string_table)
end
-- M.serializeTable = serializeTable
-- M.serializeTableF = function(t)
-- return M.serializeTable("defs",t).."\nreturn defs"
-- end
M.serializeTableF = function(t) return tb2st_serialize(t,{pretty=true}) end --new serialization more compact
--iterates lines from a gcc/clang -E in a specific location
local function location(file,locpathT,defines,COMPILER,keepemptylines)
local define_re = "^#define%s+([^%s]+)%s+(.+)$"
@@ -3936,300 +3572,8 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
return location_it
end
M.location = location
---------------------- C writing functions
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")
local namespace = def.namespace and def.namespace.."::" or ""
--namespace = def.is_static_function and namespace..def.stname.."::" or namespace
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = "..namespace..def.funcname.."V"..call_args..";\n")
else
table.insert(outtab," "..namespace..def.funcname.."V"..call_args..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
table.insert(outtab,"}\n")
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
table.insert(outtab, "{\n")
local returnword = "return "
if def.ret=="void" then returnword = "" end
table.insert(outtab, " "..returnword..def.ov_cimguiname..paramListWithoutDots(def.call_args_old)..";\n")
table.insert(outtab, "}\n")
table.insert(outtab, "#endif\n")
elseif def.nonUDT then
if def.nonUDT == 1 then
--table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n")
insert(outtab," return ConvertFromCPP_"..def.conv.."("..namespace..def.funcname..def.call_args..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret..namespace..def.funcname..def.call_args..");\n")
elseif def.nonUDT == "string" then
insert(outtab," static std::string str;\n")
insert(outtab," str.assign("..ptret.."self->"..def.funcname..def.call_args..");\n")
insert(outtab," return str.c_str();\n")
elseif def.nonUDT == "opaque" then
insert(outtab," static auto opq = "..ptret..namespace..def.funcname..def.call_args..";\n")
insert(outtab," opq = "..ptret..namespace..def.funcname..def.call_args..";\n")
insert(outtab," return &opq;\n")
end
table.insert(outtab,"}\n")
else --standard ImGui
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
table.insert(outtab,"}\n")
end
--table.insert(outtab,"}\n")
return table.concat(outtab, "")
end
local function struct_f_implementation(def)
local outtab = {}
local empty = def.args:match("^%(%)") --no args
local ptret = def.retref and "&" or ""
local imgui_stname = def.stname
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
table.insert(outtab,"{\n")
if def.isvararg then
local call_args = def.call_args:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = self->"..def.funcname.."V"..call_args..";\n")
else
table.insert(outtab," self->"..def.funcname.."V"..call_args..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
table.insert(outtab,"}\n")
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
table.insert(outtab, "{\n")
local returnword = "return "
if def.ret=="void" then returnword = "" end
table.insert(outtab, " "..returnword..def.ov_cimguiname.."(self,"..paramListWithoutDots(def.call_args_old):sub(2,-1)..";\n")
table.insert(outtab, "}\n")
table.insert(outtab, "#endif\n")
elseif def.nonUDT then
if def.nonUDT == 1 then
--table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n")
--local typret = (def.ret):gsub("const ","")
insert(outtab," return ConvertFromCPP_"..def.conv.."(self->"..def.funcname..def.call_args..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret.."self->"..def.funcname..def.call_args..");\n")
elseif def.nonUDT == "string" then
insert(outtab," static std::string str;\n")
insert(outtab," str.assign("..ptret.."self->"..def.funcname..def.call_args..");\n")
insert(outtab," return str.c_str();\n")
elseif def.nonUDT == "opaque" then
insert(outtab," static auto opq = "..ptret.."self->"..def.funcname..def.call_args..";\n")
insert(outtab," opq = "..ptret.."self->"..def.funcname..def.call_args..";\n")
insert(outtab," return &opq;\n")
end
table.insert(outtab,"}\n")
else --standard struct
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
table.insert(outtab,"}\n")
end
return table.concat(outtab, "")
end
local function func_implementation(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
repeat -- continue simulation
if not t.cimguiname then break end
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def)
local custom
if FP.custom_implementation then
custom = FP.custom_implementation(outtab, def, FP)
end
local manual = FP.get_manuals(def)
if not custom and not manual and not def.templated and not FP.get_skipped(def) --and not (FP.opaque_structs[def.stname] and not def.is_static_function)
then
if def.constructor then
local tab = {}
assert(def.stname ~= "","constructor without struct")
local empty = def.args:match("^%(%)") --no args
table.insert(tab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
table.insert(tab,"{\n")
table.insert(tab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
table.insert(tab,"}\n")
if FP.CONSTRUCTORS_GENERATION then
table.insert(tab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n")
table.insert(tab,"{\n")
table.insert(tab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n")
table.insert(tab,"}\n")
end
table.insert(outtab, table.concat(tab, ""))
elseif def.destructor then
local tab = {}
local args = "("..def.stname.."* self)"
local fname = def.stname.."_destroy"
table.insert(tab,"CIMGUI_API void "..fname..args.."\n")
table.insert(tab,"{\n")
table.insert(tab," IM_DELETE(self);\n")
table.insert(tab,"}\n")
table.insert(outtab, table.concat(tab, ""))
elseif def.stname == "" or def.is_static_function then
table.insert(outtab, ImGui_f_implementation(def))
else -- stname
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
local conversors = FP:genConversors()
local cimplem = conversors .. table.concat(outtab)
return cimplem
end
M.func_implementation = func_implementation
local function table_do_sorted(t,f)
local sorted = {}
for k,v in pairs(t) do
table.insert(sorted,k)
end
table.sort(sorted)
for ii,k in ipairs(sorted) do
f(k,t[k])
end
end
M.table_do_sorted = table_do_sorted
local function func_header_generate_structs(FP)
local outtab = {}--"\n/////func_header_generate_structs\n"}
M.prtable("embeded_structs",FP.embeded_structs)
table_do_sorted(FP.embeded_structs,function(k,v)
if not FP.typenames[k] then
print("embeded",k,v)
table.insert(outtab,"typedef "..v.." "..k..";\n")
end
end)
table_do_sorted(FP.embeded_enums,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
--table.insert(outtab, "\n//////////templates\n")
table_do_sorted(FP.templates,function(ttype,v)
--print("func_header_generate_structs",ttype)
if not (ttype == "std::function") then
table_do_sorted(v,function(ttypein,te)
local ttype2 = ttype:gsub("::","_") --std::string
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype2.."_"..te..";\n")
end)
end
end)
--M.prtable("typenames",FP.typenames)
table_do_sorted(FP.opaque_structs,function(k,v)
if not FP.typenames[k] then
table.insert(outtab,"typedef "..v.." "..k..";\n")
--table.insert(outtab,"typedef const "..v.."* "..k.."_opq;\n")
--table.insert(outtab,"typedef "..v.."* "..k.."_opq;\n")
end
end)
--table.insert(outtab, "\n//////////end func header\n")
return outtab
end
M.func_header_generate_structs = func_header_generate_structs
local function func_header_generate_funcs(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
if t.cimguiname then
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def,t.signature..t.cimguiname)
local custom
if FP.custom_header then
custom = FP.custom_header(outtab, def)
end
local manual = FP.get_manuals(def)
if not custom and not manual and not def.templated and not FP.get_skipped(def) --and not (FP.opaque_structs[def.stname] and not def.is_static_function)
then
local addcoment = "" --def.comment or ""
local empty = def.args:match("^%(%)") --no args
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
--local ret = FP.nP_ret[def.ret] or def.ret
local ret = def.ret
if def.stname == "" or def.is_static_function then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API "..ret.." ".. def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
if def.isvararg then
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
table.insert(outtab, "#endif\n")
end
else
table.insert(outtab,"CIMGUI_API "..ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
if def.isvararg then
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
table.insert(outtab, "#endif\n")
end
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
end
M.func_header_generate_funcs = func_header_generate_funcs
local function func_header_generate(FP)
local outtab = func_header_generate_structs(FP)
table.insert(outtab, 1, "\n#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
local outtabf = func_header_generate_funcs(FP)
outtabf = table.concat(outtabf)
assert(type(outtabf)=="string")
--outtabf = M.header_subs_nonPOD(FP,outtabf)
local cfuncsstr = table.concat(outtab)..outtabf
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
return cfuncsstr
end
M.func_header_generate = func_header_generate
function M.GetScriptArgs(defines,...)
assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
assert(bit,"Must use LuaJIT")
@@ -4279,9 +3623,9 @@ function M.GetScriptArgs(defines,...)
return COMPILER, CPRE, INTERNAL_GENERATION,COMMENTS_GENERATION
end
--[=[
-- tests
---------------------- tests
--[=[
local code = [[
int pedro;
@@ -4296,7 +3640,7 @@ uno,
dos
};
]]
]]
local parser = M.Parser()
--for line in code:gmatch("[^\n]+") do
for line in code:gmatch'(.-)\r?\n' do
@@ -4304,22 +3648,24 @@ for line in code:gmatch'(.-)\r?\n' do
parser:insert(line,"11")
end
parser:do_parse()
M.prtable(parser)
--M.prtable(parser)
M.prtable(parser:gen_structs_and_enums_table())
--]=]
--print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]])
--[=[
local code = [[ImU32 Storage[(BITCOUNT + 31) >> 5];]]
--local code = [[ImU32 Storage[37 + 2];]]
local parser = M.Parser()
parser:insert(code,"11")
--parser:do_parse()
--M.prtable(parser)
local tab={}
print(type(code),code)
print(clean_spaces(code))
parser:parse_struct_line(code,tab)
M.prtable(tab)
parser:do_parse()
M.prtable(parser)
-- local tab={}
-- print(type(code),code)
-- print(clean_spaces(code))
-- parser:parse_struct_line(code,tab,"")
-- M.prtable(tab)
--]=]

619
generator/cpp2ffi_extra.lua Normal file
View File

@@ -0,0 +1,619 @@
local insert = table.insert
local function ToStr(t,dometatables)
local function basicToStr (o)
if type(o) == "number" or type(o)=="boolean" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
else
return tostring(o) --"nil"
end
end
local strTG = {}
--local basicToStr= basicSerialize --tostring
if type(t) ~="table" then return basicToStr(t) end
local recG = 0
local nameG="SELF"..recG
local ancest ={}
local function _ToStr(t,strT,rec,name)
if ancest[t] then
strT[#strT + 1]=ancest[t]
return
end
rec = rec + 1
ancest[t]=name
strT[#strT + 1]='{'
local count=0
-------------
--if t.name then strT[#strT + 1]=string.rep("\t",rec).."name:"..tostring(t.name) end
----------------
for k,v in pairs(t) do
count=count+1
strT[#strT + 1]="\n"
local kstr
if type(k) == "table" then
local name2=string.format("%s.KEY%d",name,count)
strT[#strT + 1]=string.rep("\t",rec).."["
local strTK = {}
_ToStr(k,strTK,rec,name2)
kstr=table.concat(strTK)
strT[#strT + 1]=kstr.."]="
else
kstr = basicToStr(k)
strT[#strT + 1]=string.rep("\t",rec).."["..kstr.."]="
end
if type(v) == "table" then
local name2=string.format("%s[%s]",name,kstr)
_ToStr(v,strT,rec,name2)
else
strT[#strT + 1]=basicToStr(v)
end
end
if dometatables then
local mt = getmetatable(t)
if mt then
local namemt = string.format("%s.METATABLE",name)
local strMT = {}
_ToStr(mt,strMT,rec,namemt)
local metastr=table.concat(strMT)
strT[#strT + 1] = "\n"..string.rep("\t",rec).."[METATABLE]="..metastr
end
end
strT[#strT + 1]='}'
rec = rec - 1
return
end
_ToStr(t,strTG,recG,nameG)
return table.concat(strTG)
end
local function prtable(...)
for i=1, select('#', ...) do
local t = select(i, ...)
print(ToStr(t))
print("\n")
end
end
-- more compact serialization
local function basicSerialize (o)
if type(o) == "number" then
return string.format("%.17g", o)
elseif type(o)=="boolean" then
return tostring(o)
elseif type(o) == "string" then
return string.format("%q", o)
elseif pcall(function() return o.__serialize end) then
return o.__serialize(o)
elseif type(o)=="cdata" then
return cdataSerialize(o)
else
return tostring(o) --"nil"
end
end
-- very readable and now suited for cyclic tables
local kw = {['and'] = true, ['break'] = true, ['do'] = true, ['else'] = true,
['elseif'] = true, ['end'] = true, ['false'] = true, ['for'] = true,
['function'] = true, ['goto'] = true, ['if'] = true, ['in'] = true,
['local'] = true, ['nil'] = true, ['not'] = true, ['or'] = true,
['repeat'] = true, ['return'] = true, ['then'] = true, ['true'] = true,
['until'] = true, ['while'] = true}
function tb2st_serialize(t,options)
options = options or {}
local function sorter(a,b)
if type(a)==type(b) then
return a<b
elseif type(a)=="number" then
return true
else
assert(type(b)=="number")
return false
end
end
local function serialize_key(val, dodot, pretty)
local dot = dodot and "." or ""
if type(val)=="string" then
if val:match '^[_%a][_%w]*$' and not kw[val] then
return dot..tostring(val)
else
return "[\""..tostring(val).."\"]"
end
elseif (not pretty) and (not dodot) and (type(val) == "number") and (math.floor(val)==val) then
return --array index
else
return "["..tostring(val).."]"
end
end
local function serialize_key_name(val)
return serialize_key(val, true)
end
local insert = table.insert
local function _tb2st(t,saved,sref,level,name)
saved = saved or {} -- initial value
level = level or 0
sref = sref or {}
name = name or "t"
if type(t)=="table" then
if saved[t] then
sref[#sref+1] = {saved[t],name}
return"nil"
else
saved[t] = name
local ordered_keys = {}
for k,v in pairs(t) do
insert(ordered_keys,k)
end
table.sort(ordered_keys,sorter)
local str2 = {}
insert(str2,"{")
if options.pretty then insert(str2,"\n") end
for _,k in ipairs(ordered_keys) do
if options.pretty then insert(str2,(" "):rep(level+1)) end
local v = t[k]
local kser = serialize_key(k, nil, options.pretty)
insert(str2, (kser and (kser .."=") or ""))
if type(v)~="table" then
insert(str2, basicSerialize(v))
else
local name2 = name .. serialize_key_name(k)
insert(str2,_tb2st(v,saved,sref,level+1,name2))
end
if options.pretty then insert(str2,",\n") else insert(str2, ",") end
end
str2[#str2] = "}"
if level == 0 then
--insert(str2, 1,"local ffi = require'ffi'\nlocal t=")
insert(str2, 1,"local t=")
for i,v in ipairs(sref) do
insert(str2, "\n"..v[2].."="..v[1])
end
insert(str2,"\n return t")
end
return table.concat(str2)
end
else
return basicSerialize(t)
end
end
return(_tb2st(t))
end
local serializeTableF = function(t) return tb2st_serialize(t,{pretty=true}) end --new serialization more compact
local function deepcopy(object)
local lookup_table = {}
local function _copy(object)
--assert(object~=REST)
if type(object) ~= "table" then
return object
elseif lookup_table[object] then
return lookup_table[object]
end
local new_table = {}
lookup_table[object] = new_table
for index, value in pairs(object) do
new_table[_copy(index)] = _copy(value)
end
return setmetatable(new_table, getmetatable(object))
end
return _copy(object)
end
local function table_do_sorted(t,f)
local sorted = {}
for k,v in pairs(t) do
table.insert(sorted,k)
end
table.sort(sorted)
for ii,k in ipairs(sorted) do
f(k,t[k])
end
end
----------------------------
local function save_data(filename,...)
local file,err = io.open(filename,"w")
if not file then error(err) end
for i=1, select('#', ...) do
local data = select(i, ...)
file:write(data)
end
file:close()
end
local function read_data(filename)
local hfile,err = io.open(filename,"r")
if not hfile then error(err) end
local hstrfile = hfile:read"*a"
hfile:close()
return hstrfile
end
local function copyfile(src,dst,blocksize)
blocksize = blocksize or 1024*4
print( "copyfile", src, dst)
local srcf, err = io.open(src,"rb")
if not srcf then error(err) end
local dstf, err = io.open(dst,"wb")
if not dstf then error(err) end
while true do
local data = srcf:read(blocksize)
if not data then break end
dstf:write(data)
end
srcf:close()
dstf:close()
end
local function paramListWithoutDots(params)
if not params then return nil end
local i, j = string.find(params, "%.%.%.")
while i > 1 do
i = i - 1
local c = string.sub(params,i,i)
if c == "," then
return string.sub(params, 1, i-1) .. params:sub(j+1)
elseif c == "(" then
return string.sub(params, 1, i) .. params:sub(j+1)
end
end
error("paramListWithoutDots failed")
return "()"
end
-------------------------------json saving
--avoid mixed tables (with string and integer keys)
local function json_prepare(defs)
--delete signatures in function
for k,def in pairs(defs) do
for k2,v in pairs(def) do
if type(k2)=="string" then
def[k2] = nil
end
end
end
return defs
end
local function save_output(self)
--add VARGS0
local defsVARG = {}
for k,defs in pairs(self.defsT) do
for i, def in ipairs(defs) do
if def.isvararg then
--print("vararg",k,#def)
local def1 = deepcopy(def)
def1.isvararg = nil
def1.isVARG0 = true
def1.argsT[#def1.argsT] = nil
def1.args = paramListWithoutDots(def1.args)
def1.call_args = paramListWithoutDots(def1.call_args)
def1.call_args_conv = paramListWithoutDots(def1.call_args_conv)
def1.signature = paramListWithoutDots(def1.signature)
def1.cimguiname = def1.cimguiname.."0"
def1.ov_cimguiname = def1.ov_cimguiname.."0"
defsVARG[k.."0"] = defsVARG[k.."0"] or {}
table.insert(defsVARG[k.."0"], def1)
end
end
end
for k,def in pairs(defsVARG) do
self.defsT[k] = def
end
--add manual not present in module
for k,v in pairs(self.manuals) do
if not self.defsT[k] then
--print("add manual",k)
self.defsT[k] = {v}
else
--print("skipped manual",k)
end
end
---------- delete call_args_conv
-- for k,defs in pairs(self.defsT) do
-- for i, def in ipairs(defs) do
-- def.call_args_conv = nil
-- end
-- end
----------------------
save_data("./output/overloads.txt",self.overloadstxt)
save_data("./output/definitions.lua",serializeTableF(self.defsT))
save_data("./output/structs_and_enums.lua",serializeTableF(self.structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(self.typedefs_dict))
save_data("./output/constants.lua",serializeTableF(self.constants))
local json = require"json"
local json_opts = {dict_on_empty={defaults=true}}
save_data("./output/definitions.json",json.encode(json_prepare(self.defsT),json_opts))
save_data("./output/structs_and_enums.json",json.encode(self.structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(self.typedefs_dict))
save_data("./output/constants.json",json.encode(self.constants))
local modulename = self.modulename
copyfile("./output/"..modulename..".h", "../"..modulename..".h")
copyfile("./output/"..modulename..".cpp", "../"..modulename..".cpp")
os.remove("./output/"..modulename..".h")
os.remove("./output/"..modulename..".cpp")
end
---------------------- C writing functions
local function func_header_generate_structs(FP)
local outtab = {}--"\n/////func_header_generate_structs\n"}
prtable("embeded_structs",FP.embeded_structs)
table_do_sorted(FP.embeded_structs,function(k,v)
if not FP.typenames[k] then
print("embeded",k,v)
table.insert(outtab,"typedef "..v.." "..k..";\n")
end
end)
table_do_sorted(FP.embeded_enums,function(k,v) table.insert(outtab,"typedef "..v.." "..k..";\n") end)
--table.insert(outtab, "\n//////////templates\n")
table_do_sorted(FP.templates,function(ttype,v)
--print("func_header_generate_structs",ttype)
if not (ttype == "std::function") then
table_do_sorted(v,function(ttypein,te)
local ttype2 = ttype:gsub("::","_") --std::string
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype2.."_"..te..";\n")
end)
end
end)
--M.prtable("typenames",FP.typenames)
table_do_sorted(FP.opaque_structs,function(k,v)
if not FP.typenames[k] then
table.insert(outtab,"typedef "..v.." "..k..";\n")
--table.insert(outtab,"typedef const "..v.."* "..k.."_opq;\n")
--table.insert(outtab,"typedef "..v.."* "..k.."_opq;\n")
end
end)
--table.insert(outtab, "\n//////////end func header\n")
return outtab
end
local function func_header_generate_funcs(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
if t.cimguiname then
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def,t.signature..t.cimguiname)
local custom
if FP.custom_header then
custom = FP.custom_header(outtab, def)
end
local manual = FP.get_manuals(def)
if not custom and not manual and not def.templated and not FP.get_skipped(def) --and not (FP.opaque_structs[def.stname] and not def.is_static_function)
then
local addcoment = "" --def.comment or ""
local empty = def.args:match("^%(%)") --no args
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
--local ret = FP.nP_ret[def.ret] or def.ret
local ret = def.ret
if def.stname == "" or def.is_static_function then --ImGui namespace or top level
table.insert(outtab,"CIMGUI_API "..ret.." ".. def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
if def.isvararg then
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
table.insert(outtab, "#endif\n")
end
else
table.insert(outtab,"CIMGUI_API "..ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
if def.isvararg then
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args)..";\n")
table.insert(outtab, "#endif\n")
end
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
end
local function func_header_generate(FP)
local outtab = func_header_generate_structs(FP)
table.insert(outtab, 1, "\n#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
local outtabf = func_header_generate_funcs(FP)
outtabf = table.concat(outtabf)
assert(type(outtabf)=="string")
--outtabf = M.header_subs_nonPOD(FP,outtabf)
local cfuncsstr = table.concat(outtab)..outtabf
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
return cfuncsstr
end
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")
local namespace = def.namespace and def.namespace.."::" or ""
--namespace = def.is_static_function and namespace..def.stname.."::" or namespace
local call_args_conv = def.call_args_conv or def.call_args
if def.isvararg then
local call_args_conv = call_args_conv:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = "..namespace..def.funcname.."V"..call_args_conv..";\n")
else
table.insert(outtab," "..namespace..def.funcname.."V"..call_args_conv..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
table.insert(outtab,"}\n")
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
table.insert(outtab, "{\n")
local returnword = "return "
if def.ret=="void" then returnword = "" end
table.insert(outtab, " "..returnword..def.ov_cimguiname..paramListWithoutDots(def.call_args)..";\n")
table.insert(outtab, "}\n")
table.insert(outtab, "#endif\n")
elseif def.nonUDT then
if def.nonUDT == 1 then
insert(outtab," return ConvertFromCPP_"..def.conv.."("..namespace..def.funcname..call_args_conv..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret..namespace..def.funcname..call_args_conv..");\n")
elseif def.nonUDT == "string" then
insert(outtab," static std::string str;\n")
insert(outtab," str.assign("..ptret.."self->"..def.funcname..call_args_conv..");\n")
insert(outtab," return str.c_str();\n")
elseif def.nonUDT == "opaque" then
insert(outtab," static auto opq = "..ptret..namespace..def.funcname..call_args_conv..";\n")
insert(outtab," opq = "..ptret..namespace..def.funcname..call_args_conv..";\n")
insert(outtab," return &opq;\n")
end
table.insert(outtab,"}\n")
else --standard ImGui
table.insert(outtab," return "..ptret..namespace..def.funcname..call_args_conv..";\n")
table.insert(outtab,"}\n")
end
--table.insert(outtab,"}\n")
return table.concat(outtab, "")
end
local function struct_f_implementation(def)
local outtab = {}
local empty = def.args:match("^%(%)") --no args
local ptret = def.retref and "&" or ""
local imgui_stname = def.stname
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
table.insert(outtab,"{\n")
local call_args_conv = def.call_args_conv or def.call_args
if def.isvararg then
local call_args_conv = call_args_conv:gsub("%.%.%.","args")
table.insert(outtab," va_list args;\n")
table.insert(outtab," va_start(args, fmt);\n")
if def.ret~="void" then
table.insert(outtab," "..def.ret.." ret = self->"..def.funcname.."V"..call_args_conv..";\n")
else
table.insert(outtab," self->"..def.funcname.."V"..call_args_conv..";\n")
end
table.insert(outtab," va_end(args);\n")
if def.ret~="void" then
table.insert(outtab," return ret;\n")
end
table.insert(outtab,"}\n")
-- For variadic functions we add a function implementation with zero argumets, for compatibility with languages such as C#.
table.insert(outtab, "#ifdef CIMGUI_VARGS0\n")
table.insert(outtab, "CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname.."0"..paramListWithoutDots(def.args).."\n")
table.insert(outtab, "{\n")
local returnword = "return "
if def.ret=="void" then returnword = "" end
table.insert(outtab, " "..returnword..def.ov_cimguiname.."(self,"..paramListWithoutDots(def.call_args):sub(2,-1)..";\n")
table.insert(outtab, "}\n")
table.insert(outtab, "#endif\n")
elseif def.nonUDT then
if def.nonUDT == 1 then
insert(outtab," return ConvertFromCPP_"..def.conv.."(self->"..def.funcname..call_args_conv..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret.."self->"..def.funcname..call_args_conv..");\n")
elseif def.nonUDT == "string" then
insert(outtab," static std::string str;\n")
insert(outtab," str.assign("..ptret.."self->"..def.funcname..call_args_conv..");\n")
insert(outtab," return str.c_str();\n")
elseif def.nonUDT == "opaque" then
insert(outtab," static auto opq = "..ptret.."self->"..def.funcname..call_args_conv..";\n")
insert(outtab," opq = "..ptret.."self->"..def.funcname..call_args_conv..";\n")
insert(outtab," return &opq;\n")
end
table.insert(outtab,"}\n")
else --standard struct
table.insert(outtab," return "..ptret.."self->"..def.funcname..call_args_conv..";\n")
table.insert(outtab,"}\n")
end
return table.concat(outtab, "")
end
local function func_implementation(FP)
local outtab = {}
for _,t in ipairs(FP.funcdefs) do
repeat -- continue simulation
if not t.cimguiname then break end
local cimf = FP.defsT[t.cimguiname]
local def = cimf[t.signature]
assert(def)
local custom
if FP.custom_implementation then
custom = FP.custom_implementation(outtab, def, FP)
end
local manual = FP.get_manuals(def)
if not custom and not manual and not def.templated and not FP.get_skipped(def) --and not (FP.opaque_structs[def.stname] and not def.is_static_function)
then
local call_args_conv = def.call_args_conv or def.call_args
if def.constructor then
local tab = {}
assert(def.stname ~= "","constructor without struct")
local empty = def.args:match("^%(%)") --no args
table.insert(tab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname..(empty and "(void)" or def.args).."\n")
table.insert(tab,"{\n")
table.insert(tab," return IM_NEW("..def.stname..")"..call_args_conv..";\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..call_args_conv..";\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(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
table.insert(outtab, ImGui_f_implementation(def))
else -- stname
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
local conversors = FP:genConversors()
local cimplem = conversors .. table.concat(outtab)
return cimplem
end
return {func_implementation = func_implementation, save_output = save_output, save_data = save_data, read_data = read_data, copyfile = copyfile, func_header_generate = func_header_generate, prtable = prtable, table_do_sorted = table_do_sorted, save_output = save_output, deepcopy = deepcopy, serializeTableF = serializeTableF, func_header_generate_structs = func_header_generate_structs}

View File

@@ -1,8 +1,11 @@
{
"DOCKING_HOST_DRAW_CHANNEL_BG": "0",
"DOCKING_HOST_DRAW_CHANNEL_FG": "1",
"IMGUI_CHECKVERSION()": "ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))",
"IMGUI_DEBUG_LOG(...)": "ImGui::DebugLog(__VA_ARGS__)",
"IMGUI_DEBUG_LOG_ACTIVEID(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventActiveId) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_CLIPPER(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventClipper) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_DOCKING(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventDocking) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_ERROR(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventError) IMGUI_DEBUG_LOG(__VA_ARGS__); else g.DebugLogSkippedErrors++; } while (0)",
"IMGUI_DEBUG_LOG_FOCUS(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFocus) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_FONT(...)": "do { ImGuiContext* g2 = GImGui; if (g2 && g2->DebugLogFlags & ImGuiDebugLogFlags_EventFont) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
@@ -12,11 +15,13 @@
"IMGUI_DEBUG_LOG_POPUP(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_SELECTION(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_TABLE(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventTable) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_VIEWPORT(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventViewport) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_PRINTF(_FMT,...)": "printf(_FMT, __VA_ARGS__)",
"IMGUI_FONT_SIZE_MAX": "(512.0f)",
"IMGUI_FONT_SIZE_THRESHOLD_FOR_LOADADVANCEXONLYMODE": "(128.0f)",
"IMGUI_PAYLOAD_TYPE_COLOR_3F": "\"_COL3F\"",
"IMGUI_PAYLOAD_TYPE_COLOR_4F": "\"_COL4F\"",
"IMGUI_PAYLOAD_TYPE_WINDOW": "\"_IMWINDOW\"",
"IMGUI_TABLE_MAX_COLUMNS": "512",
"IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)": "((void)0)",
"IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)": "((void)g)",

View File

@@ -1,8 +1,11 @@
local t={
DOCKING_HOST_DRAW_CHANNEL_BG="0",
DOCKING_HOST_DRAW_CHANNEL_FG="1",
["IMGUI_CHECKVERSION()"]="ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))",
["IMGUI_DEBUG_LOG(...)"]="ImGui::DebugLog(__VA_ARGS__)",
["IMGUI_DEBUG_LOG_ACTIVEID(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventActiveId) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_CLIPPER(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventClipper) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_DOCKING(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventDocking) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_ERROR(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventError) IMGUI_DEBUG_LOG(__VA_ARGS__); else g.DebugLogSkippedErrors++; } while (0)",
["IMGUI_DEBUG_LOG_FOCUS(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFocus) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_FONT(...)"]="do { ImGuiContext* g2 = GImGui; if (g2 && g2->DebugLogFlags & ImGuiDebugLogFlags_EventFont) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
@@ -12,11 +15,13 @@ local t={
["IMGUI_DEBUG_LOG_POPUP(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_SELECTION(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_TABLE(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventTable) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_VIEWPORT(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventViewport) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_PRINTF(_FMT,...)"]="printf(_FMT, __VA_ARGS__)",
IMGUI_FONT_SIZE_MAX="(512.0f)",
IMGUI_FONT_SIZE_THRESHOLD_FOR_LOADADVANCEXONLYMODE="(128.0f)",
IMGUI_PAYLOAD_TYPE_COLOR_3F="\"_COL3F\"",
IMGUI_PAYLOAD_TYPE_COLOR_4F="\"_COL4F\"",
IMGUI_PAYLOAD_TYPE_WINDOW="\"_IMWINDOW\"",
IMGUI_TABLE_MAX_COLUMNS="512",
["IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)"]="((void)0)",
["IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)"]="((void)g)",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -14,11 +14,10 @@
],
"argsoriginal": "(GLFWwindow* window,unsigned int c)",
"call_args": "(window,c)",
"call_args_old": "(window,c)",
"cimguiname": "ImGui_ImplGlfw_CharCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CharCallback",
"location": "imgui_impl_glfw:62",
"location": "imgui_impl_glfw:64",
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
"ret": "void",
"signature": "(GLFWwindow*,unsigned int)",
@@ -40,11 +39,10 @@
],
"argsoriginal": "(GLFWwindow* window,int entered)",
"call_args": "(window,entered)",
"call_args_old": "(window,entered)",
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorEnterCallback",
"location": "imgui_impl_glfw:57",
"location": "imgui_impl_glfw:59",
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
@@ -70,11 +68,10 @@
],
"argsoriginal": "(GLFWwindow* window,double x,double y)",
"call_args": "(window,x,y)",
"call_args_old": "(window,x,y)",
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
"location": "imgui_impl_glfw:58",
"location": "imgui_impl_glfw:60",
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
@@ -92,11 +89,10 @@
],
"argsoriginal": "(GLFWmonitor* monitor)",
"call_args": "(monitor)",
"call_args_old": "(monitor)",
"cimguiname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
"defaults": {},
"funcname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
"location": "imgui_impl_glfw:68",
"location": "imgui_impl_glfw:70",
"ov_cimguiname": "ImGui_ImplGlfw_GetContentScaleForMonitor",
"ret": "float",
"signature": "(GLFWmonitor*)",
@@ -114,11 +110,10 @@
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplGlfw_GetContentScaleForWindow",
"defaults": {},
"funcname": "ImGui_ImplGlfw_GetContentScaleForWindow",
"location": "imgui_impl_glfw:67",
"location": "imgui_impl_glfw:69",
"ov_cimguiname": "ImGui_ImplGlfw_GetContentScaleForWindow",
"ret": "float",
"signature": "(GLFWwindow*)",
@@ -140,11 +135,10 @@
],
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"call_args_old": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
"location": "imgui_impl_glfw:33",
"location": "imgui_impl_glfw:35",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -166,11 +160,10 @@
],
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"call_args_old": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForOther",
"location": "imgui_impl_glfw:35",
"location": "imgui_impl_glfw:37",
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -192,11 +185,10 @@
],
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
"call_args": "(window,install_callbacks)",
"call_args_old": "(window,install_callbacks)",
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InitForVulkan",
"location": "imgui_impl_glfw:34",
"location": "imgui_impl_glfw:36",
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
"ret": "bool",
"signature": "(GLFWwindow*,bool)",
@@ -214,11 +206,10 @@
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
"location": "imgui_impl_glfw:48",
"location": "imgui_impl_glfw:50",
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
@@ -252,11 +243,10 @@
],
"argsoriginal": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
"call_args": "(window,key,scancode,action,mods)",
"call_args_old": "(window,key,scancode,action,mods)",
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_KeyCallback",
"location": "imgui_impl_glfw:61",
"location": "imgui_impl_glfw:63",
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int,int)",
@@ -278,11 +268,10 @@
],
"argsoriginal": "(GLFWmonitor* monitor,int event)",
"call_args": "(monitor,event)",
"call_args_old": "(monitor,event)",
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MonitorCallback",
"location": "imgui_impl_glfw:63",
"location": "imgui_impl_glfw:65",
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
"ret": "void",
"signature": "(GLFWmonitor*,int)",
@@ -312,11 +301,10 @@
],
"argsoriginal": "(GLFWwindow* window,int button,int action,int mods)",
"call_args": "(window,button,action,mods)",
"call_args_old": "(window,button,action,mods)",
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
"location": "imgui_impl_glfw:59",
"location": "imgui_impl_glfw:61",
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
"ret": "void",
"signature": "(GLFWwindow*,int,int,int)",
@@ -329,11 +317,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplGlfw_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplGlfw_NewFrame",
"location": "imgui_impl_glfw:37",
"location": "imgui_impl_glfw:39",
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
"ret": "void",
"signature": "()",
@@ -351,11 +338,10 @@
],
"argsoriginal": "(GLFWwindow* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"defaults": {},
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
"location": "imgui_impl_glfw:49",
"location": "imgui_impl_glfw:51",
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
"ret": "void",
"signature": "(GLFWwindow*)",
@@ -381,11 +367,10 @@
],
"argsoriginal": "(GLFWwindow* window,double xoffset,double yoffset)",
"call_args": "(window,xoffset,yoffset)",
"call_args_old": "(window,xoffset,yoffset)",
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_ScrollCallback",
"location": "imgui_impl_glfw:60",
"location": "imgui_impl_glfw:62",
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
"ret": "void",
"signature": "(GLFWwindow*,double,double)",
@@ -403,11 +388,10 @@
],
"argsoriginal": "(bool chain_for_all_windows)",
"call_args": "(chain_for_all_windows)",
"call_args_old": "(chain_for_all_windows)",
"cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"defaults": {},
"funcname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"location": "imgui_impl_glfw:53",
"location": "imgui_impl_glfw:55",
"ov_cimguiname": "ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
"ret": "void",
"signature": "(bool)",
@@ -420,11 +404,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplGlfw_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplGlfw_Shutdown",
"location": "imgui_impl_glfw:36",
"location": "imgui_impl_glfw:38",
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
"ret": "void",
"signature": "()",
@@ -442,11 +425,10 @@
],
"argsoriginal": "(int milliseconds)",
"call_args": "(milliseconds)",
"call_args_old": "(milliseconds)",
"cimguiname": "ImGui_ImplGlfw_Sleep",
"defaults": {},
"funcname": "ImGui_ImplGlfw_Sleep",
"location": "imgui_impl_glfw:66",
"location": "imgui_impl_glfw:68",
"ov_cimguiname": "ImGui_ImplGlfw_Sleep",
"ret": "void",
"signature": "(int)",
@@ -468,11 +450,10 @@
],
"argsoriginal": "(GLFWwindow* window,int focused)",
"call_args": "(window,focused)",
"call_args_old": "(window,focused)",
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"defaults": {},
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
"location": "imgui_impl_glfw:56",
"location": "imgui_impl_glfw:58",
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
"ret": "void",
"signature": "(GLFWwindow*,int)",
@@ -485,11 +466,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"location": "imgui_impl_opengl2:38",
"location": "imgui_impl_opengl2:39",
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -502,11 +482,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"location": "imgui_impl_opengl2:39",
"location": "imgui_impl_opengl2:40",
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -519,11 +498,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL2_Init",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Init",
"location": "imgui_impl_opengl2:32",
"location": "imgui_impl_opengl2:33",
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
"ret": "bool",
"signature": "()",
@@ -536,11 +514,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_NewFrame",
"location": "imgui_impl_opengl2:34",
"location": "imgui_impl_opengl2:35",
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -558,11 +535,10 @@
],
"argsoriginal": "(ImDrawData* draw_data)",
"call_args": "(draw_data)",
"call_args_old": "(draw_data)",
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
"location": "imgui_impl_opengl2:35",
"location": "imgui_impl_opengl2:36",
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -575,11 +551,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_Shutdown",
"location": "imgui_impl_opengl2:33",
"location": "imgui_impl_opengl2:34",
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
"ret": "void",
"signature": "()",
@@ -597,11 +572,10 @@
],
"argsoriginal": "(ImTextureData* tex)",
"call_args": "(tex)",
"call_args_old": "(tex)",
"cimguiname": "ImGui_ImplOpenGL2_UpdateTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL2_UpdateTexture",
"location": "imgui_impl_opengl2:42",
"location": "imgui_impl_opengl2:43",
"ov_cimguiname": "ImGui_ImplOpenGL2_UpdateTexture",
"ret": "void",
"signature": "(ImTextureData*)",
@@ -614,11 +588,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"location": "imgui_impl_opengl3:40",
"location": "imgui_impl_opengl3:41",
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
"ret": "bool",
"signature": "()",
@@ -631,11 +604,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"location": "imgui_impl_opengl3:41",
"location": "imgui_impl_opengl3:42",
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
"ret": "void",
"signature": "()",
@@ -648,11 +620,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL3_GetRenderState",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_GetRenderState",
"location": "imgui_impl_opengl3:79",
"location": "imgui_impl_opengl3:80",
"ov_cimguiname": "ImGui_ImplOpenGL3_GetRenderState",
"ret": "ImGui_ImplOpenGL3_RenderState*",
"signature": "()",
@@ -670,13 +641,12 @@
],
"argsoriginal": "(const char* glsl_version=nullptr)",
"call_args": "(glsl_version)",
"call_args_old": "(glsl_version)",
"cimguiname": "ImGui_ImplOpenGL3_Init",
"defaults": {
"glsl_version": "nullptr"
},
"funcname": "ImGui_ImplOpenGL3_Init",
"location": "imgui_impl_opengl3:34",
"location": "imgui_impl_opengl3:35",
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
"ret": "bool",
"signature": "(const char*)",
@@ -689,11 +659,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_NewFrame",
"location": "imgui_impl_opengl3:36",
"location": "imgui_impl_opengl3:37",
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
"ret": "void",
"signature": "()",
@@ -711,11 +680,10 @@
],
"argsoriginal": "(ImDrawData* draw_data)",
"call_args": "(draw_data)",
"call_args_old": "(draw_data)",
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
"location": "imgui_impl_opengl3:37",
"location": "imgui_impl_opengl3:38",
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*)",
@@ -728,11 +696,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_Shutdown",
"location": "imgui_impl_opengl3:35",
"location": "imgui_impl_opengl3:36",
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
"ret": "void",
"signature": "()",
@@ -750,11 +717,10 @@
],
"argsoriginal": "(ImTextureData* tex)",
"call_args": "(tex)",
"call_args_old": "(tex)",
"cimguiname": "ImGui_ImplOpenGL3_UpdateTexture",
"defaults": {},
"funcname": "ImGui_ImplOpenGL3_UpdateTexture",
"location": "imgui_impl_opengl3:44",
"location": "imgui_impl_opengl3:45",
"ov_cimguiname": "ImGui_ImplOpenGL3_UpdateTexture",
"ret": "void",
"signature": "(ImTextureData*)",
@@ -772,11 +738,10 @@
],
"argsoriginal": "(int display_index)",
"call_args": "(display_index)",
"call_args_old": "(display_index)",
"cimguiname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
"defaults": {},
"funcname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
"location": "imgui_impl_sdl2:43",
"location": "imgui_impl_sdl2:47",
"ov_cimguiname": "ImGui_ImplSDL2_GetContentScaleForDisplay",
"ret": "float",
"signature": "(int)",
@@ -794,11 +759,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL2_GetContentScaleForWindow",
"defaults": {},
"funcname": "ImGui_ImplSDL2_GetContentScaleForWindow",
"location": "imgui_impl_sdl2:42",
"location": "imgui_impl_sdl2:46",
"ov_cimguiname": "ImGui_ImplSDL2_GetContentScaleForWindow",
"ret": "float",
"signature": "(SDL_Window*)",
@@ -816,11 +780,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForD3D",
"location": "imgui_impl_sdl2:33",
"location": "imgui_impl_sdl2:37",
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -838,11 +801,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForMetal",
"location": "imgui_impl_sdl2:34",
"location": "imgui_impl_sdl2:38",
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -864,11 +826,10 @@
],
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
"call_args": "(window,sdl_gl_context)",
"call_args_old": "(window,sdl_gl_context)",
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
"location": "imgui_impl_sdl2:31",
"location": "imgui_impl_sdl2:35",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
@@ -886,11 +847,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForOther",
"location": "imgui_impl_sdl2:36",
"location": "imgui_impl_sdl2:40",
"ov_cimguiname": "ImGui_ImplSDL2_InitForOther",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -912,11 +872,10 @@
],
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
"call_args": "(window,renderer)",
"call_args_old": "(window,renderer)",
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
"location": "imgui_impl_sdl2:35",
"location": "imgui_impl_sdl2:39",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
@@ -934,11 +893,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForVulkan",
"location": "imgui_impl_sdl2:32",
"location": "imgui_impl_sdl2:36",
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -951,11 +909,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl2:38",
"location": "imgui_impl_sdl2:42",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void",
"signature": "()",
@@ -973,11 +930,10 @@
],
"argsoriginal": "(const SDL_Event* event)",
"call_args": "(event)",
"call_args_old": "(event)",
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl2:39",
"location": "imgui_impl_sdl2:43",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
@@ -1003,14 +959,13 @@
],
"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)",
"call_args_old": "(mode,manual_gamepads_array,manual_gamepads_count)",
"cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
"defaults": {
"manual_gamepads_array": "nullptr",
"manual_gamepads_count": "-1"
},
"funcname": "ImGui_ImplSDL2_SetGamepadMode",
"location": "imgui_impl_sdl2:48",
"location": "imgui_impl_sdl2:52",
"ov_cimguiname": "ImGui_ImplSDL2_SetGamepadMode",
"ret": "void",
"signature": "(ImGui_ImplSDL2_GamepadMode,struct _SDL_GameController**,int)",
@@ -1028,11 +983,10 @@
],
"argsoriginal": "(ImGui_ImplSDL2_MouseCaptureMode mode)",
"call_args": "(mode)",
"call_args_old": "(mode)",
"cimguiname": "ImGui_ImplSDL2_SetMouseCaptureMode",
"defaults": {},
"funcname": "ImGui_ImplSDL2_SetMouseCaptureMode",
"location": "imgui_impl_sdl2:55",
"location": "imgui_impl_sdl2:59",
"ov_cimguiname": "ImGui_ImplSDL2_SetMouseCaptureMode",
"ret": "void",
"signature": "(ImGui_ImplSDL2_MouseCaptureMode)",
@@ -1045,11 +999,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl2:37",
"location": "imgui_impl_sdl2:41",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void",
"signature": "()",
@@ -1067,11 +1020,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForD3D",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForD3D",
"location": "imgui_impl_sdl3:33",
"location": "imgui_impl_sdl3:36",
"ov_cimguiname": "ImGui_ImplSDL3_InitForD3D",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -1089,11 +1041,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForMetal",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForMetal",
"location": "imgui_impl_sdl3:34",
"location": "imgui_impl_sdl3:37",
"ov_cimguiname": "ImGui_ImplSDL3_InitForMetal",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -1115,11 +1066,10 @@
],
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
"call_args": "(window,sdl_gl_context)",
"call_args_old": "(window,sdl_gl_context)",
"cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForOpenGL",
"location": "imgui_impl_sdl3:31",
"location": "imgui_impl_sdl3:34",
"ov_cimguiname": "ImGui_ImplSDL3_InitForOpenGL",
"ret": "bool",
"signature": "(SDL_Window*,void*)",
@@ -1137,11 +1087,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForOther",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForOther",
"location": "imgui_impl_sdl3:37",
"location": "imgui_impl_sdl3:40",
"ov_cimguiname": "ImGui_ImplSDL3_InitForOther",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -1159,11 +1108,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForSDLGPU",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForSDLGPU",
"location": "imgui_impl_sdl3:36",
"location": "imgui_impl_sdl3:39",
"ov_cimguiname": "ImGui_ImplSDL3_InitForSDLGPU",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -1185,11 +1133,10 @@
],
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
"call_args": "(window,renderer)",
"call_args_old": "(window,renderer)",
"cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForSDLRenderer",
"location": "imgui_impl_sdl3:35",
"location": "imgui_impl_sdl3:38",
"ov_cimguiname": "ImGui_ImplSDL3_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*,SDL_Renderer*)",
@@ -1207,11 +1154,10 @@
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"call_args_old": "(window)",
"cimguiname": "ImGui_ImplSDL3_InitForVulkan",
"defaults": {},
"funcname": "ImGui_ImplSDL3_InitForVulkan",
"location": "imgui_impl_sdl3:32",
"location": "imgui_impl_sdl3:35",
"ov_cimguiname": "ImGui_ImplSDL3_InitForVulkan",
"ret": "bool",
"signature": "(SDL_Window*)",
@@ -1224,11 +1170,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplSDL3_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplSDL3_NewFrame",
"location": "imgui_impl_sdl3:39",
"location": "imgui_impl_sdl3:42",
"ov_cimguiname": "ImGui_ImplSDL3_NewFrame",
"ret": "void",
"signature": "()",
@@ -1246,11 +1191,10 @@
],
"argsoriginal": "(const SDL_Event* event)",
"call_args": "(event)",
"call_args_old": "(event)",
"cimguiname": "ImGui_ImplSDL3_ProcessEvent",
"defaults": {},
"funcname": "ImGui_ImplSDL3_ProcessEvent",
"location": "imgui_impl_sdl3:40",
"location": "imgui_impl_sdl3:43",
"ov_cimguiname": "ImGui_ImplSDL3_ProcessEvent",
"ret": "bool",
"signature": "(const SDL_Event*)",
@@ -1276,14 +1220,13 @@
],
"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)",
"call_args_old": "(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:45",
"location": "imgui_impl_sdl3:48",
"ov_cimguiname": "ImGui_ImplSDL3_SetGamepadMode",
"ret": "void",
"signature": "(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)",
@@ -1301,11 +1244,10 @@
],
"argsoriginal": "(ImGui_ImplSDL3_MouseCaptureMode mode)",
"call_args": "(mode)",
"call_args_old": "(mode)",
"cimguiname": "ImGui_ImplSDL3_SetMouseCaptureMode",
"defaults": {},
"funcname": "ImGui_ImplSDL3_SetMouseCaptureMode",
"location": "imgui_impl_sdl3:52",
"location": "imgui_impl_sdl3:55",
"ov_cimguiname": "ImGui_ImplSDL3_SetMouseCaptureMode",
"ret": "void",
"signature": "(ImGui_ImplSDL3_MouseCaptureMode)",
@@ -1318,11 +1260,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplSDL3_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplSDL3_Shutdown",
"location": "imgui_impl_sdl3:38",
"location": "imgui_impl_sdl3:41",
"ov_cimguiname": "ImGui_ImplSDL3_Shutdown",
"ret": "void",
"signature": "()",
@@ -1376,11 +1317,10 @@
],
"argsoriginal": "(VkInstance instance,VkPhysicalDevice physical_device,VkDevice device,ImGui_ImplVulkanH_Window* wd,uint32_t queue_family,const VkAllocationCallbacks* allocator,int w,int h,uint32_t min_image_count,VkImageUsageFlags image_usage)",
"call_args": "(instance,physical_device,device,wd,queue_family,allocator,w,h,min_image_count,image_usage)",
"call_args_old": "(instance,physical_device,device,wd,queue_family,allocator,w,h,min_image_count,image_usage)",
"cimguiname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
"location": "imgui_impl_vulkan:204",
"location": "imgui_impl_vulkan:212",
"ov_cimguiname": "ImGui_ImplVulkanH_CreateOrResizeWindow",
"ret": "void",
"signature": "(VkInstance,VkPhysicalDevice,VkDevice,ImGui_ImplVulkanH_Window*,uint32_t,const VkAllocationCallbacks*,int,int,uint32_t,VkImageUsageFlags)",
@@ -1410,11 +1350,10 @@
],
"argsoriginal": "(VkInstance instance,VkDevice device,ImGui_ImplVulkanH_Window* wd,const VkAllocationCallbacks* allocator)",
"call_args": "(instance,device,wd,allocator)",
"call_args_old": "(instance,device,wd,allocator)",
"cimguiname": "ImGui_ImplVulkanH_DestroyWindow",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_DestroyWindow",
"location": "imgui_impl_vulkan:205",
"location": "imgui_impl_vulkan:213",
"ov_cimguiname": "ImGui_ImplVulkanH_DestroyWindow",
"ret": "void",
"signature": "(VkInstance,VkDevice,ImGui_ImplVulkanH_Window*,const VkAllocationCallbacks*)",
@@ -1432,17 +1371,37 @@
],
"argsoriginal": "(VkPresentModeKHR present_mode)",
"call_args": "(present_mode)",
"call_args_old": "(present_mode)",
"cimguiname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
"location": "imgui_impl_vulkan:210",
"location": "imgui_impl_vulkan:218",
"ov_cimguiname": "ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
"ret": "int",
"signature": "(VkPresentModeKHR)",
"stname": ""
}
],
"ImGui_ImplVulkanH_GetWindowDataFromViewport": [
{
"args": "(ImGuiViewport* viewport)",
"argsT": [
{
"name": "viewport",
"type": "ImGuiViewport*"
}
],
"argsoriginal": "(ImGuiViewport* viewport)",
"call_args": "(viewport)",
"cimguiname": "ImGui_ImplVulkanH_GetWindowDataFromViewport",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_GetWindowDataFromViewport",
"location": "imgui_impl_vulkan:219",
"ov_cimguiname": "ImGui_ImplVulkanH_GetWindowDataFromViewport",
"ret": "ImGui_ImplVulkanH_Window*",
"signature": "(ImGuiViewport*)",
"stname": ""
}
],
"ImGui_ImplVulkanH_SelectPhysicalDevice": [
{
"args": "(VkInstance instance)",
@@ -1454,11 +1413,10 @@
],
"argsoriginal": "(VkInstance instance)",
"call_args": "(instance)",
"call_args_old": "(instance)",
"cimguiname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
"location": "imgui_impl_vulkan:208",
"location": "imgui_impl_vulkan:216",
"ov_cimguiname": "ImGui_ImplVulkanH_SelectPhysicalDevice",
"ret": "VkPhysicalDevice",
"signature": "(VkInstance)",
@@ -1488,11 +1446,10 @@
],
"argsoriginal": "(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkPresentModeKHR* request_modes,int request_modes_count)",
"call_args": "(physical_device,surface,request_modes,request_modes_count)",
"call_args_old": "(physical_device,surface,request_modes,request_modes_count)",
"cimguiname": "ImGui_ImplVulkanH_SelectPresentMode",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_SelectPresentMode",
"location": "imgui_impl_vulkan:207",
"location": "imgui_impl_vulkan:215",
"ov_cimguiname": "ImGui_ImplVulkanH_SelectPresentMode",
"ret": "VkPresentModeKHR",
"signature": "(VkPhysicalDevice,VkSurfaceKHR,const VkPresentModeKHR*,int)",
@@ -1510,11 +1467,10 @@
],
"argsoriginal": "(VkPhysicalDevice physical_device)",
"call_args": "(physical_device)",
"call_args_old": "(physical_device)",
"cimguiname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
"location": "imgui_impl_vulkan:209",
"location": "imgui_impl_vulkan:217",
"ov_cimguiname": "ImGui_ImplVulkanH_SelectQueueFamilyIndex",
"ret": "uint32_t",
"signature": "(VkPhysicalDevice)",
@@ -1548,11 +1504,10 @@
],
"argsoriginal": "(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkFormat* request_formats,int request_formats_count,VkColorSpaceKHR request_color_space)",
"call_args": "(physical_device,surface,request_formats,request_formats_count,request_color_space)",
"call_args_old": "(physical_device,surface,request_formats,request_formats_count,request_color_space)",
"cimguiname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
"defaults": {},
"funcname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
"location": "imgui_impl_vulkan:206",
"location": "imgui_impl_vulkan:214",
"ov_cimguiname": "ImGui_ImplVulkanH_SelectSurfaceFormat",
"ret": "VkSurfaceFormatKHR",
"signature": "(VkPhysicalDevice,VkSurfaceKHR,const VkFormat*,int,VkColorSpaceKHR)",
@@ -1565,12 +1520,11 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
"constructor": true,
"defaults": {},
"funcname": "ImGui_ImplVulkanH_Window",
"location": "imgui_impl_vulkan:256",
"location": "imgui_impl_vulkan:264",
"namespace": "ImGui_ImplVulkanH_Window",
"ov_cimguiname": "ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
"signature": "()",
@@ -1590,7 +1544,7 @@
"cimguiname": "ImGui_ImplVulkanH_Window_destroy",
"defaults": {},
"destructor": true,
"location": "imgui_impl_vulkan:256",
"location": "imgui_impl_vulkan:264",
"ov_cimguiname": "ImGui_ImplVulkanH_Window_destroy",
"ret": "void",
"signature": "(ImGui_ImplVulkanH_Window*)",
@@ -1612,11 +1566,10 @@
],
"argsoriginal": "(VkImageView image_view,VkImageLayout image_layout)",
"call_args": "(image_view,image_layout)",
"call_args_old": "(image_view,image_layout)",
"cimguiname": "ImGui_ImplVulkan_AddTexture",
"defaults": {},
"funcname": "ImGui_ImplVulkan_AddTexture",
"location": "imgui_impl_vulkan:157",
"location": "imgui_impl_vulkan:165",
"ov_cimguiname": "ImGui_ImplVulkan_AddTexture",
"ret": "VkDescriptorSet",
"signature": "(VkImageView,VkImageLayout)",
@@ -1634,11 +1587,10 @@
],
"argsoriginal": "(const ImGui_ImplVulkan_PipelineInfo* info)",
"call_args": "(info)",
"call_args_old": "(info)",
"cimguiname": "ImGui_ImplVulkan_CreateMainPipeline",
"defaults": {},
"funcname": "ImGui_ImplVulkan_CreateMainPipeline",
"location": "imgui_impl_vulkan:151",
"location": "imgui_impl_vulkan:159",
"ov_cimguiname": "ImGui_ImplVulkan_CreateMainPipeline",
"ret": "void",
"signature": "(const ImGui_ImplVulkan_PipelineInfo*)",
@@ -1656,11 +1608,10 @@
],
"argsoriginal": "(ImGui_ImplVulkan_InitInfo* info)",
"call_args": "(info)",
"call_args_old": "(info)",
"cimguiname": "ImGui_ImplVulkan_Init",
"defaults": {},
"funcname": "ImGui_ImplVulkan_Init",
"location": "imgui_impl_vulkan:142",
"location": "imgui_impl_vulkan:150",
"ov_cimguiname": "ImGui_ImplVulkan_Init",
"ret": "bool",
"signature": "(ImGui_ImplVulkan_InitInfo*)",
@@ -1686,13 +1637,12 @@
],
"argsoriginal": "(uint32_t api_version,PFN_vkVoidFunction(*loader_func)(const char* function_name,void* user_data),void* user_data=nullptr)",
"call_args": "(api_version,user_data),user_data)",
"call_args_old": "(api_version,user_data),user_data)",
"cimguiname": "ImGui_ImplVulkan_LoadFunctions",
"defaults": {
"user_data": "nullptr"
},
"funcname": "ImGui_ImplVulkan_LoadFunctions",
"location": "imgui_impl_vulkan:166",
"location": "imgui_impl_vulkan:174",
"ov_cimguiname": "ImGui_ImplVulkan_LoadFunctions",
"ret": "bool",
"signature": "(uint32_t,PFN_vkVoidFunction(*loader_func)(const char* function_name,void*,void*)",
@@ -1705,11 +1655,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplVulkan_NewFrame",
"defaults": {},
"funcname": "ImGui_ImplVulkan_NewFrame",
"location": "imgui_impl_vulkan:144",
"location": "imgui_impl_vulkan:152",
"ov_cimguiname": "ImGui_ImplVulkan_NewFrame",
"ret": "void",
"signature": "()",
@@ -1727,11 +1676,10 @@
],
"argsoriginal": "(VkDescriptorSet descriptor_set)",
"call_args": "(descriptor_set)",
"call_args_old": "(descriptor_set)",
"cimguiname": "ImGui_ImplVulkan_RemoveTexture",
"defaults": {},
"funcname": "ImGui_ImplVulkan_RemoveTexture",
"location": "imgui_impl_vulkan:158",
"location": "imgui_impl_vulkan:166",
"ov_cimguiname": "ImGui_ImplVulkan_RemoveTexture",
"ret": "void",
"signature": "(VkDescriptorSet)",
@@ -1757,13 +1705,12 @@
],
"argsoriginal": "(ImDrawData* draw_data,VkCommandBuffer command_buffer,VkPipeline pipeline=0ULL)",
"call_args": "(draw_data,command_buffer,pipeline)",
"call_args_old": "(draw_data,command_buffer,pipeline)",
"cimguiname": "ImGui_ImplVulkan_RenderDrawData",
"defaults": {
"pipeline": "0ULL"
},
"funcname": "ImGui_ImplVulkan_RenderDrawData",
"location": "imgui_impl_vulkan:145",
"location": "imgui_impl_vulkan:153",
"ov_cimguiname": "ImGui_ImplVulkan_RenderDrawData",
"ret": "void",
"signature": "(ImDrawData*,VkCommandBuffer,VkPipeline)",
@@ -1781,11 +1728,10 @@
],
"argsoriginal": "(uint32_t min_image_count)",
"call_args": "(min_image_count)",
"call_args_old": "(min_image_count)",
"cimguiname": "ImGui_ImplVulkan_SetMinImageCount",
"defaults": {},
"funcname": "ImGui_ImplVulkan_SetMinImageCount",
"location": "imgui_impl_vulkan:146",
"location": "imgui_impl_vulkan:154",
"ov_cimguiname": "ImGui_ImplVulkan_SetMinImageCount",
"ret": "void",
"signature": "(uint32_t)",
@@ -1798,11 +1744,10 @@
"argsT": [],
"argsoriginal": "()",
"call_args": "()",
"call_args_old": "()",
"cimguiname": "ImGui_ImplVulkan_Shutdown",
"defaults": {},
"funcname": "ImGui_ImplVulkan_Shutdown",
"location": "imgui_impl_vulkan:143",
"location": "imgui_impl_vulkan:151",
"ov_cimguiname": "ImGui_ImplVulkan_Shutdown",
"ret": "void",
"signature": "()",
@@ -1820,11 +1765,10 @@
],
"argsoriginal": "(ImTextureData* tex)",
"call_args": "(tex)",
"call_args_old": "(tex)",
"cimguiname": "ImGui_ImplVulkan_UpdateTexture",
"defaults": {},
"funcname": "ImGui_ImplVulkan_UpdateTexture",
"location": "imgui_impl_vulkan:154",
"location": "imgui_impl_vulkan:162",
"ov_cimguiname": "ImGui_ImplVulkan_UpdateTexture",
"ret": "void",
"signature": "(ImTextureData*)",

View File

@@ -11,11 +11,10 @@ local t={
type="unsigned int"}},
argsoriginal="(GLFWwindow* window,unsigned int c)",
call_args="(window,c)",
call_args_old="(window,c)",
cimguiname="ImGui_ImplGlfw_CharCallback",
defaults={},
funcname="ImGui_ImplGlfw_CharCallback",
location="imgui_impl_glfw:62",
location="imgui_impl_glfw:64",
ov_cimguiname="ImGui_ImplGlfw_CharCallback",
ret="void",
signature="(GLFWwindow*,unsigned int)",
@@ -33,11 +32,10 @@ local t={
type="int"}},
argsoriginal="(GLFWwindow* window,int entered)",
call_args="(window,entered)",
call_args_old="(window,entered)",
cimguiname="ImGui_ImplGlfw_CursorEnterCallback",
defaults={},
funcname="ImGui_ImplGlfw_CursorEnterCallback",
location="imgui_impl_glfw:57",
location="imgui_impl_glfw:59",
ov_cimguiname="ImGui_ImplGlfw_CursorEnterCallback",
ret="void",
signature="(GLFWwindow*,int)",
@@ -58,11 +56,10 @@ local t={
type="double"}},
argsoriginal="(GLFWwindow* window,double x,double y)",
call_args="(window,x,y)",
call_args_old="(window,x,y)",
cimguiname="ImGui_ImplGlfw_CursorPosCallback",
defaults={},
funcname="ImGui_ImplGlfw_CursorPosCallback",
location="imgui_impl_glfw:58",
location="imgui_impl_glfw:60",
ov_cimguiname="ImGui_ImplGlfw_CursorPosCallback",
ret="void",
signature="(GLFWwindow*,double,double)",
@@ -77,11 +74,10 @@ local t={
type="GLFWmonitor*"}},
argsoriginal="(GLFWmonitor* monitor)",
call_args="(monitor)",
call_args_old="(monitor)",
cimguiname="ImGui_ImplGlfw_GetContentScaleForMonitor",
defaults={},
funcname="ImGui_ImplGlfw_GetContentScaleForMonitor",
location="imgui_impl_glfw:68",
location="imgui_impl_glfw:70",
ov_cimguiname="ImGui_ImplGlfw_GetContentScaleForMonitor",
ret="float",
signature="(GLFWmonitor*)",
@@ -96,11 +92,10 @@ local t={
type="GLFWwindow*"}},
argsoriginal="(GLFWwindow* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplGlfw_GetContentScaleForWindow",
defaults={},
funcname="ImGui_ImplGlfw_GetContentScaleForWindow",
location="imgui_impl_glfw:67",
location="imgui_impl_glfw:69",
ov_cimguiname="ImGui_ImplGlfw_GetContentScaleForWindow",
ret="float",
signature="(GLFWwindow*)",
@@ -118,11 +113,10 @@ local t={
type="bool"}},
argsoriginal="(GLFWwindow* window,bool install_callbacks)",
call_args="(window,install_callbacks)",
call_args_old="(window,install_callbacks)",
cimguiname="ImGui_ImplGlfw_InitForOpenGL",
defaults={},
funcname="ImGui_ImplGlfw_InitForOpenGL",
location="imgui_impl_glfw:33",
location="imgui_impl_glfw:35",
ov_cimguiname="ImGui_ImplGlfw_InitForOpenGL",
ret="bool",
signature="(GLFWwindow*,bool)",
@@ -140,11 +134,10 @@ local t={
type="bool"}},
argsoriginal="(GLFWwindow* window,bool install_callbacks)",
call_args="(window,install_callbacks)",
call_args_old="(window,install_callbacks)",
cimguiname="ImGui_ImplGlfw_InitForOther",
defaults={},
funcname="ImGui_ImplGlfw_InitForOther",
location="imgui_impl_glfw:35",
location="imgui_impl_glfw:37",
ov_cimguiname="ImGui_ImplGlfw_InitForOther",
ret="bool",
signature="(GLFWwindow*,bool)",
@@ -162,11 +155,10 @@ local t={
type="bool"}},
argsoriginal="(GLFWwindow* window,bool install_callbacks)",
call_args="(window,install_callbacks)",
call_args_old="(window,install_callbacks)",
cimguiname="ImGui_ImplGlfw_InitForVulkan",
defaults={},
funcname="ImGui_ImplGlfw_InitForVulkan",
location="imgui_impl_glfw:34",
location="imgui_impl_glfw:36",
ov_cimguiname="ImGui_ImplGlfw_InitForVulkan",
ret="bool",
signature="(GLFWwindow*,bool)",
@@ -181,11 +173,10 @@ local t={
type="GLFWwindow*"}},
argsoriginal="(GLFWwindow* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplGlfw_InstallCallbacks",
defaults={},
funcname="ImGui_ImplGlfw_InstallCallbacks",
location="imgui_impl_glfw:48",
location="imgui_impl_glfw:50",
ov_cimguiname="ImGui_ImplGlfw_InstallCallbacks",
ret="void",
signature="(GLFWwindow*)",
@@ -212,11 +203,10 @@ local t={
type="int"}},
argsoriginal="(GLFWwindow* window,int key,int scancode,int action,int mods)",
call_args="(window,key,scancode,action,mods)",
call_args_old="(window,key,scancode,action,mods)",
cimguiname="ImGui_ImplGlfw_KeyCallback",
defaults={},
funcname="ImGui_ImplGlfw_KeyCallback",
location="imgui_impl_glfw:61",
location="imgui_impl_glfw:63",
ov_cimguiname="ImGui_ImplGlfw_KeyCallback",
ret="void",
signature="(GLFWwindow*,int,int,int,int)",
@@ -234,11 +224,10 @@ local t={
type="int"}},
argsoriginal="(GLFWmonitor* monitor,int event)",
call_args="(monitor,event)",
call_args_old="(monitor,event)",
cimguiname="ImGui_ImplGlfw_MonitorCallback",
defaults={},
funcname="ImGui_ImplGlfw_MonitorCallback",
location="imgui_impl_glfw:63",
location="imgui_impl_glfw:65",
ov_cimguiname="ImGui_ImplGlfw_MonitorCallback",
ret="void",
signature="(GLFWmonitor*,int)",
@@ -262,11 +251,10 @@ local t={
type="int"}},
argsoriginal="(GLFWwindow* window,int button,int action,int mods)",
call_args="(window,button,action,mods)",
call_args_old="(window,button,action,mods)",
cimguiname="ImGui_ImplGlfw_MouseButtonCallback",
defaults={},
funcname="ImGui_ImplGlfw_MouseButtonCallback",
location="imgui_impl_glfw:59",
location="imgui_impl_glfw:61",
ov_cimguiname="ImGui_ImplGlfw_MouseButtonCallback",
ret="void",
signature="(GLFWwindow*,int,int,int)",
@@ -278,11 +266,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplGlfw_NewFrame",
defaults={},
funcname="ImGui_ImplGlfw_NewFrame",
location="imgui_impl_glfw:37",
location="imgui_impl_glfw:39",
ov_cimguiname="ImGui_ImplGlfw_NewFrame",
ret="void",
signature="()",
@@ -297,11 +284,10 @@ local t={
type="GLFWwindow*"}},
argsoriginal="(GLFWwindow* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplGlfw_RestoreCallbacks",
defaults={},
funcname="ImGui_ImplGlfw_RestoreCallbacks",
location="imgui_impl_glfw:49",
location="imgui_impl_glfw:51",
ov_cimguiname="ImGui_ImplGlfw_RestoreCallbacks",
ret="void",
signature="(GLFWwindow*)",
@@ -322,11 +308,10 @@ local t={
type="double"}},
argsoriginal="(GLFWwindow* window,double xoffset,double yoffset)",
call_args="(window,xoffset,yoffset)",
call_args_old="(window,xoffset,yoffset)",
cimguiname="ImGui_ImplGlfw_ScrollCallback",
defaults={},
funcname="ImGui_ImplGlfw_ScrollCallback",
location="imgui_impl_glfw:60",
location="imgui_impl_glfw:62",
ov_cimguiname="ImGui_ImplGlfw_ScrollCallback",
ret="void",
signature="(GLFWwindow*,double,double)",
@@ -341,11 +326,10 @@ local t={
type="bool"}},
argsoriginal="(bool chain_for_all_windows)",
call_args="(chain_for_all_windows)",
call_args_old="(chain_for_all_windows)",
cimguiname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
defaults={},
funcname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
location="imgui_impl_glfw:53",
location="imgui_impl_glfw:55",
ov_cimguiname="ImGui_ImplGlfw_SetCallbacksChainForAllWindows",
ret="void",
signature="(bool)",
@@ -357,11 +341,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplGlfw_Shutdown",
defaults={},
funcname="ImGui_ImplGlfw_Shutdown",
location="imgui_impl_glfw:36",
location="imgui_impl_glfw:38",
ov_cimguiname="ImGui_ImplGlfw_Shutdown",
ret="void",
signature="()",
@@ -376,11 +359,10 @@ local t={
type="int"}},
argsoriginal="(int milliseconds)",
call_args="(milliseconds)",
call_args_old="(milliseconds)",
cimguiname="ImGui_ImplGlfw_Sleep",
defaults={},
funcname="ImGui_ImplGlfw_Sleep",
location="imgui_impl_glfw:66",
location="imgui_impl_glfw:68",
ov_cimguiname="ImGui_ImplGlfw_Sleep",
ret="void",
signature="(int)",
@@ -398,11 +380,10 @@ local t={
type="int"}},
argsoriginal="(GLFWwindow* window,int focused)",
call_args="(window,focused)",
call_args_old="(window,focused)",
cimguiname="ImGui_ImplGlfw_WindowFocusCallback",
defaults={},
funcname="ImGui_ImplGlfw_WindowFocusCallback",
location="imgui_impl_glfw:56",
location="imgui_impl_glfw:58",
ov_cimguiname="ImGui_ImplGlfw_WindowFocusCallback",
ret="void",
signature="(GLFWwindow*,int)",
@@ -414,11 +395,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL2_CreateDeviceObjects",
defaults={},
funcname="ImGui_ImplOpenGL2_CreateDeviceObjects",
location="imgui_impl_opengl2:38",
location="imgui_impl_opengl2:39",
ov_cimguiname="ImGui_ImplOpenGL2_CreateDeviceObjects",
ret="bool",
signature="()",
@@ -430,11 +410,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
defaults={},
funcname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
location="imgui_impl_opengl2:39",
location="imgui_impl_opengl2:40",
ov_cimguiname="ImGui_ImplOpenGL2_DestroyDeviceObjects",
ret="void",
signature="()",
@@ -446,11 +425,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL2_Init",
defaults={},
funcname="ImGui_ImplOpenGL2_Init",
location="imgui_impl_opengl2:32",
location="imgui_impl_opengl2:33",
ov_cimguiname="ImGui_ImplOpenGL2_Init",
ret="bool",
signature="()",
@@ -462,11 +440,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL2_NewFrame",
defaults={},
funcname="ImGui_ImplOpenGL2_NewFrame",
location="imgui_impl_opengl2:34",
location="imgui_impl_opengl2:35",
ov_cimguiname="ImGui_ImplOpenGL2_NewFrame",
ret="void",
signature="()",
@@ -481,11 +458,10 @@ local t={
type="ImDrawData*"}},
argsoriginal="(ImDrawData* draw_data)",
call_args="(draw_data)",
call_args_old="(draw_data)",
cimguiname="ImGui_ImplOpenGL2_RenderDrawData",
defaults={},
funcname="ImGui_ImplOpenGL2_RenderDrawData",
location="imgui_impl_opengl2:35",
location="imgui_impl_opengl2:36",
ov_cimguiname="ImGui_ImplOpenGL2_RenderDrawData",
ret="void",
signature="(ImDrawData*)",
@@ -497,11 +473,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL2_Shutdown",
defaults={},
funcname="ImGui_ImplOpenGL2_Shutdown",
location="imgui_impl_opengl2:33",
location="imgui_impl_opengl2:34",
ov_cimguiname="ImGui_ImplOpenGL2_Shutdown",
ret="void",
signature="()",
@@ -516,11 +491,10 @@ local t={
type="ImTextureData*"}},
argsoriginal="(ImTextureData* tex)",
call_args="(tex)",
call_args_old="(tex)",
cimguiname="ImGui_ImplOpenGL2_UpdateTexture",
defaults={},
funcname="ImGui_ImplOpenGL2_UpdateTexture",
location="imgui_impl_opengl2:42",
location="imgui_impl_opengl2:43",
ov_cimguiname="ImGui_ImplOpenGL2_UpdateTexture",
ret="void",
signature="(ImTextureData*)",
@@ -532,11 +506,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL3_CreateDeviceObjects",
defaults={},
funcname="ImGui_ImplOpenGL3_CreateDeviceObjects",
location="imgui_impl_opengl3:40",
location="imgui_impl_opengl3:41",
ov_cimguiname="ImGui_ImplOpenGL3_CreateDeviceObjects",
ret="bool",
signature="()",
@@ -548,11 +521,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
defaults={},
funcname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
location="imgui_impl_opengl3:41",
location="imgui_impl_opengl3:42",
ov_cimguiname="ImGui_ImplOpenGL3_DestroyDeviceObjects",
ret="void",
signature="()",
@@ -564,11 +536,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL3_GetRenderState",
defaults={},
funcname="ImGui_ImplOpenGL3_GetRenderState",
location="imgui_impl_opengl3:79",
location="imgui_impl_opengl3:80",
ov_cimguiname="ImGui_ImplOpenGL3_GetRenderState",
ret="ImGui_ImplOpenGL3_RenderState*",
signature="()",
@@ -583,12 +554,11 @@ local t={
type="const char*"}},
argsoriginal="(const char* glsl_version=nullptr)",
call_args="(glsl_version)",
call_args_old="(glsl_version)",
cimguiname="ImGui_ImplOpenGL3_Init",
defaults={
glsl_version="nullptr"},
funcname="ImGui_ImplOpenGL3_Init",
location="imgui_impl_opengl3:34",
location="imgui_impl_opengl3:35",
ov_cimguiname="ImGui_ImplOpenGL3_Init",
ret="bool",
signature="(const char*)",
@@ -600,11 +570,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL3_NewFrame",
defaults={},
funcname="ImGui_ImplOpenGL3_NewFrame",
location="imgui_impl_opengl3:36",
location="imgui_impl_opengl3:37",
ov_cimguiname="ImGui_ImplOpenGL3_NewFrame",
ret="void",
signature="()",
@@ -619,11 +588,10 @@ local t={
type="ImDrawData*"}},
argsoriginal="(ImDrawData* draw_data)",
call_args="(draw_data)",
call_args_old="(draw_data)",
cimguiname="ImGui_ImplOpenGL3_RenderDrawData",
defaults={},
funcname="ImGui_ImplOpenGL3_RenderDrawData",
location="imgui_impl_opengl3:37",
location="imgui_impl_opengl3:38",
ov_cimguiname="ImGui_ImplOpenGL3_RenderDrawData",
ret="void",
signature="(ImDrawData*)",
@@ -635,11 +603,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplOpenGL3_Shutdown",
defaults={},
funcname="ImGui_ImplOpenGL3_Shutdown",
location="imgui_impl_opengl3:35",
location="imgui_impl_opengl3:36",
ov_cimguiname="ImGui_ImplOpenGL3_Shutdown",
ret="void",
signature="()",
@@ -654,11 +621,10 @@ local t={
type="ImTextureData*"}},
argsoriginal="(ImTextureData* tex)",
call_args="(tex)",
call_args_old="(tex)",
cimguiname="ImGui_ImplOpenGL3_UpdateTexture",
defaults={},
funcname="ImGui_ImplOpenGL3_UpdateTexture",
location="imgui_impl_opengl3:44",
location="imgui_impl_opengl3:45",
ov_cimguiname="ImGui_ImplOpenGL3_UpdateTexture",
ret="void",
signature="(ImTextureData*)",
@@ -673,11 +639,10 @@ local t={
type="int"}},
argsoriginal="(int display_index)",
call_args="(display_index)",
call_args_old="(display_index)",
cimguiname="ImGui_ImplSDL2_GetContentScaleForDisplay",
defaults={},
funcname="ImGui_ImplSDL2_GetContentScaleForDisplay",
location="imgui_impl_sdl2:43",
location="imgui_impl_sdl2:47",
ov_cimguiname="ImGui_ImplSDL2_GetContentScaleForDisplay",
ret="float",
signature="(int)",
@@ -692,11 +657,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL2_GetContentScaleForWindow",
defaults={},
funcname="ImGui_ImplSDL2_GetContentScaleForWindow",
location="imgui_impl_sdl2:42",
location="imgui_impl_sdl2:46",
ov_cimguiname="ImGui_ImplSDL2_GetContentScaleForWindow",
ret="float",
signature="(SDL_Window*)",
@@ -711,11 +675,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL2_InitForD3D",
defaults={},
funcname="ImGui_ImplSDL2_InitForD3D",
location="imgui_impl_sdl2:33",
location="imgui_impl_sdl2:37",
ov_cimguiname="ImGui_ImplSDL2_InitForD3D",
ret="bool",
signature="(SDL_Window*)",
@@ -730,11 +693,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL2_InitForMetal",
defaults={},
funcname="ImGui_ImplSDL2_InitForMetal",
location="imgui_impl_sdl2:34",
location="imgui_impl_sdl2:38",
ov_cimguiname="ImGui_ImplSDL2_InitForMetal",
ret="bool",
signature="(SDL_Window*)",
@@ -752,11 +714,10 @@ local t={
type="void*"}},
argsoriginal="(SDL_Window* window,void* sdl_gl_context)",
call_args="(window,sdl_gl_context)",
call_args_old="(window,sdl_gl_context)",
cimguiname="ImGui_ImplSDL2_InitForOpenGL",
defaults={},
funcname="ImGui_ImplSDL2_InitForOpenGL",
location="imgui_impl_sdl2:31",
location="imgui_impl_sdl2:35",
ov_cimguiname="ImGui_ImplSDL2_InitForOpenGL",
ret="bool",
signature="(SDL_Window*,void*)",
@@ -771,11 +732,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL2_InitForOther",
defaults={},
funcname="ImGui_ImplSDL2_InitForOther",
location="imgui_impl_sdl2:36",
location="imgui_impl_sdl2:40",
ov_cimguiname="ImGui_ImplSDL2_InitForOther",
ret="bool",
signature="(SDL_Window*)",
@@ -793,11 +753,10 @@ local t={
type="SDL_Renderer*"}},
argsoriginal="(SDL_Window* window,SDL_Renderer* renderer)",
call_args="(window,renderer)",
call_args_old="(window,renderer)",
cimguiname="ImGui_ImplSDL2_InitForSDLRenderer",
defaults={},
funcname="ImGui_ImplSDL2_InitForSDLRenderer",
location="imgui_impl_sdl2:35",
location="imgui_impl_sdl2:39",
ov_cimguiname="ImGui_ImplSDL2_InitForSDLRenderer",
ret="bool",
signature="(SDL_Window*,SDL_Renderer*)",
@@ -812,11 +771,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL2_InitForVulkan",
defaults={},
funcname="ImGui_ImplSDL2_InitForVulkan",
location="imgui_impl_sdl2:32",
location="imgui_impl_sdl2:36",
ov_cimguiname="ImGui_ImplSDL2_InitForVulkan",
ret="bool",
signature="(SDL_Window*)",
@@ -828,11 +786,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplSDL2_NewFrame",
defaults={},
funcname="ImGui_ImplSDL2_NewFrame",
location="imgui_impl_sdl2:38",
location="imgui_impl_sdl2:42",
ov_cimguiname="ImGui_ImplSDL2_NewFrame",
ret="void",
signature="()",
@@ -847,11 +804,10 @@ local t={
type="const SDL_Event*"}},
argsoriginal="(const SDL_Event* event)",
call_args="(event)",
call_args_old="(event)",
cimguiname="ImGui_ImplSDL2_ProcessEvent",
defaults={},
funcname="ImGui_ImplSDL2_ProcessEvent",
location="imgui_impl_sdl2:39",
location="imgui_impl_sdl2:43",
ov_cimguiname="ImGui_ImplSDL2_ProcessEvent",
ret="bool",
signature="(const SDL_Event*)",
@@ -872,13 +828,12 @@ local t={
type="int"}},
argsoriginal="(ImGui_ImplSDL2_GamepadMode mode,struct _SDL_GameController** manual_gamepads_array=nullptr,int manual_gamepads_count=-1)",
call_args="(mode,manual_gamepads_array,manual_gamepads_count)",
call_args_old="(mode,manual_gamepads_array,manual_gamepads_count)",
cimguiname="ImGui_ImplSDL2_SetGamepadMode",
defaults={
manual_gamepads_array="nullptr",
manual_gamepads_count="-1"},
funcname="ImGui_ImplSDL2_SetGamepadMode",
location="imgui_impl_sdl2:48",
location="imgui_impl_sdl2:52",
ov_cimguiname="ImGui_ImplSDL2_SetGamepadMode",
ret="void",
signature="(ImGui_ImplSDL2_GamepadMode,struct _SDL_GameController**,int)",
@@ -893,11 +848,10 @@ local t={
type="ImGui_ImplSDL2_MouseCaptureMode"}},
argsoriginal="(ImGui_ImplSDL2_MouseCaptureMode mode)",
call_args="(mode)",
call_args_old="(mode)",
cimguiname="ImGui_ImplSDL2_SetMouseCaptureMode",
defaults={},
funcname="ImGui_ImplSDL2_SetMouseCaptureMode",
location="imgui_impl_sdl2:55",
location="imgui_impl_sdl2:59",
ov_cimguiname="ImGui_ImplSDL2_SetMouseCaptureMode",
ret="void",
signature="(ImGui_ImplSDL2_MouseCaptureMode)",
@@ -909,11 +863,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplSDL2_Shutdown",
defaults={},
funcname="ImGui_ImplSDL2_Shutdown",
location="imgui_impl_sdl2:37",
location="imgui_impl_sdl2:41",
ov_cimguiname="ImGui_ImplSDL2_Shutdown",
ret="void",
signature="()",
@@ -928,11 +881,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL3_InitForD3D",
defaults={},
funcname="ImGui_ImplSDL3_InitForD3D",
location="imgui_impl_sdl3:33",
location="imgui_impl_sdl3:36",
ov_cimguiname="ImGui_ImplSDL3_InitForD3D",
ret="bool",
signature="(SDL_Window*)",
@@ -947,11 +899,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL3_InitForMetal",
defaults={},
funcname="ImGui_ImplSDL3_InitForMetal",
location="imgui_impl_sdl3:34",
location="imgui_impl_sdl3:37",
ov_cimguiname="ImGui_ImplSDL3_InitForMetal",
ret="bool",
signature="(SDL_Window*)",
@@ -969,11 +920,10 @@ local t={
type="void*"}},
argsoriginal="(SDL_Window* window,void* sdl_gl_context)",
call_args="(window,sdl_gl_context)",
call_args_old="(window,sdl_gl_context)",
cimguiname="ImGui_ImplSDL3_InitForOpenGL",
defaults={},
funcname="ImGui_ImplSDL3_InitForOpenGL",
location="imgui_impl_sdl3:31",
location="imgui_impl_sdl3:34",
ov_cimguiname="ImGui_ImplSDL3_InitForOpenGL",
ret="bool",
signature="(SDL_Window*,void*)",
@@ -988,11 +938,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL3_InitForOther",
defaults={},
funcname="ImGui_ImplSDL3_InitForOther",
location="imgui_impl_sdl3:37",
location="imgui_impl_sdl3:40",
ov_cimguiname="ImGui_ImplSDL3_InitForOther",
ret="bool",
signature="(SDL_Window*)",
@@ -1007,11 +956,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL3_InitForSDLGPU",
defaults={},
funcname="ImGui_ImplSDL3_InitForSDLGPU",
location="imgui_impl_sdl3:36",
location="imgui_impl_sdl3:39",
ov_cimguiname="ImGui_ImplSDL3_InitForSDLGPU",
ret="bool",
signature="(SDL_Window*)",
@@ -1029,11 +977,10 @@ local t={
type="SDL_Renderer*"}},
argsoriginal="(SDL_Window* window,SDL_Renderer* renderer)",
call_args="(window,renderer)",
call_args_old="(window,renderer)",
cimguiname="ImGui_ImplSDL3_InitForSDLRenderer",
defaults={},
funcname="ImGui_ImplSDL3_InitForSDLRenderer",
location="imgui_impl_sdl3:35",
location="imgui_impl_sdl3:38",
ov_cimguiname="ImGui_ImplSDL3_InitForSDLRenderer",
ret="bool",
signature="(SDL_Window*,SDL_Renderer*)",
@@ -1048,11 +995,10 @@ local t={
type="SDL_Window*"}},
argsoriginal="(SDL_Window* window)",
call_args="(window)",
call_args_old="(window)",
cimguiname="ImGui_ImplSDL3_InitForVulkan",
defaults={},
funcname="ImGui_ImplSDL3_InitForVulkan",
location="imgui_impl_sdl3:32",
location="imgui_impl_sdl3:35",
ov_cimguiname="ImGui_ImplSDL3_InitForVulkan",
ret="bool",
signature="(SDL_Window*)",
@@ -1064,11 +1010,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplSDL3_NewFrame",
defaults={},
funcname="ImGui_ImplSDL3_NewFrame",
location="imgui_impl_sdl3:39",
location="imgui_impl_sdl3:42",
ov_cimguiname="ImGui_ImplSDL3_NewFrame",
ret="void",
signature="()",
@@ -1083,11 +1028,10 @@ local t={
type="const SDL_Event*"}},
argsoriginal="(const SDL_Event* event)",
call_args="(event)",
call_args_old="(event)",
cimguiname="ImGui_ImplSDL3_ProcessEvent",
defaults={},
funcname="ImGui_ImplSDL3_ProcessEvent",
location="imgui_impl_sdl3:40",
location="imgui_impl_sdl3:43",
ov_cimguiname="ImGui_ImplSDL3_ProcessEvent",
ret="bool",
signature="(const SDL_Event*)",
@@ -1108,13 +1052,12 @@ local t={
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)",
call_args_old="(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:45",
location="imgui_impl_sdl3:48",
ov_cimguiname="ImGui_ImplSDL3_SetGamepadMode",
ret="void",
signature="(ImGui_ImplSDL3_GamepadMode,SDL_Gamepad**,int)",
@@ -1129,11 +1072,10 @@ local t={
type="ImGui_ImplSDL3_MouseCaptureMode"}},
argsoriginal="(ImGui_ImplSDL3_MouseCaptureMode mode)",
call_args="(mode)",
call_args_old="(mode)",
cimguiname="ImGui_ImplSDL3_SetMouseCaptureMode",
defaults={},
funcname="ImGui_ImplSDL3_SetMouseCaptureMode",
location="imgui_impl_sdl3:52",
location="imgui_impl_sdl3:55",
ov_cimguiname="ImGui_ImplSDL3_SetMouseCaptureMode",
ret="void",
signature="(ImGui_ImplSDL3_MouseCaptureMode)",
@@ -1145,11 +1087,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplSDL3_Shutdown",
defaults={},
funcname="ImGui_ImplSDL3_Shutdown",
location="imgui_impl_sdl3:38",
location="imgui_impl_sdl3:41",
ov_cimguiname="ImGui_ImplSDL3_Shutdown",
ret="void",
signature="()",
@@ -1191,11 +1132,10 @@ local t={
type="VkImageUsageFlags"}},
argsoriginal="(VkInstance instance,VkPhysicalDevice physical_device,VkDevice device,ImGui_ImplVulkanH_Window* wd,uint32_t queue_family,const VkAllocationCallbacks* allocator,int w,int h,uint32_t min_image_count,VkImageUsageFlags image_usage)",
call_args="(instance,physical_device,device,wd,queue_family,allocator,w,h,min_image_count,image_usage)",
call_args_old="(instance,physical_device,device,wd,queue_family,allocator,w,h,min_image_count,image_usage)",
cimguiname="ImGui_ImplVulkanH_CreateOrResizeWindow",
defaults={},
funcname="ImGui_ImplVulkanH_CreateOrResizeWindow",
location="imgui_impl_vulkan:204",
location="imgui_impl_vulkan:212",
ov_cimguiname="ImGui_ImplVulkanH_CreateOrResizeWindow",
ret="void",
signature="(VkInstance,VkPhysicalDevice,VkDevice,ImGui_ImplVulkanH_Window*,uint32_t,const VkAllocationCallbacks*,int,int,uint32_t,VkImageUsageFlags)",
@@ -1219,11 +1159,10 @@ local t={
type="const VkAllocationCallbacks*"}},
argsoriginal="(VkInstance instance,VkDevice device,ImGui_ImplVulkanH_Window* wd,const VkAllocationCallbacks* allocator)",
call_args="(instance,device,wd,allocator)",
call_args_old="(instance,device,wd,allocator)",
cimguiname="ImGui_ImplVulkanH_DestroyWindow",
defaults={},
funcname="ImGui_ImplVulkanH_DestroyWindow",
location="imgui_impl_vulkan:205",
location="imgui_impl_vulkan:213",
ov_cimguiname="ImGui_ImplVulkanH_DestroyWindow",
ret="void",
signature="(VkInstance,VkDevice,ImGui_ImplVulkanH_Window*,const VkAllocationCallbacks*)",
@@ -1238,16 +1177,33 @@ local t={
type="VkPresentModeKHR"}},
argsoriginal="(VkPresentModeKHR present_mode)",
call_args="(present_mode)",
call_args_old="(present_mode)",
cimguiname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
defaults={},
funcname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
location="imgui_impl_vulkan:210",
location="imgui_impl_vulkan:218",
ov_cimguiname="ImGui_ImplVulkanH_GetMinImageCountFromPresentMode",
ret="int",
signature="(VkPresentModeKHR)",
stname=""},
["(VkPresentModeKHR)"]=nil},
ImGui_ImplVulkanH_GetWindowDataFromViewport={
[1]={
args="(ImGuiViewport* viewport)",
argsT={
[1]={
name="viewport",
type="ImGuiViewport*"}},
argsoriginal="(ImGuiViewport* viewport)",
call_args="(viewport)",
cimguiname="ImGui_ImplVulkanH_GetWindowDataFromViewport",
defaults={},
funcname="ImGui_ImplVulkanH_GetWindowDataFromViewport",
location="imgui_impl_vulkan:219",
ov_cimguiname="ImGui_ImplVulkanH_GetWindowDataFromViewport",
ret="ImGui_ImplVulkanH_Window*",
signature="(ImGuiViewport*)",
stname=""},
["(ImGuiViewport*)"]=nil},
ImGui_ImplVulkanH_SelectPhysicalDevice={
[1]={
args="(VkInstance instance)",
@@ -1257,11 +1213,10 @@ local t={
type="VkInstance"}},
argsoriginal="(VkInstance instance)",
call_args="(instance)",
call_args_old="(instance)",
cimguiname="ImGui_ImplVulkanH_SelectPhysicalDevice",
defaults={},
funcname="ImGui_ImplVulkanH_SelectPhysicalDevice",
location="imgui_impl_vulkan:208",
location="imgui_impl_vulkan:216",
ov_cimguiname="ImGui_ImplVulkanH_SelectPhysicalDevice",
ret="VkPhysicalDevice",
signature="(VkInstance)",
@@ -1285,11 +1240,10 @@ local t={
type="int"}},
argsoriginal="(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkPresentModeKHR* request_modes,int request_modes_count)",
call_args="(physical_device,surface,request_modes,request_modes_count)",
call_args_old="(physical_device,surface,request_modes,request_modes_count)",
cimguiname="ImGui_ImplVulkanH_SelectPresentMode",
defaults={},
funcname="ImGui_ImplVulkanH_SelectPresentMode",
location="imgui_impl_vulkan:207",
location="imgui_impl_vulkan:215",
ov_cimguiname="ImGui_ImplVulkanH_SelectPresentMode",
ret="VkPresentModeKHR",
signature="(VkPhysicalDevice,VkSurfaceKHR,const VkPresentModeKHR*,int)",
@@ -1304,11 +1258,10 @@ local t={
type="VkPhysicalDevice"}},
argsoriginal="(VkPhysicalDevice physical_device)",
call_args="(physical_device)",
call_args_old="(physical_device)",
cimguiname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
defaults={},
funcname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
location="imgui_impl_vulkan:209",
location="imgui_impl_vulkan:217",
ov_cimguiname="ImGui_ImplVulkanH_SelectQueueFamilyIndex",
ret="uint32_t",
signature="(VkPhysicalDevice)",
@@ -1335,11 +1288,10 @@ local t={
type="VkColorSpaceKHR"}},
argsoriginal="(VkPhysicalDevice physical_device,VkSurfaceKHR surface,const VkFormat* request_formats,int request_formats_count,VkColorSpaceKHR request_color_space)",
call_args="(physical_device,surface,request_formats,request_formats_count,request_color_space)",
call_args_old="(physical_device,surface,request_formats,request_formats_count,request_color_space)",
cimguiname="ImGui_ImplVulkanH_SelectSurfaceFormat",
defaults={},
funcname="ImGui_ImplVulkanH_SelectSurfaceFormat",
location="imgui_impl_vulkan:206",
location="imgui_impl_vulkan:214",
ov_cimguiname="ImGui_ImplVulkanH_SelectSurfaceFormat",
ret="VkSurfaceFormatKHR",
signature="(VkPhysicalDevice,VkSurfaceKHR,const VkFormat*,int,VkColorSpaceKHR)",
@@ -1351,12 +1303,11 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
constructor=true,
defaults={},
funcname="ImGui_ImplVulkanH_Window",
location="imgui_impl_vulkan:256",
location="imgui_impl_vulkan:264",
namespace="ImGui_ImplVulkanH_Window",
ov_cimguiname="ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window",
signature="()",
@@ -1373,7 +1324,7 @@ local t={
cimguiname="ImGui_ImplVulkanH_Window_destroy",
defaults={},
destructor=true,
location="imgui_impl_vulkan:256",
location="imgui_impl_vulkan:264",
ov_cimguiname="ImGui_ImplVulkanH_Window_destroy",
ret="void",
signature="(ImGui_ImplVulkanH_Window*)",
@@ -1391,11 +1342,10 @@ local t={
type="VkImageLayout"}},
argsoriginal="(VkImageView image_view,VkImageLayout image_layout)",
call_args="(image_view,image_layout)",
call_args_old="(image_view,image_layout)",
cimguiname="ImGui_ImplVulkan_AddTexture",
defaults={},
funcname="ImGui_ImplVulkan_AddTexture",
location="imgui_impl_vulkan:157",
location="imgui_impl_vulkan:165",
ov_cimguiname="ImGui_ImplVulkan_AddTexture",
ret="VkDescriptorSet",
signature="(VkImageView,VkImageLayout)",
@@ -1410,11 +1360,10 @@ local t={
type="const ImGui_ImplVulkan_PipelineInfo*"}},
argsoriginal="(const ImGui_ImplVulkan_PipelineInfo* info)",
call_args="(info)",
call_args_old="(info)",
cimguiname="ImGui_ImplVulkan_CreateMainPipeline",
defaults={},
funcname="ImGui_ImplVulkan_CreateMainPipeline",
location="imgui_impl_vulkan:151",
location="imgui_impl_vulkan:159",
ov_cimguiname="ImGui_ImplVulkan_CreateMainPipeline",
ret="void",
signature="(const ImGui_ImplVulkan_PipelineInfo*)",
@@ -1429,11 +1378,10 @@ local t={
type="ImGui_ImplVulkan_InitInfo*"}},
argsoriginal="(ImGui_ImplVulkan_InitInfo* info)",
call_args="(info)",
call_args_old="(info)",
cimguiname="ImGui_ImplVulkan_Init",
defaults={},
funcname="ImGui_ImplVulkan_Init",
location="imgui_impl_vulkan:142",
location="imgui_impl_vulkan:150",
ov_cimguiname="ImGui_ImplVulkan_Init",
ret="bool",
signature="(ImGui_ImplVulkan_InitInfo*)",
@@ -1454,12 +1402,11 @@ local t={
type="void*"}},
argsoriginal="(uint32_t api_version,PFN_vkVoidFunction(*loader_func)(const char* function_name,void* user_data),void* user_data=nullptr)",
call_args="(api_version,user_data),user_data)",
call_args_old="(api_version,user_data),user_data)",
cimguiname="ImGui_ImplVulkan_LoadFunctions",
defaults={
user_data="nullptr"},
funcname="ImGui_ImplVulkan_LoadFunctions",
location="imgui_impl_vulkan:166",
location="imgui_impl_vulkan:174",
ov_cimguiname="ImGui_ImplVulkan_LoadFunctions",
ret="bool",
signature="(uint32_t,PFN_vkVoidFunction(*loader_func)(const char* function_name,void*,void*)",
@@ -1471,11 +1418,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplVulkan_NewFrame",
defaults={},
funcname="ImGui_ImplVulkan_NewFrame",
location="imgui_impl_vulkan:144",
location="imgui_impl_vulkan:152",
ov_cimguiname="ImGui_ImplVulkan_NewFrame",
ret="void",
signature="()",
@@ -1490,11 +1436,10 @@ local t={
type="VkDescriptorSet"}},
argsoriginal="(VkDescriptorSet descriptor_set)",
call_args="(descriptor_set)",
call_args_old="(descriptor_set)",
cimguiname="ImGui_ImplVulkan_RemoveTexture",
defaults={},
funcname="ImGui_ImplVulkan_RemoveTexture",
location="imgui_impl_vulkan:158",
location="imgui_impl_vulkan:166",
ov_cimguiname="ImGui_ImplVulkan_RemoveTexture",
ret="void",
signature="(VkDescriptorSet)",
@@ -1515,12 +1460,11 @@ local t={
type="VkPipeline"}},
argsoriginal="(ImDrawData* draw_data,VkCommandBuffer command_buffer,VkPipeline pipeline=0ULL)",
call_args="(draw_data,command_buffer,pipeline)",
call_args_old="(draw_data,command_buffer,pipeline)",
cimguiname="ImGui_ImplVulkan_RenderDrawData",
defaults={
pipeline="0ULL"},
funcname="ImGui_ImplVulkan_RenderDrawData",
location="imgui_impl_vulkan:145",
location="imgui_impl_vulkan:153",
ov_cimguiname="ImGui_ImplVulkan_RenderDrawData",
ret="void",
signature="(ImDrawData*,VkCommandBuffer,VkPipeline)",
@@ -1535,11 +1479,10 @@ local t={
type="uint32_t"}},
argsoriginal="(uint32_t min_image_count)",
call_args="(min_image_count)",
call_args_old="(min_image_count)",
cimguiname="ImGui_ImplVulkan_SetMinImageCount",
defaults={},
funcname="ImGui_ImplVulkan_SetMinImageCount",
location="imgui_impl_vulkan:146",
location="imgui_impl_vulkan:154",
ov_cimguiname="ImGui_ImplVulkan_SetMinImageCount",
ret="void",
signature="(uint32_t)",
@@ -1551,11 +1494,10 @@ local t={
argsT={},
argsoriginal="()",
call_args="()",
call_args_old="()",
cimguiname="ImGui_ImplVulkan_Shutdown",
defaults={},
funcname="ImGui_ImplVulkan_Shutdown",
location="imgui_impl_vulkan:143",
location="imgui_impl_vulkan:151",
ov_cimguiname="ImGui_ImplVulkan_Shutdown",
ret="void",
signature="()",
@@ -1570,11 +1512,10 @@ local t={
type="ImTextureData*"}},
argsoriginal="(ImTextureData* tex)",
call_args="(tex)",
call_args_old="(tex)",
cimguiname="ImGui_ImplVulkan_UpdateTexture",
defaults={},
funcname="ImGui_ImplVulkan_UpdateTexture",
location="imgui_impl_vulkan:154",
location="imgui_impl_vulkan:162",
ov_cimguiname="ImGui_ImplVulkan_UpdateTexture",
ret="void",
signature="(ImTextureData*)",
@@ -1642,6 +1583,7 @@ t.ImGui_ImplSDL3_Shutdown["()"]=t.ImGui_ImplSDL3_Shutdown[1]
t.ImGui_ImplVulkanH_CreateOrResizeWindow["(VkInstance,VkPhysicalDevice,VkDevice,ImGui_ImplVulkanH_Window*,uint32_t,const VkAllocationCallbacks*,int,int,uint32_t,VkImageUsageFlags)"]=t.ImGui_ImplVulkanH_CreateOrResizeWindow[1]
t.ImGui_ImplVulkanH_DestroyWindow["(VkInstance,VkDevice,ImGui_ImplVulkanH_Window*,const VkAllocationCallbacks*)"]=t.ImGui_ImplVulkanH_DestroyWindow[1]
t.ImGui_ImplVulkanH_GetMinImageCountFromPresentMode["(VkPresentModeKHR)"]=t.ImGui_ImplVulkanH_GetMinImageCountFromPresentMode[1]
t.ImGui_ImplVulkanH_GetWindowDataFromViewport["(ImGuiViewport*)"]=t.ImGui_ImplVulkanH_GetWindowDataFromViewport[1]
t.ImGui_ImplVulkanH_SelectPhysicalDevice["(VkInstance)"]=t.ImGui_ImplVulkanH_SelectPhysicalDevice[1]
t.ImGui_ImplVulkanH_SelectPresentMode["(VkPhysicalDevice,VkSurfaceKHR,const VkPresentModeKHR*,int)"]=t.ImGui_ImplVulkanH_SelectPresentMode[1]
t.ImGui_ImplVulkanH_SelectQueueFamilyIndex["(VkPhysicalDevice)"]=t.ImGui_ImplVulkanH_SelectQueueFamilyIndex[1]

View File

@@ -117,17 +117,13 @@ igCombo 3
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
2 bool igCombo_Str (const char*,int*,const char*,int)
3 bool igCombo_FnStrPtr (const char*,int*,const char*(*)(void*,int),void*,int,int)
igGetBackgroundDrawList 2
1 ImDrawList* igGetBackgroundDrawList_Nil ()
2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
igGetColorU32 3
1 ImU32 igGetColorU32_Col (ImGuiCol,float)
2 ImU32 igGetColorU32_Vec4 (const ImVec4)
3 ImU32 igGetColorU32_U32 (ImU32,float)
igGetForegroundDrawList 3
1 ImDrawList* igGetForegroundDrawList_Nil ()
igGetForegroundDrawList 2
1 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
igGetID 4
1 ImGuiID igGetID_Str (const char*)
2 ImGuiID igGetID_StrStr (const char*,const char*)
@@ -312,4 +308,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*)
218 overloaded
215 overloaded

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -48,6 +48,7 @@
"ImGuiContext": "struct ImGuiContext",
"ImGuiContextHook": "struct ImGuiContextHook",
"ImGuiContextHookCallback": "void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);",
"ImGuiDataAuthority": "unsigned int",
"ImGuiDataType": "int",
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
"ImGuiDataTypeStorage": "struct ImGuiDataTypeStorage",
@@ -57,6 +58,11 @@
"ImGuiDebugItemPathQuery": "struct ImGuiDebugItemPathQuery",
"ImGuiDebugLogFlags": "int",
"ImGuiDemoMarkerCallback": "void (*)(const char* file, int line, const char* section);",
"ImGuiDockContext": "struct ImGuiDockContext",
"ImGuiDockNode": "struct ImGuiDockNode",
"ImGuiDockNodeFlags": "int",
"ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings",
"ImGuiDockRequest": "struct ImGuiDockRequest",
"ImGuiDragDropFlags": "int",
"ImGuiErrorCallback": "void (*)(ImGuiContext* ctx, void* user_data, const char* msg);",
"ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState",
@@ -74,6 +80,7 @@
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
"ImGuiInputEventMouseViewport": "struct ImGuiInputEventMouseViewport",
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
"ImGuiInputEventText": "struct ImGuiInputEventText",
"ImGuiInputFlags": "int",
@@ -124,6 +131,7 @@
"ImGuiPayload": "struct ImGuiPayload",
"ImGuiPlatformIO": "struct ImGuiPlatformIO",
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
"ImGuiPlatformMonitor": "struct ImGuiPlatformMonitor",
"ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
@@ -185,6 +193,8 @@
"ImGuiViewportP": "struct ImGuiViewportP",
"ImGuiWindow": "struct ImGuiWindow",
"ImGuiWindowBgClickFlags": "int",
"ImGuiWindowClass": "struct ImGuiWindowClass",
"ImGuiWindowDockStyle": "struct ImGuiWindowDockStyle",
"ImGuiWindowFlags": "int",
"ImGuiWindowRefreshFlags": "int",
"ImGuiWindowSettings": "struct ImGuiWindowSettings",

View File

@@ -48,6 +48,7 @@ local t={
ImGuiContext="struct ImGuiContext",
ImGuiContextHook="struct ImGuiContextHook",
ImGuiContextHookCallback="void (*)(ImGuiContext* ctx, ImGuiContextHook* hook);",
ImGuiDataAuthority="unsigned int",
ImGuiDataType="int",
ImGuiDataTypeInfo="struct ImGuiDataTypeInfo",
ImGuiDataTypeStorage="struct ImGuiDataTypeStorage",
@@ -57,6 +58,11 @@ local t={
ImGuiDebugItemPathQuery="struct ImGuiDebugItemPathQuery",
ImGuiDebugLogFlags="int",
ImGuiDemoMarkerCallback="void (*)(const char* file, int line, const char* section);",
ImGuiDockContext="struct ImGuiDockContext",
ImGuiDockNode="struct ImGuiDockNode",
ImGuiDockNodeFlags="int",
ImGuiDockNodeSettings="struct ImGuiDockNodeSettings",
ImGuiDockRequest="struct ImGuiDockRequest",
ImGuiDragDropFlags="int",
ImGuiErrorCallback="void (*)(ImGuiContext* ctx, void* user_data, const char* msg);",
ImGuiErrorRecoveryState="struct ImGuiErrorRecoveryState",
@@ -74,6 +80,7 @@ local t={
ImGuiInputEventKey="struct ImGuiInputEventKey",
ImGuiInputEventMouseButton="struct ImGuiInputEventMouseButton",
ImGuiInputEventMousePos="struct ImGuiInputEventMousePos",
ImGuiInputEventMouseViewport="struct ImGuiInputEventMouseViewport",
ImGuiInputEventMouseWheel="struct ImGuiInputEventMouseWheel",
ImGuiInputEventText="struct ImGuiInputEventText",
ImGuiInputFlags="int",
@@ -124,6 +131,7 @@ local t={
ImGuiPayload="struct ImGuiPayload",
ImGuiPlatformIO="struct ImGuiPlatformIO",
ImGuiPlatformImeData="struct ImGuiPlatformImeData",
ImGuiPlatformMonitor="struct ImGuiPlatformMonitor",
ImGuiPopupData="struct ImGuiPopupData",
ImGuiPopupFlags="int",
ImGuiPtrOrIndex="struct ImGuiPtrOrIndex",
@@ -185,6 +193,8 @@ local t={
ImGuiViewportP="struct ImGuiViewportP",
ImGuiWindow="struct ImGuiWindow",
ImGuiWindowBgClickFlags="int",
ImGuiWindowClass="struct ImGuiWindowClass",
ImGuiWindowDockStyle="struct ImGuiWindowDockStyle",
ImGuiWindowFlags="int",
ImGuiWindowRefreshFlags="int",
ImGuiWindowSettings="struct ImGuiWindowSettings",

2
imgui

Submodule imgui updated: f1cc2ae15e...b48d1afbe8