This commit is contained in:
sonoro1234
2025-11-08 09:53:51 +01:00
parent 0d6a84344c
commit 26c3254fcb
7 changed files with 357 additions and 302 deletions

View File

@@ -513,9 +513,9 @@ CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col,float alpha_mul)
{ {
return ImGui::GetColorU32(col,alpha_mul); return ImGui::GetColorU32(col,alpha_mul);
} }
CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx) CIMGUI_API const ImVec4_c* igGetStyleColorVec4(ImGuiCol idx)
{ {
return &ImGui::GetStyleColorVec4(idx); return reinterpret_cast<const ImVec4_c*>(&ImGui::GetStyleColorVec4(idx));
} }
CIMGUI_API ImVec2_c igGetCursorScreenPos() CIMGUI_API ImVec2_c igGetCursorScreenPos()
{ {
@@ -1786,9 +1786,9 @@ CIMGUI_API bool igIsMouseHoveringRect(const ImVec2_c r_min,const ImVec2_c r_max,
{ {
return ImGui::IsMouseHoveringRect(ConvertToCPP_ImVec2(r_min),ConvertToCPP_ImVec2(r_max),clip); return ImGui::IsMouseHoveringRect(ConvertToCPP_ImVec2(r_min),ConvertToCPP_ImVec2(r_max),clip);
} }
CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos) CIMGUI_API bool igIsMousePosValid(const ImVec2_c* mouse_pos)
{ {
return ImGui::IsMousePosValid(mouse_pos); return ImGui::IsMousePosValid(reinterpret_cast<const ImVec2*>(mouse_pos));
} }
CIMGUI_API bool igIsAnyMouseDown() CIMGUI_API bool igIsAnyMouseDown()
{ {
@@ -2519,17 +2519,17 @@ CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2_c p1
{ {
return self->AddBezierQuadratic(ConvertToCPP_ImVec2(p1),ConvertToCPP_ImVec2(p2),ConvertToCPP_ImVec2(p3),col,thickness,num_segments); return self->AddBezierQuadratic(ConvertToCPP_ImVec2(p1),ConvertToCPP_ImVec2(p2),ConvertToCPP_ImVec2(p3),col,thickness,num_segments);
} }
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness) CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)
{ {
return self->AddPolyline(points,num_points,col,flags,thickness); return self->AddPolyline(reinterpret_cast<const ImVec2*>(points),num_points,col,flags,thickness);
} }
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col) CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)
{ {
return self->AddConvexPolyFilled(points,num_points,col); return self->AddConvexPolyFilled(reinterpret_cast<const ImVec2*>(points),num_points,col);
} }
CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col) CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)
{ {
return self->AddConcavePolyFilled(points,num_points,col); return self->AddConcavePolyFilled(reinterpret_cast<const ImVec2*>(points),num_points,col);
} }
CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col) CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col)
{ {
@@ -3230,9 +3230,9 @@ CIMGUI_API int igImTextCountLines(const char* in_text,const char* in_text_end)
{ {
return ImTextCountLines(in_text,in_text_end); return ImTextCountLines(in_text,in_text_end);
} }
CIMGUI_API ImVec2_c igImFontCalcTextSizeEx(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags) CIMGUI_API ImVec2_c igImFontCalcTextSizeEx(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2_c* out_offset,ImDrawTextFlags flags)
{ {
return ConvertFromCPP_ImVec2(ImFontCalcTextSizeEx(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,out_offset,flags)); return ConvertFromCPP_ImVec2(ImFontCalcTextSizeEx(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,reinterpret_cast<ImVec2*>(out_offset),flags));
} }
CIMGUI_API const char* igImFontCalcWordWrapPositionEx(ImFont* font,float size,const char* text,const char* text_end,float wrap_width,ImDrawTextFlags flags) CIMGUI_API const char* igImFontCalcWordWrapPositionEx(ImFont* font,float size,const char* text,const char* text_end,float wrap_width,ImDrawTextFlags flags)
{ {
@@ -3606,9 +3606,9 @@ CIMGUI_API ImVec4_c ImRect_ToVec4(ImRect* self)
{ {
return ConvertFromCPP_ImVec4(self->ToVec4()); return ConvertFromCPP_ImVec4(self->ToVec4());
} }
CIMGUI_API const ImVec4* ImRect_AsVec4(ImRect* self) CIMGUI_API const ImVec4_c* ImRect_AsVec4(ImRect* self)
{ {
return &self->AsVec4(); return reinterpret_cast<const ImVec4_c*>(&self->AsVec4());
} }
CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount) CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount)
{ {
@@ -4754,9 +4754,9 @@ CIMGUI_API void igLogToBuffer(int auto_open_depth)
{ {
return ImGui::LogToBuffer(auto_open_depth); return ImGui::LogToBuffer(auto_open_depth);
} }
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end) CIMGUI_API void igLogRenderedText(const ImVec2_c* ref_pos,const char* text,const char* text_end)
{ {
return ImGui::LogRenderedText(ref_pos,text,text_end); return ImGui::LogRenderedText(reinterpret_cast<const ImVec2*>(ref_pos),text,text_end);
} }
CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix) CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix)
{ {
@@ -5138,9 +5138,9 @@ CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode*
{ {
return ImGui::DockContextProcessUndockNode(ctx,node); return ImGui::DockContextProcessUndockNode(ctx,node);
} }
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos) CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos)
{ {
return ImGui::DockContextCalcDropPosForDocking(target,target_node,payload_window,payload_node,split_dir,split_outer,out_pos); return ImGui::DockContextCalcDropPosForDocking(target,target_node,payload_window,payload_node,split_dir,split_outer,reinterpret_cast<ImVec2*>(out_pos));
} }
CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id) CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id)
{ {
@@ -5694,17 +5694,17 @@ CIMGUI_API void igRenderTextWrapped(ImVec2_c pos,const char* text,const char* te
{ {
return ImGui::RenderTextWrapped(ConvertToCPP_ImVec2(pos),text,text_end,wrap_width); return ImGui::RenderTextWrapped(ConvertToCPP_ImVec2(pos),text,text_end,wrap_width);
} }
CIMGUI_API void igRenderTextClipped(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect) CIMGUI_API void igRenderTextClipped(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)
{ {
return ImGui::RenderTextClipped(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect); return ImGui::RenderTextClipped(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect);
} }
CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect) CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)
{ {
return ImGui::RenderTextClippedEx(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect); return ImGui::RenderTextClippedEx(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect);
} }
CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known) CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2_c* text_size_if_known)
{ {
return ImGui::RenderTextEllipsis(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,text_size_if_known); return ImGui::RenderTextEllipsis(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known));
} }
CIMGUI_API void igRenderFrame(ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,bool borders,float rounding) CIMGUI_API void igRenderFrame(ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,bool borders,float rounding)
{ {
@@ -6403,9 +6403,9 @@ CIMGUI_API void igImFontAtlasDebugLogTextureRequests(ImFontAtlas* atlas)
{ {
return ImFontAtlasDebugLogTextureRequests(atlas); return ImFontAtlasDebugLogTextureRequests(atlas);
} }
CIMGUI_API bool igImFontAtlasGetMouseCursorTexData(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]) CIMGUI_API bool igImFontAtlasGetMouseCursorTexData(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2_c* out_offset,ImVec2_c* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])
{ {
return ImFontAtlasGetMouseCursorTexData(atlas,cursor_type,out_offset,out_size,out_uv_border,out_uv_fill); return ImFontAtlasGetMouseCursorTexData(atlas,cursor_type,reinterpret_cast<ImVec2*>(out_offset),reinterpret_cast<ImVec2*>(out_size),out_uv_border,out_uv_fill);
} }
#ifdef IMGUI_ENABLE_FREETYPE #ifdef IMGUI_ENABLE_FREETYPE
CIMGUI_API const ImFontLoader* ImGuiFreeType_GetFontLoader() CIMGUI_API const ImFontLoader* ImGuiFreeType_GetFontLoader()

438
cimgui.h
View File

