if(info->Desc[0]==0)// PushOverrideID() is often used to avoid hashing twice, which would lead to 2 calls to DebugHookIdInfo(). We prioritize the first one.
if(info->Desc[0]!=0)// PushOverrideID() is often used to avoid hashing twice, which would lead to 2 calls to DebugHookIdInfo(). We prioritize the first one.
if(info->QuerySuccess)// Source: GetID() hooks (prioritize over ItemInfo() because we frequently use patterns like: PushID(str), Button("") where they both have same id)
if(tool->StackLevel<tool->Results.Size)// Only start using fallback below when all queries are done, so during queries we don't flickering ??? markers.
MetricsHelpMarker("Hover an item with the mouse to display elements of the ID Stack leading to the item's final ID.\nEach level of the stack correspond to a PushID() call.\nAll levels of the stack are hashed together to make the final ID of a widget (ID displayed at the bottom level of the stack).\nRead FAQ entry about the ID stack for details.");
if(window)// Source: window name (because the root ID don't call GetID() and so doesn't get hooked)
Text("\"%s\" [window]",window->Name);
elseif(info->QuerySuccess)// Source: GetID() hooks (prioritize over ItemInfo() because we frequently use patterns like: PushID(str), Button("") where they both have same id)
TextUnformatted(info->Desc);
elseif(tool->StackLevel>=tool->Results.Size)// Only start using fallback below when all queries are done, so during queries we don't flickering ??? markers.
boolQuerySuccess;// Obtained result from DebugHookIdInfo()
charDesc[58];// Arbitrarily sized buffer to hold a result (FIXME: could replace Results[] with a chunk stream?)
ImGuiDataTypeDataType:8;
charDesc[57];// Arbitrarily sized buffer to hold a result (FIXME: could replace Results[] with a chunk stream?) FIXME: Now that we added CTRL+C this should be fixed.