Compare commits

..

19 Commits
1.84.1 ... 1.86

Author SHA1 Message Date
Victor Bombi
afce852875 Merge branch 'docking_inter' 2021-12-24 11:54:12 +01:00
Victor Bombi
a21aa1d613 pull imgui 1.86 and generate 2021-12-24 11:34:47 +01:00
Victor Bombi
e938d7e0f5 Merge branch 'docking_inter' 2021-12-06 19:41:17 +01:00
Victor Bombi
ff3bb81b34 cpp2ffi: allow __cdecl keyword in functype 2021-12-06 19:38:53 +01:00
Victor Bombi
05d7db048c Merge branch 'docking_inter' 2021-10-18 19:17:22 +02:00
Victor Bombi
ae00a9b604 pull imgui docking 1.85 and generate 2021-10-18 18:14:44 +02:00
Victor Bombi
b679737444 Merge branch 'docking_inter' 2021-09-13 11:43:10 +02:00
Victor Bombi
d9916720aa generation 2021-09-13 11:39:44 +02:00
Victor Bombi
66e28665da cpp2ffi: add struct keyword (needed when struct tag name equals member name) 2021-09-13 11:39:14 +02:00
N/A
9768b42785 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-10 11:10:15 +02:00
N/A
ec64ca94cc Disable unnecessary pragmas that break generator with the cl compiler 2021-09-10 11:10:15 +02:00
N/A
e1ccdc1764 Implement defines extraction with cl compiler 2021-09-10 11:10:15 +02:00
Victor Bombi
00946c45e4 Merge pull request #190 from THE-FYP/fix-cl
Fix generation with MSVC
2021-09-10 11:05:41 +02:00
N/A
9ac28a2d94 Fix flag arguments parsed wrong due to a bug in compiler check 2021-09-09 23:01:57 +03:00
N/A
d0e4aaa2c0 Disable unnecessary pragmas that break generator with the cl compiler 2021-09-09 22:55:55 +03:00
N/A
7362cca7ec Implement defines extraction with cl compiler 2021-09-09 22:49:28 +03:00
Victor Bombi
17ffa736d3 backend_test: use custom imgui gl3w 2021-08-22 13:50:21 +02:00
Victor Bombi
873c03c367 backend_test: use custom imgui gl3w 2021-08-22 13:48:02 +02:00
Victor Bombi
42873df6e3 pull imgui docking 1.84.1 and generate 2021-08-22 12:07:03 +02:00
18 changed files with 5843 additions and 3700 deletions

View File

@@ -11,7 +11,7 @@ History:
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit) Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
Notes: Notes:
* currently this wrapper is based on version [1.84.1 of Dear ImGui with internal api] * currently this wrapper is based on version [1.86 of Dear ImGui with internal api]
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped. * only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project. * if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty. * All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.

View File

@@ -52,7 +52,7 @@ if(IMGUI_FREETYPE)
endif(IMGUI_FREETYPE) endif(IMGUI_FREETYPE)
#opengl3 #opengl3
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp ../imgui/examples/libs/gl3w/GL/gl3w.c) list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
list(APPEND IMGUI_SOURCES ./cimgui_extras.cpp) list(APPEND IMGUI_SOURCES ./cimgui_extras.cpp)
include_directories(../imgui/examples/libs/gl3w) include_directories(../imgui/examples/libs/gl3w)
if(WIN32) if(WIN32)

View File

@@ -1,11 +1,10 @@
#include "../imgui/imgui.h" #include "../imgui/imgui.h"
// GL3W/GLFW #include "../imgui/backends/imgui_impl_opengl3_loader.h"
#include <GL/gl3w.h> // This example is using gl3w to access OpenGL functions (because it is small). You may use glew/glad/glLoadGen/etc. whatever already works for you.
//making it accesible for luajit //making it accesible for luajit
#ifdef _WIN32 #ifdef _WIN32
extern "C" __declspec( dllexport ) int Do_gl3wInit(void){ return gl3wInit();}; extern "C" __declspec( dllexport ) int Do_gl3wInit(void){ return imgl3wInit();};
#else #else
extern "C" int Do_gl3wInit(void){ return gl3wInit();}; extern "C" int Do_gl3wInit(void){ return imgl3wInit();};
#endif #endif

