Skip to content

Commit 96b5b17

Browse files
committed
Merge branch 'master' into docking
# Conflicts: # backends/imgui_impl_vulkan.cpp # imgui_internal.h
2 parents f6253b8 + 1fd5ff7 commit 96b5b17

File tree

12 files changed

+111
-39
lines changed

12 files changed

+111
-39
lines changed

backends/imgui_impl_android.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ int32_t ImGui_ImplAndroid_HandleInputEvent(const AInputEvent* input_event)
227227
// but we have to process them separately to identify the actual button pressed. This is done below via
228228
// AMOTION_EVENT_ACTION_BUTTON_PRESS/_RELEASE. Here, we only process "FINGER" input (and "UNKNOWN", as a fallback).
229229
int tool_type = AMotionEvent_getToolType(input_event, event_pointer_index);
230-
if (tool_type == AMOTION_EVENT_TOOL_TYPE_FINGER || tool_type == == AMOTION_EVENT_TOOL_TYPE_UNKNOWN)
230+
if (tool_type == AMOTION_EVENT_TOOL_TYPE_FINGER || tool_type == AMOTION_EVENT_TOOL_TYPE_UNKNOWN)
231231
{
232232
io.AddMousePosEvent(AMotionEvent_getX(input_event, event_pointer_index), AMotionEvent_getY(input_event, event_pointer_index));
233233
io.AddMouseButtonEvent(0, event_action == AMOTION_EVENT_ACTION_DOWN);

backends/imgui_impl_sdl3.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -380,9 +380,9 @@ static void ImGui_ImplSDL3_SetupPlatformHandles(ImGuiViewport* viewport, SDL_Win
380380
viewport->PlatformHandle = window;
381381
viewport->PlatformHandleRaw = nullptr;
382382
#if defined(__WIN32__) && !defined(__WINRT__)
383-
viewport->PlatformHandleRaw = (HWND)SDL_GetProperty(SDL_GetWindowProperties(window), "SDL.window.win32.hwnd", NULL);
383+
viewport->PlatformHandleRaw = (HWND)SDL_GetProperty(SDL_GetWindowProperties(window), "SDL.window.win32.hwnd", nullptr);
384384
#elif defined(__APPLE__) && defined(SDL_VIDEO_DRIVER_COCOA)
385-
viewport->PlatformHandleRaw = (void*)SDL_GetProperty(SDL_GetWindowProperties(window), "SDL.window.cocoa.window", NULL);
385+
viewport->PlatformHandleRaw = (void*)SDL_GetProperty(SDL_GetWindowProperties(window), "SDL.window.cocoa.window", nullptr);
386386
#endif
387387
}
388388

backends/imgui_impl_vulkan.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
// CHANGELOG
3636
// (minor and older changes stripped away, please see git history for details)
3737
// 2023-XX-XX: Platform: Added support for multiple windows via the ImGuiPlatformIO interface.
38+
// 2023-11-29: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
3839
// 2023-11-10: *BREAKING CHANGE*: Removed parameter from ImGui_ImplVulkan_CreateFontsTexture(): backend now creates its own command-buffer to upload fonts.
3940
// *BREAKING CHANGE*: Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unecessary as we create and destroy those objects in the backend.
4041
// ImGui_ImplVulkan_CreateFontsTexture() is automatically called by NewFrame() the first time.
@@ -646,7 +647,7 @@ bool ImGui_ImplVulkan_CreateFontsTexture()
646647
info.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
647648
info.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
648649
info.queueFamilyIndex = v->QueueFamily;
649-
vkCreateCommandPool(v->Device, &info, nullptr, &bd->FontCommandPool);
650+
vkCreateCommandPool(v->Device, &info, v->Allocator, &bd->FontCommandPool);
650651
}
651652
if (bd->FontCommandBuffer == VK_NULL_HANDLE)
652653
{

docs/CHANGELOG.txt

+8
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,18 @@ Other changes:
5151
- Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect
5252
(namely Selectables and Treenodes using SpanAllColumn flag) so the highlight properly covers
5353
all columns. (#7049, #4281, #3272)
54+
- Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical
55+
movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
56+
- Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
57+
- Misc: Added IMGUI_USER_H_FILENAME to change the path included when using
58+
IMGUI_INCLUDE_IMGUI_USER_H. (#7039) [@bryceberger]
59+
- Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
5460
- Misc: Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully,
5561
like most printf implementations. (#7016, #3466, #6846) [@codefrog2002]
5662
- Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds
5763
on a codebase where another copy of the library is used.
64+
- Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs
65+
vkDestroyCommandPool(). (#7075) [@FoonTheRaccoon]
5866

5967

6068
-----------------------------------------------------------------------

examples/example_sdl3_sdlrenderer3/main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ int main(int, char**)
4242
printf("Error: SDL_CreateWindow(): %s\n", SDL_GetError());
4343
return -1;
4444
}
45-
SDL_Renderer* renderer = SDL_CreateRenderer(window, NULL, SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED);
45+
SDL_Renderer* renderer = SDL_CreateRenderer(window, nullptr, SDL_RENDERER_PRESENTVSYNC | SDL_RENDERER_ACCELERATED);
4646
if (renderer == nullptr)
4747
{
4848
SDL_Log("Error: SDL_CreateRenderer(): %s\n", SDL_GetError());

examples/example_win32_opengl3/main.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ int main(int, char**)
7474
{
7575
// Create application window
7676
//ImGui_ImplWin32_EnableDpiAwareness();
77-
WNDCLASSEXW wc = { sizeof(wc), CS_OWNDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, L"ImGui Example", NULL };
77+
WNDCLASSEXW wc = { sizeof(wc), CS_OWNDC, WndProc, 0L, 0L, GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, L"ImGui Example", nullptr };
7878
::RegisterClassExW(&wc);
79-
HWND hwnd = ::CreateWindowW(wc.lpszClassName, L"Dear ImGui Win32+OpenGL3 Example", WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, NULL, NULL, wc.hInstance, NULL);
79+
HWND hwnd = ::CreateWindowW(wc.lpszClassName, L"Dear ImGui Win32+OpenGL3 Example", WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, nullptr, nullptr, wc.hInstance, nullptr);
8080

8181
// Initialize OpenGL
8282
if (!CreateDeviceWGL(hwnd, &g_MainWindow))
@@ -134,7 +134,7 @@ int main(int, char**)
134134
// Load Fonts
135135
// - If no fonts are loaded, dear imgui will use the default font. You can also load multiple fonts and use ImGui::PushFont()/PopFont() to select them.
136136
// - AddFontFromFileTTF() will return the ImFont* so you can store it if you need to select the font among multiple.
137-
// - If the file cannot be loaded, the function will return NULL. Please handle those errors in your application (e.g. use an assertion, or display an error and quit).
137+
// - If the file cannot be loaded, the function will return a nullptr. Please handle those errors in your application (e.g. use an assertion, or display an error and quit).
138138
// - The fonts will be rasterized at a given size (w/ oversampling) and stored into a texture when calling ImFontAtlas::Build()/GetTexDataAsXXXX(), which ImGui_ImplXXXX_NewFrame below will call.
139139
// - Use '#define IMGUI_ENABLE_FREETYPE' in your imconfig file to use Freetype for higher quality font rendering.
140140
// - Read 'docs/FONTS.md' for more instructions and details.
@@ -144,8 +144,8 @@ int main(int, char**)
144144
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/DroidSans.ttf", 16.0f);
145145
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Roboto-Medium.ttf", 16.0f);
146146
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Cousine-Regular.ttf", 15.0f);
147-
//ImFont* font = io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\ArialUni.ttf", 18.0f, NULL, io.Fonts->GetGlyphRangesJapanese());
148-
//IM_ASSERT(font != NULL);
147+
//ImFont* font = io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\ArialUni.ttf", 18.0f, nullptr, io.Fonts->GetGlyphRangesJapanese());
148+
//IM_ASSERT(font != nullptr);
149149

150150
// Our state
151151
bool show_demo_window = true;
@@ -159,7 +159,7 @@ int main(int, char**)
159159
// Poll and handle messages (inputs, window resize, etc.)
160160
// See the WndProc() function below for our to dispatch events to the Win32 backend.
161161
MSG msg;
162-
while (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
162+
while (::PeekMessage(&msg, nullptr, 0U, 0U, PM_REMOVE))
163163
{
164164
::TranslateMessage(&msg);
165165
::DispatchMessage(&msg);
@@ -270,7 +270,7 @@ bool CreateDeviceWGL(HWND hWnd, WGL_WindowData* data)
270270

271271
void CleanupDeviceWGL(HWND hWnd, WGL_WindowData* data)
272272
{
273-
wglMakeCurrent(NULL, NULL);
273+
wglMakeCurrent(nullptr, nullptr);
274274
::ReleaseDC(hWnd, data->hDC);
275275
}
276276

imconfig.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@
5050
//#define IMGUI_DISABLE_SSE // Disable use of SSE intrinsics even if available
5151

5252
//---- Include imgui_user.h at the end of imgui.h as a convenience
53+
// May be convenient for some users to only explicitly include vanilla imgui.h and have extra stuff included.
5354
//#define IMGUI_INCLUDE_IMGUI_USER_H
55+
//#define IMGUI_USER_H_FILENAME "my_folder/my_imgui_user.h"
5456

5557
//---- Pack colors to BGRA8 instead of RGBA8 (to avoid converting from one to another)
5658
//#define IMGUI_USE_BGRA_PACKED_COLOR
5759

58-
//---- Use 32-bit for ImWchar (default is 16-bit) to support unicode planes 1-16. (e.g. point beyond 0xFFFF like emoticons, dingbats, symbols, shapes, ancient languages, etc...)
60+
//---- Use 32-bit for ImWchar (default is 16-bit) to support Unicode planes 1-16. (e.g. point beyond 0xFFFF like emoticons, dingbats, symbols, shapes, ancient languages, etc...)
5961
//#define IMGUI_USE_WCHAR32
6062

6163
//---- Avoid multiple STB libraries implementations, or redefine path/filenames to prioritize another version

imgui.cpp

+36-2
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,7 @@ static void ErrorCheckNewFrameSanityChecks();
11111111
static void ErrorCheckEndFrameSanityChecks();
11121112
static void UpdateDebugToolItemPicker();
11131113
static void UpdateDebugToolStackQueries();
1114+
static void UpdateDebugToolFlashStyleColor();
11141115

11151116
// Inputs
11161117
static void UpdateKeyboardInputs();
@@ -3156,7 +3157,8 @@ void ImGui::PushStyleColor(ImGuiCol idx, ImU32 col)
31563157
backup.Col = idx;
31573158
backup.BackupValue = g.Style.Colors[idx];
31583159
g.ColorStack.push_back(backup);
3159-
g.Style.Colors[idx] = ColorConvertU32ToFloat4(col);
3160+
if (g.DebugFlashStyleColorIdx != idx)
3161+
g.Style.Colors[idx] = ColorConvertU32ToFloat4(col);
31603162
}
31613163

31623164
void ImGui::PushStyleColor(ImGuiCol idx, const ImVec4& col)
@@ -3166,7 +3168,8 @@ void ImGui::PushStyleColor(ImGuiCol idx, const ImVec4& col)
31663168
backup.Col = idx;
31673169
backup.BackupValue = g.Style.Colors[idx];
31683170
g.ColorStack.push_back(backup);
3169-
g.Style.Colors[idx] = col;
3171+
if (g.DebugFlashStyleColorIdx != idx)
3172+
g.Style.Colors[idx] = col;
31703173
}
31713174

31723175
void ImGui::PopStyleColor(int count)
@@ -5019,6 +5022,7 @@ void ImGui::NewFrame()
50195022
// [DEBUG] Update debug features
50205023
UpdateDebugToolItemPicker();
50215024
UpdateDebugToolStackQueries();
5025+
UpdateDebugToolFlashStyleColor();
50225026
if (g.DebugLocateFrames > 0 && --g.DebugLocateFrames == 0)
50235027
g.DebugLocateId = 0;
50245028
if (g.DebugLogClipperAutoDisableFrames > 0 && --g.DebugLogClipperAutoDisableFrames == 0)
@@ -19481,6 +19485,35 @@ void ImGui::DebugTextEncoding(const char* str)
1948119485
EndTable();
1948219486
}
1948319487

19488+
static void DebugFlashStyleColorStop()
19489+
{
19490+
ImGuiContext& g = *GImGui;
19491+
if (g.DebugFlashStyleColorIdx != ImGuiCol_COUNT)
19492+
g.Style.Colors[g.DebugFlashStyleColorIdx] = g.DebugFlashStyleColorBackup;
19493+
g.DebugFlashStyleColorIdx = ImGuiCol_COUNT;
19494+
}
19495+
19496+
// Flash a given style color for some + inhibit modifications of this color via PushStyleColor() calls.
19497+
void ImGui::DebugFlashStyleColor(ImGuiCol idx)
19498+
{
19499+
ImGuiContext& g = *GImGui;
19500+
DebugFlashStyleColorStop();
19501+
g.DebugFlashStyleColorTime = 0.5f;
19502+
g.DebugFlashStyleColorIdx = idx;
19503+
g.DebugFlashStyleColorBackup = g.Style.Colors[idx];
19504+
}
19505+
19506+
void ImGui::UpdateDebugToolFlashStyleColor()
19507+
{
19508+
ImGuiContext& g = *GImGui;
19509+
if (g.DebugFlashStyleColorTime <= 0.0f)
19510+
return;
19511+
ColorConvertHSVtoRGB(cosf(g.DebugFlashStyleColorTime * 6.0f) * 0.5f + 0.5f, 0.5f, 0.5f, g.Style.Colors[g.DebugFlashStyleColorIdx].x, g.Style.Colors[g.DebugFlashStyleColorIdx].y, g.Style.Colors[g.DebugFlashStyleColorIdx].z);
19512+
g.Style.Colors[g.DebugFlashStyleColorIdx].w = 1.0f;
19513+
if ((g.DebugFlashStyleColorTime -= g.IO.DeltaTime) <= 0.0f)
19514+
DebugFlashStyleColorStop();
19515+
}
19516+
1948419517
// Avoid naming collision with imgui_demo.cpp's HelpMarker() for unity builds.
1948519518
static void MetricsHelpMarker(const char* desc)
1948619519
{
@@ -21054,6 +21087,7 @@ void ImGui::ShowIDStackToolWindow(bool*) {}
2105421087
void ImGui::DebugHookIdInfo(ImGuiID, ImGuiDataType, const void*, const void*) {}
2105521088
void ImGui::UpdateDebugToolItemPicker() {}
2105621089
void ImGui::UpdateDebugToolStackQueries() {}
21090+
void ImGui::UpdateDebugToolFlashStyleColor() {}
2105721091

2105821092
#endif // #ifndef IMGUI_DISABLE_DEBUG_TOOLS
2105921093

imgui.h

+14-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
// Library Version
2525
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
2626
#define IMGUI_VERSION "1.90.1 WIP"
27-
#define IMGUI_VERSION_NUM 19001
27+
#define IMGUI_VERSION_NUM 19002
2828
#define IMGUI_HAS_TABLE
2929
#define IMGUI_HAS_VIEWPORT // Viewport WIP branch
3030
#define IMGUI_HAS_DOCK // Docking WIP branch
@@ -122,6 +122,7 @@ Index of this file:
122122
#endif
123123
#pragma clang diagnostic ignored "-Wunknown-pragmas" // warning: unknown warning group 'xxx'
124124
#pragma clang diagnostic ignored "-Wold-style-cast"
125+
#pragma clang diagnostic ignored "-Wfloat-equal" // warning: comparing floating point with == or != is unsafe
125126
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
126127
#pragma clang diagnostic ignored "-Wreserved-identifier" // warning: identifier '_Xxx' is reserved because it starts with '_' followed by a capital letter
127128
#elif defined(__GNUC__)
@@ -303,7 +304,7 @@ namespace ImGui
303304

304305
// Main
305306
IMGUI_API ImGuiIO& GetIO(); // access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags)
306-
IMGUI_API ImGuiStyle& GetStyle(); // access the Style structure (colors, sizes). Always use PushStyleCol(), PushStyleVar() to modify style mid-frame!
307+
IMGUI_API ImGuiStyle& GetStyle(); // access the Style structure (colors, sizes). Always use PushStyleColor(), PushStyleVar() to modify style mid-frame!
307308
IMGUI_API void NewFrame(); // start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame().
308309
IMGUI_API void EndFrame(); // ends the Dear ImGui frame. automatically called by Render(). If you don't need to render data (skipping rendering) you may call EndFrame() without Render()... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call NewFrame() at all!
309310
IMGUI_API void Render(); // ends the Dear ImGui frame, finalize the draw data. You can then get call GetDrawData().
@@ -994,6 +995,7 @@ namespace ImGui
994995

995996
// Debug Utilities
996997
IMGUI_API void DebugTextEncoding(const char* text);
998+
IMGUI_API void DebugFlashStyleColor(ImGuiCol idx);
997999
IMGUI_API bool DebugCheckVersionAndDataLayout(const char* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx); // This is called by IMGUI_CHECKVERSION() macro.
9981000

9991001
// Memory Allocators
@@ -2609,9 +2611,13 @@ static inline ImVec2& operator+=(ImVec2& lhs, const ImVec2& rhs) { lhs.x
26092611
static inline ImVec2& operator-=(ImVec2& lhs, const ImVec2& rhs) { lhs.x -= rhs.x; lhs.y -= rhs.y; return lhs; }
26102612
static inline ImVec2& operator*=(ImVec2& lhs, const ImVec2& rhs) { lhs.x *= rhs.x; lhs.y *= rhs.y; return lhs; }
26112613
static inline ImVec2& operator/=(ImVec2& lhs, const ImVec2& rhs) { lhs.x /= rhs.x; lhs.y /= rhs.y; return lhs; }
2614+
static inline bool operator==(const ImVec2& lhs, const ImVec2& rhs) { return lhs.x == rhs.x && lhs.y == rhs.y; }
2615+
static inline bool operator!=(const ImVec2& lhs, const ImVec2& rhs) { return lhs.x != rhs.x || lhs.y != rhs.y; }
26122616
static inline ImVec4 operator+(const ImVec4& lhs, const ImVec4& rhs) { return ImVec4(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z, lhs.w + rhs.w); }
26132617
static inline ImVec4 operator-(const ImVec4& lhs, const ImVec4& rhs) { return ImVec4(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z, lhs.w - rhs.w); }
26142618
static inline ImVec4 operator*(const ImVec4& lhs, const ImVec4& rhs) { return ImVec4(lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); }
2619+
static inline bool operator==(const ImVec4& lhs, const ImVec4& rhs) { return lhs.x == rhs.x && lhs.y == rhs.y && lhs.z == rhs.z && lhs.w == rhs.w; }
2620+
static inline bool operator!=(const ImVec4& lhs, const ImVec4& rhs) { return lhs.x != rhs.x || lhs.y != rhs.y || lhs.z != rhs.z || lhs.w != rhs.w; }
26152621
IM_MSVC_RUNTIME_CHECKS_RESTORE
26162622
#endif
26172623

@@ -3539,9 +3545,14 @@ enum ImGuiModFlags_ { ImGuiModFlags_None = 0, ImGuiModFlags_Ctrl = ImGuiMod_Ctrl
35393545
#pragma warning (pop)
35403546
#endif
35413547

3542-
// Include imgui_user.h at the end of imgui.h (convenient for user to only explicitly include vanilla imgui.h)
3548+
// Include imgui_user.h at the end of imgui.h
3549+
// May be convenient for some users to only explicitly include vanilla imgui.h and have extra stuff included.
35433550
#ifdef IMGUI_INCLUDE_IMGUI_USER_H
3551+
#ifdef IMGUI_USER_H_FILENAME
3552+
#include IMGUI_USER_H_FILENAME
3553+
#else
35443554
#include "imgui_user.h"
35453555
#endif
3556+
#endif
35463557

35473558
#endif // #ifndef IMGUI_DISABLE

imgui_demo.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -6729,6 +6729,10 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
67296729
if (!filter.PassFilter(name))
67306730
continue;
67316731
ImGui::PushID(i);
6732+
if (ImGui::Button("?"))
6733+
ImGui::DebugFlashStyleColor((ImGuiCol)i);
6734+
ImGui::SetItemTooltip("Flash given color to identify places where it is used.");
6735+
ImGui::SameLine();
67326736
ImGui::ColorEdit4("##color", (float*)&style.Colors[i], ImGuiColorEditFlags_AlphaBar | alpha_flags);
67336737
if (memcmp(&style.Colors[i], &ref->Colors[i], sizeof(ImVec4)) != 0)
67346738
{

imgui_internal.h

+5
Original file line numberDiff line numberDiff line change
@@ -2147,6 +2147,7 @@ struct ImGuiContext
21472147
bool DebugShowGroupRects;
21482148

21492149
// Shared stacks
2150+
ImGuiCol DebugFlashStyleColorIdx; // (Keep close to ColorStack to share cache line)
21502151
ImVector<ImGuiColorMod> ColorStack; // Stack for PushStyleColor()/PopStyleColor() - inherited by Begin()
21512152
ImVector<ImGuiStyleMod> StyleVarStack; // Stack for PushStyleVar()/PopStyleVar() - inherited by Begin()
21522153
ImVector<ImFont*> FontStack; // Stack for PushFont()/PopFont() - inherited by Begin()
@@ -2358,6 +2359,8 @@ struct ImGuiContext
23582359
bool DebugItemPickerActive; // Item picker is active (started with DebugStartItemPicker())
23592360
ImU8 DebugItemPickerMouseButton;
23602361
ImGuiID DebugItemPickerBreakId; // Will call IM_DEBUG_BREAK() when encountering this ID
2362+
float DebugFlashStyleColorTime;
2363+
ImVec4 DebugFlashStyleColorBackup;
23612364
ImGuiMetricsConfig DebugMetricsConfig;
23622365
ImGuiIDStackTool DebugIDStackTool;
23632366
ImGuiDebugAllocInfo DebugAllocInfo;
@@ -2552,6 +2555,8 @@ struct ImGuiContext
25522555
DebugItemPickerActive = false;
25532556
DebugItemPickerMouseButton = ImGuiMouseButton_Left;
25542557
DebugItemPickerBreakId = 0;
2558+
DebugFlashStyleColorTime = 0.0f;
2559+
DebugFlashStyleColorIdx = ImGuiCol_COUNT;
25552560
DebugHoveredDockNode = NULL;
25562561

25572562
memset(FramerateSecPerFrame, 0, sizeof(FramerateSecPerFrame));

0 commit comments

Comments
 (0)