|
@@ -401,7 +401,7 @@ enum ImGuiItemStatusFlags_
|
|
|
ImGuiItemStatusFlags_Deactivated = 1 << 5 // Only valid if ImGuiItemStatusFlags_HasDeactivated is set.
|
|
|
|
|
|
#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
- , // [imgui-test only]
|
|
|
+ , // [imgui_tests only]
|
|
|
ImGuiItemStatusFlags_Openable = 1 << 10, //
|
|
|
ImGuiItemStatusFlags_Opened = 1 << 11, //
|
|
|
ImGuiItemStatusFlags_Checkable = 1 << 12, //
|
|
@@ -1028,6 +1028,9 @@ struct ImGuiContext
|
|
|
int LogDepthToExpand;
|
|
|
int LogDepthToExpandDefault; // Default/stored value for LogDepthMaxExpand if not specified in the LogXXX function call.
|
|
|
|
|
|
+ // Debug Tools
|
|
|
+ ImGuiID DebugBreakItemId;
|
|
|
+
|
|
|
// Misc
|
|
|
float FramerateSecPerFrame[120]; // Calculate estimate of framerate for user over the last 2 seconds.
|
|
|
int FramerateSecPerFrameIdx;
|
|
@@ -1153,6 +1156,8 @@ struct ImGuiContext
|
|
|
LogDepthRef = 0;
|
|
|
LogDepthToExpand = LogDepthToExpandDefault = 2;
|
|
|
|
|
|
+ DebugBreakItemId = 0;
|
|
|
+
|
|
|
memset(FramerateSecPerFrame, 0, sizeof(FramerateSecPerFrame));
|
|
|
FramerateSecPerFrameIdx = 0;
|
|
|
FramerateSecPerFrameAccum = 0.0f;
|
|
@@ -1662,7 +1667,19 @@ IMGUI_API void ImFontAtlasBuildFinish(ImFontAtlas* atlas);
|
|
|
IMGUI_API void ImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256], float in_multiply_factor);
|
|
|
IMGUI_API void ImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256], unsigned char* pixels, int x, int y, int w, int h, int stride);
|
|
|
|
|
|
-// Test engine hooks (imgui-test)
|
|
|
+// Debug Tools
|
|
|
+// Use 'Metrics->Tools->Item Picker' to break into the call-stack of a specific item.
|
|
|
+#ifndef IM_DEBUG_BREAK
|
|
|
+#if defined(__clang__)
|
|
|
+#define IM_DEBUG_BREAK() __builtin_debugtrap()
|
|
|
+#elif defined (_MSC_VER)
|
|
|
+#define IM_DEBUG_BREAK() __debugbreak()
|
|
|
+#else
|
|
|
+#define IM_DEBUG_BREAK() IM_ASSERT(0) // It is expected that you define IM_DEBUG_BREAK() into something that will break nicely in a debugger!
|
|
|
+#endif
|
|
|
+#endif // #ifndef IM_DEBUG_BREAK
|
|
|
+
|
|
|
+// Test Engine Hooks (imgui_tests)
|
|
|
//#define IMGUI_ENABLE_TEST_ENGINE
|
|
|
#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
extern void ImGuiTestEngineHook_PreNewFrame(ImGuiContext* ctx);
|