|
@@ -1034,6 +1034,8 @@ struct ImGuiContext
|
|
|
bool WithinFrameScope; // Set by NewFrame(), cleared by EndFrame()
|
|
|
bool WithinFrameScopeWithImplicitWindow; // Set by NewFrame(), cleared by EndFrame() when the implicit debug window has been pushed
|
|
|
bool WithinEndChild; // Set within EndChild()
|
|
|
+ bool TestEngineHookItems; // Will call test engine hooks ImGuiTestEngineHook_ItemAdd(), ImGuiTestEngineHook_ItemInfo(), ImGuiTestEngineHook_Log()
|
|
|
+ void* TestEngine; // Test engine user data
|
|
|
|
|
|
// Windows state
|
|
|
ImVector<ImGuiWindow*> Windows; // Windows, sorted in display order, back to front
|
|
@@ -1233,14 +1235,16 @@ struct ImGuiContext
|
|
|
ImGuiContext(ImFontAtlas* shared_font_atlas) : BackgroundDrawList(&DrawListSharedData), ForegroundDrawList(&DrawListSharedData)
|
|
|
{
|
|
|
Initialized = false;
|
|
|
+ FontAtlasOwnedByContext = shared_font_atlas ? false : true;
|
|
|
Font = NULL;
|
|
|
FontSize = FontBaseSize = 0.0f;
|
|
|
- FontAtlasOwnedByContext = shared_font_atlas ? false : true;
|
|
|
IO.Fonts = shared_font_atlas ? shared_font_atlas : IM_NEW(ImFontAtlas)();
|
|
|
Time = 0.0f;
|
|
|
FrameCount = 0;
|
|
|
FrameCountEnded = FrameCountRendered = -1;
|
|
|
WithinFrameScope = WithinFrameScopeWithImplicitWindow = WithinEndChild = false;
|
|
|
+ TestEngineHookItems = false;
|
|
|
+ TestEngine = NULL;
|
|
|
|
|
|
WindowsActiveCount = 0;
|
|
|
CurrentWindow = NULL;
|
|
@@ -1938,13 +1942,13 @@ extern void ImGuiTestEngineHook_PostNewFrame(ImGuiContext* ctx);
|
|
|
extern void ImGuiTestEngineHook_ItemAdd(ImGuiContext* ctx, const ImRect& bb, ImGuiID id);
|
|
|
extern void ImGuiTestEngineHook_ItemInfo(ImGuiContext* ctx, ImGuiID id, const char* label, ImGuiItemStatusFlags flags);
|
|
|
extern void ImGuiTestEngineHook_Log(ImGuiContext* ctx, const char* fmt, ...);
|
|
|
-#define IMGUI_TEST_ENGINE_ITEM_ADD(_BB, _ID) ImGuiTestEngineHook_ItemAdd(&g, _BB, _ID) // Register item bounding box
|
|
|
-#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS) ImGuiTestEngineHook_ItemInfo(&g, _ID, _LABEL, _FLAGS) // Register item label and status flags (optional)
|
|
|
-#define IMGUI_TEST_ENGINE_LOG(_FMT, ...) ImGuiTestEngineHook_Log(&g, _FMT, __VA_ARGS__) // Custom log entry from user land into test log
|
|
|
+#define IMGUI_TEST_ENGINE_ITEM_ADD(_BB,_ID) if (g.TestEngineHookItems) ImGuiTestEngineHook_ItemAdd(&g, _BB, _ID) // Register item bounding box
|
|
|
+#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS) if (g.TestEngineHookItems) ImGuiTestEngineHook_ItemInfo(&g, _ID, _LABEL, _FLAGS) // Register item label and status flags (optional)
|
|
|
+#define IMGUI_TEST_ENGINE_LOG(_FMT,...) if (g.TestEngineHookItems) ImGuiTestEngineHook_Log(&g, _FMT, __VA_ARGS__) // Custom log entry from user land into test log
|
|
|
#else
|
|
|
-#define IMGUI_TEST_ENGINE_ITEM_ADD(_BB, _ID) do { } while (0)
|
|
|
-#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS) do { } while (0)
|
|
|
-#define IMGUI_TEST_ENGINE_LOG(_FMT, ...) do { } while (0)
|
|
|
+#define IMGUI_TEST_ENGINE_ITEM_ADD(_BB,_ID) do { } while (0)
|
|
|
+#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS) do { } while (0)
|
|
|
+#define IMGUI_TEST_ENGINE_LOG(_FMT,...) do { } while (0)
|
|
|
#endif
|
|
|
|
|
|
#if defined(__clang__)
|