@@ -66,7 +66,7 @@ typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder;
typedef struct ImFontLoader ImFontLoader; typedef struct ImFontLoader ImFontLoader;
typedef struct ImTextureData ImTextureData; typedef struct ImTextureData ImTextureData;
typedef struct ImTextureRect ImTextureRect; typedef struct ImTextureRect ImTextureRect;
typedef struct ImColor ImColor; typedef struct ImColor_c ImColor_c;
typedef struct ImGuiContext ImGuiContext; typedef struct ImGuiContext ImGuiContext;
typedef struct ImGuiIO ImGuiIO; typedef struct ImGuiIO ImGuiIO;
typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData; typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData;
@@ -92,7 +92,7 @@ typedef struct ImGuiTextFilter ImGuiTextFilter;
typedef struct ImGuiViewport ImGuiViewport; typedef struct ImGuiViewport ImGuiViewport;
typedef struct ImGuiWindowClass ImGuiWindowClass; typedef struct ImGuiWindowClass ImGuiWindowClass;
typedef struct ImBitVector ImBitVector; typedef struct ImBitVector ImBitVector;
typedef struct ImRect ImRect; typedef struct ImRect_c ImRect_c;
typedef struct ImGuiTextIndex ImGuiTextIndex; typedef struct ImGuiTextIndex ImGuiTextIndex;
typedef struct ImDrawDataBuilder ImDrawDataBuilder; typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImFontAtlasPostProcessData ImFontAtlasPostProcessData; typedef struct ImFontAtlasPostProcessData ImFontAtlasPostProcessData;
@@ -172,7 +172,7 @@ struct ImFontGlyphRangesBuilder;
struct ImFontLoader; struct ImFontLoader;
struct ImTextureData; struct ImTextureData;
struct ImTextureRect; struct ImTextureRect;
struct ImColor; struct ImColor_c;
struct ImGuiContext; struct ImGuiContext;
struct ImGuiIO; struct ImGuiIO;
struct ImGuiInputTextCallbackData; struct ImGuiInputTextCallbackData;
@@ -255,19 +255,19 @@ typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data); typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data); typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data);
typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data); typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data);
typedef struct ImVec2 ImVec2; typedef struct ImVec2_c ImVec2_c;
struct ImVec2 struct ImVec2_c
{ {
float x, y; float x, y;
}; };
typedef struct ImVec4 ImVec4; typedef struct ImVec4_c ImVec4_c;
struct ImVec4 struct ImVec4_c
{ {
float x, y, z, w; float x, y, z, w;
}; };
typedef ImU64 ImTextureID; typedef ImU64 ImTextureID;
typedef struct ImTextureRef ImTextureRef; typedef struct ImTextureRef_c ImTextureRef_c;
struct ImTextureRef struct ImTextureRef_c
{ {
ImTextureData* _TexData; ImTextureData* _TexData;
ImTextureID _TexID; ImTextureID _TexID;
@@ -1022,24 +1022,24 @@ struct ImGuiStyle
float FontScaleDpi; float FontScaleDpi;
float Alpha; float Alpha;
float DisabledAlpha; float DisabledAlpha;
ImVec2 WindowPadding; ImVec2_c WindowPadding;
float WindowRounding; float WindowRounding;
float WindowBorderSize; float WindowBorderSize;
float WindowBorderHoverPadding; float WindowBorderHoverPadding;
ImVec2 WindowMinSize; ImVec2_c WindowMinSize;
ImVec2 WindowTitleAlign; ImVec2_c WindowTitleAlign;
ImGuiDir WindowMenuButtonPosition; ImGuiDir WindowMenuButtonPosition;
float ChildRounding; float ChildRounding;
float ChildBorderSize; float ChildBorderSize;
float PopupRounding; float PopupRounding;
float PopupBorderSize; float PopupBorderSize;
ImVec2 FramePadding; ImVec2_c FramePadding;
float FrameRounding; float FrameRounding;
float FrameBorderSize; float FrameBorderSize;
ImVec2 ItemSpacing; ImVec2_c ItemSpacing;
ImVec2 ItemInnerSpacing; ImVec2_c ItemInnerSpacing;
ImVec2 CellPadding; ImVec2_c CellPadding;
ImVec2 TouchExtraPadding; ImVec2_c TouchExtraPadding;
float IndentSpacing; float IndentSpacing;
float ColumnsMinSpacing; float ColumnsMinSpacing;
float ScrollbarSize; float ScrollbarSize;
@@ -1058,18 +1058,18 @@ struct ImGuiStyle
float TabBarBorderSize; float TabBarBorderSize;
float TabBarOverlineSize; float TabBarOverlineSize;
float TableAngledHeadersAngle; float TableAngledHeadersAngle;
ImVec2 TableAngledHeadersTextAlign; ImVec2_c TableAngledHeadersTextAlign;
ImGuiTreeNodeFlags TreeLinesFlags; ImGuiTreeNodeFlags TreeLinesFlags;
float TreeLinesSize; float TreeLinesSize;
float TreeLinesRounding; float TreeLinesRounding;
ImGuiDir ColorButtonPosition; ImGuiDir ColorButtonPosition;
ImVec2 ButtonTextAlign; ImVec2_c ButtonTextAlign;
ImVec2 SelectableTextAlign; ImVec2_c SelectableTextAlign;
float SeparatorTextBorderSize; float SeparatorTextBorderSize;
ImVec2 SeparatorTextAlign; ImVec2_c SeparatorTextAlign;
ImVec2 SeparatorTextPadding; ImVec2_c SeparatorTextPadding;
ImVec2 DisplayWindowPadding; ImVec2_c DisplayWindowPadding;
ImVec2 DisplaySafeAreaPadding; ImVec2_c DisplaySafeAreaPadding;
bool DockingNodeHasCloseButton; bool DockingNodeHasCloseButton;
float DockingSeparatorSize; float DockingSeparatorSize;
float MouseCursorScale; float MouseCursorScale;
@@ -1078,7 +1078,7 @@ struct ImGuiStyle
bool AntiAliasedFill; bool AntiAliasedFill;
float CurveTessellationTol; float CurveTessellationTol;
float CircleTessellationMaxError; float CircleTessellationMaxError;
ImVec4 Colors[ImGuiCol_COUNT]; ImVec4_c Colors[ImGuiCol_COUNT];
float HoverStationaryDelay; float HoverStationaryDelay;
float HoverDelayShort; float HoverDelayShort;
float HoverDelayNormal; float HoverDelayNormal;
@@ -1100,8 +1100,8 @@ struct ImGuiIO
{ {
ImGuiConfigFlags ConfigFlags; ImGuiConfigFlags ConfigFlags;
ImGuiBackendFlags BackendFlags; ImGuiBackendFlags BackendFlags;
ImVec2 DisplaySize; ImVec2_c DisplaySize;
ImVec2 DisplayFramebufferScale; ImVec2_c DisplayFramebufferScale;
float DeltaTime; float DeltaTime;
float IniSavingRate; float IniSavingRate;
const char* IniFilename; const char* IniFilename;
@@ -1172,9 +1172,9 @@ struct ImGuiIO
int MetricsRenderIndices; int MetricsRenderIndices;
int MetricsRenderWindows; int MetricsRenderWindows;
int MetricsActiveWindows; int MetricsActiveWindows;
ImVec2 MouseDelta; ImVec2_c MouseDelta;
ImGuiContext* Ctx; ImGuiContext* Ctx;
ImVec2 MousePos; ImVec2_c MousePos;
bool MouseDown[5]; bool MouseDown[5];
float MouseWheel; float MouseWheel;
float MouseWheelH; float MouseWheelH;
@@ -1187,8 +1187,8 @@ struct ImGuiIO
ImGuiKeyChord KeyMods; ImGuiKeyChord KeyMods;
ImGuiKeyData KeysData[ImGuiKey_NamedKey_COUNT]; ImGuiKeyData KeysData[ImGuiKey_NamedKey_COUNT];
bool WantCaptureMouseUnlessPopupClose; bool WantCaptureMouseUnlessPopupClose;
ImVec2 MousePosPrev; ImVec2_c MousePosPrev;
ImVec2 MouseClickedPos[5]; ImVec2_c MouseClickedPos[5];
double MouseClickedTime[5]; double MouseClickedTime[5];
bool MouseClicked[5]; bool MouseClicked[5];
bool MouseDoubleClicked[5]; bool MouseDoubleClicked[5];
@@ -1202,7 +1202,7 @@ struct ImGuiIO
bool MouseCtrlLeftAsRightClick; bool MouseCtrlLeftAsRightClick;
float MouseDownDuration[5]; float MouseDownDuration[5];
float MouseDownDurationPrev[5]; float MouseDownDurationPrev[5];
ImVec2 MouseDragMaxDistanceAbs[5]; ImVec2_c MouseDragMaxDistanceAbs[5];
float MouseDragMaxDistanceSqr[5]; float MouseDragMaxDistanceSqr[5];
float PenPressure; float PenPressure;
bool AppFocusLost; bool AppFocusLost;
@@ -1229,9 +1229,9 @@ struct ImGuiInputTextCallbackData
struct ImGuiSizeCallbackData struct ImGuiSizeCallbackData
{ {
void* UserData; void* UserData;
ImVec2 Pos; ImVec2_c Pos;
ImVec2 CurrentSize; ImVec2_c CurrentSize;
ImVec2 DesiredSize; ImVec2_c DesiredSize;
}; };
struct ImGuiWindowClass struct ImGuiWindowClass
{ {
@@ -1309,9 +1309,9 @@ struct ImGuiListClipper
void* TempData; void* TempData;
ImGuiListClipperFlags Flags; ImGuiListClipperFlags Flags;
}; };
struct ImColor struct ImColor_c
{ {
ImVec4 Value; ImVec4_c Value;
}; };
typedef enum { typedef enum {
ImGuiMultiSelectFlags_None = 0, ImGuiMultiSelectFlags_None = 0,
@@ -1374,8 +1374,8 @@ typedef unsigned short ImDrawIdx;
typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd); typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
struct ImDrawCmd struct ImDrawCmd
{ {
ImVec4 ClipRect; ImVec4_c ClipRect;
ImTextureRef TexRef; ImTextureRef_c TexRef;
unsigned int VtxOffset; unsigned int VtxOffset;
unsigned int IdxOffset; unsigned int IdxOffset;
unsigned int ElemCount; unsigned int ElemCount;
@@ -1386,15 +1386,15 @@ struct ImDrawCmd
}; };
struct ImDrawVert struct ImDrawVert
{ {
ImVec2 pos; ImVec2_c pos;
ImVec2 uv; ImVec2_c uv;
ImU32 col; ImU32 col;
}; };
typedef struct ImDrawCmdHeader ImDrawCmdHeader; typedef struct ImDrawCmdHeader ImDrawCmdHeader;
struct ImDrawCmdHeader struct ImDrawCmdHeader
{ {
ImVec4 ClipRect; ImVec4_c ClipRect;
ImTextureRef TexRef; ImTextureRef_c TexRef;
unsigned int VtxOffset; unsigned int VtxOffset;
}; };
typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd; typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
@@ -1439,11 +1439,11 @@ typedef enum {
}ImDrawListFlags_; }ImDrawListFlags_;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert; typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2; typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2_c* Data;} ImVector_ImVec2;
typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4; typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4_c* Data;} ImVector_ImVec4;
typedef struct ImVector_ImTextureRef {int Size;int Capacity;ImTextureRef* Data;} ImVector_ImTextureRef; typedef struct ImVector_ImTextureRef {int Size;int Capacity;ImTextureRef_c* Data;} ImVector_ImTextureRef;
typedef struct ImVector_ImU8 {int Size;int Capacity;ImU8* Data;} ImVector_ImU8; typedef struct ImVector_ImU8 {int Size;int Capacity;ImU8* Data;} ImVector_ImU8;
@@ -1477,9 +1477,9 @@ struct ImDrawData
int TotalIdxCount; int TotalIdxCount;
int TotalVtxCount; int TotalVtxCount;
ImVector_ImDrawListPtr CmdLists; ImVector_ImDrawListPtr CmdLists;
ImVec2 DisplayPos; ImVec2_c DisplayPos;
ImVec2 DisplaySize; ImVec2_c DisplaySize;
ImVec2 FramebufferScale; ImVec2_c FramebufferScale;
ImGuiViewport* OwnerViewport; ImGuiViewport* OwnerViewport;
ImVector_ImTextureDataPtr* Textures; ImVector_ImTextureDataPtr* Textures;
}; };
@@ -1535,7 +1535,7 @@ struct ImFontConfig
float SizePixels; float SizePixels;
const ImWchar* GlyphRanges; const ImWchar* GlyphRanges;
const ImWchar* GlyphExcludeRanges; const ImWchar* GlyphExcludeRanges;
ImVec2 GlyphOffset; ImVec2_c GlyphOffset;
float GlyphMinAdvanceX; float GlyphMinAdvanceX;
float GlyphMaxAdvanceX; float GlyphMaxAdvanceX;
float GlyphExtraAdvanceX; float GlyphExtraAdvanceX;
@@ -1570,7 +1570,7 @@ struct ImFontAtlasRect
{ {
unsigned short x, y; unsigned short x, y;
unsigned short w, h; unsigned short w, h;
ImVec2 uv0, uv1; ImVec2_c uv0, uv1;
}; };
typedef enum { typedef enum {
ImFontAtlasFlags_None = 0, ImFontAtlasFlags_None = 0,
@@ -1594,18 +1594,18 @@ struct ImFontAtlas
int TexMaxWidth; int TexMaxWidth;
int TexMaxHeight; int TexMaxHeight;
void* UserData; void* UserData;
ImTextureRef TexRef; ImTextureRef_c TexRef;
ImTextureData* TexData; ImTextureData* TexData;
ImVector_ImTextureDataPtr TexList; ImVector_ImTextureDataPtr TexList;
bool Locked; bool Locked;
bool RendererHasTextures; bool RendererHasTextures;
bool TexIsBuilt; bool TexIsBuilt;
bool TexPixelsUseColors; bool TexPixelsUseColors;
ImVec2 TexUvScale; ImVec2_c TexUvScale;
ImVec2 TexUvWhitePixel; ImVec2_c TexUvWhitePixel;
ImVector_ImFontPtr Fonts; ImVector_ImFontPtr Fonts;
ImVector_ImFontConfig Sources; ImVector_ImFontConfig Sources;
ImVec4 TexUvLines[(32) + 1]; ImVec4_c TexUvLines[(32) + 1];
int TexNextUniqueID; int TexNextUniqueID;
int FontNextUniqueID; int FontNextUniqueID;
ImVector_ImDrawListSharedDataPtr DrawListSharedDatas; ImVector_ImDrawListSharedDataPtr DrawListSharedDatas;
@@ -1686,11 +1686,11 @@ struct ImGuiViewport
{ {
ImGuiID ID; ImGuiID ID;
ImGuiViewportFlags Flags; ImGuiViewportFlags Flags;
ImVec2 Pos; ImVec2_c Pos;
ImVec2 Size; ImVec2_c Size;
ImVec2 FramebufferScale; ImVec2_c FramebufferScale;
ImVec2 WorkPos; ImVec2_c WorkPos;
ImVec2 WorkSize; ImVec2_c WorkSize;
float DpiScale; float DpiScale;
ImGuiID ParentViewportId; ImGuiID ParentViewportId;
ImGuiViewport* ParentViewport; ImGuiViewport* ParentViewport;
@@ -1724,11 +1724,11 @@ struct ImGuiPlatformIO
void (*Platform_CreateWindow)(ImGuiViewport* vp); void (*Platform_CreateWindow)(ImGuiViewport* vp);
void (*Platform_DestroyWindow)(ImGuiViewport* vp); void (*Platform_DestroyWindow)(ImGuiViewport* vp);
void (*Platform_ShowWindow)(ImGuiViewport* vp); void (*Platform_ShowWindow)(ImGuiViewport* vp);
void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos); void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2_c pos);
ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp); ImVec2_c (*Platform_GetWindowPos)(ImGuiViewport* vp);
void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2_c size);
ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp); ImVec2_c (*Platform_GetWindowSize)(ImGuiViewport* vp);
ImVec2 (*Platform_GetWindowFramebufferScale)(ImGuiViewport* vp); ImVec2_c (*Platform_GetWindowFramebufferScale)(ImGuiViewport* vp);
void (*Platform_SetWindowFocus)(ImGuiViewport* vp); void (*Platform_SetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowFocus)(ImGuiViewport* vp); bool (*Platform_GetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp); bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp);
@@ -1739,11 +1739,11 @@ struct ImGuiPlatformIO
void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg); void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp); float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
void (*Platform_OnChangedViewport)(ImGuiViewport* vp); void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
ImVec4 (*Platform_GetWindowWorkAreaInsets)(ImGuiViewport* vp); ImVec4_c (*Platform_GetWindowWorkAreaInsets)(ImGuiViewport* vp);
int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface); int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
void (*Renderer_CreateWindow)(ImGuiViewport* vp); void (*Renderer_CreateWindow)(ImGuiViewport* vp);
void (*Renderer_DestroyWindow)(ImGuiViewport* vp); void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2_c size);
void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg); void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg); void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
ImVector_ImGuiPlatformMonitor Monitors; ImVector_ImGuiPlatformMonitor Monitors;
@@ -1752,8 +1752,8 @@ struct ImGuiPlatformIO
}; };
struct ImGuiPlatformMonitor struct ImGuiPlatformMonitor
{ {
ImVec2 MainPos, MainSize; ImVec2_c MainPos, MainSize;
ImVec2 WorkPos, WorkSize; ImVec2_c WorkPos, WorkSize;
float DpiScale; float DpiScale;
void* PlatformHandle; void* PlatformHandle;
}; };
@@ -1761,12 +1761,12 @@ struct ImGuiPlatformImeData
{ {
bool WantVisible; bool WantVisible;
bool WantTextInput; bool WantTextInput;
ImVec2 InputPos; ImVec2_c InputPos;
float InputLineHeight; float InputLineHeight;
ImGuiID ViewportId; ImGuiID ViewportId;
}; };
struct ImBitVector; struct ImBitVector;
struct ImRect; struct ImRect_c;
struct ImGuiTextIndex; struct ImGuiTextIndex;
struct ImDrawDataBuilder; struct ImDrawDataBuilder;
struct ImDrawListSharedData; struct ImDrawListSharedData;
@@ -1852,8 +1852,8 @@ struct ImVec1
{ {
float x; float x;
}; };
typedef struct ImVec2i ImVec2i; typedef struct ImVec2i_c ImVec2i_c;
struct ImVec2i struct ImVec2i_c
{ {
int x, y; int x, y;
}; };
@@ -1862,10 +1862,10 @@ struct ImVec2ih
{ {
short x, y; short x, y;
}; };
struct ImRect struct ImRect_c
{ {
ImVec2 Min; ImVec2_c Min;
ImVec2 Max; ImVec2_c Max;
}; };
typedef ImU32* ImBitArrayPtr; typedef ImU32* ImBitArrayPtr;
struct ImBitVector struct ImBitVector
@@ -1882,8 +1882,8 @@ struct ImGuiTextIndex
}; };
struct ImDrawListSharedData struct ImDrawListSharedData
{ {
ImVec2 TexUvWhitePixel; ImVec2_c TexUvWhitePixel;
const ImVec4* TexUvLines; const ImVec4_c* TexUvLines;
ImFontAtlas* FontAtlas; ImFontAtlas* FontAtlas;
ImFont* Font; ImFont* Font;
float FontSize; float FontSize;
@@ -1892,11 +1892,11 @@ struct ImDrawListSharedData
float CircleSegmentMaxError; float CircleSegmentMaxError;
float InitialFringeScale; float InitialFringeScale;
ImDrawListFlags InitialFlags; ImDrawListFlags InitialFlags;
ImVec4 ClipRectFullscreen; ImVec4_c ClipRectFullscreen;
ImVector_ImVec2 TempBuffer; ImVector_ImVec2 TempBuffer;
ImVector_ImDrawListPtr DrawLists; ImVector_ImDrawListPtr DrawLists;
ImGuiContext* Context; ImGuiContext* Context;
ImVec2 ArcFastVtx[48]; ImVec2_c ArcFastVtx[48];
float ArcFastRadiusCutoff; float ArcFastRadiusCutoff;
ImU8 CircleSegmentCounts[64]; ImU8 CircleSegmentCounts[64];
}; };
@@ -1921,7 +1921,7 @@ struct ImGuiStyleVarInfo
struct ImGuiColorMod struct ImGuiColorMod
{ {
ImGuiCol Col; ImGuiCol Col;
ImVec4 BackupValue; ImVec4_c BackupValue;
}; };
struct ImGuiStyleMod struct ImGuiStyleMod
{ {
@@ -2068,22 +2068,22 @@ typedef enum {
typedef struct ImGuiComboPreviewData ImGuiComboPreviewData; typedef struct ImGuiComboPreviewData ImGuiComboPreviewData;
struct ImGuiComboPreviewData struct ImGuiComboPreviewData
{ {
ImRect PreviewRect; ImRect_c PreviewRect;
ImVec2 BackupCursorPos; ImVec2_c BackupCursorPos;
ImVec2 BackupCursorMaxPos; ImVec2_c BackupCursorMaxPos;
ImVec2 BackupCursorPosPrevLine; ImVec2_c BackupCursorPosPrevLine;
float BackupPrevLineTextBaseOffset; float BackupPrevLineTextBaseOffset;
ImGuiLayoutType BackupLayout; ImGuiLayoutType BackupLayout;
}; };
struct ImGuiGroupData struct ImGuiGroupData
{ {
ImGuiID WindowID; ImGuiID WindowID;
ImVec2 BackupCursorPos; ImVec2_c BackupCursorPos;
ImVec2 BackupCursorMaxPos; ImVec2_c BackupCursorMaxPos;
ImVec2 BackupCursorPosPrevLine; ImVec2_c BackupCursorPosPrevLine;
ImVec1 BackupIndent; ImVec1 BackupIndent;
ImVec1 BackupGroupOffset; ImVec1 BackupGroupOffset;
ImVec2 BackupCurrLineSize; ImVec2_c BackupCurrLineSize;
float BackupCurrLineTextBaseOffset; float BackupCurrLineTextBaseOffset;
ImGuiID BackupActiveIdIsAlive; ImGuiID BackupActiveIdIsAlive;
bool BackupDeactivatedIdIsAlive; bool BackupDeactivatedIdIsAlive;
@@ -2121,7 +2121,7 @@ struct ImGuiInputTextState
ImVector_char TextToRevertTo; ImVector_char TextToRevertTo;
ImVector_char CallbackTextBackup; ImVector_char CallbackTextBackup;
int BufCapacity; int BufCapacity;
ImVec2 Scroll; ImVec2_c Scroll;
int LineCount; int LineCount;
float WrapWidth; float WrapWidth;
float CursorAnim; float CursorAnim;
@@ -2164,23 +2164,23 @@ struct ImGuiNextWindowData
ImGuiCond SizeCond; ImGuiCond SizeCond;
ImGuiCond CollapsedCond; ImGuiCond CollapsedCond;
ImGuiCond DockCond; ImGuiCond DockCond;
ImVec2 PosVal; ImVec2_c PosVal;
ImVec2 PosPivotVal; ImVec2_c PosPivotVal;
ImVec2 SizeVal; ImVec2_c SizeVal;
ImVec2 ContentSizeVal; ImVec2_c ContentSizeVal;
ImVec2 ScrollVal; ImVec2_c ScrollVal;
ImGuiWindowFlags WindowFlags; ImGuiWindowFlags WindowFlags;
ImGuiChildFlags ChildFlags; ImGuiChildFlags ChildFlags;
bool PosUndock; bool PosUndock;
bool CollapsedVal; bool CollapsedVal;
ImRect SizeConstraintRect; ImRect_c SizeConstraintRect;
ImGuiSizeCallback SizeCallback; ImGuiSizeCallback SizeCallback;
void* SizeCallbackUserData; void* SizeCallbackUserData;
float BgAlphaVal; float BgAlphaVal;
ImGuiID ViewportId; ImGuiID ViewportId;
ImGuiID DockId; ImGuiID DockId;
ImGuiWindowClass WindowClass; ImGuiWindowClass WindowClass;
ImVec2 MenuBarOffsetMinVal; ImVec2_c MenuBarOffsetMinVal;
ImGuiWindowRefreshFlags RefreshFlagsVal; ImGuiWindowRefreshFlags RefreshFlagsVal;
}; };
typedef enum { typedef enum {
@@ -2210,10 +2210,10 @@ struct ImGuiLastItemData
ImGuiID ID; ImGuiID ID;
ImGuiItemFlags ItemFlags; ImGuiItemFlags ItemFlags;
ImGuiItemStatusFlags StatusFlags; ImGuiItemStatusFlags StatusFlags;
ImRect Rect; ImRect_c Rect;
ImRect NavRect; ImRect_c NavRect;
ImRect DisplayRect; ImRect_c DisplayRect;
ImRect ClipRect; ImRect_c ClipRect;
ImGuiKeyChord Shortcut; ImGuiKeyChord Shortcut;
}; };
struct ImGuiTreeNodeStackData struct ImGuiTreeNodeStackData
@@ -2221,7 +2221,7 @@ struct ImGuiTreeNodeStackData
ImGuiID ID; ImGuiID ID;
ImGuiTreeNodeFlags TreeFlags; ImGuiTreeNodeFlags TreeFlags;
ImGuiItemFlags ItemFlags; ImGuiItemFlags ItemFlags;
ImRect NavRect; ImRect_c NavRect;
float DrawLinesX1; float DrawLinesX1;
float DrawLinesToNodesY2; float DrawLinesToNodesY2;
ImGuiTableColumnIdx DrawLinesTableColumn; ImGuiTableColumnIdx DrawLinesTableColumn;
@@ -2282,8 +2282,8 @@ struct ImGuiPopupData
int ParentNavLayer; int ParentNavLayer;
int OpenFrameCount; int OpenFrameCount;
ImGuiID OpenParentId; ImGuiID OpenParentId;
ImVec2 OpenPopupPos; ImVec2_c OpenPopupPos;
ImVec2 OpenMousePos; ImVec2_c OpenMousePos;
}; };
typedef struct ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN {ImU32 Storage[(ImGuiKey_NamedKey_COUNT+31)>>5];} ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN; typedef struct ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN {ImU32 Storage[(ImGuiKey_NamedKey_COUNT+31)>>5];} ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN;
@@ -2483,7 +2483,7 @@ struct ImGuiNavItemData
ImGuiWindow* Window; ImGuiWindow* Window;
ImGuiID ID; ImGuiID ID;
ImGuiID FocusScopeId; ImGuiID FocusScopeId;
ImRect RectRel; ImRect_c RectRel;
ImGuiItemFlags ItemFlags; ImGuiItemFlags ItemFlags;
float DistBox; float DistBox;
float DistCenter; float DistCenter;
@@ -2532,7 +2532,7 @@ struct ImGuiOldColumnData
float OffsetNorm; float OffsetNorm;
float OffsetNormBeforeResize; float OffsetNormBeforeResize;
ImGuiOldColumnFlags Flags; ImGuiOldColumnFlags Flags;
ImRect ClipRect; ImRect_c ClipRect;
}; };
typedef struct ImVector_ImGuiOldColumnData {int Size;int Capacity;ImGuiOldColumnData* Data;} ImVector_ImGuiOldColumnData; typedef struct ImVector_ImGuiOldColumnData {int Size;int Capacity;ImGuiOldColumnData* Data;} ImVector_ImGuiOldColumnData;
@@ -2548,9 +2548,9 @@ struct ImGuiOldColumns
float LineMinY, LineMaxY; float LineMinY, LineMaxY;
float HostCursorPosY; float HostCursorPosY;
float HostCursorMaxPosX; float HostCursorMaxPosX;
ImRect HostInitialClipRect; ImRect_c HostInitialClipRect;
ImRect HostBackupClipRect; ImRect_c HostBackupClipRect;
ImRect HostBackupParentWorkRect; ImRect_c HostBackupParentWorkRect;
ImVector_ImGuiOldColumnData Columns; ImVector_ImGuiOldColumnData Columns;
ImDrawListSplitter Splitter; ImDrawListSplitter Splitter;
}; };
@@ -2563,14 +2563,14 @@ struct ImGuiBoxSelectState
bool IsStartedSetNavIdOnce; bool IsStartedSetNavIdOnce;
bool RequestClear; bool RequestClear;
ImGuiKeyChord KeyMods : 16; ImGuiKeyChord KeyMods : 16;
ImVec2 StartPosRel; ImVec2_c StartPosRel;
ImVec2 EndPosRel; ImVec2_c EndPosRel;
ImVec2 ScrollAccum; ImVec2_c ScrollAccum;
ImGuiWindow* Window; ImGuiWindow* Window;
bool UnclipMode; bool UnclipMode;
ImRect UnclipRect; ImRect_c UnclipRect;
ImRect BoxSelectRectPrev; ImRect_c BoxSelectRectPrev;
ImRect BoxSelectRectCurr; ImRect_c BoxSelectRectCurr;
}; };
struct ImGuiMultiSelectTempData struct ImGuiMultiSelectTempData
{ {
@@ -2578,8 +2578,8 @@ struct ImGuiMultiSelectTempData
ImGuiMultiSelectState* Storage; ImGuiMultiSelectState* Storage;
ImGuiID FocusScopeId; ImGuiID FocusScopeId;
ImGuiMultiSelectFlags Flags; ImGuiMultiSelectFlags Flags;
ImVec2 ScopeRectMin; ImVec2_c ScopeRectMin;
ImVec2 BackupCursorMaxPos; ImVec2_c BackupCursorMaxPos;
ImGuiSelectionUserData LastSubmittedItem; ImGuiSelectionUserData LastSubmittedItem;
ImGuiID BoxSelectId; ImGuiID BoxSelectId;
ImGuiKeyChord KeyMods; ImGuiKeyChord KeyMods;
@@ -2647,9 +2647,9 @@ struct ImGuiDockNode
ImGuiDockNode* ChildNodes[2]; ImGuiDockNode* ChildNodes[2];
ImVector_ImGuiWindowPtr Windows; ImVector_ImGuiWindowPtr Windows;
ImGuiTabBar* TabBar; ImGuiTabBar* TabBar;
ImVec2 Pos; ImVec2_c Pos;
ImVec2 Size; ImVec2_c Size;
ImVec2 SizeRef; ImVec2_c SizeRef;
ImGuiAxis SplitAxis; ImGuiAxis SplitAxis;
ImGuiWindowClass WindowClass; ImGuiWindowClass WindowClass;
ImU32 LastBgColor; ImU32 LastBgColor;
@@ -2715,8 +2715,8 @@ struct ImGuiViewportP
int LastFrameActive; int LastFrameActive;
int LastFocusedStampCount; int LastFocusedStampCount;
ImGuiID LastNameHash; ImGuiID LastNameHash;
ImVec2 LastPos; ImVec2_c LastPos;
ImVec2 LastSize; ImVec2_c LastSize;
float Alpha; float Alpha;
float LastAlpha; float LastAlpha;
bool LastFocusedHadNavWindow; bool LastFocusedHadNavWindow;
@@ -2725,13 +2725,13 @@ struct ImGuiViewportP
ImDrawList* BgFgDrawLists[2]; ImDrawList* BgFgDrawLists[2];
ImDrawData DrawDataP; ImDrawData DrawDataP;
ImDrawDataBuilder DrawDataBuilder; ImDrawDataBuilder DrawDataBuilder;
ImVec2 LastPlatformPos; ImVec2_c LastPlatformPos;
ImVec2 LastPlatformSize; ImVec2_c LastPlatformSize;
ImVec2 LastRendererSize; ImVec2_c LastRendererSize;
ImVec2 WorkInsetMin; ImVec2_c WorkInsetMin;
ImVec2 WorkInsetMax; ImVec2_c WorkInsetMax;
ImVec2 BuildWorkInsetMin; ImVec2_c BuildWorkInsetMin;
ImVec2 BuildWorkInsetMax; ImVec2_c BuildWorkInsetMax;
}; };
struct ImGuiWindowSettings struct ImGuiWindowSettings
{ {
@@ -2973,12 +2973,12 @@ struct ImGuiContext
ImGuiWindow* HoveredWindowBeforeClear; ImGuiWindow* HoveredWindowBeforeClear;
ImGuiWindow* MovingWindow; ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow; ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos; ImVec2_c WheelingWindowRefMousePos;
int WheelingWindowStartFrame; int WheelingWindowStartFrame;
int WheelingWindowScrolledFrame; int WheelingWindowScrolledFrame;
float WheelingWindowReleaseTimer; float WheelingWindowReleaseTimer;
ImVec2 WheelingWindowWheelRemainder; ImVec2_c WheelingWindowWheelRemainder;
ImVec2 WheelingAxisAvg; ImVec2_c WheelingAxisAvg;
ImGuiID DebugDrawIdConflictsId; ImGuiID DebugDrawIdConflictsId;
ImGuiID DebugHookIdInfoId; ImGuiID DebugHookIdInfoId;
ImGuiID HoveredId; ImGuiID HoveredId;
@@ -3001,7 +3001,7 @@ struct ImGuiContext
bool ActiveIdFromShortcut; bool ActiveIdFromShortcut;
ImGuiID ActiveIdDisabledId; ImGuiID ActiveIdDisabledId;
int ActiveIdMouseButton : 8; int ActiveIdMouseButton : 8;
ImVec2 ActiveIdClickOffset; ImVec2_c ActiveIdClickOffset;
ImGuiWindow* ActiveIdWindow; ImGuiWindow* ActiveIdWindow;
ImGuiInputSource ActiveIdSource; ImGuiInputSource ActiveIdSource;
ImGuiID ActiveIdPreviousFrame; ImGuiID ActiveIdPreviousFrame;
@@ -3041,7 +3041,7 @@ struct ImGuiContext
ImGuiViewportP* MouseLastHoveredViewport; ImGuiViewportP* MouseLastHoveredViewport;
ImGuiID PlatformLastFocusedViewportId; ImGuiID PlatformLastFocusedViewportId;
ImGuiPlatformMonitor FallbackMonitor; ImGuiPlatformMonitor FallbackMonitor;
ImRect PlatformMonitorsFullWorkRect; ImRect_c PlatformMonitorsFullWorkRect;
int ViewportCreatedCount; int ViewportCreatedCount;
int PlatformWindowsCreatedCount; int PlatformWindowsCreatedCount;
int ViewportFocusedStampCount; int ViewportFocusedStampCount;
@@ -3078,8 +3078,8 @@ struct ImGuiContext
ImGuiDir NavMoveDir; ImGuiDir NavMoveDir;
ImGuiDir NavMoveDirForDebug; ImGuiDir NavMoveDirForDebug;
ImGuiDir NavMoveClipDir; ImGuiDir NavMoveClipDir;
ImRect NavScoringRect; ImRect_c NavScoringRect;
ImRect NavScoringNoClipRect; ImRect_c NavScoringNoClipRect;
int NavScoringDebugCount; int NavScoringDebugCount;
int NavTabbingDir; int NavTabbingDir;
int NavTabbingCounter; int NavTabbingCounter;
@@ -3104,8 +3104,8 @@ struct ImGuiContext
ImGuiInputSource NavWindowingInputSource; ImGuiInputSource NavWindowingInputSource;
bool NavWindowingToggleLayer; bool NavWindowingToggleLayer;
ImGuiKey NavWindowingToggleKey; ImGuiKey NavWindowingToggleKey;
ImVec2 NavWindowingAccumDeltaPos; ImVec2_c NavWindowingAccumDeltaPos;
ImVec2 NavWindowingAccumDeltaSize; ImVec2_c NavWindowingAccumDeltaSize;
float DimBgRatio; float DimBgRatio;
bool DragDropActive; bool DragDropActive;
bool DragDropWithinSource; bool DragDropWithinSource;
@@ -3114,8 +3114,8 @@ struct ImGuiContext
int DragDropSourceFrameCount; int DragDropSourceFrameCount;
int DragDropMouseButton; int DragDropMouseButton;
ImGuiPayload DragDropPayload; ImGuiPayload DragDropPayload;
ImRect DragDropTargetRect; ImRect_c DragDropTargetRect;
ImRect DragDropTargetClipRect; ImRect_c DragDropTargetClipRect;
ImGuiID DragDropTargetId; ImGuiID DragDropTargetId;
ImGuiID DragDropTargetFullViewport; ImGuiID DragDropTargetFullViewport;
ImGuiDragDropFlags DragDropAcceptFlags; ImGuiDragDropFlags DragDropAcceptFlags;
@@ -3152,7 +3152,7 @@ struct ImGuiContext
ImGuiID HoverWindowUnlockedStationaryId; ImGuiID HoverWindowUnlockedStationaryId;
ImGuiMouseCursor MouseCursor; ImGuiMouseCursor MouseCursor;
float MouseStationaryTimer; float MouseStationaryTimer;
ImVec2 MouseLastValidPos; ImVec2_c MouseLastValidPos;
ImGuiInputTextState InputTextState; ImGuiInputTextState InputTextState;
ImGuiTextIndex InputTextLineIndex; ImGuiTextIndex InputTextLineIndex;
ImGuiInputTextDeactivatedState InputTextDeactivatedState; ImGuiInputTextDeactivatedState InputTextDeactivatedState;
@@ -3168,9 +3168,9 @@ struct ImGuiContext
float ColorEditSavedHue; float ColorEditSavedHue;
float ColorEditSavedSat; float ColorEditSavedSat;
ImU32 ColorEditSavedColor; ImU32 ColorEditSavedColor;
ImVec4 ColorPickerRef; ImVec4_c ColorPickerRef;
ImGuiComboPreviewData ComboPreviewData; ImGuiComboPreviewData ComboPreviewData;
ImRect WindowResizeBorderExpectedRect; ImRect_c WindowResizeBorderExpectedRect;
bool WindowResizeRelativeMode; bool WindowResizeRelativeMode;
short ScrollbarSeekMode; short ScrollbarSeekMode;
float ScrollbarClickDeltaToGrabCenter; float ScrollbarClickDeltaToGrabCenter;
@@ -3215,7 +3215,7 @@ struct ImGuiContext
int LogDepthToExpandDefault; int LogDepthToExpandDefault;
ImGuiErrorCallback ErrorCallback; ImGuiErrorCallback ErrorCallback;
void* ErrorCallbackUserData; void* ErrorCallbackUserData;
ImVec2 ErrorTooltipLockedPos; ImVec2_c ErrorTooltipLockedPos;
bool ErrorFirst; bool ErrorFirst;
int ErrorCountCurrentFrame; int ErrorCountCurrentFrame;
ImGuiErrorRecoveryState StackSizesInNewFrame; ImGuiErrorRecoveryState StackSizesInNewFrame;
@@ -3235,7 +3235,7 @@ struct ImGuiContext
ImU8 DebugItemPickerMouseButton; ImU8 DebugItemPickerMouseButton;
ImGuiID DebugItemPickerBreakId; ImGuiID DebugItemPickerBreakId;
float DebugFlashStyleColorTime; float DebugFlashStyleColorTime;
ImVec4 DebugFlashStyleColorBackup; ImVec4_c DebugFlashStyleColorBackup;
ImGuiMetricsConfig DebugMetricsConfig; ImGuiMetricsConfig DebugMetricsConfig;
ImGuiIDStackTool DebugIDStackTool; ImGuiIDStackTool DebugIDStackTool;
ImGuiDebugAllocInfo DebugAllocInfo; ImGuiDebugAllocInfo DebugAllocInfo;
@@ -3252,13 +3252,13 @@ struct ImGuiContext
}; };
struct ImGuiWindowTempData struct ImGuiWindowTempData
{ {
ImVec2 CursorPos; ImVec2_c CursorPos;
ImVec2 CursorPosPrevLine; ImVec2_c CursorPosPrevLine;
ImVec2 CursorStartPos; ImVec2_c CursorStartPos;
ImVec2 CursorMaxPos; ImVec2_c CursorMaxPos;
ImVec2 IdealMaxPos; ImVec2_c IdealMaxPos;
ImVec2 CurrLineSize; ImVec2_c CurrLineSize;
ImVec2 PrevLineSize; ImVec2_c PrevLineSize;
float CurrLineTextBaseOffset; float CurrLineTextBaseOffset;
float PrevLineTextBaseOffset; float PrevLineTextBaseOffset;
bool IsSameLine; bool IsSameLine;
@@ -3266,7 +3266,7 @@ struct ImGuiWindowTempData
ImVec1 Indent; ImVec1 Indent;
ImVec1 ColumnsOffset; ImVec1 ColumnsOffset;
ImVec1 GroupOffset; ImVec1 GroupOffset;
ImVec2 CursorStartPosLossyness; ImVec2_c CursorStartPosLossyness;
ImGuiNavLayer NavLayerCurrent; ImGuiNavLayer NavLayerCurrent;
short NavLayersActiveMask; short NavLayersActiveMask;
short NavLayersActiveMaskNext; short NavLayersActiveMaskNext;
@@ -3274,7 +3274,7 @@ struct ImGuiWindowTempData
bool NavHideHighlightOneFrame; bool NavHideHighlightOneFrame;
bool NavWindowHasScrollY; bool NavWindowHasScrollY;
bool MenuBarAppending; bool MenuBarAppending;
ImVec2 MenuBarOffset; ImVec2_c MenuBarOffset;
ImGuiMenuColumns MenuColumns; ImGuiMenuColumns MenuColumns;
int TreeDepth; int TreeDepth;
ImU32 TreeHasStackDataDepthMask; ImU32 TreeHasStackDataDepthMask;
@@ -3289,7 +3289,7 @@ struct ImGuiWindowTempData
ImGuiItemStatusFlags WindowItemStatusFlags; ImGuiItemStatusFlags WindowItemStatusFlags;
ImGuiItemStatusFlags ChildItemStatusFlags; ImGuiItemStatusFlags ChildItemStatusFlags;
ImGuiItemStatusFlags DockTabItemStatusFlags; ImGuiItemStatusFlags DockTabItemStatusFlags;
ImRect DockTabItemRect; ImRect_c DockTabItemRect;
float ItemWidth; float ItemWidth;
float TextWrapPos; float TextWrapPos;
ImVector_float ItemWidthStack; ImVector_float ItemWidthStack;
@@ -3307,15 +3307,15 @@ struct ImGuiWindow
ImGuiWindowClass WindowClass; ImGuiWindowClass WindowClass;
ImGuiViewportP* Viewport; ImGuiViewportP* Viewport;
ImGuiID ViewportId; ImGuiID ViewportId;
ImVec2 ViewportPos; ImVec2_c ViewportPos;
int ViewportAllowPlatformMonitorExtend; int ViewportAllowPlatformMonitorExtend;
ImVec2 Pos; ImVec2_c Pos;
ImVec2 Size; ImVec2_c Size;
ImVec2 SizeFull; ImVec2_c SizeFull;
ImVec2 ContentSize; ImVec2_c ContentSize;
ImVec2 ContentSizeIdeal; ImVec2_c ContentSizeIdeal;
ImVec2 ContentSizeExplicit; ImVec2_c ContentSizeExplicit;
ImVec2 WindowPadding; ImVec2_c WindowPadding;
float WindowRounding; float WindowRounding;
float WindowBorderSize; float WindowBorderSize;
float TitleBarHeight, MenuBarHeight; float TitleBarHeight, MenuBarHeight;
@@ -3327,12 +3327,12 @@ struct ImGuiWindow
ImGuiID TabId; ImGuiID TabId;
ImGuiID ChildId; ImGuiID ChildId;
ImGuiID PopupId; ImGuiID PopupId;
ImVec2 Scroll; ImVec2_c Scroll;
ImVec2 ScrollMax; ImVec2_c ScrollMax;
ImVec2 ScrollTarget; ImVec2_c ScrollTarget;
ImVec2 ScrollTargetCenterRatio; ImVec2_c ScrollTargetCenterRatio;
ImVec2 ScrollTargetEdgeSnapDist; ImVec2_c ScrollTargetEdgeSnapDist;
ImVec2 ScrollbarSizes; ImVec2_c ScrollbarSizes;
bool ScrollbarX, ScrollbarY; bool ScrollbarX, ScrollbarY;
bool ScrollbarXStabilizeEnabled; bool ScrollbarXStabilizeEnabled;
ImU8 ScrollbarXStabilizeToggledHistory; ImU8 ScrollbarXStabilizeToggledHistory;
@@ -3367,17 +3367,17 @@ struct ImGuiWindow
ImGuiCond SetWindowSizeAllowFlags : 8; ImGuiCond SetWindowSizeAllowFlags : 8;
ImGuiCond SetWindowCollapsedAllowFlags : 8; ImGuiCond SetWindowCollapsedAllowFlags : 8;
ImGuiCond SetWindowDockAllowFlags : 8; ImGuiCond SetWindowDockAllowFlags : 8;
ImVec2 SetWindowPosVal; ImVec2_c SetWindowPosVal;
ImVec2 SetWindowPosPivot; ImVec2_c SetWindowPosPivot;
ImVector_ImGuiID IDStack; ImVector_ImGuiID IDStack;
ImGuiWindowTempData DC; ImGuiWindowTempData DC;
ImRect OuterRectClipped; ImRect_c OuterRectClipped;
ImRect InnerRect; ImRect_c InnerRect;
ImRect InnerClipRect; ImRect_c InnerClipRect;
ImRect WorkRect; ImRect_c WorkRect;
ImRect ParentWorkRect; ImRect_c ParentWorkRect;
ImRect ClipRect; ImRect_c ClipRect;
ImRect ContentRegionRect; ImRect_c ContentRegionRect;
ImVec2ih HitTestHoleSize; ImVec2ih HitTestHoleSize;
ImVec2ih HitTestHoleOffset; ImVec2ih HitTestHoleOffset;
int LastFrameActive; int LastFrameActive;
@@ -3402,8 +3402,8 @@ struct ImGuiWindow
ImGuiWindow* ParentWindowForFocusRoute; ImGuiWindow* ParentWindowForFocusRoute;
ImGuiWindow* NavLastChildNavWindow; ImGuiWindow* NavLastChildNavWindow;
ImGuiID NavLastIds[ImGuiNavLayer_COUNT]; ImGuiID NavLastIds[ImGuiNavLayer_COUNT];
ImRect NavRectRel[ImGuiNavLayer_COUNT]; ImRect_c NavRectRel[ImGuiNavLayer_COUNT];
ImVec2 NavPreferredScoringPosRel[ImGuiNavLayer_COUNT]; ImVec2_c NavPreferredScoringPosRel[ImGuiNavLayer_COUNT];
ImGuiID NavRootFocusScopeId; ImGuiID NavRootFocusScopeId;
int MemoryDrawListIdxCapacity; int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity; int MemoryDrawListVtxCapacity;
@@ -3459,7 +3459,7 @@ struct ImGuiTabBar
ImGuiID VisibleTabId; ImGuiID VisibleTabId;
int CurrFrameVisible; int CurrFrameVisible;
int PrevFrameVisible; int PrevFrameVisible;
ImRect BarRect; ImRect_c BarRect;
float BarRectPrevWidth; float BarRectPrevWidth;
float CurrTabsContentsHeight; float CurrTabsContentsHeight;
float PrevTabsContentsHeight; float PrevTabsContentsHeight;
@@ -3483,8 +3483,8 @@ struct ImGuiTabBar
ImS16 TabsActiveCount; ImS16 TabsActiveCount;
ImS16 LastTabItemIdx; ImS16 LastTabItemIdx;
float ItemSpacingY; float ItemSpacingY;
ImVec2 FramePadding; ImVec2_c FramePadding;
ImVec2 BackupCursorPos; ImVec2_c BackupCursorPos;
ImGuiTextBuffer TabsNames; ImGuiTextBuffer TabsNames;
}; };
struct ImGuiTableColumn struct ImGuiTableColumn
@@ -3498,7 +3498,7 @@ struct ImGuiTableColumn
float WidthMax; float WidthMax;
float StretchWeight; float StretchWeight;
float InitStretchWeightOrWidth; float InitStretchWeightOrWidth;
ImRect ClipRect; ImRect_c ClipRect;
ImGuiID UserID; ImGuiID UserID;
float WorkMinX; float WorkMinX;
float WorkMaxX; float WorkMaxX;
@@ -3613,15 +3613,15 @@ struct ImGuiTable
float RefScale; float RefScale;
float AngledHeadersHeight; float AngledHeadersHeight;
float AngledHeadersSlope; float AngledHeadersSlope;
ImRect OuterRect; ImRect_c OuterRect;
ImRect InnerRect; ImRect_c InnerRect;
ImRect WorkRect; ImRect_c WorkRect;
ImRect InnerClipRect; ImRect_c InnerClipRect;
ImRect BgClipRect; ImRect_c BgClipRect;
ImRect Bg0ClipRectForDrawCmd; ImRect_c Bg0ClipRectForDrawCmd;
ImRect Bg2ClipRectForDrawCmd; ImRect_c Bg2ClipRectForDrawCmd;
ImRect HostClipRect; ImRect_c HostClipRect;
ImRect HostBackupInnerClipRect; ImRect_c HostBackupInnerClipRect;
ImGuiWindow* OuterWindow; ImGuiWindow* OuterWindow;
ImGuiWindow* InnerWindow; ImGuiWindow* InnerWindow;
ImGuiTextBuffer ColumnsNames; ImGuiTextBuffer ColumnsNames;
@@ -3688,13 +3688,13 @@ struct ImGuiTableTempData
float LastTimeActive; float LastTimeActive;
float AngledHeadersExtraWidth; float AngledHeadersExtraWidth;
ImVector_ImGuiTableHeaderData AngledHeadersRequests; ImVector_ImGuiTableHeaderData AngledHeadersRequests;
ImVec2 UserOuterSize; ImVec2_c UserOuterSize;
ImDrawListSplitter DrawSplitter; ImDrawListSplitter DrawSplitter;
ImRect HostBackupWorkRect; ImRect_c HostBackupWorkRect;
ImRect HostBackupParentWorkRect; ImRect_c HostBackupParentWorkRect;
ImVec2 HostBackupPrevLineSize; ImVec2_c HostBackupPrevLineSize;
ImVec2 HostBackupCurrLineSize; ImVec2_c HostBackupCurrLineSize;
ImVec2 HostBackupCursorMaxPos; ImVec2_c HostBackupCursorMaxPos;
ImVec1 HostBackupColumnsOffset; ImVec1 HostBackupColumnsOffset;
float HostBackupItemWidth; float HostBackupItemWidth;
int HostBackupItemWidthStackSize; int HostBackupItemWidthStackSize;
@@ -3779,8 +3779,8 @@ struct ImFontAtlasBuilder
int RectsDiscardedCount; int RectsDiscardedCount;
int RectsDiscardedSurface; int RectsDiscardedSurface;
int FrameCount; int FrameCount;
ImVec2i MaxRectSize; ImVec2i_c MaxRectSize;
ImVec2i MaxRectBounds; ImVec2i_c MaxRectBounds;
bool LockDisableResize; bool LockDisableResize;
bool PreloadedAllGlyphsRanges; bool PreloadedAllGlyphsRanges;
ImStableVector_ImFontBaked__32 BakedPool; ImStableVector_ImFontBaked__32 BakedPool;
@@ -3818,6 +3818,15 @@ struct SDL_Window;
typedef union SDL_Event SDL_Event; typedef union SDL_Event SDL_Event;
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS #endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImColor_c ImColor;
typedef struct ImRect_c ImRect;
typedef struct ImTextureRef_c ImTextureRef;
typedef struct ImVec2_c ImVec2;
typedef struct ImVec2i_c ImVec2i;
typedef struct ImVec4_c ImVec4;
#endif
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImColor_c ImColor_c; typedef struct ImColor_c ImColor_c;
struct ImColor_c { struct ImColor_c {
ImVec4 Value; ImVec4 Value;
@@ -3849,6 +3858,7 @@ struct ImVec4_c {
float z; float z;
float w; float w;
}; };
#endif
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS #ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange; typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
@@ -4028,7 +4038,7 @@ CIMGUI_API ImVec2_c igGetFontTexUvWhitePixel(void);
CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx,float alpha_mul); CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx,float alpha_mul);
CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4_c col); CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4_c col);
CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col,float alpha_mul); CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col,float alpha_mul);
CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx); CIMGUI_API const ImVec4_c* igGetStyleColorVec4(ImGuiCol idx);
CIMGUI_API ImVec2_c igGetCursorScreenPos(void); CIMGUI_API ImVec2_c igGetCursorScreenPos(void);
CIMGUI_API void igSetCursorScreenPos(const ImVec2_c pos); CIMGUI_API void igSetCursorScreenPos(const ImVec2_c pos);
CIMGUI_API ImVec2_c igGetContentRegionAvail(void); CIMGUI_API ImVec2_c igGetContentRegionAvail(void);
@@ -4355,7 +4365,7 @@ CIMGUI_API bool igIsMouseDoubleClicked_Nil(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseReleasedWithDelay(ImGuiMouseButton button,float delay); CIMGUI_API bool igIsMouseReleasedWithDelay(ImGuiMouseButton button,float delay);
CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button); CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseHoveringRect(const ImVec2_c r_min,const ImVec2_c r_max,bool clip); CIMGUI_API bool igIsMouseHoveringRect(const ImVec2_c r_min,const ImVec2_c r_max,bool clip);
CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos); CIMGUI_API bool igIsMousePosValid(const ImVec2_c* mouse_pos);
CIMGUI_API bool igIsAnyMouseDown(void); CIMGUI_API bool igIsAnyMouseDown(void);
CIMGUI_API ImVec2_c igGetMousePos(void); CIMGUI_API ImVec2_c igGetMousePos(void);
CIMGUI_API ImVec2_c igGetMousePosOnOpeningCurrentPopup(void); CIMGUI_API ImVec2_c igGetMousePosOnOpeningCurrentPopup(void);
@@ -4539,9 +4549,9 @@ CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2_c pos,ImU3
CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,ImFont* font,float font_size,const ImVec2_c pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect); CIMGUI_API void ImDrawList_AddText_FontPtr(ImDrawList* self,ImFont* font,float font_size,const ImVec2_c pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);
CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,const ImVec2_c p4,ImU32 col,float thickness,int num_segments); CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,const ImVec2_c p4,ImU32 col,float thickness,int num_segments);
CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,ImU32 col,float thickness,int num_segments); CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,ImU32 col,float thickness,int num_segments);
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness); CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness);
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col); CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col);
CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col); CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col);
CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col); CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col);
CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,const ImVec2_c p4,const ImVec2_c uv1,const ImVec2_c uv2,const ImVec2_c uv3,const ImVec2_c uv4,ImU32 col); CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p1,const ImVec2_c p2,const ImVec2_c p3,const ImVec2_c p4,const ImVec2_c uv1,const ImVec2_c uv2,const ImVec2_c uv3,const ImVec2_c uv4,ImU32 col);
CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col,float rounding,ImDrawFlags flags); CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self,ImTextureRef_c tex_ref,const ImVec2_c p_min,const ImVec2_c p_max,const ImVec2_c uv_min,const ImVec2_c uv_max,ImU32 col,float rounding,ImDrawFlags flags);
@@ -4718,7 +4728,7 @@ CIMGUI_API int igImTextCountUtf8BytesFromChar(const char* in_text,const char* in
CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text,const ImWchar* in_text_end); CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text,const ImWchar* in_text_end);
CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint(const char* in_text_start,const char* in_text_curr); CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint(const char* in_text_start,const char* in_text_curr);
CIMGUI_API int igImTextCountLines(const char* in_text,const char* in_text_end); CIMGUI_API int igImTextCountLines(const char* in_text,const char* in_text_end);
CIMGUI_API ImVec2_c igImFontCalcTextSizeEx(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags); CIMGUI_API ImVec2_c igImFontCalcTextSizeEx(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2_c* out_offset,ImDrawTextFlags flags);
CIMGUI_API const char* igImFontCalcWordWrapPositionEx(ImFont* font,float size,const char* text,const char* text_end,float wrap_width,ImDrawTextFlags flags); CIMGUI_API const char* igImFontCalcWordWrapPositionEx(ImFont* font,float size,const char* text,const char* text_end,float wrap_width,ImDrawTextFlags flags);
CIMGUI_API const char* igImTextCalcWordWrapNextLineStart(const char* text,const char* text_end,ImDrawTextFlags flags); CIMGUI_API const char* igImTextCalcWordWrapNextLineStart(const char* text,const char* text_end,ImDrawTextFlags flags);
CIMGUI_API ImFileHandle igImFileOpen(const char* filename,const char* mode); CIMGUI_API ImFileHandle igImFileOpen(const char* filename,const char* mode);
@@ -4812,7 +4822,7 @@ CIMGUI_API void ImRect_ClipWithFull(ImRect* self,const ImRect_c r);
CIMGUI_API void ImRect_Floor(ImRect* self); CIMGUI_API void ImRect_Floor(ImRect* self);
CIMGUI_API bool ImRect_IsInverted(ImRect* self); CIMGUI_API bool ImRect_IsInverted(ImRect* self);
CIMGUI_API ImVec4_c ImRect_ToVec4(ImRect* self); CIMGUI_API ImVec4_c ImRect_ToVec4(ImRect* self);
CIMGUI_API const ImVec4* ImRect_AsVec4(ImRect* self); CIMGUI_API const ImVec4_c* ImRect_AsVec4(ImRect* self);
CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount); CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount);
CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr,int bitcount); CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr,int bitcount);
CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr,int n); CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr,int n);
@@ -5099,7 +5109,7 @@ CIMGUI_API void igBeginDisabledOverrideReenable(void);
CIMGUI_API void igEndDisabledOverrideReenable(void); CIMGUI_API void igEndDisabledOverrideReenable(void);
CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth); CIMGUI_API void igLogBegin(ImGuiLogFlags flags,int auto_open_depth);
CIMGUI_API void igLogToBuffer(int auto_open_depth); CIMGUI_API void igLogToBuffer(int auto_open_depth);
CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end); CIMGUI_API void igLogRenderedText(const ImVec2_c* ref_pos,const char* text,const char* text_end);
CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix); CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix);
CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2_c size_arg,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags); CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2_c size_arg,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags);
CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_window_flags); CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_window_flags);
@@ -5195,7 +5205,7 @@ CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* wi
CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node); CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref); CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref);
CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node); CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos); CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos);
CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id); CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id);
CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar); CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar);
CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node); CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node);
@@ -5334,9 +5344,9 @@ CIMGUI_API void igTabItemBackground(ImDrawList* draw_list,const ImRect_c bb,ImGu
CIMGUI_API void igTabItemLabelAndCloseButton(ImDrawList* draw_list,const ImRect_c bb,ImGuiTabItemFlags flags,ImVec2_c frame_padding,const char* label,ImGuiID tab_id,ImGuiID close_button_id,bool is_contents_visible,bool* out_just_closed,bool* out_text_clipped); CIMGUI_API void igTabItemLabelAndCloseButton(ImDrawList* draw_list,const ImRect_c bb,ImGuiTabItemFlags flags,ImVec2_c frame_padding,const char* label,ImGuiID tab_id,ImGuiID close_button_id,bool is_contents_visible,bool* out_just_closed,bool* out_text_clipped);
CIMGUI_API void igRenderText(ImVec2_c pos,const char* text,const char* text_end,bool hide_text_after_hash); CIMGUI_API void igRenderText(ImVec2_c pos,const char* text,const char* text_end,bool hide_text_after_hash);
CIMGUI_API void igRenderTextWrapped(ImVec2_c pos,const char* text,const char* text_end,float wrap_width); CIMGUI_API void igRenderTextWrapped(ImVec2_c pos,const char* text,const char* text_end,float wrap_width);
CIMGUI_API void igRenderTextClipped(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect); CIMGUI_API void igRenderTextClipped(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect);
CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect); CIMGUI_API void igRenderTextClippedEx(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect);
CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known); CIMGUI_API void igRenderTextEllipsis(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2_c* text_size_if_known);
CIMGUI_API void igRenderFrame(ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,bool borders,float rounding); CIMGUI_API void igRenderFrame(ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,bool borders,float rounding);
CIMGUI_API void igRenderFrameBorder(ImVec2_c p_min,ImVec2_c p_max,float rounding); CIMGUI_API void igRenderFrameBorder(ImVec2_c p_min,ImVec2_c p_max,float rounding);
CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,float grid_step,ImVec2_c grid_off,float rounding,ImDrawFlags flags); CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2_c p_min,ImVec2_c p_max,ImU32 fill_col,float grid_step,ImVec2_c grid_off,float rounding,ImDrawFlags flags);
@@ -5512,7 +5522,7 @@ CIMGUI_API int igImTextureDataGetFormatBytesPerPixel(ImTextureFormat format);
CIMGUI_API const char* igImTextureDataGetStatusName(ImTextureStatus status); CIMGUI_API const char* igImTextureDataGetStatusName(ImTextureStatus status);
CIMGUI_API const char* igImTextureDataGetFormatName(ImTextureFormat format); CIMGUI_API const char* igImTextureDataGetFormatName(ImTextureFormat format);
CIMGUI_API void igImFontAtlasDebugLogTextureRequests(ImFontAtlas* atlas); CIMGUI_API void igImFontAtlasDebugLogTextureRequests(ImFontAtlas* atlas);
CIMGUI_API bool igImFontAtlasGetMouseCursorTexData(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]); CIMGUI_API bool igImFontAtlasGetMouseCursorTexData(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2_c* out_offset,ImVec2_c* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
#ifdef IMGUI_ENABLE_FREETYPE #ifdef IMGUI_ENABLE_FREETYPE
CIMGUI_API const ImFontLoader* ImGuiFreeType_GetFontLoader(void); CIMGUI_API const ImFontLoader* ImGuiFreeType_GetFontLoader(void);
CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data); CIMGUI_API void ImGuiFreeType_SetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);

