diff --git a/imgui.cpp b/imgui.cpp index dc418eba..b032d549 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -673,7 +673,6 @@ static bool DataTypeApplyOpFromText(const char* buf, const char* ini namespace ImGui { -static void ClearDragDrop(); static void FocusPreviousWindow(); } @@ -11151,7 +11150,7 @@ void ImGui::Value(const char* prefix, float v, const char* float_format) // DRAG AND DROP //----------------------------------------------------------------------------- -static void ImGui::ClearDragDrop() +void ImGui::ClearDragDrop() { ImGuiContext& g = *GImGui; g.DragDropActive = false; @@ -11340,6 +11339,12 @@ bool ImGui::BeginDragDropTarget() return true; } +bool ImGui::IsDragDropPayloadBeingAccepted() +{ + ImGuiContext& g = *GImGui; + return g.DragDropActive && g.DragDropAcceptIdPrev != 0; +} + const ImGuiPayload* ImGui::AcceptDragDropPayload(const char* type, ImGuiDragDropFlags flags) { ImGuiContext& g = *GImGui; diff --git a/imgui_internal.h b/imgui_internal.h index 5c0705ad..b8f7e992 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -873,6 +873,8 @@ namespace ImGui IMGUI_API bool SplitterBehavior(ImGuiID id, const ImRect& bb, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f); IMGUI_API bool BeginDragDropTargetCustom(const ImRect& bb, ImGuiID id); + IMGUI_API void ClearDragDrop(); + IMGUI_API bool IsDragDropPayloadBeingAccepted(); // FIXME-WIP: New Columns API IMGUI_API void BeginColumns(const char* id, int count, ImGuiColumnsFlags flags = 0); // setup number of columns. use an identifier to distinguish multiple column sets. close with EndColumns().