summaryrefslogtreecommitdiff
path: root/framebuffer/fb_frontend_sdl.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2009-02-12 14:16:40 +0000
committerVincent Sanders <vince@netsurf-browser.org>2009-02-12 14:16:40 +0000
commit614de7d473b10710cb96d17e76c23a8ec7236b91 (patch)
tree940d69395a0edd49f33158a88f68743933b0d68c /framebuffer/fb_frontend_sdl.c
parent06ec51993ddf4e66feaf18464cbe8daaf8624e26 (diff)
downloadnetsurf-614de7d473b10710cb96d17e76c23a8ec7236b91.tar.gz
netsurf-614de7d473b10710cb96d17e76c23a8ec7236b91.tar.bz2
Fix window clipping and introduce concept of "root" framebuffer window to allow for navigation and status bars
svn path=/trunk/netsurf/; revision=6456
Diffstat (limited to 'framebuffer/fb_frontend_sdl.c')
-rw-r--r--framebuffer/fb_frontend_sdl.c35
1 files changed, 32 insertions, 3 deletions
diff --git a/framebuffer/fb_frontend_sdl.c b/framebuffer/fb_frontend_sdl.c
index cc78aae8b..98593929c 100644
--- a/framebuffer/fb_frontend_sdl.c
+++ b/framebuffer/fb_frontend_sdl.c
@@ -99,6 +99,14 @@ void fb_os_input(struct gui_window *g, bool active)
switch (event.key.keysym.sym) {
+ case SDLK_PAGEDOWN:
+ fb_window_scroll(g, 0, g->height);
+ break;
+
+ case SDLK_PAGEUP:
+ fb_window_scroll(g, 0, -g->height);
+ break;
+
case SDLK_j:
fb_window_scroll(g, 0, 100);
break;
@@ -135,9 +143,30 @@ void fb_os_input(struct gui_window *g, bool active)
break;
case SDL_MOUSEBUTTONDOWN:
- fb_cursor_click(framebuffer, g, BROWSER_MOUSE_CLICK_1);
- /* printf("Mouse button %d pressed at (%d,%d)\n",
- event.button.button, event.button.x, event.button.y);*/
+ switch (event.button.button) {
+
+ case SDL_BUTTON_LEFT:
+ fb_cursor_click(framebuffer, g, BROWSER_MOUSE_CLICK_1);
+ break;
+
+ case SDL_BUTTON_RIGHT:
+ fb_cursor_click(framebuffer, g, BROWSER_MOUSE_CLICK_2);
+ break;
+
+ case SDL_BUTTON_WHEELUP:
+ fb_window_scroll(g, 0, -100);
+ break;
+
+ case SDL_BUTTON_WHEELDOWN:
+ fb_window_scroll(g, 0, 100);
+ break;
+
+ case SDL_BUTTON_MIDDLE:
+ default:
+ printf("Mouse button %d pressed at (%d,%d)\n",
+ event.button.button, event.button.x, event.button.y);
+
+ }
break;
case SDL_QUIT: