From 667f7fd713bc2d4f9196bc71e2b8ac8b2ca210f1 Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Sat, 12 Oct 2024 21:51:58 +0200 Subject: Scroll full pages with mouse wheel When using the scroll wheel over a page, holding Shift will cause full pages to be scrolled instead of scroll steps. The same effect can be achieved by scrolling over the vertical scrollbar. --- dw/fltkviewport.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'dw/fltkviewport.cc') diff --git a/dw/fltkviewport.cc b/dw/fltkviewport.cc index f0b69cb8..b8f4e51e 100644 --- a/dw/fltkviewport.cc +++ b/dw/fltkviewport.cc @@ -348,6 +348,16 @@ int FltkViewport::handle (int event) break; case FL_MOUSEWHEEL: + if ((vscrollbar->visible() && Fl::event_inside(vscrollbar)) || + Fl::event_shift()) { + if (Fl::event_dy() > 0) { + scroll(core::SCREEN_DOWN_CMD); + return 1; + } else if (Fl::event_dy() < 0) { + scroll(core::SCREEN_UP_CMD); + return 1; + } + } return (Fl::event_dx() ? hscrollbar : vscrollbar)->handle(event); break; -- cgit v1.2.3