diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp index babbe38..766599e 100644 --- a/cimgui/cimgui.cpp +++ b/cimgui/cimgui.cpp @@ -12,6 +12,11 @@ CIMGUI_API ImGuiStyle* igGetStyle() return &ImGui::GetStyle(); } +CIMGUI_API ImDrawData* igGetDrawData() +{ + return ImGui::GetDrawData(); +} + CIMGUI_API void igNewFrame() { ImGui::NewFrame(); @@ -1285,9 +1290,9 @@ CIMGUI_API bool igIsMouseHoveringAnyWindow() return ImGui::IsMouseHoveringAnyWindow(); } -CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 pos_min, CONST ImVec2 pos_max) +CIMGUI_API bool igIsMouseHoveringRect(CONST ImVec2 pos_min, CONST ImVec2 pos_max, bool clip) { - return ImGui::IsMouseHoveringRect(pos_min,pos_max); + return ImGui::IsMouseHoveringRect(pos_min,pos_max,clip); } CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold) @@ -1329,6 +1334,26 @@ CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type) ImGui::SetMouseCursor(type); } +CIMGUI_API void* igMemAlloc(size_t sz) +{ + return ImGui::MemAlloc(sz); +} + +CIMGUI_API void igMemFree(void* ptr) +{ + return ImGui::MemFree(ptr); +} + +CIMGUI_API const char* igGetClipboardText() +{ + return ImGui::GetClipboardText(); +} + +CIMGUI_API void igSetClipboardText(const char* text) +{ + return ImGui::SetClipboardText(text); +} + CIMGUI_API float igGetTime() { return ImGui::GetTime(); @@ -1359,9 +1384,9 @@ CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* ImGui::CalcListClipping(items_count,items_height,out_items_display_start,out_items_display_end); } -CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST ImVec2 size) +CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST ImVec2 size, ImGuiWindowFlags extra_flags) { - return ImGui::BeginChildFrame(id, size); + return ImGui::BeginChildFrame(id, size, extra_flags); } CIMGUI_API void igEndChildFrame() diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h index 0b6d681..834c432 100644 --- a/cimgui/cimgui.h +++ b/cimgui/cimgui.h @@ -25,6 +25,7 @@ typedef int ImGuiColorEditMode; CIMGUI_API ImGuiIO* igGetIO(); CIMGUI_API ImGuiStyle* igGetStyle(); +CIMGUI_API ImDrawData* igGetDrawData(); CIMGUI_API void igNewFrame(); CIMGUI_API void igRender(); CIMGUI_API void igShutdown(); @@ -97,10 +98,10 @@ CIMGUI_API void igPopStyleVar(int count); CIMGUI_API void igPushItemWidth(float item_width); CIMGUI_API void igPopItemWidth(); CIMGUI_API float igCalcItemWidth(); -CIMGUI_API void igPushAllowKeyboardFocus(bool v); -CIMGUI_API void igPopAllowKeyboardFocus(); CIMGUI_API void igPushTextWrapPos(float wrap_pos_x); CIMGUI_API void igPopTextWrapPos(); +CIMGUI_API void igPushAllowKeyboardFocus(bool v); +CIMGUI_API void igPopAllowKeyboardFocus(); CIMGUI_API void igPushButtonRepeat(bool repeat); CIMGUI_API void igPopButtonRepeat(); @@ -306,7 +307,7 @@ CIMGUI_API void igCalcItemRectClosestPoint(struct ImVec2* pOut, CONS CIMGUI_API void igCalcTextSize(struct ImVec2* pOut, CONST char* text, CONST char* text_end, bool hide_text_after_double_hash, float wrap_width); CIMGUI_API void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end); -CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST struct ImVec2 size); +CIMGUI_API bool igBeginChildFrame(ImGuiID id, CONST struct ImVec2 size, ImGuiWindowFlags extra_flags); CIMGUI_API void igEndChildFrame(); CIMGUI_API void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 in); @@ -323,7 +324,7 @@ CIMGUI_API bool igIsMouseDoubleClicked(int button); CIMGUI_API bool igIsMouseReleased(int button); CIMGUI_API bool igIsMouseHoveringWindow(); CIMGUI_API bool igIsMouseHoveringAnyWindow(); -CIMGUI_API bool igIsMouseHoveringRect(CONST struct ImVec2 pos_min, CONST struct ImVec2 pos_max); +CIMGUI_API bool igIsMouseHoveringRect(CONST struct ImVec2 pos_min, CONST struct ImVec2 pos_max, bool clip); CIMGUI_API bool igIsMouseDragging(int button, float lock_threshold); CIMGUI_API void igGetMousePos(struct ImVec2* pOut); CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2* pOut); @@ -332,6 +333,12 @@ CIMGUI_API void igResetMouseDragDelta(int button); CIMGUI_API ImGuiMouseCursor igGetMouseCursor(); CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type); +// Helpers functions to access functions pointers in ImGui::GetIO() +CIMGUI_API void* igMemAlloc(size_t sz); +CIMGUI_API void igMemFree(void* ptr); +CIMGUI_API const char* igGetClipboardText(); +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(); diff --git a/imgui b/imgui index c9e19f8..72dde4d 160000 --- a/imgui +++ b/imgui @@ -1 +1 @@ -Subproject commit c9e19f8953b0b21ecfd6a5bcdaca38c45eb59057 +Subproject commit 72dde4d323fe609d21b0bc2e2325181b23bdf8ac