mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-30 05:05:19 -05:00
build: Updated ImGui to v1.92.2b
This commit is contained in:
6
lib/third_party/imgui/imgui/include/imgui.h
vendored
6
lib/third_party/imgui/imgui/include/imgui.h
vendored
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (headers)
|
||||
|
||||
// Help:
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
// Library Version
|
||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
||||
#define IMGUI_VERSION "1.92.2"
|
||||
#define IMGUI_VERSION_NUM 19220
|
||||
#define IMGUI_VERSION "1.92.2b"
|
||||
#define IMGUI_VERSION_NUM 19222
|
||||
#define IMGUI_HAS_TABLE // Added BeginTable() - from IMGUI_VERSION_NUM >= 18000
|
||||
#define IMGUI_HAS_TEXTURES // Added ImGuiBackendFlags_RendererHasTextures - from IMGUI_VERSION_NUM >= 19198
|
||||
#define IMGUI_HAS_VIEWPORT // In 'docking' WIP branch.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (internal structures/api)
|
||||
|
||||
// You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility.
|
||||
@@ -1512,7 +1512,7 @@ enum ImGuiInputEventType
|
||||
ImGuiInputEventType_COUNT
|
||||
};
|
||||
|
||||
enum ImGuiInputSource
|
||||
enum ImGuiInputSource : int
|
||||
{
|
||||
ImGuiInputSource_None = 0,
|
||||
ImGuiInputSource_Mouse, // Note: may be Mouse or TouchScreen or Pen. See io.MouseSource to distinguish them.
|
||||
@@ -2413,6 +2413,7 @@ struct ImGuiContext
|
||||
bool ActiveIdHasBeenEditedBefore; // Was the value associated to the widget Edited over the course of the Active state.
|
||||
bool ActiveIdHasBeenEditedThisFrame;
|
||||
bool ActiveIdFromShortcut;
|
||||
ImGuiID ActiveIdDisabledId; // When clicking a disabled item we set ActiveId=window->MoveId to avoid interference with widget code. Actual item ID is stored here.
|
||||
int ActiveIdMouseButton : 8;
|
||||
ImVec2 ActiveIdClickOffset; // Clicked offset from upper-left corner, if applicable (currently only set by ButtonBehavior)
|
||||
ImGuiWindow* ActiveIdWindow;
|
||||
|
||||
27
lib/third_party/imgui/imgui/source/imgui.cpp
vendored
27
lib/third_party/imgui/imgui/source/imgui.cpp
vendored
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (main code and documentation)
|
||||
|
||||
// Help:
|
||||
@@ -4144,6 +4144,7 @@ ImGuiContext::ImGuiContext(ImFontAtlas* shared_font_atlas)
|
||||
ActiveIdClickOffset = ImVec2(-1, -1);
|
||||
ActiveIdWindow = NULL;
|
||||
ActiveIdSource = ImGuiInputSource_None;
|
||||
ActiveIdDisabledId = 0;
|
||||
ActiveIdMouseButton = -1;
|
||||
ActiveIdPreviousFrame = 0;
|
||||
memset(&DeactivatedItemData, 0, sizeof(DeactivatedItemData));
|
||||
@@ -4664,6 +4665,7 @@ void ImGui::SetActiveID(ImGuiID id, ImGuiWindow* window)
|
||||
g.ActiveIdWindow = window;
|
||||
g.ActiveIdHasBeenEditedThisFrame = false;
|
||||
g.ActiveIdFromShortcut = false;
|
||||
g.ActiveIdDisabledId = 0;
|
||||
if (id)
|
||||
{
|
||||
g.ActiveIdIsAlive = id;
|
||||
@@ -4771,6 +4773,7 @@ static ImGuiHoveredFlags ApplyHoverFlagsForTooltip(ImGuiHoveredFlags user_flags,
|
||||
}
|
||||
|
||||
// This is roughly matching the behavior of internal-facing ItemHoverable()
|
||||
// - we allow hovering to be true when ActiveId==window->MoveID, so that clicking on non-interactive items such as a Text() item still returns true with IsItemHovered()
|
||||
// - this should work even for non-interactive items that have no ID, so we cannot use LastItemId
|
||||
bool ImGui::IsItemHovered(ImGuiHoveredFlags flags)
|
||||
{
|
||||
@@ -4812,7 +4815,20 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags)
|
||||
const ImGuiID id = g.LastItemData.ID;
|
||||
if ((flags & ImGuiHoveredFlags_AllowWhenBlockedByActiveItem) == 0)
|
||||
if (g.ActiveId != 0 && g.ActiveId != id && !g.ActiveIdAllowOverlap)
|
||||
return false;
|
||||
{
|
||||
// When ActiveId == MoveId it means that either:
|
||||
// - (1) user clicked on void _or_ an item with no id, which triggers moving window (ActiveId is set even when window has _NoMove flag)
|
||||
// - the (id == 0) test handles it, however, IsItemHovered() will leak between id==0 items (mostly visible when using _NoMove). // FIXME: May be fixed.
|
||||
// - (2) user clicked a disabled item. UpdateMouseMovingWindowEndFrame() uses ActiveId == MoveId to avoid interference with item logic + sets ActiveIdDisabledId.
|
||||
bool cancel_is_hovered = true;
|
||||
if (g.ActiveId == window->MoveId && (id == 0 || g.ActiveIdDisabledId == id))
|
||||
cancel_is_hovered = false;
|
||||
// When ActiveId == TabId it means user clicked docking tab for the window.
|
||||
if (g.ActiveId == window->TabId)
|
||||
cancel_is_hovered = false;
|
||||
if (cancel_is_hovered)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Test if interactions on this window are blocked by an active popup or modal.
|
||||
// The ImGuiHoveredFlags_AllowWhenBlockedByPopup flag will be tested here.
|
||||
@@ -4893,7 +4909,7 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id, ImGuiItemFlags item_flag
|
||||
if (!g.ActiveIdFromShortcut)
|
||||
return false;
|
||||
|
||||
// Done with rectangle culling so we can perform heavier checks now.
|
||||
// We are done with rectangle culling so we can perform heavier checks now.
|
||||
if (!(item_flags & ImGuiItemFlags_NoWindowHoverableCheck) && !IsWindowContentHoverable(window, ImGuiHoveredFlags_None))
|
||||
{
|
||||
g.HoveredIdIsDisabled = true;
|
||||
@@ -5334,9 +5350,12 @@ void ImGui::UpdateMouseMovingWindowEndFrame()
|
||||
g.MovingWindow = NULL;
|
||||
|
||||
// Cancel moving if clicked over an item which was disabled or inhibited by popups
|
||||
// (when g.HoveredIdIsDisabled == true && g.HoveredId == 0 we are inhibited by popups, when g.HoveredIdIsDisabled == true && g.HoveredId != 0 we are over a disabled item)0 already)
|
||||
// (when g.HoveredIdIsDisabled == true && g.HoveredId == 0 we are inhibited by popups, when g.HoveredIdIsDisabled == true && g.HoveredId != 0 we are over a disabled item)
|
||||
if (g.HoveredIdIsDisabled)
|
||||
{
|
||||
g.MovingWindow = NULL;
|
||||
g.ActiveIdDisabledId = g.HoveredId;
|
||||
}
|
||||
}
|
||||
else if (root_window == NULL && g.NavWindow != NULL)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (demo code)
|
||||
|
||||
// Help:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (drawing and font code)
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (tables and columns code)
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// dear imgui, v1.92.2
|
||||
// dear imgui, v1.92.2b
|
||||
// (widgets code)
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user