|
@@ -112,6 +112,7 @@ typedef int ImGuiNextWindowDataFlags; // -> enum ImGuiNextWindowDataFlags_// F
|
|
|
typedef int ImGuiSeparatorFlags; // -> enum ImGuiSeparatorFlags_ // Flags: for SeparatorEx()
|
|
|
typedef int ImGuiSliderFlags; // -> enum ImGuiSliderFlags_ // Flags: for SliderBehavior()
|
|
|
typedef int ImGuiTextFlags; // -> enum ImGuiTextFlags_ // Flags: for TextEx()
|
|
|
+typedef int ImGuiTooltipFlags; // -> enum ImGuiTooltipFlags_ // Flags: for BeginTooltipEx()
|
|
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
// STB libraries includes
|
|
@@ -526,6 +527,12 @@ enum ImGuiTextFlags_
|
|
|
ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0
|
|
|
};
|
|
|
|
|
|
+enum ImGuiTooltipFlags_
|
|
|
+{
|
|
|
+ ImGuiTooltipFlags_None = 0,
|
|
|
+ ImGuiTooltipFlags_OverridePreviousTooltip = 1 << 0 // Override will clear/ignore previously submitted tooltip (defaults to append)
|
|
|
+};
|
|
|
+
|
|
|
// FIXME: this is in development, not exposed/functional as a generic feature yet.
|
|
|
// Horizontal/Vertical enums are fixed to 0/1 so they may be used to index ImVec2
|
|
|
enum ImGuiLayoutType_
|
|
@@ -1106,19 +1113,19 @@ struct ImGuiContext
|
|
|
|
|
|
// Drag and Drop
|
|
|
bool DragDropActive;
|
|
|
- bool DragDropWithinSourceOrTarget;
|
|
|
+ bool DragDropWithinSourceOrTarget; // Set when within a BeginDragDropXXX/EndDragDropXXX block.
|
|
|
ImGuiDragDropFlags DragDropSourceFlags;
|
|
|
int DragDropSourceFrameCount;
|
|
|
int DragDropMouseButton;
|
|
|
ImGuiPayload DragDropPayload;
|
|
|
- ImRect DragDropTargetRect;
|
|
|
+ ImRect DragDropTargetRect; // Store rectangle of current target candidate (we favor small targets when overlapping)
|
|
|
ImGuiID DragDropTargetId;
|
|
|
ImGuiDragDropFlags DragDropAcceptFlags;
|
|
|
float DragDropAcceptIdCurrRectSurface; // Target item surface (we resolve overlapping targets by prioritizing the smaller surface)
|
|
|
ImGuiID DragDropAcceptIdCurr; // Target item id (set at the time of accepting the payload)
|
|
|
ImGuiID DragDropAcceptIdPrev; // Target item id from previous frame (we need to store this to allow for overlapping drag and drop targets)
|
|
|
int DragDropAcceptFrameCount; // Last time a target expressed a desire to accept the source
|
|
|
- ImVector<unsigned char> DragDropPayloadBufHeap; // We don't expose the ImVector<> directly
|
|
|
+ ImVector<unsigned char> DragDropPayloadBufHeap; // We don't expose the ImVector<> directly, ImGuiPayload only holds pointer+size
|
|
|
unsigned char DragDropPayloadBufLocal[16]; // Local buffer for small payloads
|
|
|
|
|
|
// Tab bars
|
|
@@ -1694,7 +1701,7 @@ namespace ImGui
|
|
|
IMGUI_API void ClosePopupsOverWindow(ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup);
|
|
|
IMGUI_API bool IsPopupOpen(ImGuiID id); // Test for id within current popup stack level (currently begin-ed into); this doesn't scan the whole popup stack!
|
|
|
IMGUI_API bool BeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags);
|
|
|
- IMGUI_API void BeginTooltipEx(ImGuiWindowFlags extra_flags, bool override_previous_tooltip = true);
|
|
|
+ IMGUI_API void BeginTooltipEx(ImGuiWindowFlags extra_flags, ImGuiTooltipFlags tooltip_flags);
|
|
|
IMGUI_API ImGuiWindow* GetTopMostPopupModal();
|
|
|
IMGUI_API ImVec2 FindBestWindowPosForPopup(ImGuiWindow* window);
|
|
|
IMGUI_API ImVec2 FindBestWindowPosForPopupEx(const ImVec2& ref_pos, const ImVec2& size, ImGuiDir* last_dir, const ImRect& r_outer, const ImRect& r_avoid, ImGuiPopupPositionPolicy policy = ImGuiPopupPositionPolicy_Default);
|