diff options
Diffstat (limited to 'framebuffer/fb_cursor.c')
-rw-r--r-- | framebuffer/fb_cursor.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/framebuffer/fb_cursor.c b/framebuffer/fb_cursor.c index e2c066be7..cc6a30d42 100644 --- a/framebuffer/fb_cursor.c +++ b/framebuffer/fb_cursor.c @@ -35,6 +35,7 @@ #include "framebuffer/fb_bitmap.h" #include "framebuffer/fb_cursor.h" #include "framebuffer/fb_frontend.h" +#include "framebuffer/fb_rootwindow.h" struct fb_cursor_s { int x; @@ -262,11 +263,18 @@ fb_cursor_click(framebuffer_t *fb, struct gui_window *g, browser_mouse_state st) { + /* check click lies within window */ + if ((fb->cursor->x > g->x) && + (fb->cursor->y > g->y) && + (fb->cursor->x < g->x + g->width) && + (fb->cursor->y < g->y + g->height)) { browser_window_mouse_click(g->bw, st, - fb->cursor->x, - fb->cursor->y + g->scrolly); - + fb->cursor->x - g->x + g->scrollx, + fb->cursor->y - g->y + g->scrolly); + } else { + fb_rootwindow_click(st, fb->cursor->x, fb->cursor->y); + } } /* |