View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.84.1" from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.86" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api //with imgui_internal.h api
#include "./imgui/imgui.h" #include "./imgui/imgui.h"
@@ -83,6 +83,10 @@ CIMGUI_API void igShowMetricsWindow(bool* p_open)
{ {
return ImGui::ShowMetricsWindow(p_open); return ImGui::ShowMetricsWindow(p_open);
} }
CIMGUI_API void igShowStackToolWindow(bool* p_open)
{
return ImGui::ShowStackToolWindow(p_open);
}
CIMGUI_API void igShowAboutWindow(bool* p_open) CIMGUI_API void igShowAboutWindow(bool* p_open)
{ {
return ImGui::ShowAboutWindow(p_open); return ImGui::ShowAboutWindow(p_open);
@@ -255,10 +259,6 @@ CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut)
{ {
*pOut = ImGui::GetWindowContentRegionMax(); *pOut = ImGui::GetWindowContentRegionMax();
} }
CIMGUI_API float igGetWindowContentRegionWidth()
{
return ImGui::GetWindowContentRegionWidth();
}
CIMGUI_API float igGetScrollX() CIMGUI_API float igGetScrollX()
{ {
return ImGui::GetScrollX(); return ImGui::GetScrollX();
@@ -1396,10 +1396,6 @@ CIMGUI_API ImGuiStorage* igGetStateStorage()
{ {
return ImGui::GetStateStorage(); return ImGui::GetStateStorage();
} }
CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end)
{
return ImGui::CalcListClipping(items_count,items_height,out_items_display_start,out_items_display_end);
}
CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags) CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags)
{ {
return ImGui::BeginChildFrame(id,size,flags); return ImGui::BeginChildFrame(id,size,flags);
@@ -1468,6 +1464,10 @@ CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button)
{ {
return ImGui::IsMouseDoubleClicked(button); return ImGui::IsMouseDoubleClicked(button);
} }
CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button)
{
return ImGui::GetMouseClickedCount(button);
}
CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip) CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip)
{ {
return ImGui::IsMouseHoveringRect(r_min,r_max,clip); return ImGui::IsMouseHoveringRect(r_min,r_max,clip);
@@ -1580,13 +1580,17 @@ CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str)
{ {
return self->AddInputCharactersUTF8(str); return self->AddInputCharactersUTF8(str);
} }
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused)
{
return self->AddFocusEvent(focused);
}
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self) CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
{ {
return self->ClearInputCharacters(); return self->ClearInputCharacters();
} }
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused) CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self)
{ {
return self->AddFocusEvent(focused); return self->ClearInputKeys();
} }
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void) CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
{ {
@@ -1860,6 +1864,10 @@ CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
{ {
return self->Step(); return self->Step();
} }
CIMGUI_API void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self,int item_min,int item_max)
{
return self->ForceDisplayRangeByIndices(item_min,item_max);
}
CIMGUI_API ImColor* ImColor_ImColor_Nil(void) CIMGUI_API ImColor* ImColor_ImColor_Nil(void)
{ {
return IM_NEW(ImColor)(); return IM_NEW(ImColor)();
@@ -2480,6 +2488,10 @@ CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed)
{ {
return ImHashStr(data,data_size,seed); return ImHashStr(data,data_size,seed);
} }
CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*))
{
return ImQsort(base,count,size_of_element,compare_func);
}
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b) CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b)
{ {
return ImAlphaBlendColors(col_a,col_b); return ImAlphaBlendColors(col_a,col_b);
@@ -2748,6 +2760,10 @@ CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs)
{ {
*pOut = ImMul(lhs,rhs); *pOut = ImMul(lhs,rhs);
} }
CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f)
{
return ImIsFloatAboveGuaranteedIntegerPrecision(f);
}
CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t) CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t)
{ {
*pOut = ImBezierCubicCalc(p1,p2,p3,p4,t); *pOut = ImBezierCubicCalc(p1,p2,p3,p4,t);
@@ -3108,18 +3124,6 @@ CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void)
{
return IM_NEW(ImGuiNavItemData)();
}
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self)
{
return self->Clear();
}
CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void) CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void)
{ {
return IM_NEW(ImGuiNextWindowData)(); return IM_NEW(ImGuiNextWindowData)();
@@ -3152,6 +3156,22 @@ CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void)
{
return IM_NEW(ImGuiStackSizes)();
}
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self)
{
return self->SetToCurrentState();
}
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self)
{
return self->CompareWithCurrentState();
}
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr) CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr)
{ {
return IM_NEW(ImGuiPtrOrIndex)(ptr); return IM_NEW(ImGuiPtrOrIndex)(ptr);
@@ -3164,6 +3184,38 @@ CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index)
{ {
return IM_NEW(ImGuiPtrOrIndex)(index); return IM_NEW(ImGuiPtrOrIndex)(index);
} }
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min,int max)
{
return ImGuiListClipperRange::FromIndices(min,max);
}
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromPositions(float y1,float y2,int off_min,int off_max)
{
return ImGuiListClipperRange::FromPositions(y1,y2,off_min,off_max);
}
CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData(void)
{
return IM_NEW(ImGuiListClipperData)();
}
CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self,ImGuiListClipper* clipper)
{
return self->Reset(clipper);
}
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void)
{
return IM_NEW(ImGuiNavItemData)();
}
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self)
{
IM_DELETE(self);
}
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self)
{
return self->Clear();
}
CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void) CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void)
{ {
return IM_NEW(ImGuiOldColumnData)(); return IM_NEW(ImGuiOldColumnData)();
@@ -3240,21 +3292,21 @@ CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void) CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void)
{ {
return IM_NEW(ImGuiStackSizes)(); return IM_NEW(ImGuiStackLevelInfo)();
} }
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self) CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self)
{ {
IM_DELETE(self); IM_DELETE(self);
} }
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self) CIMGUI_API ImGuiStackTool* ImGuiStackTool_ImGuiStackTool(void)
{ {
return self->SetToCurrentState(); return IM_NEW(ImGuiStackTool)();
} }
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self) CIMGUI_API void ImGuiStackTool_destroy(ImGuiStackTool* self)
{ {
return self->CompareWithCurrentState(); IM_DELETE(self);
} }
CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void) CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void)
{ {
@@ -3424,9 +3476,13 @@ CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2 *pOut,ImGuiWindow* window)
{ {
*pOut = ImGui::CalcWindowNextAutoFitSize(window); *pOut = ImGui::CalcWindowNextAutoFitSize(window);
} }
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent) CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy)
{ {
return ImGui::IsWindowChildOf(window,potential_parent); return ImGui::IsWindowChildOf(window,potential_parent,popup_hierarchy);
}
CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window,ImGuiWindow* potential_parent)
{
return ImGui::IsWindowWithinBeginStackOf(window,potential_parent);
} }
CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below) CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below)
{ {
@@ -3452,6 +3508,14 @@ CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,cons
{ {
return ImGui::SetWindowHitTestHole(window,pos,size); return ImGui::SetWindowHitTestHole(window,pos,size);
} }
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r)
{
*pOut = ImGui::WindowRectAbsToRel(window,r);
}
CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r)
{
*pOut = ImGui::WindowRectRelToAbs(window,r);
}
CIMGUI_API void igFocusWindow(ImGuiWindow* window) CIMGUI_API void igFocusWindow(ImGuiWindow* window)
{ {
return ImGui::FocusWindow(window); return ImGui::FocusWindow(window);
@@ -3472,6 +3536,18 @@ CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window)
{ {
return ImGui::BringWindowToDisplayBack(window); return ImGui::BringWindowToDisplayBack(window);
} }
CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window,ImGuiWindow* above_window)
{
return ImGui::BringWindowToDisplayBehind(window,above_window);
}
CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window)
{
return ImGui::FindWindowDisplayIndex(window);
}
CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack(ImGuiWindow* window)
{
return ImGui::FindBottomMostVisibleWindowWithinBeginStack(window);
}
CIMGUI_API void igSetCurrentFont(ImFont* font) CIMGUI_API void igSetCurrentFont(ImFont* font)
{ {
return ImGui::SetCurrentFont(font); return ImGui::SetCurrentFont(font);
@@ -3576,9 +3652,21 @@ CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window,float local_y,
{ {
return ImGui::SetScrollFromPosY(window,local_y,center_y_ratio); return ImGui::SetScrollFromPosY(window,local_y,center_y_ratio);
} }
CIMGUI_API void igScrollToBringRectIntoView(ImVec2 *pOut,ImGuiWindow* window,const ImRect item_rect) CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags)
{ {
*pOut = ImGui::ScrollToBringRectIntoView(window,item_rect); return ImGui::ScrollToItem(flags);
}
CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags)
{
return ImGui::ScrollToRect(window,rect,flags);
}
CIMGUI_API void igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags)
{
*pOut = ImGui::ScrollToRectEx(window,rect,flags);
}
CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect)
{
return ImGui::ScrollToBringRectIntoView(window,rect);
} }
CIMGUI_API ImGuiID igGetItemID() CIMGUI_API ImGuiID igGetItemID()
{ {
@@ -3644,21 +3732,21 @@ CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y)
{ {
return ImGui::ItemSize(bb,text_baseline_y); return ImGui::ItemSize(bb,text_baseline_y);
} }
CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemAddFlags flags) CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemFlags extra_flags)
{ {
return ImGui::ItemAdd(bb,id,nav_bb,flags); return ImGui::ItemAdd(bb,id,nav_bb,extra_flags);
} }
CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id) CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id)
{ {
return ImGui::ItemHoverable(bb,id); return ImGui::ItemHoverable(bb,id);
} }
CIMGUI_API void igItemFocusable(ImGuiWindow* window,ImGuiID id) CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id)
{ {
return ImGui::ItemFocusable(window,id); return ImGui::IsClippedEx(bb,id);
} }
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id,bool clip_even_when_logged) CIMGUI_API void igSetLastItemData(ImGuiID item_id,ImGuiItemFlags in_flags,ImGuiItemStatusFlags status_flags,const ImRect item_rect)
{ {
return ImGui::IsClippedEx(bb,id,clip_even_when_logged); return ImGui::SetLastItemData(item_id,in_flags,status_flags,item_rect);
} }
CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h) CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h)
{ {
@@ -3724,6 +3812,10 @@ CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_foc
{ {
return ImGui::ClosePopupsOverWindow(ref_window,restore_focus_to_window_under_popup); return ImGui::ClosePopupsOverWindow(ref_window,restore_focus_to_window_under_popup);
} }
CIMGUI_API void igClosePopupsExceptModals()
{
return ImGui::ClosePopupsExceptModals();
}
CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags) CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags)
{ {
return ImGui::IsPopupOpen(id,popup_flags); return ImGui::IsPopupOpen(id,popup_flags);
@@ -3732,9 +3824,9 @@ CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags)
{ {
return ImGui::BeginPopupEx(id,extra_flags); return ImGui::BeginPopupEx(id,extra_flags);
} }
CIMGUI_API void igBeginTooltipEx(ImGuiWindowFlags extra_flags,ImGuiTooltipFlags tooltip_flags) CIMGUI_API void igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags)
{ {
return ImGui::BeginTooltipEx(extra_flags,tooltip_flags); return ImGui::BeginTooltipEx(tooltip_flags,extra_window_flags);
} }
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window) CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window)
{ {
@@ -3744,6 +3836,10 @@ CIMGUI_API ImGuiWindow* igGetTopMostPopupModal()
{ {
return ImGui::GetTopMostPopupModal(); return ImGui::GetTopMostPopupModal();
} }
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal()
{
return ImGui::GetTopMostAndVisiblePopupModal();
}
CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window) CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window)
{ {
*pOut = ImGui::FindBestWindowPosForPopup(window); *pOut = ImGui::FindBestWindowPosForPopup(window);
@@ -3756,6 +3852,10 @@ CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,
{ {
return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags); return ImGui::BeginViewportSideBar(name,viewport,dir,size,window_flags);
} }
CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled)
{
return ImGui::BeginMenuEx(label,icon,enabled);
}
CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled) CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled)
{ {
return ImGui::MenuItemEx(label,icon,shortcut,selected,enabled); return ImGui::MenuItemEx(label,icon,shortcut,selected,enabled);
@@ -3776,17 +3876,33 @@ CIMGUI_API void igNavInitWindow(ImGuiWindow* window,bool force_reinit)
{ {
return ImGui::NavInitWindow(window,force_reinit); return ImGui::NavInitWindow(window,force_reinit);
} }
CIMGUI_API void igNavInitRequestApplyResult()
{
return ImGui::NavInitRequestApplyResult();
}
CIMGUI_API bool igNavMoveRequestButNoResultYet() CIMGUI_API bool igNavMoveRequestButNoResultYet()
{ {
return ImGui::NavMoveRequestButNoResultYet(); return ImGui::NavMoveRequestButNoResultYet();
} }
CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags)
{
return ImGui::NavMoveRequestSubmit(move_dir,clip_dir,move_flags,scroll_flags);
}
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags)
{
return ImGui::NavMoveRequestForward(move_dir,clip_dir,move_flags,scroll_flags);
}
CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result)
{
return ImGui::NavMoveRequestResolveWithLastItem(result);
}
CIMGUI_API void igNavMoveRequestCancel() CIMGUI_API void igNavMoveRequestCancel()
{ {
return ImGui::NavMoveRequestCancel(); return ImGui::NavMoveRequestCancel();
} }
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,const ImRect bb_rel,ImGuiNavMoveFlags move_flags) CIMGUI_API void igNavMoveRequestApplyResult()
{ {
return ImGui::NavMoveRequestForward(move_dir,clip_dir,bb_rel,move_flags); return ImGui::NavMoveRequestApplyResult();
} }
CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags) CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags)
{ {
@@ -4236,7 +4352,7 @@ CIMGUI_API void igScrollbar(ImGuiAxis axis)
{ {
return ImGui::Scrollbar(axis); return ImGui::Scrollbar(axis);
} }
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* p_scroll_v,float avail_v,float contents_v,ImDrawFlags flags) CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags)
{ {
return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags); return ImGui::ScrollbarEx(bb,id,axis,p_scroll_v,avail_v,contents_v,flags);
} }
@@ -4384,6 +4500,10 @@ CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,v
{ {
return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data); return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data);
} }
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data)
{
return ImGui::ErrorCheckEndWindowRecover(log_callback,user_data);
}
CIMGUI_API void igDebugDrawItemRect(ImU32 col) CIMGUI_API void igDebugDrawItemRect(ImU32 col)
{ {
return ImGui::DebugDrawItemRect(col); return ImGui::DebugDrawItemRect(col);
@@ -4396,6 +4516,10 @@ CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas)
{ {
return ImGui::ShowFontAtlas(atlas); return ImGui::ShowFontAtlas(atlas);
} }
CIMGUI_API void igDebugHookIdInfo(ImGuiID id,ImGuiDataType data_type,const void* data_id,const void* data_id_end)
{
return ImGui::DebugHookIdInfo(id,data_type,data_id,data_id_end);
}
CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns) CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns)
{ {
return ImGui::DebugNodeColumns(columns); return ImGui::DebugNodeColumns(columns);
@@ -4440,6 +4564,10 @@ CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const ch
{ {
return ImGui::DebugNodeWindowsList(windows,label); return ImGui::DebugNodeWindowsList(windows,label);
} }
CIMGUI_API void igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack)
{
return ImGui::DebugNodeWindowsListByBeginStackParent(windows,windows_size,parent_in_begin_stack);
}
CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport) CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport)
{ {
return ImGui::DebugNodeViewport(viewport); return ImGui::DebugNodeViewport(viewport);

357
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui //This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.84.1" from Dear ImGui https://github.com/ocornut/imgui //based on imgui.h file version "1.86" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api //with imgui_internal.h api
#ifndef CIMGUI_INCLUDED #ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED #define CIMGUI_INCLUDED
@@ -41,7 +41,11 @@ typedef unsigned __int64 ImU64;
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiTableColumnSettings ImGuiTableColumnSettings; typedef struct ImGuiTableColumnSettings ImGuiTableColumnSettings;
typedef struct ImGuiTableCellData ImGuiTableCellData; typedef struct ImGuiTableCellData ImGuiTableCellData;
typedef struct ImGuiStackTool ImGuiStackTool;
typedef struct ImGuiStackLevelInfo ImGuiStackLevelInfo;
typedef struct ImGuiViewportP ImGuiViewportP; typedef struct ImGuiViewportP ImGuiViewportP;
typedef struct ImGuiListClipperData ImGuiListClipperData;
typedef struct ImGuiListClipperRange ImGuiListClipperRange;
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex; typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem; typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImGuiWindowStackData ImGuiWindowStackData; typedef struct ImGuiWindowStackData ImGuiWindowStackData;
@@ -182,14 +186,8 @@ typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags; typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags; typedef int ImGuiWindowFlags;
typedef void* ImTextureID; typedef void* ImTextureID;
typedef unsigned short ImDrawIdx;
typedef unsigned int ImGuiID; typedef unsigned int ImGuiID;
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data);
typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data);
typedef unsigned short ImWchar16;
typedef unsigned int ImWchar32;
typedef ImWchar16 ImWchar;
typedef signed char ImS8; typedef signed char ImS8;
typedef unsigned char ImU8; typedef unsigned char ImU8;
typedef signed short ImS16; typedef signed short ImS16;
@@ -198,8 +196,14 @@ typedef signed int ImS32;
typedef unsigned int ImU32; typedef unsigned int ImU32;
typedef int64_t ImS64; typedef int64_t ImS64;
typedef uint64_t ImU64; typedef uint64_t ImU64;
typedef unsigned short ImWchar16;
typedef unsigned int ImWchar32;
typedef ImWchar16 ImWchar;
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data);
typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data);
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd); typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
typedef unsigned short ImDrawIdx;
struct ImBitVector; struct ImBitVector;
struct ImRect; struct ImRect;
struct ImDrawDataBuilder; struct ImDrawDataBuilder;
@@ -233,8 +237,8 @@ struct ImGuiWindow;
struct ImGuiWindowTempData; struct ImGuiWindowTempData;
struct ImGuiWindowSettings; struct ImGuiWindowSettings;
typedef int ImGuiLayoutType; typedef int ImGuiLayoutType;
typedef int ImGuiActivateFlags;
typedef int ImGuiItemFlags; typedef int ImGuiItemFlags;
typedef int ImGuiItemAddFlags;
typedef int ImGuiItemStatusFlags; typedef int ImGuiItemStatusFlags;
typedef int ImGuiOldColumnFlags; typedef int ImGuiOldColumnFlags;
typedef int ImGuiNavHighlightFlags; typedef int ImGuiNavHighlightFlags;
@@ -242,6 +246,7 @@ typedef int ImGuiNavDirSourceFlags;
typedef int ImGuiNavMoveFlags; typedef int ImGuiNavMoveFlags;
typedef int ImGuiNextItemDataFlags; typedef int ImGuiNextItemDataFlags;
typedef int ImGuiNextWindowDataFlags; typedef int ImGuiNextWindowDataFlags;
typedef int ImGuiScrollFlags;
typedef int ImGuiSeparatorFlags; typedef int ImGuiSeparatorFlags;
typedef int ImGuiTextFlags; typedef int ImGuiTextFlags;
typedef int ImGuiTooltipFlags; typedef int ImGuiTooltipFlags;
@@ -274,12 +279,15 @@ typedef struct ImVector_ImGuiContextHook {int Size;int Capacity;ImGuiContextHook
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData; typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID; typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags; typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImGuiListClipperData {int Size;int Capacity;ImGuiListClipperData* Data;} ImVector_ImGuiListClipperData;
typedef struct ImVector_ImGuiListClipperRange {int Size;int Capacity;ImGuiListClipperRange* Data;} ImVector_ImGuiListClipperRange;
typedef struct ImVector_ImGuiOldColumnData {int Size;int Capacity;ImGuiOldColumnData* Data;} ImVector_ImGuiOldColumnData; typedef struct ImVector_ImGuiOldColumnData {int Size;int Capacity;ImGuiOldColumnData* Data;} ImVector_ImGuiOldColumnData;
typedef struct ImVector_ImGuiOldColumns {int Size;int Capacity;ImGuiOldColumns* Data;} ImVector_ImGuiOldColumns; typedef struct ImVector_ImGuiOldColumns {int Size;int Capacity;ImGuiOldColumns* Data;} ImVector_ImGuiOldColumns;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData; typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex; typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler; typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem; typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_ImGuiStackLevelInfo {int Size;int Capacity;ImGuiStackLevelInfo* Data;} ImVector_ImGuiStackLevelInfo;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair; typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod; typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem; typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
@@ -517,6 +525,7 @@ typedef enum {
ImGuiFocusedFlags_ChildWindows = 1 << 0, ImGuiFocusedFlags_ChildWindows = 1 << 0,
ImGuiFocusedFlags_RootWindow = 1 << 1, ImGuiFocusedFlags_RootWindow = 1 << 1,
ImGuiFocusedFlags_AnyWindow = 1 << 2, ImGuiFocusedFlags_AnyWindow = 1 << 2,
ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3,
ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows
}ImGuiFocusedFlags_; }ImGuiFocusedFlags_;
typedef enum { typedef enum {
@@ -524,10 +533,11 @@ typedef enum {
ImGuiHoveredFlags_ChildWindows = 1 << 0, ImGuiHoveredFlags_ChildWindows = 1 << 0,
ImGuiHoveredFlags_RootWindow = 1 << 1, ImGuiHoveredFlags_RootWindow = 1 << 1,
ImGuiHoveredFlags_AnyWindow = 1 << 2, ImGuiHoveredFlags_AnyWindow = 1 << 2,
ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 3, ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3,
ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 5, ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5,
ImGuiHoveredFlags_AllowWhenOverlapped = 1 << 6, ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7,
ImGuiHoveredFlags_AllowWhenDisabled = 1 << 7, ImGuiHoveredFlags_AllowWhenOverlapped = 1 << 8,
ImGuiHoveredFlags_AllowWhenDisabled = 1 << 9,
ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped, ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
}ImGuiHoveredFlags_; }ImGuiHoveredFlags_;
@@ -907,6 +917,7 @@ struct ImGuiIO
int MetricsActiveWindows; int MetricsActiveWindows;
int MetricsActiveAllocations; int MetricsActiveAllocations;
ImVec2 MouseDelta; ImVec2 MouseDelta;
bool WantCaptureMouseUnlessPopupClose;
ImGuiKeyModFlags KeyMods; ImGuiKeyModFlags KeyMods;
ImGuiKeyModFlags KeyModsPrev; ImGuiKeyModFlags KeyModsPrev;
ImVec2 MousePosPrev; ImVec2 MousePosPrev;
@@ -914,9 +925,11 @@ struct ImGuiIO
double MouseClickedTime[5]; double MouseClickedTime[5];
bool MouseClicked[5]; bool MouseClicked[5];
bool MouseDoubleClicked[5]; bool MouseDoubleClicked[5];
ImU16 MouseClickedCount[5];
ImU16 MouseClickedLastCount[5];
bool MouseReleased[5]; bool MouseReleased[5];
bool MouseDownOwned[5]; bool MouseDownOwned[5];
bool MouseDownWasDoubleClick[5]; bool MouseDownOwnedUnlessPopupClose[5];
float MouseDownDuration[5]; float MouseDownDuration[5];
float MouseDownDurationPrev[5]; float MouseDownDurationPrev[5];
ImVec2 MouseDragMaxDistanceAbs[5]; ImVec2 MouseDragMaxDistanceAbs[5];
@@ -926,6 +939,7 @@ struct ImGuiIO
float NavInputsDownDuration[ImGuiNavInput_COUNT]; float NavInputsDownDuration[ImGuiNavInput_COUNT];
float NavInputsDownDurationPrev[ImGuiNavInput_COUNT]; float NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
float PenPressure; float PenPressure;
bool AppFocusLost;
ImWchar16 InputQueueSurrogate; ImWchar16 InputQueueSurrogate;
ImVector_ImWchar InputQueueCharacters; ImVector_ImWchar InputQueueCharacters;
}; };
@@ -1012,10 +1026,9 @@ struct ImGuiListClipper
int DisplayStart; int DisplayStart;
int DisplayEnd; int DisplayEnd;
int ItemsCount; int ItemsCount;
int StepNo;
int ItemsFrozen;
float ItemsHeight; float ItemsHeight;
float StartPosY; float StartPosY;
void* TempData;
}; };
struct ImColor struct ImColor
{ {
@@ -1294,12 +1307,9 @@ typedef enum {
ImGuiItemFlags_NoNavDefaultFocus = 1 << 4, ImGuiItemFlags_NoNavDefaultFocus = 1 << 4,
ImGuiItemFlags_SelectableDontClosePopup = 1 << 5, ImGuiItemFlags_SelectableDontClosePopup = 1 << 5,
ImGuiItemFlags_MixedValue = 1 << 6, ImGuiItemFlags_MixedValue = 1 << 6,
ImGuiItemFlags_ReadOnly = 1 << 7 ImGuiItemFlags_ReadOnly = 1 << 7,
ImGuiItemFlags_Inputable = 1 << 8
}ImGuiItemFlags_; }ImGuiItemFlags_;
typedef enum {
ImGuiItemAddFlags_None = 0,
ImGuiItemAddFlags_Focusable = 1 << 0
}ImGuiItemAddFlags_;
typedef enum { typedef enum {
ImGuiItemStatusFlags_None = 0, ImGuiItemStatusFlags_None = 0,
ImGuiItemStatusFlags_HoveredRect = 1 << 0, ImGuiItemStatusFlags_HoveredRect = 1 << 0,
@@ -1310,9 +1320,7 @@ typedef enum {
ImGuiItemStatusFlags_HasDeactivated = 1 << 5, ImGuiItemStatusFlags_HasDeactivated = 1 << 5,
ImGuiItemStatusFlags_Deactivated = 1 << 6, ImGuiItemStatusFlags_Deactivated = 1 << 6,
ImGuiItemStatusFlags_HoveredWindow = 1 << 7, ImGuiItemStatusFlags_HoveredWindow = 1 << 7,
ImGuiItemStatusFlags_FocusedByCode = 1 << 8, ImGuiItemStatusFlags_FocusedByTabbing = 1 << 8
ImGuiItemStatusFlags_FocusedByTabbing = 1 << 9,
ImGuiItemStatusFlags_Focused = ImGuiItemStatusFlags_FocusedByCode | ImGuiItemStatusFlags_FocusedByTabbing
}ImGuiItemStatusFlags_; }ImGuiItemStatusFlags_;
typedef enum { typedef enum {
ImGuiInputTextFlags_Multiline = 1 << 26, ImGuiInputTextFlags_Multiline = 1 << 26,
@@ -1409,39 +1417,6 @@ typedef enum {
ImGuiInputReadMode_RepeatSlow, ImGuiInputReadMode_RepeatSlow,
ImGuiInputReadMode_RepeatFast ImGuiInputReadMode_RepeatFast
}ImGuiInputReadMode; }ImGuiInputReadMode;
typedef enum {
ImGuiNavHighlightFlags_None = 0,
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
ImGuiNavHighlightFlags_NoRounding = 1 << 3
}ImGuiNavHighlightFlags_;
typedef enum {
ImGuiNavDirSourceFlags_None = 0,
ImGuiNavDirSourceFlags_Keyboard = 1 << 0,
ImGuiNavDirSourceFlags_PadDPad = 1 << 1,
ImGuiNavDirSourceFlags_PadLStick = 1 << 2
}ImGuiNavDirSourceFlags_;
typedef enum {
ImGuiNavMoveFlags_None = 0,
ImGuiNavMoveFlags_LoopX = 1 << 0,
ImGuiNavMoveFlags_LoopY = 1 << 1,
ImGuiNavMoveFlags_WrapX = 1 << 2,
ImGuiNavMoveFlags_WrapY = 1 << 3,
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4,
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5,
ImGuiNavMoveFlags_ScrollToEdge = 1 << 6
}ImGuiNavMoveFlags_;
typedef enum {
ImGuiNavForward_None,
ImGuiNavForward_ForwardQueued,
ImGuiNavForward_ForwardActive
}ImGuiNavForward;
typedef enum {
ImGuiNavLayer_Main = 0,
ImGuiNavLayer_Menu = 1,
ImGuiNavLayer_COUNT
}ImGuiNavLayer;
typedef enum { typedef enum {
ImGuiPopupPositionPolicy_Default, ImGuiPopupPositionPolicy_Default,
ImGuiPopupPositionPolicy_ComboBox, ImGuiPopupPositionPolicy_ComboBox,
@@ -1523,8 +1498,6 @@ struct ImGuiInputTextState
bool SelectedAllMouseLock; bool SelectedAllMouseLock;
bool Edited; bool Edited;
ImGuiInputTextFlags Flags; ImGuiInputTextFlags Flags;
ImGuiInputTextCallback UserCallback;
void* UserCallbackData;
}; };
struct ImGuiPopupData struct ImGuiPopupData
{ {
@@ -1536,16 +1509,6 @@ struct ImGuiPopupData
ImVec2 OpenPopupPos; ImVec2 OpenPopupPos;
ImVec2 OpenMousePos; ImVec2 OpenMousePos;
}; };
struct ImGuiNavItemData
{
ImGuiWindow* Window;
ImGuiID ID;
ImGuiID FocusScopeId;
ImRect RectRel;
float DistBox;
float DistCenter;
float DistAxial;
};
typedef enum { typedef enum {
ImGuiNextWindowDataFlags_None = 0, ImGuiNextWindowDataFlags_None = 0,
ImGuiNextWindowDataFlags_HasPos = 1 << 0, ImGuiNextWindowDataFlags_HasPos = 1 << 0,
@@ -1594,12 +1557,26 @@ struct ImGuiLastItemData
ImGuiItemFlags InFlags; ImGuiItemFlags InFlags;
ImGuiItemStatusFlags StatusFlags; ImGuiItemStatusFlags StatusFlags;
ImRect Rect; ImRect Rect;
ImRect NavRect;
ImRect DisplayRect; ImRect DisplayRect;
}; };
struct ImGuiStackSizes
{
short SizeOfIDStack;
short SizeOfColorStack;
short SizeOfStyleVarStack;
short SizeOfFontStack;
short SizeOfFocusScopeStack;
short SizeOfGroupStack;
short SizeOfItemFlagsStack;
short SizeOfBeginPopupStack;
short SizeOfDisabledStack;
};
struct ImGuiWindowStackData struct ImGuiWindowStackData
{ {
ImGuiWindow* Window; ImGuiWindow* Window;
ImGuiLastItemData ParentLastItemDataBackup; ImGuiLastItemData ParentLastItemDataBackup;
ImGuiStackSizes StackSizesOnBegin;
}; };
struct ImGuiShrinkWidthItem struct ImGuiShrinkWidthItem
{ {
@@ -1611,6 +1588,86 @@ struct ImGuiPtrOrIndex
void* Ptr; void* Ptr;
int Index; int Index;
}; };
struct ImGuiListClipperRange
{
int Min;
int Max;
bool PosToIndexConvert;
ImS8 PosToIndexOffsetMin;
ImS8 PosToIndexOffsetMax;
};
struct ImGuiListClipperData
{
ImGuiListClipper* ListClipper;
float LossynessOffset;
int StepNo;
int ItemsFrozen;
ImVector_ImGuiListClipperRange Ranges;
};
typedef enum {
ImGuiActivateFlags_None = 0,
ImGuiActivateFlags_PreferInput = 1 << 0,
ImGuiActivateFlags_PreferTweak = 1 << 1,
ImGuiActivateFlags_TryToPreserveState = 1 << 2
}ImGuiActivateFlags_;
typedef enum {
ImGuiScrollFlags_None = 0,
ImGuiScrollFlags_KeepVisibleEdgeX = 1 << 0,
ImGuiScrollFlags_KeepVisibleEdgeY = 1 << 1,
ImGuiScrollFlags_KeepVisibleCenterX = 1 << 2,
ImGuiScrollFlags_KeepVisibleCenterY = 1 << 3,
ImGuiScrollFlags_AlwaysCenterX = 1 << 4,
ImGuiScrollFlags_AlwaysCenterY = 1 << 5,
ImGuiScrollFlags_NoScrollParent = 1 << 6,
ImGuiScrollFlags_MaskX_ = ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_KeepVisibleCenterX | ImGuiScrollFlags_AlwaysCenterX,
ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | ImGuiScrollFlags_KeepVisibleCenterY | ImGuiScrollFlags_AlwaysCenterY
}ImGuiScrollFlags_;
typedef enum {
ImGuiNavHighlightFlags_None = 0,
ImGuiNavHighlightFlags_TypeDefault = 1 << 0,
ImGuiNavHighlightFlags_TypeThin = 1 << 1,
ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
ImGuiNavHighlightFlags_NoRounding = 1 << 3
}ImGuiNavHighlightFlags_;
typedef enum {
ImGuiNavDirSourceFlags_None = 0,
ImGuiNavDirSourceFlags_RawKeyboard = 1 << 0,
ImGuiNavDirSourceFlags_Keyboard = 1 << 1,
ImGuiNavDirSourceFlags_PadDPad = 1 << 2,
ImGuiNavDirSourceFlags_PadLStick = 1 << 3
}ImGuiNavDirSourceFlags_;
typedef enum {
ImGuiNavMoveFlags_None = 0,
ImGuiNavMoveFlags_LoopX = 1 << 0,
ImGuiNavMoveFlags_LoopY = 1 << 1,
ImGuiNavMoveFlags_WrapX = 1 << 2,
ImGuiNavMoveFlags_WrapY = 1 << 3,
ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4,
ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5,
ImGuiNavMoveFlags_ScrollToEdgeY = 1 << 6,
ImGuiNavMoveFlags_Forwarded = 1 << 7,
ImGuiNavMoveFlags_DebugNoResult = 1 << 8,
ImGuiNavMoveFlags_FocusApi = 1 << 9,
ImGuiNavMoveFlags_Tabbing = 1 << 10,
ImGuiNavMoveFlags_Activate = 1 << 11,
ImGuiNavMoveFlags_DontSetNavHighlight = 1 << 12
}ImGuiNavMoveFlags_;
typedef enum {
ImGuiNavLayer_Main = 0,
ImGuiNavLayer_Menu = 1,
ImGuiNavLayer_COUNT
}ImGuiNavLayer;
struct ImGuiNavItemData
{
ImGuiWindow* Window;
ImGuiID ID;
ImGuiID FocusScopeId;
ImRect RectRel;
ImGuiItemFlags InFlags;
float DistBox;
float DistCenter;
float DistAxial;
};
typedef enum { typedef enum {
ImGuiOldColumnFlags_None = 0, ImGuiOldColumnFlags_None = 0,
ImGuiOldColumnFlags_NoBorder = 1 << 0, ImGuiOldColumnFlags_NoBorder = 1 << 0,
@@ -1678,6 +1735,7 @@ struct ImGuiSettingsHandler
}; };
struct ImGuiMetricsConfig struct ImGuiMetricsConfig
{ {
bool ShowStackTool;
bool ShowWindowsRects; bool ShowWindowsRects;
bool ShowWindowsBeginOrder; bool ShowWindowsBeginOrder;
bool ShowTablesRects; bool ShowTablesRects;
@@ -1686,15 +1744,19 @@ struct ImGuiMetricsConfig
int ShowWindowsRectsType; int ShowWindowsRectsType;
int ShowTablesRectsType; int ShowTablesRectsType;
}; };
struct ImGuiStackSizes struct ImGuiStackLevelInfo
{ {
short SizeOfIDStack; ImGuiID ID;
short SizeOfColorStack; ImS8 QueryFrameCount;
short SizeOfStyleVarStack; bool QuerySuccess;
short SizeOfFontStack; char Desc[58];
short SizeOfFocusScopeStack; };
short SizeOfGroupStack; struct ImGuiStackTool
short SizeOfBeginPopupStack; {
int LastActiveFrame;
int StackLevel;
ImGuiID QueryId;
ImVector_ImGuiStackLevelInfo Results;
}; };
typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown, ImGuiContextHookType_PendingRemoval_ }ImGuiContextHookType; typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown, ImGuiContextHookType_PendingRemoval_ }ImGuiContextHookType;
struct ImGuiContextHook struct ImGuiContextHook
@@ -1724,7 +1786,6 @@ struct ImGuiContext
bool WithinEndChild; bool WithinEndChild;
bool GcCompactAll; bool GcCompactAll;
bool TestEngineHookItems; bool TestEngineHookItems;
ImGuiID TestEngineHookIdInfo;
void* TestEngine; void* TestEngine;
ImVector_ImGuiWindowPtr Windows; ImVector_ImGuiWindowPtr Windows;
ImVector_ImGuiWindowPtr WindowsFocusOrder; ImVector_ImGuiWindowPtr WindowsFocusOrder;
@@ -1740,6 +1801,7 @@ struct ImGuiContext
ImGuiWindow* WheelingWindow; ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos; ImVec2 WheelingWindowRefMousePos;
float WheelingWindowTimer; float WheelingWindowTimer;
ImGuiID DebugHookIdInfo;
ImGuiID HoveredId; ImGuiID HoveredId;
ImGuiID HoveredIdPreviousFrame; ImGuiID HoveredIdPreviousFrame;
bool HoveredIdAllowOverlap; bool HoveredIdAllowOverlap;
@@ -1783,6 +1845,7 @@ struct ImGuiContext
ImVector_ImGuiGroupData GroupStack; ImVector_ImGuiGroupData GroupStack;
ImVector_ImGuiPopupData OpenPopupStack; ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack; ImVector_ImGuiPopupData BeginPopupStack;
int BeginMenuCount;
ImVector_ImGuiViewportPPtr Viewports; ImVector_ImGuiViewportPPtr Viewports;
ImGuiWindow* NavWindow; ImGuiWindow* NavWindow;
ImGuiID NavId; ImGuiID NavId;
@@ -1790,17 +1853,15 @@ struct ImGuiContext
ImGuiID NavActivateId; ImGuiID NavActivateId;
ImGuiID NavActivateDownId; ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId; ImGuiID NavActivatePressedId;
ImGuiID NavInputId; ImGuiID NavActivateInputId;
ImGuiID NavJustTabbedId; ImGuiActivateFlags NavActivateFlags;
ImGuiID NavJustMovedToId; ImGuiID NavJustMovedToId;
ImGuiID NavJustMovedToFocusScopeId; ImGuiID NavJustMovedToFocusScopeId;
ImGuiKeyModFlags NavJustMovedToKeyMods; ImGuiKeyModFlags NavJustMovedToKeyMods;
ImGuiID NavNextActivateId; ImGuiID NavNextActivateId;
ImGuiActivateFlags NavNextActivateFlags;
ImGuiInputSource NavInputSource; ImGuiInputSource NavInputSource;
ImRect NavScoringRect;
int NavScoringCount;
ImGuiNavLayer NavLayer; ImGuiNavLayer NavLayer;
int NavIdTabCounter;
bool NavIdIsAlive; bool NavIdIsAlive;
bool NavMousePosDirty; bool NavMousePosDirty;
bool NavDisableHighlight; bool NavDisableHighlight;
@@ -1810,30 +1871,30 @@ struct ImGuiContext
bool NavInitRequestFromMove; bool NavInitRequestFromMove;
ImGuiID NavInitResultId; ImGuiID NavInitResultId;
ImRect NavInitResultRectRel; ImRect NavInitResultRectRel;
bool NavMoveRequest; bool NavMoveSubmitted;
ImGuiNavMoveFlags NavMoveRequestFlags; bool NavMoveScoringItems;
ImGuiNavForward NavMoveRequestForward; bool NavMoveForwardToNextFrame;
ImGuiKeyModFlags NavMoveRequestKeyMods; ImGuiNavMoveFlags NavMoveFlags;
ImGuiDir NavMoveDir, NavMoveDirLast; ImGuiScrollFlags NavMoveScrollFlags;
ImGuiKeyModFlags NavMoveKeyMods;
ImGuiDir NavMoveDir;
ImGuiDir NavMoveDirForDebug;
ImGuiDir NavMoveClipDir; ImGuiDir NavMoveClipDir;
ImRect NavScoringRect;
ImRect NavScoringNoClipRect;
int NavScoringDebugCount;
int NavTabbingDir;
int NavTabbingCounter;
ImGuiNavItemData NavMoveResultLocal; ImGuiNavItemData NavMoveResultLocal;
ImGuiNavItemData NavMoveResultLocalVisibleSet; ImGuiNavItemData NavMoveResultLocalVisible;
ImGuiNavItemData NavMoveResultOther; ImGuiNavItemData NavMoveResultOther;
ImGuiWindow* NavWrapRequestWindow; ImGuiNavItemData NavTabbingResultFirst;
ImGuiNavMoveFlags NavWrapRequestFlags;
ImGuiWindow* NavWindowingTarget; ImGuiWindow* NavWindowingTarget;
ImGuiWindow* NavWindowingTargetAnim; ImGuiWindow* NavWindowingTargetAnim;
ImGuiWindow* NavWindowingListWindow; ImGuiWindow* NavWindowingListWindow;
float NavWindowingTimer; float NavWindowingTimer;
float NavWindowingHighlightAlpha; float NavWindowingHighlightAlpha;
bool NavWindowingToggleLayer; bool NavWindowingToggleLayer;
ImGuiWindow* TabFocusRequestCurrWindow;
ImGuiWindow* TabFocusRequestNextWindow;
int TabFocusRequestCurrCounterRegular;
int TabFocusRequestCurrCounterTabStop;
int TabFocusRequestNextCounterRegular;
int TabFocusRequestNextCounterTabStop;
bool TabFocusPressed;
float DimBgRatio; float DimBgRatio;
ImGuiMouseCursor MouseCursor; ImGuiMouseCursor MouseCursor;
bool DragDropActive; bool DragDropActive;
@@ -1853,24 +1914,26 @@ struct ImGuiContext
ImGuiID DragDropHoldJustPressedId; ImGuiID DragDropHoldJustPressedId;
ImVector_unsigned_char DragDropPayloadBufHeap; ImVector_unsigned_char DragDropPayloadBufHeap;
unsigned char DragDropPayloadBufLocal[16]; unsigned char DragDropPayloadBufLocal[16];
int ClipperTempDataStacked;
ImVector_ImGuiListClipperData ClipperTempData;
ImGuiTable* CurrentTable; ImGuiTable* CurrentTable;
int CurrentTableStackIdx; int TablesTempDataStacked;
ImVector_ImGuiTableTempData TablesTempData;
ImPool_ImGuiTable Tables; ImPool_ImGuiTable Tables;
ImVector_ImGuiTableTempData TablesTempDataStack;
ImVector_float TablesLastTimeActive; ImVector_float TablesLastTimeActive;
ImVector_ImDrawChannel DrawChannelsTempMergeBuffer; ImVector_ImDrawChannel DrawChannelsTempMergeBuffer;
ImGuiTabBar* CurrentTabBar; ImGuiTabBar* CurrentTabBar;
ImPool_ImGuiTabBar TabBars; ImPool_ImGuiTabBar TabBars;
ImVector_ImGuiPtrOrIndex CurrentTabBarStack; ImVector_ImGuiPtrOrIndex CurrentTabBarStack;
ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer; ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer;
ImVec2 LastValidMousePos; ImVec2 MouseLastValidPos;
ImGuiInputTextState InputTextState; ImGuiInputTextState InputTextState;
ImFont InputTextPasswordFont; ImFont InputTextPasswordFont;
ImGuiID TempInputId; ImGuiID TempInputId;
ImGuiColorEditFlags ColorEditOptions; ImGuiColorEditFlags ColorEditOptions;
float ColorEditLastHue; float ColorEditLastHue;
float ColorEditLastSat; float ColorEditLastSat;
float ColorEditLastColor[3]; ImU32 ColorEditLastColor;
ImVec4 ColorPickerRef; ImVec4 ColorPickerRef;
ImGuiComboPreviewData ComboPreviewData; ImGuiComboPreviewData ComboPreviewData;
float SliderCurrentAccum; float SliderCurrentAccum;
@@ -1878,9 +1941,10 @@ struct ImGuiContext
bool DragCurrentAccumDirty; bool DragCurrentAccumDirty;
float DragCurrentAccum; float DragCurrentAccum;
float DragSpeedDefaultRatio; float DragSpeedDefaultRatio;
float DisabledAlphaBackup;
float ScrollbarClickDeltaToGrabCenter; float ScrollbarClickDeltaToGrabCenter;
int TooltipOverrideCount; float DisabledAlphaBackup;
short DisabledStackSize;
short TooltipOverrideCount;
float TooltipSlowDelay; float TooltipSlowDelay;
ImVector_char ClipboardHandlerData; ImVector_char ClipboardHandlerData;
ImVector_ImGuiID MenusIdSubmittedThisFrame; ImVector_ImGuiID MenusIdSubmittedThisFrame;
@@ -1909,6 +1973,7 @@ struct ImGuiContext
bool DebugItemPickerActive; bool DebugItemPickerActive;
ImGuiID DebugItemPickerBreakId; ImGuiID DebugItemPickerBreakId;
ImGuiMetricsConfig DebugMetricsConfig; ImGuiMetricsConfig DebugMetricsConfig;
ImGuiStackTool DebugStackTool;
float FramerateSecPerFrame[120]; float FramerateSecPerFrame[120];
int FramerateSecPerFrameIdx; int FramerateSecPerFrameIdx;
int FramerateSecPerFrameCount; int FramerateSecPerFrameCount;
@@ -1932,6 +1997,7 @@ struct ImGuiWindowTempData
ImVec1 Indent; ImVec1 Indent;
ImVec1 ColumnsOffset; ImVec1 ColumnsOffset;
ImVec1 GroupOffset; ImVec1 GroupOffset;
ImVec2 CursorStartPosLossyness;
ImGuiNavLayer NavLayerCurrent; ImGuiNavLayer NavLayerCurrent;
short NavLayersActiveMask; short NavLayersActiveMask;
short NavLayersActiveMaskNext; short NavLayersActiveMaskNext;
@@ -1949,13 +2015,10 @@ struct ImGuiWindowTempData
int CurrentTableIdx; int CurrentTableIdx;
ImGuiLayoutType LayoutType; ImGuiLayoutType LayoutType;
ImGuiLayoutType ParentLayoutType; ImGuiLayoutType ParentLayoutType;
int FocusCounterRegular;
int FocusCounterTabStop;
float ItemWidth; float ItemWidth;
float TextWrapPos; float TextWrapPos;
ImVector_float ItemWidthStack; ImVector_float ItemWidthStack;
ImVector_float TextWrapPosStack; ImVector_float TextWrapPosStack;
ImGuiStackSizes StackSizesOnBegin;
}; };
struct ImGuiWindow struct ImGuiWindow
{ {
@@ -1990,6 +2053,7 @@ struct ImGuiWindow
bool Appearing; bool Appearing;
bool Hidden; bool Hidden;
bool IsFallbackWindow; bool IsFallbackWindow;
bool IsExplicitChild;
bool HasCloseButton; bool HasCloseButton;
signed char ResizeBorderHeld; signed char ResizeBorderHeld;
short BeginCount; short BeginCount;
@@ -2031,7 +2095,9 @@ struct ImGuiWindow
ImDrawList* DrawList; ImDrawList* DrawList;
ImDrawList DrawListInst; ImDrawList DrawListInst;
ImGuiWindow* ParentWindow; ImGuiWindow* ParentWindow;
ImGuiWindow* ParentWindowInBeginStack;
ImGuiWindow* RootWindow; ImGuiWindow* RootWindow;
ImGuiWindow* RootWindowPopupTree;
ImGuiWindow* RootWindowForTitleBarHighlight; ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav; ImGuiWindow* RootWindowForNav;
ImGuiWindow* NavLastChildNavWindow; ImGuiWindow* NavLastChildNavWindow;
@@ -2300,8 +2366,8 @@ typedef union SDL_Event SDL_Event;
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef ImGuiStorage::ImGuiStoragePair ImGuiStoragePair; typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
typedef ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
typedef ImStb::STB_TexteditState STB_TexteditState; typedef ImStb::STB_TexteditState STB_TexteditState;
typedef ImStb::StbTexteditRow StbTexteditRow; typedef ImStb::StbTexteditRow StbTexteditRow;
typedef ImStb::StbUndoRecord StbUndoRecord; typedef ImStb::StbUndoRecord StbUndoRecord;
@@ -2327,12 +2393,15 @@ typedef ImVector<ImGuiContextHook> ImVector_ImGuiContextHook;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData; typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiID> ImVector_ImGuiID; typedef ImVector<ImGuiID> ImVector_ImGuiID;
typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags; typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
typedef ImVector<ImGuiListClipperData> ImVector_ImGuiListClipperData;
typedef ImVector<ImGuiListClipperRange> ImVector_ImGuiListClipperRange;
typedef ImVector<ImGuiOldColumnData> ImVector_ImGuiOldColumnData; typedef ImVector<ImGuiOldColumnData> ImVector_ImGuiOldColumnData;
typedef ImVector<ImGuiOldColumns> ImVector_ImGuiOldColumns; typedef ImVector<ImGuiOldColumns> ImVector_ImGuiOldColumns;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData; typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex; typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler; typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem; typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem;
typedef ImVector<ImGuiStackLevelInfo> ImVector_ImGuiStackLevelInfo;
typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair; typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod; typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem; typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
@@ -2369,6 +2438,7 @@ CIMGUI_API void igRender(void);
CIMGUI_API ImDrawData* igGetDrawData(void); CIMGUI_API ImDrawData* igGetDrawData(void);
CIMGUI_API void igShowDemoWindow(bool* p_open); CIMGUI_API void igShowDemoWindow(bool* p_open);
CIMGUI_API void igShowMetricsWindow(bool* p_open); CIMGUI_API void igShowMetricsWindow(bool* p_open);
CIMGUI_API void igShowStackToolWindow(bool* p_open);
CIMGUI_API void igShowAboutWindow(bool* p_open); CIMGUI_API void igShowAboutWindow(bool* p_open);
CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref); CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref);
CIMGUI_API bool igShowStyleSelector(const char* label); CIMGUI_API bool igShowStyleSelector(const char* label);
@@ -2412,7 +2482,6 @@ CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut);
CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut); CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut);
CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut); CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut);
CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut); CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut);
CIMGUI_API float igGetWindowContentRegionWidth(void);
CIMGUI_API float igGetScrollX(void); CIMGUI_API float igGetScrollX(void);
CIMGUI_API float igGetScrollY(void); CIMGUI_API float igGetScrollY(void);
CIMGUI_API void igSetScrollX_Float(float scroll_x); CIMGUI_API void igSetScrollX_Float(float scroll_x);
@@ -2688,7 +2757,6 @@ CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void);
CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx); CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx);
CIMGUI_API void igSetStateStorage(ImGuiStorage* storage); CIMGUI_API void igSetStateStorage(ImGuiStorage* storage);
CIMGUI_API ImGuiStorage* igGetStateStorage(void); CIMGUI_API ImGuiStorage* igGetStateStorage(void);
CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end);
CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags); CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags);
CIMGUI_API void igEndChildFrame(void); CIMGUI_API void igEndChildFrame(void);
CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width); CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
@@ -2706,6 +2774,7 @@ CIMGUI_API bool igIsMouseDown(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseClicked(ImGuiMouseButton button,bool repeat); CIMGUI_API bool igIsMouseClicked(ImGuiMouseButton button,bool repeat);
CIMGUI_API bool igIsMouseReleased(ImGuiMouseButton button); CIMGUI_API bool igIsMouseReleased(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button); CIMGUI_API bool igIsMouseDoubleClicked(ImGuiMouseButton button);
CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip); CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip);
CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos);
CIMGUI_API bool igIsAnyMouseDown(void); CIMGUI_API bool igIsAnyMouseDown(void);
@@ -2734,8 +2803,9 @@ CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c); CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c);
CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self,ImWchar16 c); CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self,ImWchar16 c);
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str); CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str);
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused); CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused);
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self);
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void); CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self); CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void); CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
@@ -2804,6 +2874,7 @@ CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height); CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self); CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self); CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
CIMGUI_API void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self,int item_min,int item_max);
CIMGUI_API ImColor* ImColor_ImColor_Nil(void); CIMGUI_API ImColor* ImColor_ImColor_Nil(void);
CIMGUI_API void ImColor_destroy(ImColor* self); CIMGUI_API void ImColor_destroy(ImColor* self);
CIMGUI_API ImColor* ImColor_ImColor_Int(int r,int g,int b,int a); CIMGUI_API ImColor* ImColor_ImColor_Int(int r,int g,int b,int a);
@@ -2959,6 +3030,7 @@ CIMGUI_API void ImGuiViewport_GetCenter(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2 *pOut,ImGuiViewport* self); CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed); CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImU32 seed);
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed); CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImU32 seed);
CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*));
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b); CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b);
CIMGUI_API bool igImIsPowerOfTwo_Int(int v); CIMGUI_API bool igImIsPowerOfTwo_Int(int v);
CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v); CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v);
@@ -3025,6 +3097,7 @@ CIMGUI_API float igImDot(const ImVec2 a,const ImVec2 b);
CIMGUI_API void igImRotate(ImVec2 *pOut,const ImVec2 v,float cos_a,float sin_a); CIMGUI_API void igImRotate(ImVec2 *pOut,const ImVec2 v,float cos_a,float sin_a);
CIMGUI_API float igImLinearSweep(float current,float target,float speed); CIMGUI_API float igImLinearSweep(float current,float target,float speed);
CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs); CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f);
CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t); CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t);
CIMGUI_API void igImBezierCubicClosestPoint(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,int num_segments); CIMGUI_API void igImBezierCubicClosestPoint(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,int num_segments);
CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,float tess_tol); CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,float tess_tol);
@@ -3115,9 +3188,6 @@ CIMGUI_API int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self);
CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self); CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self);
CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void); CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void);
CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self); CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self);
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void);
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self);
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self);
CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void); CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void);
CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self); CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self);
CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self); CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self);
@@ -3126,9 +3196,21 @@ CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self);
CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self); CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void); CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void);
CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self); CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void);
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self);
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self); CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index); CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min,int max);
CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromPositions(float y1,float y2,int off_min,int off_max);
CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData(void);
CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self);
CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self,ImGuiListClipper* clipper);
CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void);
CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self);
CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self);
CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void); CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void);
CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self); CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self);
CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void); CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void);
@@ -3148,10 +3230,10 @@ CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler(void)
CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self); CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self);
CIMGUI_API ImGuiMetricsConfig* ImGuiMetricsConfig_ImGuiMetricsConfig(void); CIMGUI_API ImGuiMetricsConfig* ImGuiMetricsConfig_ImGuiMetricsConfig(void);
CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self); CIMGUI_API void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self);
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void); CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void);
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self); CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self);
CIMGUI_API void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self); CIMGUI_API ImGuiStackTool* ImGuiStackTool_ImGuiStackTool(void);
CIMGUI_API void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self); CIMGUI_API void ImGuiStackTool_destroy(ImGuiStackTool* self);
CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void); CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void);
CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self); CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self);
CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext(ImFontAtlas* shared_font_atlas); CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext(ImFontAtlas* shared_font_atlas);
@@ -3194,18 +3276,24 @@ CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id);
CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name); CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name);
CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window,ImGuiWindowFlags flags,ImGuiWindow* parent_window); CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window,ImGuiWindowFlags flags,ImGuiWindow* parent_window);
CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2 *pOut,ImGuiWindow* window); CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2 *pOut,ImGuiWindow* window);
CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent); CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy);
CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window,ImGuiWindow* potential_parent);
CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below); CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below);
CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window); CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window);
CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window,const ImVec2 pos,ImGuiCond cond); CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window,const ImVec2 pos,ImGuiCond cond);
CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond); CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond); CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size); CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size);
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igFocusWindow(ImGuiWindow* window); CIMGUI_API void igFocusWindow(ImGuiWindow* window);
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window); CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window);
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window); CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window);
CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window); CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window);
CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window); CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window);
CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window,ImGuiWindow* above_window);
CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window);
CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack(ImGuiWindow* window);
CIMGUI_API void igSetCurrentFont(ImFont* font); CIMGUI_API void igSetCurrentFont(ImFont* font);
CIMGUI_API ImFont* igGetDefaultFont(void); CIMGUI_API ImFont* igGetDefaultFont(void);
CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window); CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window);
@@ -3232,7 +3320,10 @@ CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x);
CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y); CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y);
CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio); CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window,float local_y,float center_y_ratio); CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window,float local_y,float center_y_ratio);
CIMGUI_API void igScrollToBringRectIntoView(ImVec2 *pOut,ImGuiWindow* window,const ImRect item_rect); CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags);
CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
CIMGUI_API void igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect);
CIMGUI_API ImGuiID igGetItemID(void); CIMGUI_API ImGuiID igGetItemID(void);
CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void); CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void);
CIMGUI_API ImGuiItemFlags igGetItemFlags(void); CIMGUI_API ImGuiItemFlags igGetItemFlags(void);
@@ -3249,10 +3340,10 @@ CIMGUI_API void igPushOverrideID(ImGuiID id);
CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed); CIMGUI_API ImGuiID igGetIDWithSeed(const char* str_id_begin,const char* str_id_end,ImGuiID seed);
CIMGUI_API void igItemSize_Vec2(const ImVec2 size,float text_baseline_y); CIMGUI_API void igItemSize_Vec2(const ImVec2 size,float text_baseline_y);
CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y); CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y);
CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemAddFlags flags); CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemFlags extra_flags);
CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id); CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id);
CIMGUI_API void igItemFocusable(ImGuiWindow* window,ImGuiID id); CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id);
CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id,bool clip_even_when_logged); CIMGUI_API void igSetLastItemData(ImGuiID item_id,ImGuiItemFlags in_flags,ImGuiItemStatusFlags status_flags,const ImRect item_rect);
CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h); CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h);
CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos,float wrap_pos_x); CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos,float wrap_pos_x);
CIMGUI_API void igPushMultiItemsWidths(int components,float width_full); CIMGUI_API void igPushMultiItemsWidths(int components,float width_full);
@@ -3269,22 +3360,29 @@ CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg
CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags); CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup);
CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_focus_to_window_under_popup); CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_focus_to_window_under_popup);
CIMGUI_API void igClosePopupsExceptModals(void);
CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags); CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags);
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags); CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags);
CIMGUI_API void igBeginTooltipEx(ImGuiWindowFlags extra_flags,ImGuiTooltipFlags tooltip_flags); CIMGUI_API void igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window); CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window);
CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void); CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void);
CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void);
CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window); CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window);
CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,const ImVec2 size,ImGuiDir* last_dir,const ImRect r_outer,const ImRect r_avoid,ImGuiPopupPositionPolicy policy); CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,const ImVec2 size,ImGuiDir* last_dir,const ImRect r_outer,const ImRect r_avoid,ImGuiPopupPositionPolicy policy);
CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags);
CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled);
CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled); CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled);
CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id,const ImRect bb,ImGuiComboFlags flags); CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id,const ImRect bb,ImGuiComboFlags flags);
CIMGUI_API bool igBeginComboPreview(void); CIMGUI_API bool igBeginComboPreview(void);
CIMGUI_API void igEndComboPreview(void); CIMGUI_API void igEndComboPreview(void);
CIMGUI_API void igNavInitWindow(ImGuiWindow* window,bool force_reinit); CIMGUI_API void igNavInitWindow(ImGuiWindow* window,bool force_reinit);
CIMGUI_API void igNavInitRequestApplyResult(void);
CIMGUI_API bool igNavMoveRequestButNoResultYet(void); CIMGUI_API bool igNavMoveRequestButNoResultYet(void);
CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags);
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags);
CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result);
CIMGUI_API void igNavMoveRequestCancel(void); CIMGUI_API void igNavMoveRequestCancel(void);
CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,const ImRect bb_rel,ImGuiNavMoveFlags move_flags); CIMGUI_API void igNavMoveRequestApplyResult(void);
CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags); CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags);
CIMGUI_API float igGetNavInputAmount(ImGuiNavInput n,ImGuiInputReadMode mode); CIMGUI_API float igGetNavInputAmount(ImGuiNavInput n,ImGuiInputReadMode mode);
CIMGUI_API void igGetNavInputAmount2d(ImVec2 *pOut,ImGuiNavDirSourceFlags dir_sources,ImGuiInputReadMode mode,float slow_factor,float fast_factor); CIMGUI_API void igGetNavInputAmount2d(ImVec2 *pOut,ImGuiNavDirSourceFlags dir_sources,ImGuiInputReadMode mode,float slow_factor,float fast_factor);
@@ -3397,7 +3495,7 @@ CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos); CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags); CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API void igScrollbar(ImGuiAxis axis); CIMGUI_API void igScrollbar(ImGuiAxis axis);
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* p_scroll_v,float avail_v,float contents_v,ImDrawFlags flags); CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags);
CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec2 padding,const ImVec4 bg_col,const ImVec4 tint_col); CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec2 padding,const ImVec4 bg_col,const ImVec4 tint_col);
CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis); CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis);
CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis); CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
@@ -3434,9 +3532,11 @@ CIMGUI_API void igGcCompactTransientMiscBuffers(void);
CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window); CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window);
CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window); CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window);
CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data); CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data);
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data);
CIMGUI_API void igDebugDrawItemRect(ImU32 col); CIMGUI_API void igDebugDrawItemRect(ImU32 col);
CIMGUI_API void igDebugStartItemPicker(void); CIMGUI_API void igDebugStartItemPicker(void);
CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas); CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas);
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 igDebugNodeColumns(ImGuiOldColumns* columns);
CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window,const ImDrawList* draw_list,const char* label); CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window,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 igDebugNodeDrawCmdShowMeshAndBoundingBox(ImDrawList* out_draw_list,const ImDrawList* draw_list,const ImDrawCmd* draw_cmd,bool show_mesh,bool show_aabb);
@@ -3448,6 +3548,7 @@ CIMGUI_API void igDebugNodeTableSettings(ImGuiTableSettings* settings);
CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window,const char* label); CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window,const char* label);
CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings); CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label); 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 igDebugNodeViewport(ImGuiViewportP* viewport);
CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb); CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb);
CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void); CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void);

