Snap to edges in no rollover multiline scroll mode

This commit is contained in:
lvgx 2020-09-29 16:13:57 +02:00 committed by GitHub
parent d9c0c08698
commit d1d4c4ad22
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5972,15 +5972,21 @@ nochange:
} }
#if NCURSES_MOUSE_VERSION > 1 #if NCURSES_MOUSE_VERSION > 1
/* Scroll up */ /* Scroll up */
if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur >= scroll_lines)) { if (event.bstate == BUTTON4_PRESSED && ndents && (cfg.rollover || cur)) {
move_cursor((cur + ndents - scroll_lines) % ndents, 0); if(!cfg.rollover && cur < scroll_lines)
move_cursor(0,0);
else
move_cursor((cur + ndents - scroll_lines) % ndents, 0);
break; break;
} }
/* Scroll down */ /* Scroll down */
if (event.bstate == BUTTON5_PRESSED && ndents if (event.bstate == BUTTON5_PRESSED && ndents
&& (cfg.rollover || (cur + scroll_lines < ndents))) { && (cfg.rollover || (cur != ndents - 1))) {
move_cursor((cur + scroll_lines) % ndents, 0); if(!cfg.rollover && cur >= ndents - scroll_lines)
move_cursor(ndents-1, 0);
else
move_cursor((cur + scroll_lines) % ndents, 0);
break; break;
} }
#endif #endif