|
@@ -5310,8 +5310,9 @@ void ImGui::SetScrollFromPosY(float pos_y, float center_y_ratio)
|
|
|
void ImGui::SetScrollHere(float center_y_ratio)
|
|
|
{
|
|
|
ImGuiWindow* window = GetCurrentWindow();
|
|
|
- float target_y = window->DC.CursorPosPrevLine.y + (window->DC.PrevLineHeight * center_y_ratio) + (GImGui->Style.ItemSpacing.y * (center_y_ratio - 0.5f) * 2.0f); // Precisely aim above, in the middle or below the last line.
|
|
|
- SetScrollFromPosY(target_y - window->Pos.y, center_y_ratio);
|
|
|
+ float target_y = window->DC.CursorPosPrevLine.y - window->Pos.y; // Top of last item, in window space
|
|
|
+ target_y += (window->DC.PrevLineHeight * center_y_ratio) + (GImGui->Style.ItemSpacing.y * (center_y_ratio - 0.5f) * 2.0f); // Precisely aim above, in the middle or below the last line.
|
|
|
+ SetScrollFromPosY(target_y, center_y_ratio);
|
|
|
}
|
|
|
|
|
|
void ImGui::SetKeyboardFocusHere(int offset)
|