mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-23 21:09:01 +08:00
Asserting for invalid DpIScale values. (#8156)
Some checks failed
Some checks failed
This commit is contained in:
parent
8082a84903
commit
d66f4e5890
@ -11050,7 +11050,7 @@ static void ImGui::ErrorCheckNewFrameSanityChecks()
|
|||||||
IM_UNUSED(mon);
|
IM_UNUSED(mon);
|
||||||
IM_ASSERT(mon.MainSize.x > 0.0f && mon.MainSize.y > 0.0f && "Monitor main bounds not setup properly.");
|
IM_ASSERT(mon.MainSize.x > 0.0f && mon.MainSize.y > 0.0f && "Monitor main bounds not setup properly.");
|
||||||
IM_ASSERT(ImRect(mon.MainPos, mon.MainPos + mon.MainSize).Contains(ImRect(mon.WorkPos, mon.WorkPos + mon.WorkSize)) && "Monitor work bounds not setup properly. If you don't have work area information, just copy MainPos/MainSize into them.");
|
IM_ASSERT(ImRect(mon.MainPos, mon.MainPos + mon.MainSize).Contains(ImRect(mon.WorkPos, mon.WorkPos + mon.WorkSize)) && "Monitor work bounds not setup properly. If you don't have work area information, just copy MainPos/MainSize into them.");
|
||||||
IM_ASSERT(mon.DpiScale != 0.0f);
|
IM_ASSERT(mon.DpiScale > 0.0f && mon.DpiScale < 99.0f && "Monitor DpiScale is invalid."); // Typical correct values would be between 1.0f and 4.0f
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -15515,6 +15515,7 @@ void ImGui::SetCurrentViewport(ImGuiWindow* current_window, ImGuiViewportP* view
|
|||||||
return;
|
return;
|
||||||
g.CurrentDpiScale = viewport ? viewport->DpiScale : 1.0f;
|
g.CurrentDpiScale = viewport ? viewport->DpiScale : 1.0f;
|
||||||
g.CurrentViewport = viewport;
|
g.CurrentViewport = viewport;
|
||||||
|
IM_ASSERT(g.CurrentDpiScale > 0.0f && g.CurrentDpiScale < 99.0f); // Typical correct values would be between 1.0f and 4.0f
|
||||||
//IMGUI_DEBUG_LOG_VIEWPORT("[viewport] SetCurrentViewport changed '%s' 0x%08X\n", current_window ? current_window->Name : NULL, viewport ? viewport->ID : 0);
|
//IMGUI_DEBUG_LOG_VIEWPORT("[viewport] SetCurrentViewport changed '%s' 0x%08X\n", current_window ? current_window->Name : NULL, viewport ? viewport->ID : 0);
|
||||||
|
|
||||||
// Notify platform layer of viewport changes
|
// Notify platform layer of viewport changes
|
||||||
@ -15793,6 +15794,7 @@ static void ImGui::UpdateViewportsNewFrame()
|
|||||||
new_dpi_scale = g.PlatformIO.Monitors[viewport->PlatformMonitor].DpiScale;
|
new_dpi_scale = g.PlatformIO.Monitors[viewport->PlatformMonitor].DpiScale;
|
||||||
else
|
else
|
||||||
new_dpi_scale = (viewport->DpiScale != 0.0f) ? viewport->DpiScale : 1.0f;
|
new_dpi_scale = (viewport->DpiScale != 0.0f) ? viewport->DpiScale : 1.0f;
|
||||||
|
IM_ASSERT(new_dpi_scale > 0.0f && new_dpi_scale < 99.0f); // Typical correct values would be between 1.0f and 4.0f
|
||||||
if (viewport->DpiScale != 0.0f && new_dpi_scale != viewport->DpiScale)
|
if (viewport->DpiScale != 0.0f && new_dpi_scale != viewport->DpiScale)
|
||||||
{
|
{
|
||||||
float scale_factor = new_dpi_scale / viewport->DpiScale;
|
float scale_factor = new_dpi_scale / viewport->DpiScale;
|
||||||
|
Loading…
Reference in New Issue
Block a user