diff options
-rw-r--r-- | framebuffer/gui.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c index 5feae75f3..13fbf2836 100644 --- a/framebuffer/gui.c +++ b/framebuffer/gui.c @@ -585,12 +585,22 @@ fb_browser_window_click(fbtk_widget_t *widget, fbtk_callback_info *cbi) case NSFB_KEY_MOUSE_4: /* scroll up */ - widget_scroll_y(gw, -100, false); + scale = gw->bw->scale; + if (browser_window_scroll_at_point(gw->bw, + (cbi->x + bwidget->scrollx) / scale, + (cbi->y + bwidget->scrolly) / scale, + 0, -100) == false) + widget_scroll_y(gw, -100, false); break; case NSFB_KEY_MOUSE_5: /* scroll down */ - widget_scroll_y(gw, 100, false); + scale = gw->bw->scale; + if (browser_window_scroll_at_point(gw->bw, + (cbi->x + bwidget->scrollx) / scale, + (cbi->y + bwidget->scrolly) / scale, + 0, 100) == false) + widget_scroll_y(gw, 100, false); break; default: |