diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index bd13b790..21966ac7 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -37,6 +37,7 @@ Other Changes: - Added .editorconfig file for text editors to standardize using spaces. (#2038) [@kudaba] - Fixed range-version of PushID() and GetID() not honoring the ### operator to restart from the seed value. - Window: When resizing from an edge, the border is more visible and better follow the rounded corners. +- Added PushID(size_t sz) helper (may not be useful/meaningful for non C/C++ languages). - ImDrawList: Fixed AddCircle(), AddCircleFilled() angle step being off, which was visible when drawing a "circle" with a small number of segments (e.g. an hexagon). (#2287) [@baktery] - ImGuiTextBuffer: Added append() function (unformatted). diff --git a/imgui.cpp b/imgui.cpp index e94b8fac..c5c6f10d 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -6450,6 +6450,13 @@ void ImGui::PushID(const void* ptr_id) window->IDStack.push_back(window->GetIDNoKeepAlive(ptr_id)); } +void ImGui::PushID(size_t int_id) +{ + const void* ptr_id = (void*)int_id; + ImGuiWindow* window = GImGui->CurrentWindow; + window->IDStack.push_back(window->GetIDNoKeepAlive(ptr_id)); +} + void ImGui::PushID(int int_id) { const void* ptr_id = (void*)(intptr_t)int_id; diff --git a/imgui.h b/imgui.h index 609823fa..1ba4cac9 100644 --- a/imgui.h +++ b/imgui.h @@ -357,6 +357,7 @@ namespace ImGui IMGUI_API void PushID(const char* str_id); // push string into the ID stack (will hash string). IMGUI_API void PushID(const char* str_id_begin, const char* str_id_end); // push string into the ID stack (will hash string). IMGUI_API void PushID(const void* ptr_id); // push pointer into the ID stack (will hash pointer). + IMGUI_API void PushID(size_t int_id); // push pointer into the ID stack (will hash integer). IMGUI_API void PushID(int int_id); // push integer into the ID stack (will hash integer). IMGUI_API void PopID(); // pop from the ID stack. IMGUI_API ImGuiID GetID(const char* str_id); // calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself