ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906)

This commit is contained in:
璀境石 2022-08-22 11:05:58 +02:00 committed by ocornut
parent c3ae04028e
commit ca67eae2f5
2 changed files with 5 additions and 4 deletions

View File

@ -16467,7 +16467,7 @@ void ImGui::ShowDebugLogWindow(bool* p_open)
// Display line, search for 0xXXXXXXXX identifiers and call DebugLocateItemOnHover() when hovered.
void ImGui::DebugTextUnformattedWithLocateItem(const char* line_begin, const char* line_end)
{
TextUnformatted(line_begin, line_end);
TextUnformatted(ImStrv(line_begin, line_end));
if (!IsItemHovered())
return;
ImGuiContext& g = *GImGui;
@ -16477,8 +16477,8 @@ void ImGui::DebugTextUnformattedWithLocateItem(const char* line_begin, const cha
ImGuiID id = 0;
if (p[0] != '0' || (p[1] != 'x' && p[1] != 'X') || sscanf(p + 2, "%X", &id) != 1 || ImCharIsXdigitA(p[10]))
continue;
ImVec2 p0 = CalcTextSize(line_begin, p);
ImVec2 p1 = CalcTextSize(p, p + 10);
ImVec2 p0 = CalcTextSize(ImStrv(line_begin, p));
ImVec2 p1 = CalcTextSize(ImStrv(p, p + 10));
g.LastItemData.Rect = ImRect(text_rect.Min + ImVec2(p0.x, 0.0f), text_rect.Min + ImVec2(p0.x + p1.x, p1.y));
if (IsMouseHoveringRect(g.LastItemData.Rect.Min, g.LastItemData.Rect.Max, true))
DebugLocateItemOnHover(id);

View File

@ -53,7 +53,8 @@ More information at: https://docs.microsoft.com/en-us/visualstudio/debugger/crea
<!-- String view (non zero-terminated begin/end pair) -->
<Type Name="ImStrv">
<DisplayString>{Begin,[End-Begin]s} ({End-Begin,d})</DisplayString>
<DisplayString>{Begin,[End-Begin]s8} ({End-Begin,d})</DisplayString>
<StringView>Begin,[End-Begin]s8</StringView>
</Type>
<Type Name="ImGuiWindow">