View File

@@ -376,7 +376,7 @@ local function parseItems(txt,linenumdict, itparent, dumpit)
loca = table.remove(loca,1) loca = table.remove(loca,1)
end end
if not loca then if not loca then
print(string.format("%q , %q ",itemold,itemfirstline),#itemfirstline) print("not loca",string.format("%q , %q ",itemold,itemfirstline),#itemfirstline)
for k,v in pairs(linenumdict) do for k,v in pairs(linenumdict) do
if k:match(itemfirstline) then if k:match(itemfirstline) then
print(string.format("%q",k),#k) print(string.format("%q",k),#k)
@@ -618,16 +618,18 @@ local function parseFunction(self,stname,itt,namespace,locat)
end end
--get typ, name and defaults --get typ, name and defaults
local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" local functype_re = "^%s*[%w%s%*]+%(%*%s*[%w_]+%)%([^%(%)]*%)"
local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))" local functype_reex = "^(%s*[%w%s%*]+)%(%*%s*([%w_]+)%)(%([^%(%)]*%))"
local functype_arg_rest = "^(%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)),*(.*)"
local argsTa2 = {} local argsTa2 = {}
local noname_counter = 0 local noname_counter = 0
for i,ar in ipairs(argsTa) do for i,ar in ipairs(argsTa) do
local typ,name,retf,sigf,reftoptr,defa,ar1 local typ,name,retf,sigf,reftoptr,defa,ar1
local has_cdecl = ar:match"__cdecl"
if has_cdecl then ar = ar:gsub("__cdecl","") end
if ar:match(functype_re) then if ar:match(functype_re) then
local t1,namef,t2 = ar:match(functype_reex) local t1,namef,t2 = ar:match(functype_reex)
typ, name = t1.."(*)"..t2, namef local f_ = has_cdecl and "(__cdecl*)" or "(*)"
typ, name = t1..f_..t2, namef
retf = t1 retf = t1
sigf = t2 sigf = t2
else else
@@ -662,7 +664,7 @@ local function parseFunction(self,stname,itt,namespace,locat)
name = name:gsub("(%[%d*%])","") name = name:gsub("(%[%d*%])","")
end end
end end
argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf} argsTa2[i] = {type=typ,name=name,default=defa,reftoptr=reftoptr,ret=retf,signature=sigf,has_cdecl=has_cdecl}
if ar:match("&") and not ar:match("const") then if ar:match("&") and not ar:match("const") then
--only post error if not manual --only post error if not manual
local cname = self.getCname(stname,funcname, namespace) --cimguiname local cname = self.getCname(stname,funcname, namespace) --cimguiname
@@ -682,9 +684,10 @@ local function parseFunction(self,stname,itt,namespace,locat)
signat = "(" signat = "("
for i,v in ipairs(argsArr) do for i,v in ipairs(argsArr) do
if v.ret then --function pointer if v.ret then --function pointer
asp = asp .. v.ret .. "(*" .. v.name .. ")" .. v.signature .. "," local f_ = v.has_cdecl and "(__cdecl*" or "(*"
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
caar = caar .. v.name .. "," caar = caar .. v.name .. ","
signat = signat .. v.ret .. "(*)" .. clean_names_from_signature(self,v.signature) .. "," signat = signat .. v.ret .. f_..")" .. clean_names_from_signature(self,v.signature) .. ","
else else
local siz = v.type:match("(%[%d*%])") or "" local siz = v.type:match("(%[%d*%])") or ""
local typ = v.type:gsub("(%[%d*%])","") local typ = v.type:gsub("(%[%d*%])","")
@@ -1158,13 +1161,14 @@ function M.Parser()
local cdefs2 = {} local cdefs2 = {}
for i,cdef in ipairs(cdefs) do for i,cdef in ipairs(cdefs) do
if self.linenumdict[cdef[1]] then if self.linenumdict[cdef[1]] then
--print("linenumdict alredy defined for", cdef[1],type(self.linenumdict[cdef[1]])) --print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
if type(self.linenumdict[cdef[1]])=="string" then if type(self.linenumdict[cdef[1]])=="string" then
self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]} self.linenumdict[cdef[1]] = {self.linenumdict[cdef[1]], cdef[2]}
else -- must be table already else -- must be table already
table.insert(self.linenumdict[cdef[1]],cdef[2]) table.insert(self.linenumdict[cdef[1]],cdef[2])
end end
else else
--print("nuevo linenumdict es",cdef[1],cdef[2])
self.linenumdict[cdef[1]]=cdef[2] self.linenumdict[cdef[1]]=cdef[2]
end end
table.insert(cdefs2,cdef[1]) table.insert(cdefs2,cdef[1])
@@ -1361,8 +1365,13 @@ function M.Parser()
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;")) or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
--TODO nesting namespace and class --TODO nesting namespace and class
local parname = get_parents_name(it) local parname = get_parents_name(it)
if it.parent.re_name == "struct_re" then
--needed by cimnodes with struct tag name equals member name
self.embeded_structs[embededst] = "struct "..parname..embededst
else
self.embeded_structs[embededst] = parname..embededst self.embeded_structs[embededst] = parname..embededst
end end
end
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
--nop --nop
elseif it.re_name == "functionD_re" or it.re_name == "function_re" then elseif it.re_name == "functionD_re" or it.re_name == "function_re" then
@@ -2079,7 +2088,7 @@ end
M.func_header_generate = func_header_generate M.func_header_generate = func_header_generate
--[=[ --[=[
-- tests -- tests
local line = [[struct ImDrawListSharedData local code = [[struct ImDrawListSharedData
{ {
ImVec2 TexUvWhitePixel; ImVec2 TexUvWhitePixel;
ImFont* Font; ImFont* Font;
@@ -2093,11 +2102,16 @@ local line = [[struct ImDrawListSharedData
ImDrawListSharedData(); ImDrawListSharedData();
void SetCircleSegmentMaxError(float max_error); void SetCircleSegmentMaxError(float max_error);
};]] };]]
local code = [[static inline void ImQsort(void* base, size_t count, size_t size_of_element, int(__cdecl *compare_func)(void const*, void const*)) { if (count > 1) qsort(base, count, size_of_element, compare_func); }
]]
local parser = M.Parser() local parser = M.Parser()
parser:insert(line) for line in code:gmatch("[^\n]+") do
print("inserting",line)
parser:insert(line,"11")
end
parser:do_parse() parser:do_parse()
--M.prtable(parser) M.prtable(parser)
M.prtable(parser:gen_structs_and_enums_table()) --M.prtable(parser:gen_structs_and_enums_table())
--]=] --]=]
--print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]]) --print(clean_spaces[[ImVec2 ArcFastVtx[12 * 1];]])

