MCPcopy Create free account
hub / github.com/Aegel5/SimpleSwitcher / DebugNodeViewport

Method DebugNodeViewport

imgui_tiny_app/imgui/imgui.cpp:23551–23586  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23549}
23550
23551void ImGui::DebugNodeViewport(ImGuiViewportP* viewport)
23552{
23553 ImGuiContext& g = *GImGui;
23554 SetNextItemOpen(true, ImGuiCond_Once);
23555 bool open = TreeNode((void*)(intptr_t)viewport->ID, "Viewport #%d, ID: 0x%08X, Parent: 0x%08X, Window: \"%s\"", viewport->Idx, viewport->ID, viewport->ParentViewportId, viewport->Window ? viewport->Window->Name : "N/A");
23556 if (IsItemHovered())
23557 g.DebugMetricsConfig.HighlightViewportID = viewport->ID;
23558 if (open)
23559 {
23560 ImGuiWindowFlags flags = viewport->Flags;
23561 BulletText("Main Pos: (%.0f,%.0f), Size: (%.0f,%.0f)\nFrameBufferScale: (%.2f,%.2f)\nWorkArea Inset Left: %.0f Top: %.0f, Right: %.0f, Bottom: %.0f\nMonitor: %d, DpiScale: %.0f%%",
23562 viewport->Pos.x, viewport->Pos.y, viewport->Size.x, viewport->Size.y,
23563 viewport->FramebufferScale.x, viewport->FramebufferScale.y,
23564 viewport->WorkInsetMin.x, viewport->WorkInsetMin.y, viewport->WorkInsetMax.x, viewport->WorkInsetMax.y,
23565 viewport->PlatformMonitor, viewport->DpiScale * 100.0f);
23566 if (viewport->Idx > 0) { SameLine(); if (SmallButton("Reset Pos")) { viewport->Pos = ImVec2(200, 200); viewport->UpdateWorkRect(); if (viewport->Window) viewport->Window->Pos = viewport->Pos; } }
23567 BulletText("Flags: 0x%04X =%s%s%s%s%s%s%s%s%s%s%s%s%s", viewport->Flags,
23568 //(flags & ImGuiViewportFlags_IsPlatformWindow) ? " IsPlatformWindow" : "", // Omitting because it is the standard
23569 (flags & ImGuiViewportFlags_IsPlatformMonitor) ? " IsPlatformMonitor" : "",
23570 (flags & ImGuiViewportFlags_IsMinimized) ? " IsMinimized" : "",
23571 (flags & ImGuiViewportFlags_IsFocused) ? " IsFocused" : "",
23572 (flags & ImGuiViewportFlags_OwnedByApp) ? " OwnedByApp" : "",
23573 (flags & ImGuiViewportFlags_NoDecoration) ? " NoDecoration" : "",
23574 (flags & ImGuiViewportFlags_NoTaskBarIcon) ? " NoTaskBarIcon" : "",
23575 (flags & ImGuiViewportFlags_NoFocusOnAppearing) ? " NoFocusOnAppearing" : "",
23576 (flags & ImGuiViewportFlags_NoFocusOnClick) ? " NoFocusOnClick" : "",
23577 (flags & ImGuiViewportFlags_NoInputs) ? " NoInputs" : "",
23578 (flags & ImGuiViewportFlags_NoRendererClear) ? " NoRendererClear" : "",
23579 (flags & ImGuiViewportFlags_NoAutoMerge) ? " NoAutoMerge" : "",
23580 (flags & ImGuiViewportFlags_TopMost) ? " TopMost" : "",
23581 (flags & ImGuiViewportFlags_CanHostOtherWindows) ? " CanHostOtherWindows" : "");
23582 for (ImDrawList* draw_list : viewport->DrawDataP.CmdLists)
23583 DebugNodeDrawList(NULL, viewport, draw_list, "DrawList");
23584 TreePop();
23585 }
23586}
23587
23588void ImGui::DebugNodePlatformMonitor(ImGuiPlatformMonitor* monitor, const char* label, int idx)
23589{

Callers

nothing calls this directly

Calls 2

ImVec2Function · 0.85
UpdateWorkRectMethod · 0.80

Tested by

no test coverage detected