|
@@ -2891,6 +2891,10 @@ ImGuiID ImGuiWindow::GetID(const char* str, const char* str_end)
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
ImGuiID id = ImHashStr(str, str_end ? (str_end - str) : 0, seed);
|
|
ImGuiID id = ImHashStr(str, str_end ? (str_end - str) : 0, seed);
|
|
|
ImGui::KeepAliveID(id);
|
|
ImGui::KeepAliveID(id);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO2(id, ImGuiDataType_String, str, str_end);
|
|
|
|
|
+#endif
|
|
|
return id;
|
|
return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -2899,6 +2903,10 @@ ImGuiID ImGuiWindow::GetID(const void* ptr)
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
ImGuiID id = ImHashData(&ptr, sizeof(void*), seed);
|
|
ImGuiID id = ImHashData(&ptr, sizeof(void*), seed);
|
|
|
ImGui::KeepAliveID(id);
|
|
ImGui::KeepAliveID(id);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO(id, ImGuiDataType_Pointer, ptr);
|
|
|
|
|
+#endif
|
|
|
return id;
|
|
return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -2907,25 +2915,44 @@ ImGuiID ImGuiWindow::GetID(int n)
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
ImGuiID id = ImHashData(&n, sizeof(n), seed);
|
|
ImGuiID id = ImHashData(&n, sizeof(n), seed);
|
|
|
ImGui::KeepAliveID(id);
|
|
ImGui::KeepAliveID(id);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO(id, ImGuiDataType_S32, (intptr_t)n);
|
|
|
|
|
+#endif
|
|
|
return id;
|
|
return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(const char* str, const char* str_end)
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(const char* str, const char* str_end)
|
|
|
{
|
|
{
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
- return ImHashStr(str, str_end ? (str_end - str) : 0, seed);
|
|
|
|
|
|
|
+ ImGuiID id = ImHashStr(str, str_end ? (str_end - str) : 0, seed);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO2(id, ImGuiDataType_String, str, str_end);
|
|
|
|
|
+#endif
|
|
|
|
|
+ return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(const void* ptr)
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(const void* ptr)
|
|
|
{
|
|
{
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
- return ImHashData(&ptr, sizeof(void*), seed);
|
|
|
|
|
|
|
+ ImGuiID id = ImHashData(&ptr, sizeof(void*), seed);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO(id, ImGuiDataType_Pointer, ptr);
|
|
|
|
|
+#endif
|
|
|
|
|
+ return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(int n)
|
|
ImGuiID ImGuiWindow::GetIDNoKeepAlive(int n)
|
|
|
{
|
|
{
|
|
|
ImGuiID seed = IDStack.back();
|
|
ImGuiID seed = IDStack.back();
|
|
|
- return ImHashData(&n, sizeof(n), seed);
|
|
|
|
|
|
|
+ ImGuiID id = ImHashData(&n, sizeof(n), seed);
|
|
|
|
|
+#ifdef IMGUI_ENABLE_TEST_ENGINE
|
|
|
|
|
+ ImGuiContext& g = *GImGui;
|
|
|
|
|
+ IMGUI_TEST_ENGINE_ID_INFO(id, ImGuiDataType_S32, (intptr_t)n);
|
|
|
|
|
+#endif
|
|
|
|
|
+ return id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// This is only used in rare/specific situations to manufacture an ID out of nowhere.
|
|
// This is only used in rare/specific situations to manufacture an ID out of nowhere.
|
|
@@ -6599,7 +6626,6 @@ void ImGui::PushFocusScope(ImGuiID id)
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
window->IDStack.push_back(window->DC.NavFocusScopeIdCurrent);
|
|
window->IDStack.push_back(window->DC.NavFocusScopeIdCurrent);
|
|
|
window->DC.NavFocusScopeIdCurrent = id;
|
|
window->DC.NavFocusScopeIdCurrent = id;
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID(id, ImGuiDataType_ID, NULL);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ImGui::PopFocusScope()
|
|
void ImGui::PopFocusScope()
|
|
@@ -6655,7 +6681,6 @@ void ImGui::PushID(const char* str_id)
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
ImGuiID id = window->GetIDNoKeepAlive(str_id);
|
|
ImGuiID id = window->GetIDNoKeepAlive(str_id);
|
|
|
window->IDStack.push_back(id);
|
|
window->IDStack.push_back(id);
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID(id, ImGuiDataType_String, str_id);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ImGui::PushID(const char* str_id_begin, const char* str_id_end)
|
|
void ImGui::PushID(const char* str_id_begin, const char* str_id_end)
|
|
@@ -6664,7 +6689,6 @@ void ImGui::PushID(const char* str_id_begin, const char* str_id_end)
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
ImGuiID id = window->GetIDNoKeepAlive(str_id_begin, str_id_end);
|
|
ImGuiID id = window->GetIDNoKeepAlive(str_id_begin, str_id_end);
|
|
|
window->IDStack.push_back(id);
|
|
window->IDStack.push_back(id);
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID2(id, ImGuiDataType_String, str_id_begin, str_id_end);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ImGui::PushID(const void* ptr_id)
|
|
void ImGui::PushID(const void* ptr_id)
|
|
@@ -6673,7 +6697,6 @@ void ImGui::PushID(const void* ptr_id)
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
ImGuiID id = window->GetIDNoKeepAlive(ptr_id);
|
|
ImGuiID id = window->GetIDNoKeepAlive(ptr_id);
|
|
|
window->IDStack.push_back(id);
|
|
window->IDStack.push_back(id);
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID(id, ImGuiDataType_Pointer, ptr_id);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ImGui::PushID(int int_id)
|
|
void ImGui::PushID(int int_id)
|
|
@@ -6682,7 +6705,6 @@ void ImGui::PushID(int int_id)
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
ImGuiID id = window->GetIDNoKeepAlive(int_id);
|
|
ImGuiID id = window->GetIDNoKeepAlive(int_id);
|
|
|
window->IDStack.push_back(id);
|
|
window->IDStack.push_back(id);
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID(id, ImGuiDataType_S32, (intptr_t)int_id);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Push a given id value ignoring the ID stack as a seed.
|
|
// Push a given id value ignoring the ID stack as a seed.
|
|
@@ -6691,7 +6713,6 @@ void ImGui::PushOverrideID(ImGuiID id)
|
|
|
ImGuiContext& g = *GImGui;
|
|
ImGuiContext& g = *GImGui;
|
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
ImGuiWindow* window = g.CurrentWindow;
|
|
|
window->IDStack.push_back(id);
|
|
window->IDStack.push_back(id);
|
|
|
- IMGUI_TEST_ENGINE_PUSH_ID(id, ImGuiDataType_ID, NULL);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ImGui::PopID()
|
|
void ImGui::PopID()
|