View File

@@ -14,7 +14,7 @@ local CPRE,CTEST
--get implementations --get implementations
local implementations = {} local implementations = {}
for i=3,#script_args do for i=3,#script_args do
if script_args[i]:match(COMPILER == cl and "^/" or "^%-") then if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
local key, value = script_args[i]:match("^(.+)=(.+)$") local key, value = script_args[i]:match("^(.+)=(.+)$")
if key and value then if key and value then
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\""; CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
@@ -30,7 +30,7 @@ if COMPILER == "gcc" or COMPILER == "clang" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version" CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER CTEST = COMPILER
else else
print("Working without compiler ") print("Working without compiler ")
@@ -136,14 +136,16 @@ local func_implementation = cpp2ffi.func_implementation
-------------------functions for getting and setting defines -------------------functions for getting and setting defines
local function get_defines(t) local function get_defines(t)
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end local compiler_cmd = COMPILER == "cl"
print(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]] .. CFLAGS) and COMPILER..[[ /TP /nologo /c /Fo"NUL" /I "]]..IMGUI_PATH..[[" print_defines.cpp]]..CFLAGS
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]] .. CFLAGS,"r") or COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]]..CFLAGS
print(compiler_cmd)
local pipe,err = io.popen(compiler_cmd,"r")
local defines = {} local defines = {}
while true do while true do
local line = pipe:read"*l" local line = pipe:read"*l"
if not line then break end if not line then break end
local key,value = line:match([[#define%s+(%S+)%s*(.*)]]) local key,value = line:match([[^#define%s+(%S+)%s*(.*)]])
if not key then --or not value then if not key then --or not value then
--print(line) --print(line)
else else
@@ -336,34 +338,13 @@ end
-----------------------------do it---------------------- -----------------------------do it----------------------
-------------------------------------------------------- --------------------------------------------------------
--get imgui.h version and IMGUI_HAS_DOCK-------------------------- --get imgui.h version and IMGUI_HAS_DOCK--------------------------
--get some defines wont work for cl ---------------- --defines for the cl compiler must be present in the print_defines.cpp file
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"} gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
--this will work for cl
local pipe,err = io.open(IMGUI_PATH.."/imgui.h","r")
if not pipe then
error("could not open file:"..err)
end
local imgui_version,has_dock,has_imstr
while true do
local line = pipe:read"*l"
if not line then break end
if not imgui_version then
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
end
if not has_dock then
has_dock = line:match([[#define%s+IMGUI_HAS_DOCK]])--%s*(".+")]])
end
if not has_imstr then
has_imstr = line:match([[#define%s+IMGUI_HAS_IMSTR]])--%s*(".+")]])
end
if imgui_version and has_dock and has_imstr then break end
end
pipe:close()
if has_dock then gdefines.IMGUI_HAS_DOCK = true end if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
if has_imstr then gdefines.IMGUI_HAS_IMSTR = true end if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
cimgui_header = cimgui_header:gsub("XXX",imgui_version) cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION)
if INTERNAL_GENERATION then if INTERNAL_GENERATION then
cimgui_header = cimgui_header..[[//with imgui_internal.h api cimgui_header = cimgui_header..[[//with imgui_internal.h api
]] ]]
@@ -379,7 +360,7 @@ if gdefines.IMGUI_HAS_DOCK then
end end
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR) print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK) print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
print("IMGUI_VERSION",imgui_version) print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
--funtion for parsing imgui headers --funtion for parsing imgui headers

View File

@@ -38,6 +38,7 @@ CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_con
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window); CIMGUI_API bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window);
CIMGUI_API void ImGui_ImplSDL2_Shutdown(); CIMGUI_API void ImGui_ImplSDL2_Shutdown();
CIMGUI_API void ImGui_ImplSDL2_NewFrame(); CIMGUI_API void ImGui_ImplSDL2_NewFrame();
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event); CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -645,6 +645,27 @@
"stname": "" "stname": ""
} }
], ],
"ImGui_ImplSDL2_InitForSDLRenderer": [
{
"args": "(SDL_Window* window)",
"argsT": [
{
"name": "window",
"type": "SDL_Window*"
}
],
"argsoriginal": "(SDL_Window* window)",
"call_args": "(window)",
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"defaults": {},
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
"location": "imgui_impl_sdl:28",
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
"ret": "bool",
"signature": "(SDL_Window*)",
"stname": ""
}
],
"ImGui_ImplSDL2_InitForVulkan": [ "ImGui_ImplSDL2_InitForVulkan": [
{ {
"args": "(SDL_Window* window)", "args": "(SDL_Window* window)",
@@ -675,7 +696,7 @@
"cimguiname": "ImGui_ImplSDL2_NewFrame", "cimguiname": "ImGui_ImplSDL2_NewFrame",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_NewFrame", "funcname": "ImGui_ImplSDL2_NewFrame",
"location": "imgui_impl_sdl:29", "location": "imgui_impl_sdl:30",
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame", "ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",
@@ -696,7 +717,7 @@
"cimguiname": "ImGui_ImplSDL2_ProcessEvent", "cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_ProcessEvent", "funcname": "ImGui_ImplSDL2_ProcessEvent",
"location": "imgui_impl_sdl:30", "location": "imgui_impl_sdl:31",
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent", "ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
"ret": "bool", "ret": "bool",
"signature": "(const SDL_Event*)", "signature": "(const SDL_Event*)",
@@ -712,7 +733,7 @@
"cimguiname": "ImGui_ImplSDL2_Shutdown", "cimguiname": "ImGui_ImplSDL2_Shutdown",
"defaults": {}, "defaults": {},
"funcname": "ImGui_ImplSDL2_Shutdown", "funcname": "ImGui_ImplSDL2_Shutdown",
"location": "imgui_impl_sdl:28", "location": "imgui_impl_sdl:29",
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown", "ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
"ret": "void", "ret": "void",
"signature": "()", "signature": "()",

View File

@@ -564,6 +564,24 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = "" defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1] defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
defs["ImGui_ImplSDL2_InitForSDLRenderer"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["args"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["name"] = "window"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["type"] = "SDL_Window*"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsoriginal"] = "(SDL_Window* window)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["call_args"] = "(window)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl:28"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["signature"] = "(SDL_Window*)"
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["stname"] = ""
defs["ImGui_ImplSDL2_InitForSDLRenderer"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]
defs["ImGui_ImplSDL2_InitForVulkan"] = {} defs["ImGui_ImplSDL2_InitForVulkan"] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {} defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)" defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
@@ -591,7 +609,7 @@ defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {} defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:29" defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:30"
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame" defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void" defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()" defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()"
@@ -609,7 +627,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {} defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:30" defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:31"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool" defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)" defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
@@ -624,7 +642,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {} defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:28" defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:29"
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown" defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void" defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()" defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -23,6 +23,7 @@
"ImFontConfig": "struct ImFontConfig", "ImFontConfig": "struct ImFontConfig",
"ImFontGlyph": "struct ImFontGlyph", "ImFontGlyph": "struct ImFontGlyph",
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder", "ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
"ImGuiActivateFlags": "int",
"ImGuiBackendFlags": "int", "ImGuiBackendFlags": "int",
"ImGuiButtonFlags": "int", "ImGuiButtonFlags": "int",
"ImGuiCol": "int", "ImGuiCol": "int",
@@ -50,7 +51,6 @@
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData", "ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
"ImGuiInputTextFlags": "int", "ImGuiInputTextFlags": "int",
"ImGuiInputTextState": "struct ImGuiInputTextState", "ImGuiInputTextState": "struct ImGuiInputTextState",
"ImGuiItemAddFlags": "int",
"ImGuiItemFlags": "int", "ImGuiItemFlags": "int",
"ImGuiItemStatusFlags": "int", "ImGuiItemStatusFlags": "int",
"ImGuiKey": "int", "ImGuiKey": "int",
@@ -58,6 +58,8 @@
"ImGuiLastItemData": "struct ImGuiLastItemData", "ImGuiLastItemData": "struct ImGuiLastItemData",
"ImGuiLayoutType": "int", "ImGuiLayoutType": "int",
"ImGuiListClipper": "struct ImGuiListClipper", "ImGuiListClipper": "struct ImGuiListClipper",
"ImGuiListClipperData": "struct ImGuiListClipperData",
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);", "ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);", "ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
"ImGuiMenuColumns": "struct ImGuiMenuColumns", "ImGuiMenuColumns": "struct ImGuiMenuColumns",
@@ -81,6 +83,7 @@
"ImGuiPopupData": "struct ImGuiPopupData", "ImGuiPopupData": "struct ImGuiPopupData",
"ImGuiPopupFlags": "int", "ImGuiPopupFlags": "int",
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex", "ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
"ImGuiScrollFlags": "int",
"ImGuiSelectableFlags": "int", "ImGuiSelectableFlags": "int",
"ImGuiSeparatorFlags": "int", "ImGuiSeparatorFlags": "int",
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler", "ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
@@ -89,7 +92,9 @@
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData", "ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
"ImGuiSliderFlags": "int", "ImGuiSliderFlags": "int",
"ImGuiSortDirection": "int", "ImGuiSortDirection": "int",
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
"ImGuiStackSizes": "struct ImGuiStackSizes", "ImGuiStackSizes": "struct ImGuiStackSizes",
"ImGuiStackTool": "struct ImGuiStackTool",
"ImGuiStorage": "struct ImGuiStorage", "ImGuiStorage": "struct ImGuiStorage",
"ImGuiStoragePair": "struct ImGuiStoragePair", "ImGuiStoragePair": "struct ImGuiStoragePair",
"ImGuiStyle": "struct ImGuiStyle", "ImGuiStyle": "struct ImGuiStyle",

View File

@@ -23,6 +23,7 @@ defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
defs["ImFontConfig"] = "struct ImFontConfig" defs["ImFontConfig"] = "struct ImFontConfig"
defs["ImFontGlyph"] = "struct ImFontGlyph" defs["ImFontGlyph"] = "struct ImFontGlyph"
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder" defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
defs["ImGuiActivateFlags"] = "int"
defs["ImGuiBackendFlags"] = "int" defs["ImGuiBackendFlags"] = "int"
defs["ImGuiButtonFlags"] = "int" defs["ImGuiButtonFlags"] = "int"
defs["ImGuiCol"] = "int" defs["ImGuiCol"] = "int"
@@ -50,7 +51,6 @@ defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData" defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
defs["ImGuiInputTextFlags"] = "int" defs["ImGuiInputTextFlags"] = "int"
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState" defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
defs["ImGuiItemAddFlags"] = "int"
defs["ImGuiItemFlags"] = "int" defs["ImGuiItemFlags"] = "int"
defs["ImGuiItemStatusFlags"] = "int" defs["ImGuiItemStatusFlags"] = "int"
defs["ImGuiKey"] = "int" defs["ImGuiKey"] = "int"
@@ -58,6 +58,8 @@ defs["ImGuiKeyModFlags"] = "int"
defs["ImGuiLastItemData"] = "struct ImGuiLastItemData" defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
defs["ImGuiLayoutType"] = "int" defs["ImGuiLayoutType"] = "int"
defs["ImGuiListClipper"] = "struct ImGuiListClipper" defs["ImGuiListClipper"] = "struct ImGuiListClipper"
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);" defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);" defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns" defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
@@ -81,6 +83,7 @@ defs["ImGuiPayload"] = "struct ImGuiPayload"
defs["ImGuiPopupData"] = "struct ImGuiPopupData" defs["ImGuiPopupData"] = "struct ImGuiPopupData"
defs["ImGuiPopupFlags"] = "int" defs["ImGuiPopupFlags"] = "int"
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex" defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
defs["ImGuiScrollFlags"] = "int"
defs["ImGuiSelectableFlags"] = "int" defs["ImGuiSelectableFlags"] = "int"
defs["ImGuiSeparatorFlags"] = "int" defs["ImGuiSeparatorFlags"] = "int"
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler" defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
@@ -89,7 +92,9 @@ defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData" defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
defs["ImGuiSliderFlags"] = "int" defs["ImGuiSliderFlags"] = "int"
defs["ImGuiSortDirection"] = "int" defs["ImGuiSortDirection"] = "int"
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes" defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
defs["ImGuiStorage"] = "struct ImGuiStorage" defs["ImGuiStorage"] = "struct ImGuiStorage"
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair" defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
defs["ImGuiStyle"] = "struct ImGuiStyle" defs["ImGuiStyle"] = "struct ImGuiStyle"

View File

@@ -0,0 +1,25 @@
#include "imgui.h"
#define CIMGUI_STRINGIZE_(x) #x
#define CIMGUI_STRINGIZE(x) CIMGUI_STRINGIZE_(x)
#define CIMGUI_DEFSTRING(x) "#define " #x " " CIMGUI_STRINGIZE(x)
#ifdef IMGUI_VERSION
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION))
#endif
#ifdef IMGUI_HAS_DOCK
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK))
#endif
#ifdef IMGUI_HAS_IMSTR
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_IMSTR))
#endif
#ifdef FLT_MIN
#pragma message(CIMGUI_DEFSTRING(FLT_MIN))
#endif
#ifdef FLT_MAX
#pragma message(CIMGUI_DEFSTRING(FLT_MAX))
#endif

2
imgui

Submodule imgui updated: 32d4f6c5d9...512c54bbc0