diff --git a/README.md b/README.md index c97476b..9776bd0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Most of the functions have wrapper counterparts now, missing stuff is added on a This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui)) Notes: -* currently this wrapper is based on version [1.48 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.48) +* currently this wrapper is based on version [1.49 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.49) * does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings) # usage diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp index 61b24fa..2fb6891 100644 --- a/cimgui/cimgui.cpp +++ b/cimgui/cimgui.cpp @@ -164,6 +164,11 @@ CIMGUI_API void igSetNextWindowSize(CONST ImVec2 size, ImGuiSetCond cond) ImGui::SetNextWindowSize(size, cond); } +CIMGUI_API void igSetNextWindowSizeConstraints(CONST struct ImVec2 size_min, CONST struct ImVec2 size_max, ImGuiSizeConstraintCallback custom_callback, void* custom_callback_data) +{ + ImGui::SetNextWindowSizeConstraints(size_min, size_max, custom_callback, custom_callback_data); +} + CIMGUI_API void igSetNextWindowContentSize(CONST ImVec2 size) { ImGui::SetNextWindowContentSize(size); @@ -421,9 +426,9 @@ CIMGUI_API bool igBeginPopup(CONST char* str_id) return ImGui::BeginPopup(str_id); } -CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags) +CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_open, ImGuiWindowFlags extra_flags) { - return ImGui::BeginPopupModal(name, p_opened, extra_flags); + return ImGui::BeginPopupModal(name, p_open, extra_flags); } CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button) @@ -452,15 +457,6 @@ CIMGUI_API void igCloseCurrentPopup() } // Layout -CIMGUI_API void igBeginGroup() -{ - return ImGui::BeginGroup(); -} - -CIMGUI_API void igEndGroup() -{ - return ImGui::EndGroup(); -} CIMGUI_API void igSeparator() { @@ -472,6 +468,11 @@ CIMGUI_API void igSameLine(float pos_x, float spacing_w) return ImGui::SameLine(pos_x, spacing_w); } +CIMGUI_API void igNewLine() +{ + return ImGui::NewLine(); +} + CIMGUI_API void igSpacing() { return ImGui::Spacing(); @@ -482,14 +483,24 @@ CIMGUI_API void igDummy(CONST ImVec2* size) return ImGui::Dummy(*size); } -CIMGUI_API void igIndent() +CIMGUI_API void igIndent(float indent_w) { - return ImGui::Indent(); + return ImGui::Indent(indent_w); } -CIMGUI_API void igUnindent() +CIMGUI_API void igUnindent(float indent_w) { - return ImGui::Unindent(); + return ImGui::Unindent(indent_w); +} + +CIMGUI_API void igBeginGroup() +{ + return ImGui::BeginGroup(); +} + +CIMGUI_API void igEndGroup() +{ + return ImGui::EndGroup(); } CIMGUI_API void igGetCursorPos(ImVec2* pOut) @@ -752,11 +763,6 @@ CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST ImVec2 size, CO return ImGui::ImageButton(user_texture_id, size, uv0, uv1, frame_padding, bg_col, tint_col); } -CIMGUI_API bool igCollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open) -{ - return ImGui::CollapsingHeader(label, str_id, display_frame, default_open); -} - CIMGUI_API bool igCheckbox(CONST char* label, bool* v) { return ImGui::Checkbox(label, v); @@ -997,9 +1003,9 @@ CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags ext // Widgets: Trees -CIMGUI_API bool igTreeNode(CONST char* str_label_id) +CIMGUI_API bool igTreeNode(CONST char* label) { - return ImGui::TreeNode(str_label_id); + return ImGui::TreeNode(label); } CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...) @@ -1032,6 +1038,41 @@ CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args return ImGui::TreeNodeV(ptr_id, fmt, args); } +CIMGUI_API bool igTreeNodeEx(CONST char* label, ImGuiTreeNodeFlags flags) +{ + return ImGui::TreeNodeEx(label, flags); +} + +CIMGUI_API bool igTreeNodeExStr(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...) +{ + va_list args; + va_start(args, fmt); + bool res = ImGui::TreeNodeExV(str_id, flags, fmt, args); + va_end(args); + + return res; +} + +CIMGUI_API bool igTreeNodeExPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...) +{ + va_list args; + va_start(args, fmt); + bool res = ImGui::TreeNodeExV(ptr_id, flags, fmt, args); + va_end(args); + + return res; +} + +CIMGUI_API bool igTreeNodeExV(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args) +{ + return ImGui::TreeNodeExV(str_id,flags,fmt,args); +} + +CIMGUI_API bool igTreeNodeExVPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args) +{ + return ImGui::TreeNodeExV(ptr_id,flags,fmt,args); +} + CIMGUI_API void igTreePushStr(CONST char* str_id) { return ImGui::TreePush(str_id); @@ -1047,9 +1088,29 @@ CIMGUI_API void igTreePop() return ImGui::TreePop(); } -CIMGUI_API void igSetNextTreeNodeOpened(bool opened, ImGuiSetCond cond) +CIMGUI_API void igTreeAdvanceToLabelPos() { - return ImGui::SetNextTreeNodeOpened(opened, cond); + return ImGui::TreeAdvanceToLabelPos(); +} + +CIMGUI_API float igGetTreeNodeToLabelSpacing() +{ + return ImGui::GetTreeNodeToLabelSpacing(); +} + +CIMGUI_API void igSetNextTreeNodeOpen(bool opened, ImGuiSetCond cond) +{ + return ImGui::SetNextTreeNodeOpen(opened, cond); +} + +CIMGUI_API bool igCollapsingHeader(CONST char* label, ImGuiTreeNodeFlags flags) +{ + return ImGui::CollapsingHeader(label, flags); +} + +CIMGUI_API bool igCollapsingHeaderEx(CONST char* label, bool* p_open, ImGuiTreeNodeFlags flags) +{ + return ImGui::CollapsingHeader(label,p_open,flags); } // Widgets: Selectable / Lists @@ -1196,6 +1257,16 @@ CIMGUI_API void igLogText(CONST char* fmt, ...) ImGui::LogText("%s",buffer); } +CIMGUI_API void igPushClipRect(CONST struct ImVec2 clip_rect_min, CONST struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect) +{ + return ImGui::PushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect); +} + +CIMGUI_API void igPopClipRect() +{ + return ImGui::PopClipRect(); +} + // Utilities CIMGUI_API bool igIsItemHovered() { @@ -1212,6 +1283,11 @@ CIMGUI_API bool igIsItemActive() return ImGui::IsItemActive(); } +CIMGUI_API bool igIsItemClicked(int mouse_button) +{ + return ImGui::IsItemClicked(mouse_button); +} + CIMGUI_API bool igIsItemVisible() { return ImGui::IsItemVisible(); @@ -1267,6 +1343,11 @@ CIMGUI_API bool igIsRootWindowOrAnyChildFocused() return ImGui::IsRootWindowOrAnyChildFocused(); } +CIMGUI_API bool igIsRootWindowOrAnyChildHovered() +{ + return ImGui::IsRootWindowOrAnyChildHovered(); +} + CIMGUI_API bool igIsRectVisible(CONST ImVec2 item_size) { return ImGui::IsRectVisible(item_size); @@ -1461,19 +1542,24 @@ CIMGUI_API CONST char* igGetVersion() return ImGui::GetVersion(); } -CIMGUI_API void* igGetInternalState() +CIMGUI_API ImGuiContext* igCreateContext(void* (*malloc_fn)(size_t), void (*free_fn)(void*)) { - return ImGui::GetInternalState(); + return ImGui::CreateContext(malloc_fn,free_fn); } -CIMGUI_API size_t igGetInternalStateSize() +CIMGUI_API void igDestroyContext(ImGuiContext* ctx) { - return ImGui::GetInternalStateSize(); + return ImGui::DestroyContext(ctx); } -CIMGUI_API void igSetInternalState(void* state, bool construct) +CIMGUI_API ImGuiContext* igGetCurrentContext() { - ImGui::SetInternalState(state, construct); + return ImGui::GetCurrentContext(); +} + +CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx) +{ + return ImGui::SetCurrentContext(ctx); } CIMGUI_API void ImGuiIO_AddInputCharacter(unsigned short c) diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h index 38f8a3c..cbd8b19 100644 --- a/cimgui/cimgui.h +++ b/cimgui/cimgui.h @@ -35,8 +35,8 @@ CIMGUI_API void igShowTestWindow(bool* opened); CIMGUI_API void igShowMetricsWindow(bool* opened); // Window -CIMGUI_API bool igBegin(CONST char* name, bool* p_opened, ImGuiWindowFlags flags); -CIMGUI_API bool igBegin2(CONST char* name, bool* p_opened, CONST struct ImVec2 size_on_first_use, float bg_alpha, ImGuiWindowFlags flags); +CIMGUI_API bool igBegin(CONST char* name, bool* p_open, ImGuiWindowFlags flags); +CIMGUI_API bool igBegin2(CONST char* name, bool* p_open, CONST struct ImVec2 size_on_first_use, float bg_alpha, ImGuiWindowFlags flags); CIMGUI_API void igEnd(); CIMGUI_API bool igBeginChild(CONST char* str_id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags); CIMGUI_API bool igBeginChildEx(ImGuiID id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags); @@ -58,6 +58,7 @@ CIMGUI_API void igSetWindowFontScale(float scale); CIMGUI_API void igSetNextWindowPos(CONST struct ImVec2 pos, ImGuiSetCond cond); CIMGUI_API void igSetNextWindowPosCenter(ImGuiSetCond cond); CIMGUI_API void igSetNextWindowSize(CONST struct ImVec2 size, ImGuiSetCond cond); +CIMGUI_API void igSetNextWindowSizeConstraints(CONST struct ImVec2 size_min, CONST struct ImVec2 size_max, ImGuiSizeConstraintCallback custom_callback, void* custom_callback_data); CIMGUI_API void igSetNextWindowContentSize(CONST ImVec2 size); CIMGUI_API void igSetNextWindowContentWidth(float width); CIMGUI_API void igSetNextWindowCollapsed(bool collapsed, ImGuiSetCond cond); @@ -110,14 +111,15 @@ CIMGUI_API void igPushButtonRepeat(bool repeat); CIMGUI_API void igPopButtonRepeat(); // Layout -CIMGUI_API void igBeginGroup(); -CIMGUI_API void igEndGroup(); CIMGUI_API void igSeparator(); CIMGUI_API void igSameLine(float pos_x, float spacing_w); +CIMGUI_API void igNewLine(); CIMGUI_API void igSpacing(); CIMGUI_API void igDummy(CONST ImVec2* size); -CIMGUI_API void igIndent(); -CIMGUI_API void igUnindent(); +CIMGUI_API void igIndent(float indent_w); +CIMGUI_API void igUnindent(float indent_w); +CIMGUI_API void igBeginGroup(); +CIMGUI_API void igEndGroup(); CIMGUI_API void igGetCursorPos(struct ImVec2* pOut); CIMGUI_API float igGetCursorPosX(); CIMGUI_API float igGetCursorPosY(); @@ -173,7 +175,6 @@ CIMGUI_API bool igSmallButton(CONST char* label); CIMGUI_API bool igInvisibleButton(CONST char* str_id, CONST struct ImVec2 size); CIMGUI_API void igImage(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, CONST struct ImVec4 tint_col, CONST struct ImVec4 border_col); CIMGUI_API bool igImageButton(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, int frame_padding, CONST struct ImVec4 bg_col, CONST struct ImVec4 tint_col); -CIMGUI_API bool igCollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open); CIMGUI_API bool igCheckbox(CONST char* label, bool* v); CIMGUI_API bool igCheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value); CIMGUI_API bool igRadioButtonBool(CONST char* label, bool active); @@ -231,15 +232,24 @@ CIMGUI_API bool igInputInt3(CONST char* label, int v[3], ImGuiInputT CIMGUI_API bool igInputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags); // Widgets: Trees -CIMGUI_API bool igTreeNode(CONST char* str_label_id); +CIMGUI_API bool igTreeNode(CONST char* label); CIMGUI_API bool igTreeNodeStr(CONST char* str_id, CONST char* fmt, ...); CIMGUI_API bool igTreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...); CIMGUI_API bool igTreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args); CIMGUI_API bool igTreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args); +CIMGUI_API bool igTreeNodeEx(CONST char* label, ImGuiTreeNodeFlags flags); +CIMGUI_API bool igTreeNodeExStr(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...); +CIMGUI_API bool igTreeNodeExPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, ...); +CIMGUI_API bool igTreeNodeExV(CONST char* str_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args); +CIMGUI_API bool igTreeNodeExVPtr(CONST void* ptr_id, ImGuiTreeNodeFlags flags, CONST char* fmt, va_list args); CIMGUI_API void igTreePushStr(CONST char* str_id); CIMGUI_API void igTreePushPtr(CONST void* ptr_id); CIMGUI_API void igTreePop(); -CIMGUI_API void igSetNextTreeNodeOpened(bool opened, ImGuiSetCond cond); +CIMGUI_API void igTreeAdvanceToLabelPos(); +CIMGUI_API float igGetTreeNodeToLabelSpacing(); +CIMGUI_API void igSetNextTreeNodeOpen(bool opened, ImGuiSetCond cond); +CIMGUI_API bool igCollapsingHeader(CONST char* label, ImGuiTreeNodeFlags flags); +CIMGUI_API bool igCollapsingHeaderEx(CONST char* label, bool* p_open, ImGuiTreeNodeFlags flags); // Widgets: Selectable / Lists CIMGUI_API bool igSelectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST ImVec2 size); @@ -277,7 +287,7 @@ CIMGUI_API bool igMenuItemPtr(CONST char* label, CONST char* shortcu // Popup CIMGUI_API void igOpenPopup(CONST char* str_id); CIMGUI_API bool igBeginPopup(CONST char* str_id); -CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags); +CIMGUI_API bool igBeginPopupModal(CONST char* name, bool* p_open, ImGuiWindowFlags extra_flags); CIMGUI_API bool igBeginPopupContextItem(CONST char* str_id, int mouse_button); CIMGUI_API bool igBeginPopupContextWindow(bool also_over_items, CONST char* str_id, int mouse_button); CIMGUI_API bool igBeginPopupContextVoid(CONST char* str_id, int mouse_button); @@ -292,10 +302,15 @@ CIMGUI_API void igLogFinish(); CIMGUI_API void igLogButtons(); CIMGUI_API void igLogText(CONST char* fmt, ...); +// Clipping +CIMGUI_API void igPushClipRect(CONST struct ImVec2 clip_rect_min, CONST struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect); +CIMGUI_API void igPopClipRect(); + // Utilities CIMGUI_API bool igIsItemHovered(); CIMGUI_API bool igIsItemHoveredRect(); CIMGUI_API bool igIsItemActive(); +CIMGUI_API bool igIsItemClicked(int mouse_button); CIMGUI_API bool igIsItemVisible(); CIMGUI_API bool igIsAnyItemHovered(); CIMGUI_API bool igIsAnyItemActive(); @@ -307,6 +322,7 @@ CIMGUI_API bool igIsWindowHovered(); CIMGUI_API bool igIsWindowFocused(); CIMGUI_API bool igIsRootWindowFocused(); CIMGUI_API bool igIsRootWindowOrAnyChildFocused(); +CIMGUI_API bool igIsRootWindowOrAnyChildHovered(); CIMGUI_API bool igIsRectVisible(CONST struct ImVec2 item_size); CIMGUI_API bool igIsPosHoveringAnyWindow(CONST struct ImVec2 pos); CIMGUI_API float igGetTime(); @@ -353,9 +369,10 @@ CIMGUI_API void igSetClipboardText(CONST char* text); // Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself CIMGUI_API CONST char* igGetVersion(); -CIMGUI_API void* igGetInternalState(); -CIMGUI_API size_t igGetInternalStateSize(); -CIMGUI_API void igSetInternalState(void* state, bool construct); +CIMGUI_API ImGuiContext* igCreateContext(void* (*malloc_fn)(size_t), void (*free_fn)(void*)); +CIMGUI_API void igDestroyContext(ImGuiContext* ctx); +CIMGUI_API ImGuiContext* igGetCurrentContext(); +CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx); CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig* config); @@ -388,7 +405,7 @@ CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n); CIMGUI_API void ImDrawList_Clear(ImDrawList* list); CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list); -CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, CONST struct ImVec4 clip_rect); // Scissoring. The values are x1, y1, x2, y2. +CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, struct ImVec2 clip_rect_min, struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect); CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list); CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list); CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id); @@ -399,6 +416,8 @@ CIMGUI_API void ImDrawList_AddLine(ImDrawList* list, CONST struct Im CIMGUI_API void ImDrawList_AddRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners, float thickness); CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners); CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left); +CIMGUI_API void ImDrawLust_AddQuad(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness); +CIMGUI_API void ImDrawLust_AddQuadFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col); CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness); CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col); CIMGUI_API void ImDrawList_AddCircle(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments, float thickness); @@ -435,8 +454,8 @@ CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_cou CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col); CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col); CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* list,CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, CONST struct ImVec2 uv_c, CONST struct ImVec2 uv_d, ImU32 col); -CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col); CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col); CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx); +CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col); CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list); CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list); diff --git a/cimgui/drawList.cpp b/cimgui/drawList.cpp index 3b9cb4f..71db243 100644 --- a/cimgui/drawList.cpp +++ b/cimgui/drawList.cpp @@ -47,9 +47,9 @@ CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list) return list->ClearFreeMemory(); } -CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, CONST struct ImVec4 clip_rect) +CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, struct ImVec2 clip_rect_min, struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect) { - return list->PushClipRect(clip_rect); + return list->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect); } CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list) @@ -92,6 +92,16 @@ CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struc return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left); } +CIMGUI_API void ImDrawLust_AddQuad(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness) +{ + return list->AddQuad(a, b, c, d, col, thickness); +} + +CIMGUI_API void ImDrawLust_AddQuadFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col) +{ + return list->AddQuadFilled(a, b, c, d, col); +} + CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness) { return list->AddTriangle(a,b,c,col,thickness); diff --git a/imgui b/imgui index 95cbcdc..adb85d8 160000 --- a/imgui +++ b/imgui @@ -1 +1 @@ -Subproject commit 95cbcdca3fcf84bf94b3bb4374d884b1d4bc5db0 +Subproject commit adb85d800d70d3ddc4548f0e8f184eede4568034