mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-11 12:18:30 +01:00
Compare commits
11 Commits
1.91.0dock
...
1.91.3dock
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8268b6748b | ||
![]() |
652d4cbc89 | ||
![]() |
e50a65fd62 | ||
![]() |
f276fd4ae1 | ||
![]() |
c06a46b0f2 | ||
![]() |
a051fe287b | ||
![]() |
411924f104 | ||
![]() |
0c7f67607d | ||
![]() |
51197f420a | ||
![]() |
ed017a0704 | ||
![]() |
c482a65118 |
@@ -11,7 +11,7 @@ History:
|
||||
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
|
||||
|
||||
Notes:
|
||||
* currently this wrapper is based on version [1.91.0 of Dear ImGui with internal api]
|
||||
* currently this wrapper is based on version [1.91.3 of Dear ImGui with internal api]
|
||||
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
|
||||
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
|
||||
@@ -37,7 +37,7 @@ Notes:
|
||||
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
|
||||
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
|
||||
* update `imgui` folder to the version you desire.
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not and if constructors are generated also with versions performing just initialization of structs provided by yourself (_Construct is added to the constructor names)
|
||||
* the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends.
|
||||
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
|
||||
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
|
||||
|
134
cimgui.cpp
134
cimgui.cpp
@@ -1,5 +1,5 @@
|
||||
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
|
||||
//based on imgui.h file version "1.91.0" 19100 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//based on imgui.h file version "1.91.3" 19130 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//with imgui_internal.h api
|
||||
//docking branch
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
@@ -64,6 +64,10 @@ CIMGUI_API ImGuiIO* igGetIO()
|
||||
{
|
||||
return &ImGui::GetIO();
|
||||
}
|
||||
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO()
|
||||
{
|
||||
return &ImGui::GetPlatformIO();
|
||||
}
|
||||
CIMGUI_API ImGuiStyle* igGetStyle()
|
||||
{
|
||||
return &ImGui::GetStyle();
|
||||
@@ -340,6 +344,14 @@ CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx,const ImVec2 val)
|
||||
{
|
||||
return ImGui::PushStyleVar(idx,val);
|
||||
}
|
||||
CIMGUI_API void igPushStyleVarX(ImGuiStyleVar idx,float val_x)
|
||||
{
|
||||
return ImGui::PushStyleVarX(idx,val_x);
|
||||
}
|
||||
CIMGUI_API void igPushStyleVarY(ImGuiStyleVar idx,float val_y)
|
||||
{
|
||||
return ImGui::PushStyleVarY(idx,val_y);
|
||||
}
|
||||
CIMGUI_API void igPopStyleVar(int count)
|
||||
{
|
||||
return ImGui::PopStyleVar(count);
|
||||
@@ -1220,9 +1232,9 @@ CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int colu
|
||||
{
|
||||
return ImGui::TableSetBgColor(target,color,column_n);
|
||||
}
|
||||
CIMGUI_API void igColumns(int count,const char* id,bool border)
|
||||
CIMGUI_API void igColumns(int count,const char* id,bool borders)
|
||||
{
|
||||
return ImGui::Columns(count,id,border);
|
||||
return ImGui::Columns(count,id,borders);
|
||||
}
|
||||
CIMGUI_API void igNextColumn()
|
||||
{
|
||||
@@ -1683,10 +1695,6 @@ CIMGUI_API void igMemFree(void* ptr)
|
||||
{
|
||||
return ImGui::MemFree(ptr);
|
||||
}
|
||||
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO()
|
||||
{
|
||||
return &ImGui::GetPlatformIO();
|
||||
}
|
||||
CIMGUI_API void igUpdatePlatformWindows()
|
||||
{
|
||||
return ImGui::UpdatePlatformWindows();
|
||||
@@ -2459,6 +2467,10 @@ CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self)
|
||||
{
|
||||
return self->_OnChangedVtxOffset();
|
||||
}
|
||||
CIMGUI_API void ImDrawList__SetTextureID(ImDrawList* self,ImTextureID texture_id)
|
||||
{
|
||||
return self->_SetTextureID(texture_id);
|
||||
}
|
||||
CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self,float radius)
|
||||
{
|
||||
return self->_CalcCircleAutoSegmentCount(radius);
|
||||
@@ -2859,9 +2871,9 @@ CIMGUI_API int igImStrlenW(const ImWchar* str)
|
||||
{
|
||||
return ImStrlenW(str);
|
||||
}
|
||||
CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line,const ImWchar* buf_begin)
|
||||
CIMGUI_API const char* igImStrbol(const char* buf_mid_line,const char* buf_begin)
|
||||
{
|
||||
return ImStrbolW(buf_mid_line,buf_begin);
|
||||
return ImStrbol(buf_mid_line,buf_begin);
|
||||
}
|
||||
CIMGUI_API char igImToUpper(char c)
|
||||
{
|
||||
@@ -3470,18 +3482,14 @@ CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self)
|
||||
{
|
||||
return self->ClearFreeMemory();
|
||||
}
|
||||
CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self)
|
||||
{
|
||||
return self->GetUndoAvailCount();
|
||||
}
|
||||
CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self)
|
||||
{
|
||||
return self->GetRedoAvailCount();
|
||||
}
|
||||
CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self,int key)
|
||||
{
|
||||
return self->OnKeyPressed(key);
|
||||
}
|
||||
CIMGUI_API void ImGuiInputTextState_OnCharPressed(ImGuiInputTextState* self,unsigned int c)
|
||||
{
|
||||
return self->OnCharPressed(c);
|
||||
}
|
||||
CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self)
|
||||
{
|
||||
return self->CursorAnimReset();
|
||||
@@ -3558,22 +3566,14 @@ CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void)
|
||||
CIMGUI_API ImGuiErrorRecoveryState* ImGuiErrorRecoveryState_ImGuiErrorRecoveryState(void)
|
||||
{
|
||||
return IM_NEW(ImGuiStackSizes)();
|
||||
return IM_NEW(ImGuiErrorRecoveryState)();
|
||||
}
|
||||
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self)
|
||||
CIMGUI_API void ImGuiErrorRecoveryState_destroy(ImGuiErrorRecoveryState* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
|
||||
{
|
||||
return self->SetToContextState(ctx);
|
||||
}
|
||||
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx)
|
||||
{
|
||||
return self->CompareWithContextState(ctx);
|
||||
}
|
||||
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr)
|
||||
{
|
||||
return IM_NEW(ImGuiPtrOrIndex)(ptr);
|
||||
@@ -3798,13 +3798,13 @@ CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self)
|
||||
{
|
||||
return self->ClearRequestFlags();
|
||||
}
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min)
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 inset_min)
|
||||
{
|
||||
*pOut = self->CalcWorkRectPos(off_min);
|
||||
*pOut = self->CalcWorkRectPos(inset_min);
|
||||
}
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min,const ImVec2 off_max)
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 inset_min,const ImVec2 inset_max)
|
||||
{
|
||||
*pOut = self->CalcWorkRectSize(off_min,off_max);
|
||||
*pOut = self->CalcWorkRectSize(inset_min,inset_max);
|
||||
}
|
||||
CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self)
|
||||
{
|
||||
@@ -3902,6 +3902,10 @@ CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self,int n)
|
||||
{
|
||||
return self->GetID(n);
|
||||
}
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromPos(ImGuiWindow* self,const ImVec2 p_abs)
|
||||
{
|
||||
return self->GetIDFromPos(p_abs);
|
||||
}
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs)
|
||||
{
|
||||
return self->GetIDFromRectangle(r_abs);
|
||||
@@ -4066,14 +4070,14 @@ CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRe
|
||||
{
|
||||
*pOut = ImGui::WindowRectRelToAbs(window,r);
|
||||
}
|
||||
CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p)
|
||||
{
|
||||
*pOut = ImGui::WindowPosRelToAbs(window,p);
|
||||
}
|
||||
CIMGUI_API void igWindowPosAbsToRel(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p)
|
||||
{
|
||||
*pOut = ImGui::WindowPosAbsToRel(window,p);
|
||||
}
|
||||
CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p)
|
||||
{
|
||||
*pOut = ImGui::WindowPosRelToAbs(window,p);
|
||||
}
|
||||
CIMGUI_API void igFocusWindow(ImGuiWindow* window,ImGuiFocusRequestFlags flags)
|
||||
{
|
||||
return ImGui::FocusWindow(window,flags);
|
||||
@@ -4174,9 +4178,9 @@ CIMGUI_API void igCallContextHooks(ImGuiContext* context,ImGuiContextHookType ty
|
||||
{
|
||||
return ImGui::CallContextHooks(context,type);
|
||||
}
|
||||
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos)
|
||||
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos,const ImVec2 old_size,const ImVec2 new_size)
|
||||
{
|
||||
return ImGui::TranslateWindowsInViewport(viewport,old_pos,new_pos);
|
||||
return ImGui::TranslateWindowsInViewport(viewport,old_pos,new_pos,old_size,new_size);
|
||||
}
|
||||
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale)
|
||||
{
|
||||
@@ -4598,9 +4602,9 @@ CIMGUI_API bool igIsAliasKey(ImGuiKey key)
|
||||
{
|
||||
return ImGui::IsAliasKey(key);
|
||||
}
|
||||
CIMGUI_API bool igIsModKey(ImGuiKey key)
|
||||
CIMGUI_API bool igIsLRModKey(ImGuiKey key)
|
||||
{
|
||||
return ImGui::IsModKey(key);
|
||||
return ImGui::IsLRModKey(key);
|
||||
}
|
||||
CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiKeyChord key_chord)
|
||||
{
|
||||
@@ -5162,9 +5166,9 @@ CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table,int column_n,int i
|
||||
{
|
||||
return ImGui::TableGetColumnResizeID(table,column_n,instance_no);
|
||||
}
|
||||
CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table,int column_n)
|
||||
CIMGUI_API float igTableCalcMaxColumnWidth(const ImGuiTable* table,int column_n)
|
||||
{
|
||||
return ImGui::TableGetMaxColumnWidth(table,column_n);
|
||||
return ImGui::TableCalcMaxColumnWidth(table,column_n);
|
||||
}
|
||||
CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table,int column_n)
|
||||
{
|
||||
@@ -5262,10 +5266,14 @@ CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
|
||||
{
|
||||
return ImGui::TabBarCloseTab(tab_bar,tab);
|
||||
}
|
||||
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
|
||||
CIMGUI_API void igTabBarQueueFocus_TabItemPtr(ImGuiTabBar* tab_bar,ImGuiTabItem* tab)
|
||||
{
|
||||
return ImGui::TabBarQueueFocus(tab_bar,tab);
|
||||
}
|
||||
CIMGUI_API void igTabBarQueueFocus_Str(ImGuiTabBar* tab_bar,const char* tab_name)
|
||||
{
|
||||
return ImGui::TabBarQueueFocus(tab_bar,tab_name);
|
||||
}
|
||||
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset)
|
||||
{
|
||||
return ImGui::TabBarQueueReorder(tab_bar,tab,offset);
|
||||
@@ -5318,9 +5326,9 @@ CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2 pos_min,
|
||||
{
|
||||
return ImGui::RenderTextEllipsis(draw_list,pos_min,pos_max,clip_max_x,ellipsis_max_x,text,text_end,text_size_if_known);
|
||||
}
|
||||
CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool border,float rounding)
|
||||
CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool borders,float rounding)
|
||||
{
|
||||
return ImGui::RenderFrame(p_min,p_max,fill_col,border,rounding);
|
||||
return ImGui::RenderFrame(p_min,p_max,fill_col,borders,rounding);
|
||||
}
|
||||
CIMGUI_API void igRenderFrameBorder(ImVec2 p_min,ImVec2 p_max,float rounding)
|
||||
{
|
||||
@@ -5498,6 +5506,10 @@ CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void*
|
||||
{
|
||||
return ImGui::DataTypeClamp(data_type,p_data,p_min,p_max);
|
||||
}
|
||||
CIMGUI_API bool igDataTypeIsZero(ImGuiDataType data_type,const void* p_data)
|
||||
{
|
||||
return ImGui::DataTypeIsZero(data_type,p_data);
|
||||
}
|
||||
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
|
||||
{
|
||||
return ImGui::InputTextEx(label,hint,buf,buf_size,size_arg,flags,callback,user_data);
|
||||
@@ -5566,22 +5578,42 @@ CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window)
|
||||
{
|
||||
return ImGui::GcAwakeTransientWindowBuffers(window);
|
||||
}
|
||||
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size)
|
||||
CIMGUI_API bool igErrorLog(const char* msg)
|
||||
{
|
||||
return ImGui::DebugAllocHook(info,frame_count,ptr,size);
|
||||
return ImGui::ErrorLog(msg);
|
||||
}
|
||||
CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data)
|
||||
CIMGUI_API void igErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out)
|
||||
{
|
||||
return ImGui::ErrorCheckEndFrameRecover(log_callback,user_data);
|
||||
return ImGui::ErrorRecoveryStoreState(state_out);
|
||||
}
|
||||
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data)
|
||||
CIMGUI_API void igErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in)
|
||||
{
|
||||
return ImGui::ErrorCheckEndWindowRecover(log_callback,user_data);
|
||||
return ImGui::ErrorRecoveryTryToRecoverState(state_in);
|
||||
}
|
||||
CIMGUI_API void igErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in)
|
||||
{
|
||||
return ImGui::ErrorRecoveryTryToRecoverWindowState(state_in);
|
||||
}
|
||||
CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries()
|
||||
{
|
||||
return ImGui::ErrorCheckUsingSetCursorPosToExtendParentBoundaries();
|
||||
}
|
||||
CIMGUI_API void igErrorCheckEndFrameFinalizeErrorTooltip()
|
||||
{
|
||||
return ImGui::ErrorCheckEndFrameFinalizeErrorTooltip();
|
||||
}
|
||||
CIMGUI_API bool igBeginErrorTooltip()
|
||||
{
|
||||
return ImGui::BeginErrorTooltip();
|
||||
}
|
||||
CIMGUI_API void igEndErrorTooltip()
|
||||
{
|
||||
return ImGui::EndErrorTooltip();
|
||||
}
|
||||
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size)
|
||||
{
|
||||
return ImGui::DebugAllocHook(info,frame_count,ptr,size);
|
||||
}
|
||||
CIMGUI_API void igDebugDrawCursorPos(ImU32 col)
|
||||
{
|
||||
return ImGui::DebugDrawCursorPos(col);
|
||||
|
213
cimgui.h
213
cimgui.h
@@ -1,5 +1,5 @@
|
||||
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
|
||||
//based on imgui.h file version "1.91.0" 19100 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//based on imgui.h file version "1.91.3" 19130 from Dear ImGui https://github.com/ocornut/imgui
|
||||
//with imgui_internal.h api
|
||||
//docking branch
|
||||
#ifndef CIMGUI_INCLUDED
|
||||
@@ -64,8 +64,8 @@ typedef struct ImGuiMultiSelectIO ImGuiMultiSelectIO;
|
||||
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
|
||||
typedef struct ImGuiPayload ImGuiPayload;
|
||||
typedef struct ImGuiPlatformIO ImGuiPlatformIO;
|
||||
typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
|
||||
typedef struct ImGuiPlatformImeData ImGuiPlatformImeData;
|
||||
typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
|
||||
typedef struct ImGuiSelectionBasicStorage ImGuiSelectionBasicStorage;
|
||||
typedef struct ImGuiSelectionExternalStorage ImGuiSelectionExternalStorage;
|
||||
typedef struct ImGuiSelectionRequest ImGuiSelectionRequest;
|
||||
@@ -91,6 +91,7 @@ typedef struct ImGuiDockContext ImGuiDockContext;
|
||||
typedef struct ImGuiDockRequest ImGuiDockRequest;
|
||||
typedef struct ImGuiDockNode ImGuiDockNode;
|
||||
typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
|
||||
typedef struct ImGuiErrorRecoveryState ImGuiErrorRecoveryState;
|
||||
typedef struct ImGuiGroupData ImGuiGroupData;
|
||||
typedef struct ImGuiInputTextState ImGuiInputTextState;
|
||||
typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData;
|
||||
@@ -107,7 +108,6 @@ typedef struct ImGuiOldColumnData ImGuiOldColumnData;
|
||||
typedef struct ImGuiOldColumns ImGuiOldColumns;
|
||||
typedef struct ImGuiPopupData ImGuiPopupData;
|
||||
typedef struct ImGuiSettingsHandler ImGuiSettingsHandler;
|
||||
typedef struct ImGuiStackSizes ImGuiStackSizes;
|
||||
typedef struct ImGuiStyleMod ImGuiStyleMod;
|
||||
typedef struct ImGuiTabBar ImGuiTabBar;
|
||||
typedef struct ImGuiTabItem ImGuiTabItem;
|
||||
@@ -125,6 +125,7 @@ typedef struct ImGuiWindow ImGuiWindow;
|
||||
typedef struct ImGuiWindowDockStyle ImGuiWindowDockStyle;
|
||||
typedef struct ImGuiWindowTempData ImGuiWindowTempData;
|
||||
typedef struct ImGuiWindowSettings ImGuiWindowSettings;
|
||||
typedef struct STB_TexteditState STB_TexteditState;
|
||||
typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr;
|
||||
|
||||
typedef unsigned int ImGuiID;
|
||||
@@ -159,8 +160,8 @@ struct ImGuiMultiSelectIO;
|
||||
struct ImGuiOnceUponAFrame;
|
||||
struct ImGuiPayload;
|
||||
struct ImGuiPlatformIO;
|
||||
struct ImGuiPlatformMonitor;
|
||||
struct ImGuiPlatformImeData;
|
||||
struct ImGuiPlatformMonitor;
|
||||
struct ImGuiSelectionBasicStorage;
|
||||
struct ImGuiSelectionExternalStorage;
|
||||
struct ImGuiSelectionRequest;
|
||||
@@ -264,7 +265,7 @@ typedef enum {
|
||||
}ImGuiWindowFlags_;
|
||||
typedef enum {
|
||||
ImGuiChildFlags_None = 0,
|
||||
ImGuiChildFlags_Border = 1 << 0,
|
||||
ImGuiChildFlags_Borders = 1 << 0,
|
||||
ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1,
|
||||
ImGuiChildFlags_ResizeX = 1 << 2,
|
||||
ImGuiChildFlags_ResizeY = 1 << 3,
|
||||
@@ -281,6 +282,7 @@ typedef enum {
|
||||
ImGuiItemFlags_NoNavDefaultFocus = 1 << 2,
|
||||
ImGuiItemFlags_ButtonRepeat = 1 << 3,
|
||||
ImGuiItemFlags_AutoClosePopups = 1 << 4,
|
||||
ImGuiItemFlags_AllowDuplicateId = 1 << 5,
|
||||
}ImGuiItemFlags_;
|
||||
typedef enum {
|
||||
ImGuiInputTextFlags_None = 0,
|
||||
@@ -819,11 +821,13 @@ typedef enum {
|
||||
}ImGuiColorEditFlags_;
|
||||
typedef enum {
|
||||
ImGuiSliderFlags_None = 0,
|
||||
ImGuiSliderFlags_AlwaysClamp = 1 << 4,
|
||||
ImGuiSliderFlags_Logarithmic = 1 << 5,
|
||||
ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
|
||||
ImGuiSliderFlags_NoInput = 1 << 7,
|
||||
ImGuiSliderFlags_WrapAround = 1 << 8,
|
||||
ImGuiSliderFlags_ClampOnInput = 1 << 9,
|
||||
ImGuiSliderFlags_ClampZeroRange = 1 << 10,
|
||||
ImGuiSliderFlags_AlwaysClamp = ImGuiSliderFlags_ClampOnInput | ImGuiSliderFlags_ClampZeroRange,
|
||||
ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
|
||||
}ImGuiSliderFlags_;
|
||||
typedef enum {
|
||||
@@ -1048,13 +1052,19 @@ struct ImGuiIO
|
||||
bool ConfigDragClickToInputText;
|
||||
bool ConfigWindowsResizeFromEdges;
|
||||
bool ConfigWindowsMoveFromTitleBarOnly;
|
||||
bool ConfigScrollbarScrollByPage;
|
||||
float ConfigMemoryCompactTimer;
|
||||
float MouseDoubleClickTime;
|
||||
float MouseDoubleClickMaxDist;
|
||||
float MouseDragThreshold;
|
||||
float KeyRepeatDelay;
|
||||
float KeyRepeatRate;
|
||||
bool ConfigErrorRecovery;
|
||||
bool ConfigErrorRecoveryEnableAssert;
|
||||
bool ConfigErrorRecoveryEnableDebugLog;
|
||||
bool ConfigErrorRecoveryEnableTooltip;
|
||||
bool ConfigDebugIsDebuggerPresent;
|
||||
bool ConfigDebugHighlightIdConflicts;
|
||||
bool ConfigDebugBeginReturnValueOnce;
|
||||
bool ConfigDebugBeginReturnValueLoop;
|
||||
bool ConfigDebugIgnoreFocusLoss;
|
||||
@@ -1064,13 +1074,6 @@ struct ImGuiIO
|
||||
void* BackendPlatformUserData;
|
||||
void* BackendRendererUserData;
|
||||
void* BackendLanguageUserData;
|
||||
const char* (*GetClipboardTextFn)(void* user_data);
|
||||
void (*SetClipboardTextFn)(void* user_data, const char* text);
|
||||
void* ClipboardUserData;
|
||||
bool (*PlatformOpenInShellFn)(ImGuiContext* ctx, const char* path);
|
||||
void* PlatformOpenInShellUserData;
|
||||
void (*PlatformSetImeDataFn)(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data);
|
||||
ImWchar PlatformLocaleDecimalPoint;
|
||||
bool WantCaptureMouse;
|
||||
bool WantCaptureKeyboard;
|
||||
bool WantTextInput;
|
||||
@@ -1535,6 +1538,14 @@ typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport**
|
||||
|
||||
struct ImGuiPlatformIO
|
||||
{
|
||||
const char* (*Platform_GetClipboardTextFn)(ImGuiContext* ctx);
|
||||
void (*Platform_SetClipboardTextFn)(ImGuiContext* ctx, const char* text);
|
||||
void* Platform_ClipboardUserData;
|
||||
bool (*Platform_OpenInShellFn)(ImGuiContext* ctx, const char* path);
|
||||
void* Platform_OpenInShellUserData;
|
||||
void (*Platform_SetImeDataFn)(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data);
|
||||
void* Platform_ImeUserData;
|
||||
ImWchar Platform_LocaleDecimalPoint;
|
||||
void (*Platform_CreateWindow)(ImGuiViewport* vp);
|
||||
void (*Platform_DestroyWindow)(ImGuiViewport* vp);
|
||||
void (*Platform_ShowWindow)(ImGuiViewport* vp);
|
||||
@@ -1552,6 +1563,7 @@ struct ImGuiPlatformIO
|
||||
void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
|
||||
float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
|
||||
void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
|
||||
ImVec4 (*Platform_GetWindowWorkAreaInsets)(ImGuiViewport* vp);
|
||||
int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
|
||||
void (*Renderer_CreateWindow)(ImGuiViewport* vp);
|
||||
void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
|
||||
@@ -1588,6 +1600,7 @@ struct ImGuiDockContext;
|
||||
struct ImGuiDockRequest;
|
||||
struct ImGuiDockNode;
|
||||
struct ImGuiDockNodeSettings;
|
||||
struct ImGuiErrorRecoveryState;
|
||||
struct ImGuiGroupData;
|
||||
struct ImGuiInputTextState;
|
||||
struct ImGuiInputTextDeactivateData;
|
||||
@@ -1604,7 +1617,6 @@ struct ImGuiOldColumnData;
|
||||
struct ImGuiOldColumns;
|
||||
struct ImGuiPopupData;
|
||||
struct ImGuiSettingsHandler;
|
||||
struct ImGuiStackSizes;
|
||||
struct ImGuiStyleMod;
|
||||
struct ImGuiTabBar;
|
||||
struct ImGuiTabItem;
|
||||
@@ -1639,48 +1651,7 @@ typedef int ImGuiTextFlags;
|
||||
typedef int ImGuiTooltipFlags;
|
||||
typedef int ImGuiTypingSelectFlags;
|
||||
typedef int ImGuiWindowRefreshFlags;
|
||||
typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...);
|
||||
extern ImGuiContext* GImGui;
|
||||
typedef struct StbUndoRecord StbUndoRecord;
|
||||
struct StbUndoRecord
|
||||
{
|
||||
int where;
|
||||
int insert_length;
|
||||
int delete_length;
|
||||
int char_storage;
|
||||
};
|
||||
typedef struct StbUndoState StbUndoState;
|
||||
struct StbUndoState
|
||||
{
|
||||
StbUndoRecord undo_rec [99];
|
||||
ImWchar undo_char[999];
|
||||
short undo_point, redo_point;
|
||||
int undo_char_point, redo_char_point;
|
||||
};
|
||||
typedef struct STB_TexteditState STB_TexteditState;
|
||||
struct STB_TexteditState
|
||||
{
|
||||
int cursor;
|
||||
int select_start;
|
||||
int select_end;
|
||||
unsigned char insert_mode;
|
||||
int row_count_per_page;
|
||||
unsigned char cursor_at_end_of_line;
|
||||
unsigned char initialized;
|
||||
unsigned char has_preferred_x;
|
||||
unsigned char single_line;
|
||||
unsigned char padding1, padding2, padding3;
|
||||
float preferred_x;
|
||||
StbUndoState undostate;
|
||||
};
|
||||
typedef struct StbTexteditRow StbTexteditRow;
|
||||
struct StbTexteditRow
|
||||
{
|
||||
float x0,x1;
|
||||
float baseline_y_delta;
|
||||
float ymin,ymax;
|
||||
int num_chars;
|
||||
};
|
||||
typedef FILE* ImFileHandle;
|
||||
typedef struct ImVec1 ImVec1;
|
||||
struct ImVec1
|
||||
@@ -1832,6 +1803,7 @@ typedef enum {
|
||||
typedef enum {
|
||||
ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 28,
|
||||
ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,
|
||||
ImGuiTreeNodeFlags_OpenOnMask_ = ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_OpenOnArrow,
|
||||
}ImGuiTreeNodeFlagsPrivate_;
|
||||
typedef enum {
|
||||
ImGuiSeparatorFlags_None = 0,
|
||||
@@ -1924,19 +1896,19 @@ struct ImGuiInputTextDeactivatedState
|
||||
{
|
||||
ImGuiID ID;
|
||||
ImVector_char TextA;
|
||||
};
|
||||
}; struct STB_TexteditState;
|
||||
typedef STB_TexteditState ImStbTexteditState;
|
||||
struct ImGuiInputTextState
|
||||
{
|
||||
ImGuiContext* Ctx;
|
||||
ImStbTexteditState* Stb;
|
||||
ImGuiID ID;
|
||||
int CurLenW, CurLenA;
|
||||
ImVector_ImWchar TextW;
|
||||
int CurLenA;
|
||||
ImVector_char TextA;
|
||||
ImVector_char InitialTextA;
|
||||
bool TextAIsValid;
|
||||
ImVector_char CallbackTextBackup;
|
||||
int BufCapacityA;
|
||||
float ScrollX;
|
||||
STB_TexteditState Stb;
|
||||
ImVec2 Scroll;
|
||||
float CursorAnim;
|
||||
bool CursorFollow;
|
||||
bool SelectedAllMouseLock;
|
||||
@@ -2033,9 +2005,11 @@ struct ImGuiTreeNodeStackData
|
||||
ImGuiItemFlags InFlags;
|
||||
ImRect NavRect;
|
||||
};
|
||||
struct ImGuiStackSizes
|
||||
struct ImGuiErrorRecoveryState
|
||||
{
|
||||
short SizeOfWindowStack;
|
||||
short SizeOfIDStack;
|
||||
short SizeOfTreeStack;
|
||||
short SizeOfColorStack;
|
||||
short SizeOfStyleVarStack;
|
||||
short SizeOfFontStack;
|
||||
@@ -2050,7 +2024,7 @@ struct ImGuiWindowStackData
|
||||
{
|
||||
ImGuiWindow* Window;
|
||||
ImGuiLastItemData ParentLastItemDataBackup;
|
||||
ImGuiStackSizes StackSizesOnBegin;
|
||||
ImGuiErrorRecoveryState StackSizesInBegin;
|
||||
bool DisabledOverrideReenable;
|
||||
};
|
||||
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
|
||||
@@ -2414,8 +2388,8 @@ typedef enum {
|
||||
ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22,
|
||||
ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | ImGuiDockNodeFlags_NoDockingOverOther | ImGuiDockNodeFlags_NoDockingOverEmpty | ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoDockingSplitOther,
|
||||
ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
|
||||
ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
|
||||
ImGuiDockNodeFlags_LocalFlagsTransferMask_ = ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
|
||||
ImGuiDockNodeFlags_NoResizeFlagsMask_ = (int)ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
|
||||
ImGuiDockNodeFlags_LocalFlagsTransferMask_ = (int)ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | (int)ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
|
||||
ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
|
||||
}ImGuiDockNodeFlagsPrivate_;
|
||||
typedef enum {
|
||||
@@ -2512,6 +2486,7 @@ struct ImGuiViewportP
|
||||
int LastFocusedStampCount;
|
||||
ImGuiID LastNameHash;
|
||||
ImVec2 LastPos;
|
||||
ImVec2 LastSize;
|
||||
float Alpha;
|
||||
float LastAlpha;
|
||||
bool LastFocusedHadNavWindow;
|
||||
@@ -2523,10 +2498,10 @@ struct ImGuiViewportP
|
||||
ImVec2 LastPlatformPos;
|
||||
ImVec2 LastPlatformSize;
|
||||
ImVec2 LastRendererSize;
|
||||
ImVec2 WorkOffsetMin;
|
||||
ImVec2 WorkOffsetMax;
|
||||
ImVec2 BuildWorkOffsetMin;
|
||||
ImVec2 BuildWorkOffsetMax;
|
||||
ImVec2 WorkInsetMin;
|
||||
ImVec2 WorkInsetMax;
|
||||
ImVec2 BuildWorkInsetMin;
|
||||
ImVec2 BuildWorkInsetMax;
|
||||
};
|
||||
struct ImGuiWindowSettings
|
||||
{
|
||||
@@ -2564,30 +2539,33 @@ ImGuiLocKey_TableResetOrder=4,
|
||||
ImGuiLocKey_WindowingMainMenuBar=5,
|
||||
ImGuiLocKey_WindowingPopup=6,
|
||||
ImGuiLocKey_WindowingUntitled=7,
|
||||
ImGuiLocKey_CopyLink=8,
|
||||
ImGuiLocKey_DockingHideTabBar=9,
|
||||
ImGuiLocKey_DockingHoldShiftToDock=10,
|
||||
ImGuiLocKey_DockingDragToUndockOrMoveNode=11,
|
||||
ImGuiLocKey_COUNT=12,
|
||||
ImGuiLocKey_OpenLink_s=8,
|
||||
ImGuiLocKey_CopyLink=9,
|
||||
ImGuiLocKey_DockingHideTabBar=10,
|
||||
ImGuiLocKey_DockingHoldShiftToDock=11,
|
||||
ImGuiLocKey_DockingDragToUndockOrMoveNode=12,
|
||||
ImGuiLocKey_COUNT=13,
|
||||
}ImGuiLocKey;
|
||||
struct ImGuiLocEntry
|
||||
{
|
||||
ImGuiLocKey Key;
|
||||
const char* Text;
|
||||
};
|
||||
typedef void (*ImGuiErrorCallback)(ImGuiContext* ctx, void* user_data, const char* msg);
|
||||
typedef enum {
|
||||
ImGuiDebugLogFlags_None = 0,
|
||||
ImGuiDebugLogFlags_EventActiveId = 1 << 0,
|
||||
ImGuiDebugLogFlags_EventFocus = 1 << 1,
|
||||
ImGuiDebugLogFlags_EventPopup = 1 << 2,
|
||||
ImGuiDebugLogFlags_EventNav = 1 << 3,
|
||||
ImGuiDebugLogFlags_EventClipper = 1 << 4,
|
||||
ImGuiDebugLogFlags_EventSelection = 1 << 5,
|
||||
ImGuiDebugLogFlags_EventIO = 1 << 6,
|
||||
ImGuiDebugLogFlags_EventInputRouting = 1 << 7,
|
||||
ImGuiDebugLogFlags_EventDocking = 1 << 8,
|
||||
ImGuiDebugLogFlags_EventViewport = 1 << 9,
|
||||
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
|
||||
ImGuiDebugLogFlags_EventError = 1 << 0,
|
||||
ImGuiDebugLogFlags_EventActiveId = 1 << 1,
|
||||
ImGuiDebugLogFlags_EventFocus = 1 << 2,
|
||||
ImGuiDebugLogFlags_EventPopup = 1 << 3,
|
||||
ImGuiDebugLogFlags_EventNav = 1 << 4,
|
||||
ImGuiDebugLogFlags_EventClipper = 1 << 5,
|
||||
ImGuiDebugLogFlags_EventSelection = 1 << 6,
|
||||
ImGuiDebugLogFlags_EventIO = 1 << 7,
|
||||
ImGuiDebugLogFlags_EventInputRouting = 1 << 8,
|
||||
ImGuiDebugLogFlags_EventDocking = 1 << 9,
|
||||
ImGuiDebugLogFlags_EventViewport = 1 << 10,
|
||||
ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventError | ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
|
||||
ImGuiDebugLogFlags_OutputToTTY = 1 << 20,
|
||||
ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21,
|
||||
}ImGuiDebugLogFlags_;
|
||||
@@ -2759,9 +2737,11 @@ struct ImGuiContext
|
||||
float WheelingWindowReleaseTimer;
|
||||
ImVec2 WheelingWindowWheelRemainder;
|
||||
ImVec2 WheelingAxisAvg;
|
||||
ImGuiID DebugDrawIdConflicts;
|
||||
ImGuiID DebugHookIdInfo;
|
||||
ImGuiID HoveredId;
|
||||
ImGuiID HoveredIdPreviousFrame;
|
||||
int HoveredIdPreviousFrameItemCount;
|
||||
float HoveredIdTimer;
|
||||
float HoveredIdNotActiveTimer;
|
||||
bool HoveredIdAllowOverlap;
|
||||
@@ -2956,6 +2936,7 @@ struct ImGuiContext
|
||||
short DisabledStackSize;
|
||||
short LockMarkEdited;
|
||||
short TooltipOverrideCount;
|
||||
ImGuiWindow* TooltipPreviousWindow;
|
||||
ImVector_char ClipboardHandlerData;
|
||||
ImVector_ImGuiID MenusIdSubmittedThisFrame;
|
||||
ImGuiTypingSelectState TypingSelectState;
|
||||
@@ -2984,9 +2965,18 @@ struct ImGuiContext
|
||||
int LogDepthRef;
|
||||
int LogDepthToExpand;
|
||||
int LogDepthToExpandDefault;
|
||||
ImGuiErrorCallback ErrorCallback;
|
||||
void* ErrorCallbackUserData;
|
||||
ImVec2 ErrorTooltipLockedPos;
|
||||
bool ErrorFirst;
|
||||
int ErrorCountCurrentFrame;
|
||||
ImGuiErrorRecoveryState StackSizesInNewFrame;
|
||||
ImGuiErrorRecoveryState*StackSizesInBeginForCurrentWindow;
|
||||
int DebugDrawIdConflictsCount;
|
||||
ImGuiDebugLogFlags DebugLogFlags;
|
||||
ImGuiTextBuffer DebugLogBuf;
|
||||
ImGuiTextIndex DebugLogIndex;
|
||||
int DebugLogSkippedErrors;
|
||||
ImGuiDebugLogFlags DebugLogAutoDisableFlags;
|
||||
ImU8 DebugLogAutoDisableFrames;
|
||||
ImU8 DebugLocateFrames;
|
||||
@@ -3205,6 +3195,7 @@ typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;}
|
||||
|
||||
struct ImGuiTabBar
|
||||
{
|
||||
ImGuiWindow* Window;
|
||||
ImVector_ImGuiTabItem Tabs;
|
||||
ImGuiTabBarFlags Flags;
|
||||
ImGuiID ID;
|
||||
@@ -3249,6 +3240,7 @@ struct ImGuiTableColumn
|
||||
float MaxX;
|
||||
float WidthRequest;
|
||||
float WidthAuto;
|
||||
float WidthMax;
|
||||
float StretchWeight;
|
||||
float InitStretchWeightOrWidth;
|
||||
ImRect ClipRect;
|
||||
@@ -3489,9 +3481,6 @@ typedef union SDL_Event SDL_Event;
|
||||
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
|
||||
typedef ImStb::STB_TexteditState STB_TexteditState;
|
||||
typedef ImStb::StbTexteditRow StbTexteditRow;
|
||||
typedef ImStb::StbUndoRecord StbUndoRecord;
|
||||
typedef ImStb::StbUndoState StbUndoState;
|
||||
typedef ImChunkStream<ImGuiTableSettings> ImChunkStream_ImGuiTableSettings;
|
||||
typedef ImChunkStream<ImGuiWindowSettings> ImChunkStream_ImGuiWindowSettings;
|
||||
typedef ImPool<ImGuiMultiSelectState> ImPool_ImGuiMultiSelectState;
|
||||
@@ -3566,6 +3555,7 @@ CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
|
||||
CIMGUI_API ImGuiContext* igGetCurrentContext(void);
|
||||
CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx);
|
||||
CIMGUI_API ImGuiIO* igGetIO(void);
|
||||
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
|
||||
CIMGUI_API ImGuiStyle* igGetStyle(void);
|
||||
CIMGUI_API void igNewFrame(void);
|
||||
CIMGUI_API void igEndFrame(void);
|
||||
@@ -3635,6 +3625,8 @@ CIMGUI_API void igPushStyleColor_Vec4(ImGuiCol idx,const ImVec4 col);
|
||||
CIMGUI_API void igPopStyleColor(int count);
|
||||
CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx,float val);
|
||||
CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx,const ImVec2 val);
|
||||
CIMGUI_API void igPushStyleVarX(ImGuiStyleVar idx,float val_x);
|
||||
CIMGUI_API void igPushStyleVarY(ImGuiStyleVar idx,float val_y);
|
||||
CIMGUI_API void igPopStyleVar(int count);
|
||||
CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled);
|
||||
CIMGUI_API void igPopItemFlag(void);
|
||||
@@ -3845,7 +3837,7 @@ CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n);
|
||||
CIMGUI_API void igTableSetColumnEnabled(int column_n,bool v);
|
||||
CIMGUI_API int igTableGetHoveredColumn(void);
|
||||
CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n);
|
||||
CIMGUI_API void igColumns(int count,const char* id,bool border);
|
||||
CIMGUI_API void igColumns(int count,const char* id,bool borders);
|
||||
CIMGUI_API void igNextColumn(void);
|
||||
CIMGUI_API int igGetColumnIndex(void);
|
||||
CIMGUI_API float igGetColumnWidth(int column_index);
|
||||
@@ -3960,7 +3952,6 @@ CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func,ImGuiMemFre
|
||||
CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func,ImGuiMemFreeFunc* p_free_func,void** p_user_data);
|
||||
CIMGUI_API void* igMemAlloc(size_t size);
|
||||
CIMGUI_API void igMemFree(void* ptr);
|
||||
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
|
||||
CIMGUI_API void igUpdatePlatformWindows(void);
|
||||
CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg);
|
||||
CIMGUI_API void igDestroyPlatformWindows(void);
|
||||
@@ -4154,6 +4145,7 @@ CIMGUI_API void ImDrawList__TryMergeDrawCmds(ImDrawList* self);
|
||||
CIMGUI_API void ImDrawList__OnChangedClipRect(ImDrawList* self);
|
||||
CIMGUI_API void ImDrawList__OnChangedTextureID(ImDrawList* self);
|
||||
CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self);
|
||||
CIMGUI_API void ImDrawList__SetTextureID(ImDrawList* self,ImTextureID texture_id);
|
||||
CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self,float radius);
|
||||
CIMGUI_API void ImDrawList__PathArcToFastEx(ImDrawList* self,const ImVec2 center,float radius,int a_min_sample,int a_max_sample,int a_step);
|
||||
CIMGUI_API void ImDrawList__PathArcToN(ImDrawList* self,const ImVec2 center,float radius,float a_min,float a_max,int num_segments);
|
||||
@@ -4254,7 +4246,7 @@ CIMGUI_API const char* igImStristr(const char* haystack,const char* haystack_end
|
||||
CIMGUI_API void igImStrTrimBlanks(char* str);
|
||||
CIMGUI_API const char* igImStrSkipBlank(const char* str);
|
||||
CIMGUI_API int igImStrlenW(const ImWchar* str);
|
||||
CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line,const ImWchar* buf_begin);
|
||||
CIMGUI_API const char* igImStrbol(const char* buf_mid_line,const char* buf_begin);
|
||||
CIMGUI_API char igImToUpper(char c);
|
||||
CIMGUI_API bool igImCharIsBlankA(char c);
|
||||
CIMGUI_API bool igImCharIsBlankW(unsigned int c);
|
||||
@@ -4405,9 +4397,8 @@ CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void);
|
||||
CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
|
||||
CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
|
||||
CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self);
|
||||
CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self);
|
||||
CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self);
|
||||
CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self,int key);
|
||||
CIMGUI_API void ImGuiInputTextState_OnCharPressed(ImGuiInputTextState* self,unsigned int c);
|
||||
CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self);
|
||||
CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self);
|
||||
CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self);
|
||||
@@ -4427,10 +4418,8 @@ CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self);
|
||||
CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
|
||||
CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void);
|
||||
CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
|
||||
CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void);
|
||||
CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
|
||||
CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
|
||||
CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
|
||||
CIMGUI_API ImGuiErrorRecoveryState* ImGuiErrorRecoveryState_ImGuiErrorRecoveryState(void);
|
||||
CIMGUI_API void ImGuiErrorRecoveryState_destroy(ImGuiErrorRecoveryState* self);
|
||||
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
|
||||
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
|
||||
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
|
||||
@@ -4487,8 +4476,8 @@ CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self);
|
||||
CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void);
|
||||
CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self);
|
||||
CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min);
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min,const ImVec2 off_max);
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 inset_min);
|
||||
CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 inset_min,const ImVec2 inset_max);
|
||||
CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self);
|
||||
CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect *pOut,ImGuiViewportP* self);
|
||||
CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect *pOut,ImGuiViewportP* self);
|
||||
@@ -4513,6 +4502,7 @@ CIMGUI_API void ImGuiWindow_destroy(ImGuiWindow* self);
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self,const char* str,const char* str_end);
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self,const void* ptr);
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self,int n);
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromPos(ImGuiWindow* self,const ImVec2 p_abs);
|
||||
CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs);
|
||||
CIMGUI_API void ImGuiWindow_Rect(ImRect *pOut,ImGuiWindow* self);
|
||||
CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self);
|
||||
@@ -4554,8 +4544,8 @@ CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame(ImGuiWindow* window
|
||||
CIMGUI_API void igSetWindowParentWindowForFocusRoute(ImGuiWindow* window,ImGuiWindow* parent_window);
|
||||
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 igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p);
|
||||
CIMGUI_API void igWindowPosAbsToRel(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p);
|
||||
CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p);
|
||||
CIMGUI_API void igFocusWindow(ImGuiWindow* window,ImGuiFocusRequestFlags flags);
|
||||
CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window,ImGuiViewport* filter_viewport,ImGuiFocusRequestFlags flags);
|
||||
CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window);
|
||||
@@ -4581,7 +4571,7 @@ CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void);
|
||||
CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context,const ImGuiContextHook* hook);
|
||||
CIMGUI_API void igRemoveContextHook(ImGuiContext* context,ImGuiID hook_to_remove);
|
||||
CIMGUI_API void igCallContextHooks(ImGuiContext* context,ImGuiContextHookType type);
|
||||
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos);
|
||||
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos,const ImVec2 old_size,const ImVec2 new_size);
|
||||
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale);
|
||||
CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport);
|
||||
CIMGUI_API void igSetWindowViewport(ImGuiWindow* window,ImGuiViewportP* viewport);
|
||||
@@ -4687,7 +4677,7 @@ CIMGUI_API bool igIsKeyboardKey(ImGuiKey key);
|
||||
CIMGUI_API bool igIsGamepadKey(ImGuiKey key);
|
||||
CIMGUI_API bool igIsMouseKey(ImGuiKey key);
|
||||
CIMGUI_API bool igIsAliasKey(ImGuiKey key);
|
||||
CIMGUI_API bool igIsModKey(ImGuiKey key);
|
||||
CIMGUI_API bool igIsLRModKey(ImGuiKey key);
|
||||
CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiKeyChord key_chord);
|
||||
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key);
|
||||
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key);
|
||||
@@ -4828,7 +4818,7 @@ CIMGUI_API void igTableEndCell(ImGuiTable* table);
|
||||
CIMGUI_API void igTableGetCellBgRect(ImRect *pOut,const ImGuiTable* table,int column_n);
|
||||
CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table,int column_n);
|
||||
CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table,int column_n,int instance_no);
|
||||
CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table,int column_n);
|
||||
CIMGUI_API float igTableCalcMaxColumnWidth(const ImGuiTable* table,int column_n);
|
||||
CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table,int column_n);
|
||||
CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table);
|
||||
CIMGUI_API void igTableRemove(ImGuiTable* table);
|
||||
@@ -4853,7 +4843,8 @@ CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab
|
||||
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window);
|
||||
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
|
||||
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
|
||||
CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
|
||||
CIMGUI_API void igTabBarQueueFocus_TabItemPtr(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
|
||||
CIMGUI_API void igTabBarQueueFocus_Str(ImGuiTabBar* tab_bar,const char* tab_name);
|
||||
CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset);
|
||||
CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,ImVec2 mouse_pos);
|
||||
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
|
||||
@@ -4867,7 +4858,7 @@ CIMGUI_API void igRenderTextWrapped(ImVec2 pos,const char* text,const char* text
|
||||
CIMGUI_API void igRenderTextClipped(const ImVec2 pos_min,const ImVec2 pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2 align,const ImRect* clip_rect);
|
||||
CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list,const ImVec2 pos_min,const ImVec2 pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2 align,const ImRect* clip_rect);
|
||||
CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2 pos_min,const ImVec2 pos_max,float clip_max_x,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known);
|
||||
CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool border,float rounding);
|
||||
CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool borders,float rounding);
|
||||
CIMGUI_API void igRenderFrameBorder(ImVec2 p_min,ImVec2 p_max,float rounding);
|
||||
CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,float grid_step,ImVec2 grid_off,float rounding,ImDrawFlags flags);
|
||||
CIMGUI_API void igRenderNavHighlight(const ImRect bb,ImGuiID id,ImGuiNavHighlightFlags flags);
|
||||
@@ -4912,6 +4903,7 @@ CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,co
|
||||
CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format,void* p_data_when_empty);
|
||||
CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
|
||||
CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max);
|
||||
CIMGUI_API bool igDataTypeIsZero(ImGuiDataType data_type,const void* p_data);
|
||||
CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
|
||||
CIMGUI_API void igInputTextDeactivateHook(ImGuiID id);
|
||||
CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags);
|
||||
@@ -4929,10 +4921,15 @@ CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list,int vert_start_id
|
||||
CIMGUI_API void igGcCompactTransientMiscBuffers(void);
|
||||
CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window);
|
||||
CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window);
|
||||
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size);
|
||||
CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data);
|
||||
CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data);
|
||||
CIMGUI_API bool igErrorLog(const char* msg);
|
||||
CIMGUI_API void igErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out);
|
||||
CIMGUI_API void igErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in);
|
||||
CIMGUI_API void igErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in);
|
||||
CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void);
|
||||
CIMGUI_API void igErrorCheckEndFrameFinalizeErrorTooltip(void);
|
||||
CIMGUI_API bool igBeginErrorTooltip(void);
|
||||
CIMGUI_API void igEndErrorTooltip(void);
|
||||
CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size);
|
||||
CIMGUI_API void igDebugDrawCursorPos(ImU32 col);
|
||||
CIMGUI_API void igDebugDrawLineExtents(ImU32 col);
|
||||
CIMGUI_API void igDebugDrawItemRect(ImU32 col);
|
||||
|
@@ -175,6 +175,7 @@ local function check_template(code)
|
||||
te = te:gsub("%-","less")
|
||||
te = te:gsub("%s","_")
|
||||
te = te:gsub("%*","Ptr")
|
||||
te = te:gsub("::","_")
|
||||
|
||||
code2 = code:gsub("(<[%w_%*%s]+>)([^%s%*])","%1 %2")
|
||||
code2 = code2:gsub("<([^<>]-)>","_"..te)
|
||||
@@ -202,6 +203,8 @@ local function parse_enum_value(value, allenums,dontpost)
|
||||
if allenums[clean(value)] then return allenums[clean(value)] end
|
||||
--must be several and operators
|
||||
------------precedence order (hope not ())
|
||||
--delete (int)
|
||||
value = value:gsub("%(int%)","")
|
||||
--first drop outer ()
|
||||
value = value:gsub("^(%()",""):gsub("(%))$","")
|
||||
assert(not value:match("[%(%)]"),value)
|
||||
@@ -1287,6 +1290,14 @@ function M.Parser()
|
||||
function par:parseItemsR2(txt, itparent)
|
||||
local itsarr,its = parseItems(txt,self.linenumdict,itparent)
|
||||
for i,it in ipairs(itsarr) do
|
||||
--clean class
|
||||
if it.re_name == "class_re" then
|
||||
it.name = it.item:match("class%s+(%S+)")
|
||||
print("cleaning class",it.name)
|
||||
it.item = it.item:gsub("private:.+};$","};")
|
||||
it.item = it.item:gsub("public:","")
|
||||
it.item = it.item:gsub("enum%s*class","enum")
|
||||
end
|
||||
if not isLeaf(it.re_name) then
|
||||
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
|
||||
it.childs = par:parseItemsR2(inner, it)
|
||||
@@ -1309,6 +1320,8 @@ function M.Parser()
|
||||
end
|
||||
elseif it.re_name == "namespace_re" then
|
||||
it.name = it.item:match("namespace%s+(%S+)")
|
||||
elseif it.re_name == "class_re" then
|
||||
--it.name = it.item:match("class%s+(%S+)")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1335,6 +1348,7 @@ function M.Parser()
|
||||
self.linenumdict = {}
|
||||
local cdefs2 = {}
|
||||
for i,cdef in ipairs(cdefs) do
|
||||
cdef[1] = cdef[1]:gsub("enum%s*class","enum") --clean class
|
||||
local cdef1 = clean_comments(cdef[1])
|
||||
if self.linenumdict[cdef1] then
|
||||
--print("linenumdict already defined for", cdef[1],type(self.linenumdict[cdef[1]]))
|
||||
@@ -1344,7 +1358,6 @@ function M.Parser()
|
||||
table.insert(self.linenumdict[cdef1],cdef[2])
|
||||
end
|
||||
else
|
||||
--print("nuevo linenumdict es",cdef[1],cdef[2])
|
||||
self.linenumdict[cdef1]=cdef[2]
|
||||
end
|
||||
table.insert(cdefs2,cdef[1])
|
||||
@@ -1427,7 +1440,11 @@ function M.Parser()
|
||||
stname,derived = inistruct:match"struct%s*([^%s:]+):(.+)"
|
||||
derived = derived:match"(%S+)$"
|
||||
else
|
||||
stname = inistruct:match"struct%s(%S+)"
|
||||
if itst.re_name == "struct_re" then
|
||||
stname = inistruct:match"struct%s(%S+)"
|
||||
elseif itst.re_name == "class_re" then
|
||||
stname = inistruct:match"class%s(%S+)"
|
||||
end
|
||||
end
|
||||
|
||||
if derived then print(stname,"derived from",derived) end
|
||||
@@ -1437,6 +1454,7 @@ function M.Parser()
|
||||
stname = stru:match("%b{}%s*(%S+)%s*;")
|
||||
end
|
||||
|
||||
|
||||
local is_nested
|
||||
if not stname then
|
||||
is_nested = itst.parent and (itst.parent.re_name == "struct_re")
|
||||
@@ -1593,6 +1611,9 @@ function M.Parser()
|
||||
|
||||
local tdt = self:gentemplatetypedef(ttype,template,te)
|
||||
it2 = tdt..code2
|
||||
elseif it2:match"%w+::" then
|
||||
print("clean namespace typedef",it2)
|
||||
it2 = it2:gsub("%w+::","")
|
||||
end
|
||||
elseif it.re_name == "functypedef_re" then
|
||||
it2 = clean_functypedef(it2)
|
||||
@@ -1647,6 +1668,8 @@ function M.Parser()
|
||||
if it.parent.re_name == "namespace_re" then
|
||||
local namespace = it.parent.item:match("namespace%s+(%S+)")
|
||||
self.embeded_enums[enumname] = namespace.."::"..enumname
|
||||
else
|
||||
self.embeded_enums[enumname] = it.parent.name.."::"..enumname
|
||||
end
|
||||
end
|
||||
else --unamed enum just repeat declaration
|
||||
@@ -1654,7 +1677,7 @@ function M.Parser()
|
||||
table.insert(outtab,cl_item)
|
||||
print("unnamed enum",cl_item)
|
||||
end
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
|
||||
local cleanst,structname,strtab,comstab,predec = self:clean_structR1(it,true)
|
||||
if not structname then print("NO NAME",cleanst,it.item) end
|
||||
--if not void stname or templated
|
||||
@@ -1691,7 +1714,7 @@ function M.Parser()
|
||||
local stname = ""
|
||||
local namespace
|
||||
if it.parent then
|
||||
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
|
||||
if it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" or it.parent.re_name == "class_re" then
|
||||
stname = it.parent.name
|
||||
elseif it.parent.re_name == "namespace_re" then
|
||||
namespace = get_parents_nameC(it) --it.parent.name
|
||||
@@ -1777,7 +1800,8 @@ function M.Parser()
|
||||
end
|
||||
local unnamed_enum_counter = 0
|
||||
local function enums_for_table(it, outtab, enumsordered)
|
||||
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||
--local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||
local enumname = it.item:match"^[^;{}]-enum%s+([^%s;{}]+)"
|
||||
if not enumname then
|
||||
unnamed_enum_counter = unnamed_enum_counter + 1
|
||||
enumname = "unnamed"..unnamed_enum_counter
|
||||
@@ -1867,7 +1891,7 @@ function M.Parser()
|
||||
end
|
||||
elseif it.re_name == "enum_re" then
|
||||
enums_for_table(it, outtab, enumsordered)
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" then
|
||||
elseif it.re_name == "struct_re" or it.re_name == "typedef_st_re" or it.re_name == "class_re" then
|
||||
local cleanst,structname,strtab,comstab = self:clean_structR1(it)
|
||||
--if not void stname or templated
|
||||
if not structname then print("NO NAME",cleanst,it.item) end
|
||||
@@ -2414,6 +2438,12 @@ local function func_implementation(FP)
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
if FP.CONSTRUCTORS_GENERATION then
|
||||
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..")\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," IM_PLACEMENT_NEW(self)"..def.stname..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
elseif def.destructor then
|
||||
local args = "("..def.stname.."* self)"
|
||||
local fname = def.stname.."_destroy"
|
||||
@@ -2455,7 +2485,8 @@ local function func_header_generate_structs(FP)
|
||||
|
||||
table_do_sorted(FP.templates,function(ttype,v)
|
||||
table_do_sorted(v,function(ttypein,te)
|
||||
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype.."_"..te..";\n")
|
||||
local ttype2 = ttype:gsub("::","_") --std::string
|
||||
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype2.."_"..te..";\n")
|
||||
end)
|
||||
end)
|
||||
return outtab
|
||||
@@ -2484,6 +2515,9 @@ local function func_header_generate_funcs(FP)
|
||||
if def.constructor then
|
||||
assert(def.stname ~= "","constructor without struct")
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
if FP.CONSTRUCTORS_GENERATION then
|
||||
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname.."_Construct("..def.stname.."* self"..(empty and "" or ","..def.args:sub(2,-2))..");\n")
|
||||
end
|
||||
elseif def.destructor then
|
||||
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
else --not constructor
|
||||
|
@@ -16,6 +16,7 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
|
||||
::process files
|
||||
:: arg[1] compiler name gcc, clang or cl
|
||||
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
|
||||
:: "constructors" adds the _Construct version of constructors
|
||||
:: examples: "" "internal" "internal freetype comments"
|
||||
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal noimstrv" glfw opengl3 opengl2 sdl2 %*
|
||||
|
@@ -9,6 +9,7 @@ local COMPILER = script_args[1]
|
||||
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
|
||||
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
|
||||
local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false
|
||||
local CONSTRUCTORS_GENERATION = script_args[2]:match("constructors") and true or false
|
||||
local NOCHAR = script_args[2]:match("nochar") and true or false
|
||||
local NOIMSTRV = script_args[2]:match("noimstrv") and true or false
|
||||
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
|
||||
@@ -67,6 +68,7 @@ print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
|
||||
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
|
||||
print("COMMENTS_GENERATION",COMMENTS_GENERATION)
|
||||
print("CONSTRUCTORS_GENERATION",CONSTRUCTORS_GENERATION)
|
||||
print("CPRE",CPRE)
|
||||
--------------------------------------------------------------------------
|
||||
--this table has the functions to be skipped in generation
|
||||
@@ -321,6 +323,7 @@ local function parseImGuiHeader(header,names)
|
||||
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
|
||||
--parser.gen_template_typedef = gen_template_typedef --use auto
|
||||
parser.COMMENTS_GENERATION = COMMENTS_GENERATION
|
||||
parser.CONSTRUCTORS_GENERATION = CONSTRUCTORS_GENERATION
|
||||
parser.NOCHAR = NOCHAR
|
||||
parser.NOIMSTRV = NOIMSTRV
|
||||
local defines = parser:take_lines(CPRE..header,names,COMPILER)
|
||||
|
@@ -14,6 +14,7 @@
|
||||
#process files
|
||||
# arg[1] compiler name gcc, clang, or cl
|
||||
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation, nochar to skip char* function version, noimstrv to skip imstrv
|
||||
# "constructors" adds the _Construct version of constructors
|
||||
# examples: "" "internal" "internal freetype" "comments internal"
|
||||
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
#
|
||||
|
@@ -19,6 +19,7 @@ CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,
|
||||
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
|
||||
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
|
||||
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
|
||||
CIMGUI_API void ImGui_ImplGlfw_Sleep(int milliseconds);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_OPENGL3
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -372,6 +372,27 @@
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_Sleep": [
|
||||
{
|
||||
"args": "(int milliseconds)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "milliseconds",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(int milliseconds)",
|
||||
"call_args": "(milliseconds)",
|
||||
"cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Sleep",
|
||||
"location": "imgui_impl_glfw:65",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Sleep",
|
||||
"ret": "void",
|
||||
"signature": "(int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_WindowFocusCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int focused)",
|
||||
|
@@ -314,6 +314,24 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
|
||||
defs["ImGui_ImplGlfw_Sleep"] = {}
|
||||
defs["ImGui_ImplGlfw_Sleep"][1] = {}
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["args"] = "(int milliseconds)"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["argsT"][1]["name"] = "milliseconds"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["argsT"][1]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["argsoriginal"] = "(int milliseconds)"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["call_args"] = "(milliseconds)"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["cimguiname"] = "ImGui_ImplGlfw_Sleep"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["funcname"] = "ImGui_ImplGlfw_Sleep"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["location"] = "imgui_impl_glfw:65"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Sleep"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["signature"] = "(int)"
|
||||
defs["ImGui_ImplGlfw_Sleep"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_Sleep"]["(int)"] = defs["ImGui_ImplGlfw_Sleep"][1]
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["args"] = "(GLFWwindow* window,int focused)"
|
||||
|
@@ -259,6 +259,9 @@ igSetWindowSize 3
|
||||
igShortcut 2
|
||||
1 bool igShortcut_Nil (ImGuiKeyChord,ImGuiInputFlags)
|
||||
2 bool igShortcut_ID (ImGuiKeyChord,ImGuiInputFlags,ImGuiID)
|
||||
igTabBarQueueFocus 2
|
||||
1 void igTabBarQueueFocus_TabItemPtr (ImGuiTabBar*,ImGuiTabItem*)
|
||||
2 void igTabBarQueueFocus_Str (ImGuiTabBar*,const char*)
|
||||
igTabItemCalcSize 2
|
||||
1 ImVec2 igTabItemCalcSize_Str (const char*,bool)
|
||||
2 ImVec2 igTabItemCalcSize_WindowPtr (ImGuiWindow*)
|
||||
@@ -290,4 +293,4 @@ igValue 4
|
||||
2 void igValue_Int (const char*,int)
|
||||
3 void igValue_Uint (const char*,unsigned int)
|
||||
4 void igValue_Float (const char*,float,const char*)
|
||||
203 overloaded
|
||||
205 overloaded
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -54,7 +54,8 @@
|
||||
"ImGuiDockNodeSettings": "struct ImGuiDockNodeSettings",
|
||||
"ImGuiDockRequest": "struct ImGuiDockRequest",
|
||||
"ImGuiDragDropFlags": "int",
|
||||
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
|
||||
"ImGuiErrorCallback": "void(*)(ImGuiContext* ctx,void* user_data,const char* msg);",
|
||||
"ImGuiErrorRecoveryState": "struct ImGuiErrorRecoveryState",
|
||||
"ImGuiFocusRequestFlags": "int",
|
||||
"ImGuiFocusScopeData": "struct ImGuiFocusScopeData",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
@@ -133,7 +134,6 @@
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiSliderFlags": "int",
|
||||
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
|
||||
"ImGuiStackSizes": "struct ImGuiStackSizes",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStoragePair": "struct ImGuiStoragePair",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
@@ -188,6 +188,7 @@
|
||||
"ImS32": "signed int",
|
||||
"ImS64": "signed long long",
|
||||
"ImS8": "signed char",
|
||||
"ImStbTexteditState": "ImStb::STB_TexteditState",
|
||||
"ImTextureID": "void*",
|
||||
"ImU16": "unsigned short",
|
||||
"ImU32": "unsigned int",
|
||||
@@ -201,9 +202,6 @@
|
||||
"ImWchar16": "unsigned short",
|
||||
"ImWchar32": "unsigned int",
|
||||
"STB_TexteditState": "struct STB_TexteditState",
|
||||
"StbTexteditRow": "struct StbTexteditRow",
|
||||
"StbUndoRecord": "struct StbUndoRecord",
|
||||
"StbUndoState": "struct StbUndoState",
|
||||
"const_iterator": "const value_type*",
|
||||
"iterator": "value_type*",
|
||||
"value_type": "T"
|
||||
|
@@ -54,7 +54,8 @@ defs["ImGuiDockNodeFlags"] = "int"
|
||||
defs["ImGuiDockNodeSettings"] = "struct ImGuiDockNodeSettings"
|
||||
defs["ImGuiDockRequest"] = "struct ImGuiDockRequest"
|
||||
defs["ImGuiDragDropFlags"] = "int"
|
||||
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
|
||||
defs["ImGuiErrorCallback"] = "void(*)(ImGuiContext* ctx,void* user_data,const char* msg);"
|
||||
defs["ImGuiErrorRecoveryState"] = "struct ImGuiErrorRecoveryState"
|
||||
defs["ImGuiFocusRequestFlags"] = "int"
|
||||
defs["ImGuiFocusScopeData"] = "struct ImGuiFocusScopeData"
|
||||
defs["ImGuiFocusedFlags"] = "int"
|
||||
@@ -133,7 +134,6 @@ defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiSliderFlags"] = "int"
|
||||
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
|
||||
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
@@ -188,6 +188,7 @@ defs["ImS16"] = "signed short"
|
||||
defs["ImS32"] = "signed int"
|
||||
defs["ImS64"] = "signed long long"
|
||||
defs["ImS8"] = "signed char"
|
||||
defs["ImStbTexteditState"] = "ImStb::STB_TexteditState"
|
||||
defs["ImTextureID"] = "void*"
|
||||
defs["ImU16"] = "unsigned short"
|
||||
defs["ImU32"] = "unsigned int"
|
||||
@@ -201,9 +202,6 @@ defs["ImWchar"] = "ImWchar16"
|
||||
defs["ImWchar16"] = "unsigned short"
|
||||
defs["ImWchar32"] = "unsigned int"
|
||||
defs["STB_TexteditState"] = "struct STB_TexteditState"
|
||||
defs["StbTexteditRow"] = "struct StbTexteditRow"
|
||||
defs["StbUndoRecord"] = "struct StbUndoRecord"
|
||||
defs["StbUndoState"] = "struct StbUndoState"
|
||||
defs["const_iterator"] = "const value_type*"
|
||||
defs["iterator"] = "value_type*"
|
||||
defs["value_type"] = "T"
|
||||
|
2
imgui
2
imgui
Submodule imgui updated: 139e99ca37...b4c96355c9
Reference in New Issue
Block a user