Scrollbar: Shift+Click always use absolute positionning scroll. (#8002, #7328)

This commit is contained in:
ocornut 2024-09-20 18:08:13 +02:00
parent 4aeae5d718
commit a727332e77
2 changed files with 4 additions and 2 deletions

View File

@ -43,6 +43,8 @@ Breaking changes:
Other changes: Other changes:
- Scrollbar: Shift+Click always use absolute positionning scroll (which was the default
before 1.90.8). (#8002, #7328)
- Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TIMER removal. - Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TIMER removal.

View File

@ -1000,8 +1000,8 @@ bool ImGui::ScrollbarEx(const ImRect& bb_frame, ImGuiID id, ImGuiAxis axis, ImS6
if (g.ActiveIdIsJustActivated) if (g.ActiveIdIsJustActivated)
{ {
// On initial click calculate the distance between mouse and the center of the grab // On initial click calculate the distance between mouse and the center of the grab
g.ScrollbarSeekMode = (short)held_dir; g.ScrollbarSeekMode = g.IO.KeyShift ? 0 : (short)held_dir;
g.ScrollbarClickDeltaToGrabCenter = (g.ScrollbarSeekMode == 0.0f) ? clicked_v_norm - grab_v_norm - grab_h_norm * 0.5f : 0.0f; g.ScrollbarClickDeltaToGrabCenter = (g.ScrollbarSeekMode == 0 && !g.IO.KeyShift) ? clicked_v_norm - grab_v_norm - grab_h_norm * 0.5f : 0.0f;
} }
// Apply scroll (p_scroll_v will generally point on one member of window->Scroll) // Apply scroll (p_scroll_v will generally point on one member of window->Scroll)