View File

@@ -1119,14 +1119,18 @@ local function gen_structs_c(FP)
end end
insert(tabs,"};") insert(tabs,"};")
end) end)
if #tabs > 0 then
insert(tabs,1,"#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS")
insert(tabs,"#endif")
end
if #tabs_c > 0 then if #tabs_c > 0 then
insert(tabs_c,1,"#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS") insert(tabs_c,1,"#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS")
insert(tabs_c,"#endif") insert(tabs_c,"#endif")
end end
--print(table.concat(tabs_c,"\n")) --print(table.concat(tabs_c,"\n"))
--print(table.concat(tabs,"\n")) --print(table.concat(tabs,"\n"))
--return table.concat(tabs_c,"\n").."\n"..table.concat(tabs,"\n") return table.concat(tabs_c,"\n").."\n"..table.concat(tabs,"\n")
return table.concat(tabs,"\n") --return table.concat(tabs,"\n")
end end
local function gen_field_conversion(tab, struct, FP, prefix) local function gen_field_conversion(tab, struct, FP, prefix)
prefix = prefix or "" prefix = prefix or ""
@@ -1163,7 +1167,7 @@ local function genConversions(FP)
return table.concat(convers,"\n") return table.concat(convers,"\n")
end end
local function get_nonPODused(FP) local function get_nonPODused(FP)
print("get_nonPODused-----------------------------") --print("get_nonPODused-----------------------------")
local nonPOD = FP.structs_and_enums_table.nonPOD local nonPOD = FP.structs_and_enums_table.nonPOD
--M.prtable(nonPOD) --M.prtable(nonPOD)
local typeargs = {} local typeargs = {}
@@ -1219,16 +1223,35 @@ local function get_nonPODused(FP)
-- M.prtable(typeargs2_ret) -- M.prtable(typeargs2_ret)
end end
local function header_subs_nonPOD(FP,txt)
--print("----------header_subs_nonPOD")
--M.prtable(FP.nP_used)
for k,v in pairs(FP.nP_used) do
--txt = txt:gsub("([%s;])"..k,"%1"..k.."_c")
for i=1,2 do
txt = txt:gsub("([%s;])"..k.."([%s;%*])", "%1"..k.."_c%2")
end
--txt = txt:gsub("%s"..k..";", " "..k.."_c;")
--txt = txt:gsub("%s"..k.."%*", " "..k.."_c*")
end
return txt
end
M.header_subs_nonPOD = header_subs_nonPOD
local function ADDnonUDT(FP) local function ADDnonUDT(FP)
local nonPOD = get_nonPOD(FP) local nonPOD = get_nonPOD(FP)
get_nonPODused(FP) get_nonPODused(FP)
for k,defs in pairs(FP.defsT) do for k,defs in pairs(FP.defsT) do
for i, def in ipairs(defs) do for i, def in ipairs(defs) do
--ret --ret
local rets = (def.ret or ""):gsub("const ","")
rets = rets:gsub("*","")
if FP.nP_ret[def.ret] then if FP.nP_ret[def.ret] then
def.conv = (def.ret):gsub("const ","") def.conv = (def.ret):gsub("const ","")
def.ret = FP.nP_ret[def.ret] def.ret = FP.nP_ret[def.ret]
def.nonUDT = 1 def.nonUDT = 1
elseif FP.nP_ret[rets] then
def.ret = def.ret:gsub(rets, FP.nP_ret[rets])
def.nonUDT = 2
end end
--args --args
local caar,asp local caar,asp
@@ -1242,10 +1265,15 @@ local function ADDnonUDT(FP)
asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. "," asp = asp .. v.ret .. f_ .. v.name .. ")" .. v.signature .. ","
caar = caar .. name .. "," caar = caar .. name .. ","
else else
local typ = v.type:gsub("const ","")
local typ2 = typ:gsub("*","")
if FP.nP_args[v.type] then if FP.nP_args[v.type] then
local typ = v.type:gsub("const ","")
caar = caar .. "ConvertToCPP_"..typ.."("..name..")," caar = caar .. "ConvertToCPP_"..typ.."("..name.."),"
asp = asp .. v.type:gsub(typ,typ.."_c").." "..v.name.."," asp = asp .. v.type:gsub(typ,typ.."_c").." "..v.name..","
elseif FP.nP_args[typ2] then
local typ3 = v.type:gsub(typ2,typ2.."_c")
caar = caar .. "reinterpret_cast<"..v.type..">("..name.."),"
asp = asp .. typ3 .." "..v.name..","
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*%])","")
@@ -2013,13 +2041,15 @@ function M.Parser()
if not structname then print("NO NAME",cleanst,it.item) end if not structname then print("NO NAME",cleanst,it.item) end
--if not void stname or templated --if not void stname or templated
if structname and not self.typenames[structname] then if structname and not self.typenames[structname] then
--dont add typedef to non POD
--table.insert(typedefs_table,"typedef struct "..structname.." "..structname..";\n") local tst = ""
local tst = "\ntypedef struct "..structname.." "..structname..";" --if not self.nP_used[structname] then
if check_unique_typedefs(tst,uniques) then tst = "\ntypedef struct "..structname.." "..structname..";"
--table.insert(outtab,tst) --end
self:header_text_insert(outtab, tst, it) if check_unique_typedefs(tst,uniques) then
end --table.insert(outtab,tst)
self:header_text_insert(outtab, tst, it)
end
self.typedefs_dict[structname]="struct "..structname self.typedefs_dict[structname]="struct "..structname
--dont insert child structs as they are inserted before parent struct --dont insert child structs as they are inserted before parent struct
if not (it.parent and it.parent.re_name == "struct_re") then if not (it.parent and it.parent.re_name == "struct_re") then
@@ -2064,6 +2094,8 @@ function M.Parser()
--check arg detection failure if no name in function declaration --check arg detection failure if no name in function declaration
check_arg_detection(self.defsT,self.typedefs_dict) check_arg_detection(self.defsT,self.typedefs_dict)
local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"") local outtabprest, outtabst = table.concat(outtabpre,""),table.concat(outtab,"")
outtabprest = M.header_subs_nonPOD(self,outtabprest)
outtabst = M.header_subs_nonPOD(self,outtabst)
self.structs_and_enums = {outtabprest, outtabst or ""} self.structs_and_enums = {outtabprest, outtabst or ""}
return outtabprest, outtabst return outtabprest, outtabst
@@ -2860,6 +2892,8 @@ local function ImGui_f_implementation(def)
if def.nonUDT == 1 then if def.nonUDT == 1 then
--table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n") --table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n")
insert(outtab," return ConvertFromCPP_"..def.conv.."("..namespace..def.funcname..def.call_args..");\n") insert(outtab," return ConvertFromCPP_"..def.conv.."("..namespace..def.funcname..def.call_args..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret..namespace..def.funcname..def.call_args..");\n")
end end
table.insert(outtab,"}\n") table.insert(outtab,"}\n")
else --standard ImGui else --standard ImGui
@@ -2896,6 +2930,8 @@ local function struct_f_implementation(def)
--table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n") --table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n")
--local typret = (def.ret):gsub("const ","") --local typret = (def.ret):gsub("const ","")
insert(outtab," return ConvertFromCPP_"..def.conv.."(self->"..def.funcname..def.call_args..");\n") insert(outtab," return ConvertFromCPP_"..def.conv.."(self->"..def.funcname..def.call_args..");\n")
elseif def.nonUDT == 2 then
insert(outtab," return reinterpret_cast<"..def.ret..">("..ptret.."self->"..def.funcname..def.call_args..");\n")
end end
else --standard struct else --standard struct
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n") table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
@@ -2971,7 +3007,7 @@ M.table_do_sorted = table_do_sorted
local function func_header_generate_structs(FP) local function func_header_generate_structs(FP)
local outtab = {} local outtab = {}--"\n/////func_header_generate_structs\n"}
table_do_sorted(FP.embeded_structs,function(k,v) table_do_sorted(FP.embeded_structs,function(k,v)
table.insert(outtab,"typedef "..v.." "..k..";\n") table.insert(outtab,"typedef "..v.." "..k..";\n")
@@ -2989,6 +3025,7 @@ local function func_header_generate_structs(FP)
end end
M.func_header_generate_structs = func_header_generate_structs M.func_header_generate_structs = func_header_generate_structs
local function func_header_generate_funcs(FP) local function func_header_generate_funcs(FP)
local outtab = {} local outtab = {}
@@ -3052,8 +3089,10 @@ local function func_header_generate(FP)
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n") table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
local outtabf = func_header_generate_funcs(FP) local outtabf = func_header_generate_funcs(FP)
outtabf = table.concat(outtabf)
local cfuncsstr = table.concat(outtab)..table.concat(outtabf) assert(type(outtabf)=="string")
--outtabf = M.header_subs_nonPOD(FP,outtabf)
local cfuncsstr = table.concat(outtab)..outtabf
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
return cfuncsstr return cfuncsstr
end end

View File

@@ -286,6 +286,7 @@ local function cimgui_generation(parser)
local tdt = parser:generate_templates() local tdt = parser:generate_templates()
--local cstructsstr = "\n//7777estio es outpre\n"..outpre.."\n///////////////tdt\n"..tdt.."\n////////////////////outpost\n"..outpost
local cstructsstr = outpre..tdt..outpost local cstructsstr = outpre..tdt..outpost
if gdefines.IMGUI_HAS_DOCK then if gdefines.IMGUI_HAS_DOCK then

View File

@@ -1457,7 +1457,7 @@
], ],
"ImDrawList_AddConcavePolyFilled": [ "ImDrawList_AddConcavePolyFilled": [
{ {
"args": "(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)", "args": "(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)",
"argsT": [ "argsT": [
{ {
"name": "self", "name": "self",
@@ -1477,7 +1477,7 @@
} }
], ],
"argsoriginal": "(const ImVec2* points,int num_points,ImU32 col)", "argsoriginal": "(const ImVec2* points,int num_points,ImU32 col)",
"call_args": "(points,num_points,col)", "call_args": "(reinterpret_cast<const ImVec2*>(points),num_points,col)",
"cimguiname": "ImDrawList_AddConcavePolyFilled", "cimguiname": "ImDrawList_AddConcavePolyFilled",
"defaults": {}, "defaults": {},
"funcname": "AddConcavePolyFilled", "funcname": "AddConcavePolyFilled",
@@ -1490,7 +1490,7 @@
], ],
"ImDrawList_AddConvexPolyFilled": [ "ImDrawList_AddConvexPolyFilled": [
{ {
"args": "(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)", "args": "(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)",
"argsT": [ "argsT": [
{ {
"name": "self", "name": "self",
@@ -1510,7 +1510,7 @@
} }
], ],
"argsoriginal": "(const ImVec2* points,int num_points,ImU32 col)", "argsoriginal": "(const ImVec2* points,int num_points,ImU32 col)",
"call_args": "(points,num_points,col)", "call_args": "(reinterpret_cast<const ImVec2*>(points),num_points,col)",
"cimguiname": "ImDrawList_AddConvexPolyFilled", "cimguiname": "ImDrawList_AddConvexPolyFilled",
"defaults": {}, "defaults": {},
"funcname": "AddConvexPolyFilled", "funcname": "AddConvexPolyFilled",
@@ -1927,7 +1927,7 @@
], ],
"ImDrawList_AddPolyline": [ "ImDrawList_AddPolyline": [
{ {
"args": "(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)", "args": "(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)",
"argsT": [ "argsT": [
{ {
"name": "self", "name": "self",
@@ -1955,7 +1955,7 @@
} }
], ],
"argsoriginal": "(const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)", "argsoriginal": "(const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)",
"call_args": "(points,num_points,col,flags,thickness)", "call_args": "(reinterpret_cast<const ImVec2*>(points),num_points,col,flags,thickness)",
"cimguiname": "ImDrawList_AddPolyline", "cimguiname": "ImDrawList_AddPolyline",
"defaults": {}, "defaults": {},
"funcname": "AddPolyline", "funcname": "AddPolyline",
@@ -11538,8 +11538,9 @@
"defaults": {}, "defaults": {},
"funcname": "AsVec4", "funcname": "AsVec4",
"location": "imgui_internal:619", "location": "imgui_internal:619",
"nonUDT": 2,
"ov_cimguiname": "ImRect_AsVec4", "ov_cimguiname": "ImRect_AsVec4",
"ret": "const ImVec4*", "ret": "const ImVec4_c*",
"retref": "&", "retref": "&",
"signature": "()const", "signature": "()const",
"stname": "ImRect" "stname": "ImRect"
@@ -19053,7 +19054,7 @@
], ],
"igDockContextCalcDropPosForDocking": [ "igDockContextCalcDropPosForDocking": [
{ {
"args": "(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)", "args": "(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos)",
"argsT": [ "argsT": [
{ {
"name": "target", "name": "target",
@@ -19085,7 +19086,7 @@
} }
], ],
"argsoriginal": "(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)", "argsoriginal": "(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)",
"call_args": "(target,target_node,payload_window,payload_node,split_dir,split_outer,out_pos)", "call_args": "(target,target_node,payload_window,payload_node,split_dir,split_outer,reinterpret_cast<ImVec2*>(out_pos))",
"cimguiname": "igDockContextCalcDropPosForDocking", "cimguiname": "igDockContextCalcDropPosForDocking",
"defaults": {}, "defaults": {},
"funcname": "DockContextCalcDropPosForDocking", "funcname": "DockContextCalcDropPosForDocking",
@@ -23279,8 +23280,9 @@
"funcname": "GetStyleColorVec4", "funcname": "GetStyleColorVec4",
"location": "imgui:557", "location": "imgui:557",
"namespace": "ImGui", "namespace": "ImGui",
"nonUDT": 2,
"ov_cimguiname": "igGetStyleColorVec4", "ov_cimguiname": "igGetStyleColorVec4",
"ret": "const ImVec4*", "ret": "const ImVec4_c*",
"retref": "&", "retref": "&",
"signature": "(ImGuiCol)", "signature": "(ImGuiCol)",
"stname": "" "stname": ""
@@ -25380,7 +25382,7 @@
], ],
"igImFontAtlasGetMouseCursorTexData": [ "igImFontAtlasGetMouseCursorTexData": [
{ {
"args": "(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])", "args": "(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2_c* out_offset,ImVec2_c* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])",
"argsT": [ "argsT": [
{ {
"name": "atlas", "name": "atlas",
@@ -25408,7 +25410,7 @@
} }
], ],
"argsoriginal": "(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])", "argsoriginal": "(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])",
"call_args": "(atlas,cursor_type,out_offset,out_size,out_uv_border,out_uv_fill)", "call_args": "(atlas,cursor_type,reinterpret_cast<ImVec2*>(out_offset),reinterpret_cast<ImVec2*>(out_size),out_uv_border,out_uv_fill)",
"cimguiname": "igImFontAtlasGetMouseCursorTexData", "cimguiname": "igImFontAtlasGetMouseCursorTexData",
"defaults": {}, "defaults": {},
"funcname": "ImFontAtlasGetMouseCursorTexData", "funcname": "ImFontAtlasGetMouseCursorTexData",
@@ -26104,7 +26106,7 @@
], ],
"igImFontCalcTextSizeEx": [ "igImFontCalcTextSizeEx": [
{ {
"args": "(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)", "args": "(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2_c* out_offset,ImDrawTextFlags flags)",
"argsT": [ "argsT": [
{ {
"name": "font", "name": "font",
@@ -26148,7 +26150,7 @@
} }
], ],
"argsoriginal": "(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)", "argsoriginal": "(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)",
"call_args": "(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,out_offset,flags)", "call_args": "(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,reinterpret_cast<ImVec2*>(out_offset),flags)",
"cimguiname": "igImFontCalcTextSizeEx", "cimguiname": "igImFontCalcTextSizeEx",
"conv": "ImVec2", "conv": "ImVec2",
"defaults": {}, "defaults": {},
@@ -30129,7 +30131,7 @@
], ],
"igIsMousePosValid": [ "igIsMousePosValid": [
{ {
"args": "(const ImVec2* mouse_pos)", "args": "(const ImVec2_c* mouse_pos)",
"argsT": [ "argsT": [
{ {
"name": "mouse_pos", "name": "mouse_pos",
@@ -30137,7 +30139,7 @@
} }
], ],
"argsoriginal": "(const ImVec2* mouse_pos=((void*)0))", "argsoriginal": "(const ImVec2* mouse_pos=((void*)0))",
"call_args": "(mouse_pos)", "call_args": "(reinterpret_cast<const ImVec2*>(mouse_pos))",
"cimguiname": "igIsMousePosValid", "cimguiname": "igIsMousePosValid",
"defaults": { "defaults": {
"mouse_pos": "NULL" "mouse_pos": "NULL"
@@ -31048,7 +31050,7 @@
], ],
"igLogRenderedText": [ "igLogRenderedText": [
{ {
"args": "(const ImVec2* ref_pos,const char* text,const char* text_end)", "args": "(const ImVec2_c* ref_pos,const char* text,const char* text_end)",
"argsT": [ "argsT": [
{ {
"name": "ref_pos", "name": "ref_pos",
@@ -31064,7 +31066,7 @@
} }
], ],
"argsoriginal": "(const ImVec2* ref_pos,const char* text,const char* text_end=((void*)0))", "argsoriginal": "(const ImVec2* ref_pos,const char* text,const char* text_end=((void*)0))",
"call_args": "(ref_pos,text,text_end)", "call_args": "(reinterpret_cast<const ImVec2*>(ref_pos),text,text_end)",
"cimguiname": "igLogRenderedText", "cimguiname": "igLogRenderedText",
"defaults": { "defaults": {
"text_end": "NULL" "text_end": "NULL"
@@ -33843,7 +33845,7 @@
], ],
"igRenderTextClipped": [ "igRenderTextClipped": [
{ {
"args": "(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)", "args": "(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)",
"argsT": [ "argsT": [
{ {
"name": "pos_min", "name": "pos_min",
@@ -33875,7 +33877,7 @@
} }
], ],
"argsoriginal": "(const ImVec2& pos_min,const ImVec2& pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2& align=ImVec2(0,0),const ImRect* clip_rect=((void*)0))", "argsoriginal": "(const ImVec2& pos_min,const ImVec2& pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2& align=ImVec2(0,0),const ImRect* clip_rect=((void*)0))",
"call_args": "(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect)", "call_args": "(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect)",
"cimguiname": "igRenderTextClipped", "cimguiname": "igRenderTextClipped",
"defaults": { "defaults": {
"align": "ImVec2(0,0)", "align": "ImVec2(0,0)",
@@ -33892,7 +33894,7 @@
], ],
"igRenderTextClippedEx": [ "igRenderTextClippedEx": [
{ {
"args": "(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)", "args": "(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)",
"argsT": [ "argsT": [
{ {
"name": "draw_list", "name": "draw_list",
@@ -33928,7 +33930,7 @@
} }
], ],
"argsoriginal": "(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=ImVec2(0,0),const ImRect* clip_rect=((void*)0))", "argsoriginal": "(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=ImVec2(0,0),const ImRect* clip_rect=((void*)0))",
"call_args": "(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect)", "call_args": "(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect)",
"cimguiname": "igRenderTextClippedEx", "cimguiname": "igRenderTextClippedEx",
"defaults": { "defaults": {
"align": "ImVec2(0,0)", "align": "ImVec2(0,0)",
@@ -33945,7 +33947,7 @@
], ],
"igRenderTextEllipsis": [ "igRenderTextEllipsis": [
{ {
"args": "(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)", "args": "(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2_c* text_size_if_known)",
"argsT": [ "argsT": [
{ {
"name": "draw_list", "name": "draw_list",
@@ -33977,7 +33979,7 @@
} }
], ],
"argsoriginal": "(ImDrawList* draw_list,const ImVec2& pos_min,const ImVec2& pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)", "argsoriginal": "(ImDrawList* draw_list,const ImVec2& pos_min,const ImVec2& pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)",
"call_args": "(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,text_size_if_known)", "call_args": "(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known))",
"cimguiname": "igRenderTextEllipsis", "cimguiname": "igRenderTextEllipsis",
"defaults": {}, "defaults": {},
"funcname": "RenderTextEllipsis", "funcname": "RenderTextEllipsis",

View File

@@ -1231,7 +1231,7 @@ local t={
["(const ImVec2,float,ImU32,int)"]=nil}, ["(const ImVec2,float,ImU32,int)"]=nil},
ImDrawList_AddConcavePolyFilled={ ImDrawList_AddConcavePolyFilled={
[1]={ [1]={
args="(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)", args="(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)",
argsT={ argsT={
[1]={ [1]={
name="self", name="self",
@@ -1246,7 +1246,7 @@ local t={
name="col", name="col",
type="ImU32"}}, type="ImU32"}},
argsoriginal="(const ImVec2* points,int num_points,ImU32 col)", argsoriginal="(const ImVec2* points,int num_points,ImU32 col)",
call_args="(points,num_points,col)", call_args="(reinterpret_cast<const ImVec2*>(points),num_points,col)",
cimguiname="ImDrawList_AddConcavePolyFilled", cimguiname="ImDrawList_AddConcavePolyFilled",
defaults={}, defaults={},
funcname="AddConcavePolyFilled", funcname="AddConcavePolyFilled",
@@ -1258,7 +1258,7 @@ local t={
["(const ImVec2*,int,ImU32)"]=nil}, ["(const ImVec2*,int,ImU32)"]=nil},
ImDrawList_AddConvexPolyFilled={ ImDrawList_AddConvexPolyFilled={
[1]={ [1]={
args="(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)", args="(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col)",
argsT={ argsT={
[1]={ [1]={
name="self", name="self",
@@ -1273,7 +1273,7 @@ local t={
name="col", name="col",
type="ImU32"}}, type="ImU32"}},
argsoriginal="(const ImVec2* points,int num_points,ImU32 col)", argsoriginal="(const ImVec2* points,int num_points,ImU32 col)",
call_args="(points,num_points,col)", call_args="(reinterpret_cast<const ImVec2*>(points),num_points,col)",
cimguiname="ImDrawList_AddConvexPolyFilled", cimguiname="ImDrawList_AddConvexPolyFilled",
defaults={}, defaults={},
funcname="AddConvexPolyFilled", funcname="AddConvexPolyFilled",
@@ -1607,7 +1607,7 @@ local t={
["(const ImVec2,float,ImU32,int)"]=nil}, ["(const ImVec2,float,ImU32,int)"]=nil},
ImDrawList_AddPolyline={ ImDrawList_AddPolyline={
[1]={ [1]={
args="(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)", args="(ImDrawList* self,const ImVec2_c* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)",
argsT={ argsT={
[1]={ [1]={
name="self", name="self",
@@ -1628,7 +1628,7 @@ local t={
name="thickness", name="thickness",
type="float"}}, type="float"}},
argsoriginal="(const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)", argsoriginal="(const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness)",
call_args="(points,num_points,col,flags,thickness)", call_args="(reinterpret_cast<const ImVec2*>(points),num_points,col,flags,thickness)",
cimguiname="ImDrawList_AddPolyline", cimguiname="ImDrawList_AddPolyline",
defaults={}, defaults={},
funcname="AddPolyline", funcname="AddPolyline",
@@ -9763,8 +9763,9 @@ local t={
defaults={}, defaults={},
funcname="AsVec4", funcname="AsVec4",
location="imgui_internal:619", location="imgui_internal:619",
nonUDT=2,
ov_cimguiname="ImRect_AsVec4", ov_cimguiname="ImRect_AsVec4",
ret="const ImVec4*", ret="const ImVec4_c*",
retref="&", retref="&",
signature="()const", signature="()const",
stname="ImRect"}, stname="ImRect"},
@@ -16153,7 +16154,7 @@ local t={
["(ImGuiID,ImGuiDir,float,ImGuiID*,ImGuiID*)"]=nil}, ["(ImGuiID,ImGuiDir,float,ImGuiID*,ImGuiID*)"]=nil},
igDockContextCalcDropPosForDocking={ igDockContextCalcDropPosForDocking={
[1]={ [1]={
args="(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)", args="(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2_c* out_pos)",
argsT={ argsT={
[1]={ [1]={
name="target", name="target",
@@ -16177,7 +16178,7 @@ local t={
name="out_pos", name="out_pos",
type="ImVec2*"}}, type="ImVec2*"}},
argsoriginal="(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)", argsoriginal="(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos)",
call_args="(target,target_node,payload_window,payload_node,split_dir,split_outer,out_pos)", call_args="(target,target_node,payload_window,payload_node,split_dir,split_outer,reinterpret_cast<ImVec2*>(out_pos))",
cimguiname="igDockContextCalcDropPosForDocking", cimguiname="igDockContextCalcDropPosForDocking",
defaults={}, defaults={},
funcname="DockContextCalcDropPosForDocking", funcname="DockContextCalcDropPosForDocking",
@@ -19836,8 +19837,9 @@ local t={
funcname="GetStyleColorVec4", funcname="GetStyleColorVec4",
location="imgui:557", location="imgui:557",
namespace="ImGui", namespace="ImGui",
nonUDT=2,
ov_cimguiname="igGetStyleColorVec4", ov_cimguiname="igGetStyleColorVec4",
ret="const ImVec4*", ret="const ImVec4_c*",
retref="&", retref="&",
signature="(ImGuiCol)", signature="(ImGuiCol)",
stname=""}, stname=""},
@@ -21624,7 +21626,7 @@ local t={
["()"]=nil}, ["()"]=nil},
igImFontAtlasGetMouseCursorTexData={ igImFontAtlasGetMouseCursorTexData={
[1]={ [1]={
args="(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])", args="(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2_c* out_offset,ImVec2_c* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])",
argsT={ argsT={
[1]={ [1]={
name="atlas", name="atlas",
@@ -21645,7 +21647,7 @@ local t={
name="out_uv_fill", name="out_uv_fill",
type="ImVec2[2]"}}, type="ImVec2[2]"}},
argsoriginal="(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])", argsoriginal="(ImFontAtlas* atlas,ImGuiMouseCursor cursor_type,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])",
call_args="(atlas,cursor_type,out_offset,out_size,out_uv_border,out_uv_fill)", call_args="(atlas,cursor_type,reinterpret_cast<ImVec2*>(out_offset),reinterpret_cast<ImVec2*>(out_size),out_uv_border,out_uv_fill)",
cimguiname="igImFontAtlasGetMouseCursorTexData", cimguiname="igImFontAtlasGetMouseCursorTexData",
defaults={}, defaults={},
funcname="ImFontAtlasGetMouseCursorTexData", funcname="ImFontAtlasGetMouseCursorTexData",
@@ -22223,7 +22225,7 @@ local t={
["(ImFontAtlas*,int,bool)"]=nil}, ["(ImFontAtlas*,int,bool)"]=nil},
igImFontCalcTextSizeEx={ igImFontCalcTextSizeEx={
[1]={ [1]={
args="(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)", args="(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2_c* out_offset,ImDrawTextFlags flags)",
argsT={ argsT={
[1]={ [1]={
name="font", name="font",
@@ -22256,7 +22258,7 @@ local t={
name="flags", name="flags",
type="ImDrawTextFlags"}}, type="ImDrawTextFlags"}},
argsoriginal="(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)", argsoriginal="(ImFont* font,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end_display,const char* text_end,const char** out_remaining,ImVec2* out_offset,ImDrawTextFlags flags)",
call_args="(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,out_offset,flags)", call_args="(font,size,max_width,wrap_width,text_begin,text_end_display,text_end,out_remaining,reinterpret_cast<ImVec2*>(out_offset),flags)",
cimguiname="igImFontCalcTextSizeEx", cimguiname="igImFontCalcTextSizeEx",
conv="ImVec2", conv="ImVec2",
defaults={}, defaults={},
@@ -25605,13 +25607,13 @@ local t={
["(ImGuiKey)"]=nil}, ["(ImGuiKey)"]=nil},
igIsMousePosValid={ igIsMousePosValid={
[1]={ [1]={
args="(const ImVec2* mouse_pos)", args="(const ImVec2_c* mouse_pos)",
argsT={ argsT={
[1]={ [1]={
name="mouse_pos", name="mouse_pos",
type="const ImVec2*"}}, type="const ImVec2*"}},
argsoriginal="(const ImVec2* mouse_pos=((void*)0))", argsoriginal="(const ImVec2* mouse_pos=((void*)0))",
call_args="(mouse_pos)", call_args="(reinterpret_cast<const ImVec2*>(mouse_pos))",
cimguiname="igIsMousePosValid", cimguiname="igIsMousePosValid",
defaults={ defaults={
mouse_pos="NULL"}, mouse_pos="NULL"},
@@ -26386,7 +26388,7 @@ local t={
["()"]=nil}, ["()"]=nil},
igLogRenderedText={ igLogRenderedText={
[1]={ [1]={
args="(const ImVec2* ref_pos,const char* text,const char* text_end)", args="(const ImVec2_c* ref_pos,const char* text,const char* text_end)",
argsT={ argsT={
[1]={ [1]={
name="ref_pos", name="ref_pos",
@@ -26398,7 +26400,7 @@ local t={
name="text_end", name="text_end",
type="const char*"}}, type="const char*"}},
argsoriginal="(const ImVec2* ref_pos,const char* text,const char* text_end=((void*)0))", argsoriginal="(const ImVec2* ref_pos,const char* text,const char* text_end=((void*)0))",
call_args="(ref_pos,text,text_end)", call_args="(reinterpret_cast<const ImVec2*>(ref_pos),text,text_end)",
cimguiname="igLogRenderedText", cimguiname="igLogRenderedText",
defaults={ defaults={
text_end="NULL"}, text_end="NULL"},
@@ -28754,7 +28756,7 @@ local t={
["(ImVec2,const char*,const char*,bool)"]=nil}, ["(ImVec2,const char*,const char*,bool)"]=nil},
igRenderTextClipped={ igRenderTextClipped={
[1]={ [1]={
args="(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)", args="(const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)",
argsT={ argsT={
[1]={ [1]={
name="pos_min", name="pos_min",
@@ -28778,7 +28780,7 @@ local t={
name="clip_rect", name="clip_rect",
type="const ImRect*"}}, type="const ImRect*"}},
argsoriginal="(const ImVec2& pos_min,const ImVec2& pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2& align=ImVec2(0,0),const ImRect* clip_rect=((void*)0))", argsoriginal="(const ImVec2& pos_min,const ImVec2& pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2& align=ImVec2(0,0),const ImRect* clip_rect=((void*)0))",
call_args="(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect)", call_args="(ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect)",
cimguiname="igRenderTextClipped", cimguiname="igRenderTextClipped",
defaults={ defaults={
align="ImVec2(0,0)", align="ImVec2(0,0)",
@@ -28793,7 +28795,7 @@ local t={
["(const ImVec2,const ImVec2,const char*,const char*,const ImVec2*,const ImVec2,const ImRect*)"]=nil}, ["(const ImVec2,const ImVec2,const char*,const char*,const ImVec2*,const ImVec2,const ImRect*)"]=nil},
igRenderTextClippedEx={ igRenderTextClippedEx={
[1]={ [1]={
args="(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)", args="(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,const char* text,const char* text_end,const ImVec2_c* text_size_if_known,const ImVec2_c align,const ImRect* clip_rect)",
argsT={ argsT={
[1]={ [1]={
name="draw_list", name="draw_list",
@@ -28820,7 +28822,7 @@ local t={
name="clip_rect", name="clip_rect",
type="const ImRect*"}}, type="const ImRect*"}},
argsoriginal="(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=ImVec2(0,0),const ImRect* clip_rect=((void*)0))", argsoriginal="(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=ImVec2(0,0),const ImRect* clip_rect=((void*)0))",
call_args="(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,text_size_if_known,ConvertToCPP_ImVec2(align),clip_rect)", call_args="(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known),ConvertToCPP_ImVec2(align),clip_rect)",
cimguiname="igRenderTextClippedEx", cimguiname="igRenderTextClippedEx",
defaults={ defaults={
align="ImVec2(0,0)", align="ImVec2(0,0)",
@@ -28835,7 +28837,7 @@ local t={
["(ImDrawList*,const ImVec2,const ImVec2,const char*,const char*,const ImVec2*,const ImVec2,const ImRect*)"]=nil}, ["(ImDrawList*,const ImVec2,const ImVec2,const char*,const char*,const ImVec2*,const ImVec2,const ImRect*)"]=nil},
igRenderTextEllipsis={ igRenderTextEllipsis={
[1]={ [1]={
args="(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)", args="(ImDrawList* draw_list,const ImVec2_c pos_min,const ImVec2_c pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2_c* text_size_if_known)",
argsT={ argsT={
[1]={ [1]={
name="draw_list", name="draw_list",
@@ -28859,7 +28861,7 @@ local t={
name="text_size_if_known", name="text_size_if_known",
type="const ImVec2*"}}, type="const ImVec2*"}},
argsoriginal="(ImDrawList* draw_list,const ImVec2& pos_min,const ImVec2& pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)", argsoriginal="(ImDrawList* draw_list,const ImVec2& pos_min,const ImVec2& pos_max,float ellipsis_max_x,const char* text,const char* text_end,const ImVec2* text_size_if_known)",
call_args="(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,text_size_if_known)", call_args="(draw_list,ConvertToCPP_ImVec2(pos_min),ConvertToCPP_ImVec2(pos_max),ellipsis_max_x,text,text_end,reinterpret_cast<const ImVec2*>(text_size_if_known))",
cimguiname="igRenderTextEllipsis", cimguiname="igRenderTextEllipsis",
defaults={}, defaults={},
funcname="RenderTextEllipsis", funcname="RenderTextEllipsis",

View File

@@ -34,6 +34,7 @@ int main(void)
display_size.x = 1920; display_size.x = 1920;
display_size.y = 1080; display_size.y = 1080;
io->DisplaySize = display_size; io->DisplaySize = display_size;
printf("DisplaySice %f, %f\n", io->DisplaySize.x, io->DisplaySize.y);
io->DeltaTime = 1.0f / 60.0f; io->DeltaTime = 1.0f / 60.0f;
igNewFrame(); igNewFrame();