mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-30 18:34:34 +01:00
Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
This commit is contained in:
parent
34646627aa
commit
07dbd46ddd
@ -71,6 +71,8 @@ Other changes:
|
|||||||
- Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
|
- Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
|
||||||
- Misc: Added IMGUI_USER_H_FILENAME to change the path included when using
|
- Misc: Added IMGUI_USER_H_FILENAME to change the path included when using
|
||||||
IMGUI_INCLUDE_IMGUI_USER_H. (#7039) [@bryceberger]
|
IMGUI_INCLUDE_IMGUI_USER_H. (#7039) [@bryceberger]
|
||||||
|
- Misc: Rework debug display of texture id in Metrics window to avoid compile-error when
|
||||||
|
ImTextureID is defined to be larger than 64-bits. (#7090)
|
||||||
- Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
|
- Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
|
||||||
- Misc: Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully,
|
- Misc: Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully,
|
||||||
like most printf implementations. (#7016, #3466, #6846) [@codefrog2002]
|
like most printf implementations. (#7016, #3466, #6846) [@codefrog2002]
|
||||||
|
15
imgui.cpp
15
imgui.cpp
@ -14472,6 +14472,14 @@ void ImGui::DebugNodeColumns(ImGuiOldColumns* columns)
|
|||||||
TreePop();
|
TreePop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void FormatTextureIDForDebugDisplay(char* buf, int buf_size, const ImTextureID& tex_id)
|
||||||
|
{
|
||||||
|
if (sizeof(tex_id) >= sizeof(void*))
|
||||||
|
ImFormatString(buf, buf_size, "0x%p", (void*)*(intptr_t*)(void*)&tex_id);
|
||||||
|
else
|
||||||
|
ImFormatString(buf, buf_size, "0x%04X", *(int*)(void*)&tex_id);
|
||||||
|
}
|
||||||
|
|
||||||
// [DEBUG] Display contents of ImDrawList
|
// [DEBUG] Display contents of ImDrawList
|
||||||
void ImGui::DebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const char* label)
|
void ImGui::DebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const char* label)
|
||||||
{
|
{
|
||||||
@ -14508,10 +14516,11 @@ void ImGui::DebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, con
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char texid_desc[20];
|
||||||
|
FormatTextureIDForDebugDisplay(texid_desc, IM_ARRAYSIZE(texid_desc), pcmd->TextureId);
|
||||||
char buf[300];
|
char buf[300];
|
||||||
ImFormatString(buf, IM_ARRAYSIZE(buf), "DrawCmd:%5d tris, Tex 0x%p, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)",
|
ImFormatString(buf, IM_ARRAYSIZE(buf), "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)",
|
||||||
pcmd->ElemCount / 3, (void*)(intptr_t)pcmd->TextureId,
|
pcmd->ElemCount / 3, texid_desc, pcmd->ClipRect.x, pcmd->ClipRect.y, pcmd->ClipRect.z, pcmd->ClipRect.w);
|
||||||
pcmd->ClipRect.x, pcmd->ClipRect.y, pcmd->ClipRect.z, pcmd->ClipRect.w);
|
|
||||||
bool pcmd_node_open = TreeNode((void*)(pcmd - draw_list->CmdBuffer.begin()), "%s", buf);
|
bool pcmd_node_open = TreeNode((void*)(pcmd - draw_list->CmdBuffer.begin()), "%s", buf);
|
||||||
if (IsItemHovered() && (cfg->ShowDrawCmdMesh || cfg->ShowDrawCmdBoundingBoxes) && fg_draw_list)
|
if (IsItemHovered() && (cfg->ShowDrawCmdMesh || cfg->ShowDrawCmdBoundingBoxes) && fg_draw_list)
|
||||||
DebugNodeDrawCmdShowMeshAndBoundingBox(fg_draw_list, draw_list, pcmd, cfg->ShowDrawCmdMesh, cfg->ShowDrawCmdBoundingBoxes);
|
DebugNodeDrawCmdShowMeshAndBoundingBox(fg_draw_list, draw_list, pcmd, cfg->ShowDrawCmdMesh, cfg->ShowDrawCmdBoundingBoxes);
|
||||||
|
Loading…
Reference in New Issue
Block a user