mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-28 09:30:56 +01:00
# Conflicts: # imgui.cpp
This commit is contained in:
parent
20e040c858
commit
657073a650
12
imgui.cpp
12
imgui.cpp
@ -2476,7 +2476,7 @@ bool ImGuiListClipper::Step()
|
|||||||
IM_ASSERT(table->RowPosY1 == StartPosY && table->RowPosY2 == window->DC.CursorPos.y);
|
IM_ASSERT(table->RowPosY1 == StartPosY && table->RowPosY2 == window->DC.CursorPos.y);
|
||||||
|
|
||||||
ItemsHeight = (window->DC.CursorPos.y - StartPosY) / (float)(DisplayEnd - DisplayStart);
|
ItemsHeight = (window->DC.CursorPos.y - StartPosY) / (float)(DisplayEnd - DisplayStart);
|
||||||
float affected_by_floating_point_precision = ImIsFloatAboveGuaranteedIntegerPrecision(StartPosY) || ImIsFloatAboveGuaranteedIntegerPrecision(window->DC.CursorPos.y);
|
bool affected_by_floating_point_precision = ImIsFloatAboveGuaranteedIntegerPrecision(StartPosY) || ImIsFloatAboveGuaranteedIntegerPrecision(window->DC.CursorPos.y);
|
||||||
if (affected_by_floating_point_precision)
|
if (affected_by_floating_point_precision)
|
||||||
ItemsHeight = window->DC.PrevLineSize.y + g.Style.ItemSpacing.y; // FIXME: Technically wouldn't allow multi-line entries.
|
ItemsHeight = window->DC.PrevLineSize.y + g.Style.ItemSpacing.y; // FIXME: Technically wouldn't allow multi-line entries.
|
||||||
|
|
||||||
@ -4456,13 +4456,13 @@ static void ImGui::RenderDimmedBackgroundBehindWindow(ImGuiWindow* window, ImU32
|
|||||||
// Draw behind window by moving the draw command at the FRONT of the draw list
|
// Draw behind window by moving the draw command at the FRONT of the draw list
|
||||||
{
|
{
|
||||||
ImDrawList* draw_list = window->RootWindow->DrawList;
|
ImDrawList* draw_list = window->RootWindow->DrawList;
|
||||||
draw_list->AddDrawCmd();
|
|
||||||
draw_list->PushClipRect(viewport_rect.Min - ImVec2(1, 1), viewport_rect.Max + ImVec2(1, 1), false); // Ensure ImDrawCmd are not merged
|
draw_list->PushClipRect(viewport_rect.Min - ImVec2(1, 1), viewport_rect.Max + ImVec2(1, 1), false); // Ensure ImDrawCmd are not merged
|
||||||
draw_list->AddRectFilled(viewport_rect.Min, viewport_rect.Max, col);
|
draw_list->AddRectFilled(viewport_rect.Min, viewport_rect.Max, col);
|
||||||
ImDrawCmd cmd = draw_list->CmdBuffer.back();
|
ImDrawCmd cmd = draw_list->CmdBuffer.back();
|
||||||
IM_ASSERT(cmd.ElemCount == 6);
|
IM_ASSERT(cmd.ElemCount == 6);
|
||||||
draw_list->CmdBuffer.pop_back();
|
draw_list->CmdBuffer.pop_back();
|
||||||
draw_list->CmdBuffer.push_front(cmd);
|
draw_list->CmdBuffer.push_front(cmd);
|
||||||
|
draw_list->PopClipRect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4608,6 +4608,10 @@ void ImGui::Render()
|
|||||||
AddDrawListToDrawData(&viewport->DrawDataBuilder.Layers[0], GetBackgroundDrawList(viewport));
|
AddDrawListToDrawData(&viewport->DrawDataBuilder.Layers[0], GetBackgroundDrawList(viewport));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Draw modal/window whitening backgrounds
|
||||||
|
if (first_render_of_frame)
|
||||||
|
RenderDimmedBackgrounds();
|
||||||
|
|
||||||
// Add ImDrawList to render
|
// Add ImDrawList to render
|
||||||
ImGuiWindow* windows_to_render_top_most[2];
|
ImGuiWindow* windows_to_render_top_most[2];
|
||||||
windows_to_render_top_most[0] = (g.NavWindowingTarget && !(g.NavWindowingTarget->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus)) ? g.NavWindowingTarget->RootWindow : NULL;
|
windows_to_render_top_most[0] = (g.NavWindowingTarget && !(g.NavWindowingTarget->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus)) ? g.NavWindowingTarget->RootWindow : NULL;
|
||||||
@ -4623,10 +4627,6 @@ void ImGui::Render()
|
|||||||
if (windows_to_render_top_most[n] && IsWindowActiveAndVisible(windows_to_render_top_most[n])) // NavWindowingTarget is always temporarily displayed as the top-most window
|
if (windows_to_render_top_most[n] && IsWindowActiveAndVisible(windows_to_render_top_most[n])) // NavWindowingTarget is always temporarily displayed as the top-most window
|
||||||
AddRootWindowToDrawData(windows_to_render_top_most[n]);
|
AddRootWindowToDrawData(windows_to_render_top_most[n]);
|
||||||
|
|
||||||
// Draw modal/window whitening backgrounds
|
|
||||||
if (first_render_of_frame)
|
|
||||||
RenderDimmedBackgrounds();
|
|
||||||
|
|
||||||
// Setup ImDrawData structures for end-user
|
// Setup ImDrawData structures for end-user
|
||||||
g.IO.MetricsRenderVertices = g.IO.MetricsRenderIndices = 0;
|
g.IO.MetricsRenderVertices = g.IO.MetricsRenderIndices = 0;
|
||||||
for (int n = 0; n < g.Viewports.Size; n++)
|
for (int n = 0; n < g.Viewports.Size; n++)
|
||||||
|
Loading…
Reference in New Issue
Block a user