From 2b309755d61d979ce37de9329c9394312b32fdc9 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 10 Mar 2009 21:45:54 +0000 Subject: move framebuffer port to framebuffer toolkit svn path=/trunk/netsurf/; revision=6760 --- framebuffer/fb_frontend_vnc.c | 202 +++++++----------------------------------- 1 file changed, 33 insertions(+), 169 deletions(-) (limited to 'framebuffer/fb_frontend_vnc.c') diff --git a/framebuffer/fb_frontend_vnc.c b/framebuffer/fb_frontend_vnc.c index f7ee89151..837cddaaf 100644 --- a/framebuffer/fb_frontend_vnc.c +++ b/framebuffer/fb_frontend_vnc.c @@ -32,130 +32,100 @@ #include "desktop/options.h" #include "utils/messages.h" #include "desktop/history_core.h" +#include "desktop/textinput.h" #include "framebuffer/fb_gui.h" +#include "framebuffer/fb_tk.h" #include "framebuffer/fb_plotters.h" #include "framebuffer/fb_frontend.h" #include "framebuffer/fb_cursor.h" -#include "framebuffer/fb_rootwindow.h" #include "framebuffer/fb_options.h" #include "utils/log.h" static rfbScreenInfoPtr vnc_screen; -static struct gui_window *cur_window; +static fbtk_widget_t *vncroot; static void fb_vnc_doptr(int buttonMask,int x,int y,rfbClientPtr cl) { - struct gui_window *g = cur_window; if (buttonMask == 0) { - fb_rootwindow_move(framebuffer, g, x, y, false); + fbtk_move_pointer(vncroot, x, y, false); } else { /* left button */ - /* if (buttonMask && 0x1) { - fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_1, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - }*/ if (buttonMask && 0x1) { - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_1, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); + fbtk_click(vncroot, BROWSER_MOUSE_CLICK_1); } /* right button */ - /*if (buttonMask && 0x4) { - fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_2, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - }*/ if (buttonMask && 0x4) { - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_2, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); + fbtk_click(vncroot, BROWSER_MOUSE_CLICK_2); } if (buttonMask && 0x8) { /* wheelup */ - fb_window_scroll(g, 0, -100); + fbtk_input(vncroot, KEY_UP); } if (buttonMask && 0x10) { /* wheeldown */ - fb_window_scroll(g, 0, 100); + fbtk_input(vncroot, KEY_DOWN); } - - - - /* - case SDL_MOUSEBUTTONUP: - switch (event.button.button) { - - case SDL_BUTTON_LEFT: - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_1, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - break; - - case SDL_BUTTON_RIGHT: - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_2, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - break; - - default: - printf("Mouse button %d pressed at (%d,%d)\n", - event.button.button, event.button.x, event.button.y); - - } - break; - */ } } -static void fb_vnc_dokey(rfbBool down,rfbKeySym key,rfbClientPtr cl) + +static void fb_vnc_dokey(rfbBool down, rfbKeySym key, rfbClientPtr cl) { - struct gui_window *g = cur_window; + int nskey; LOG(("Processing keycode %d",key)); - if(down) { + if (down) { switch (key) { case XK_Page_Down: - fb_window_scroll(g, 0, g->height); + nskey = KEY_PAGE_DOWN; break; case XK_Page_Up: - fb_window_scroll(g, 0, -g->height); + nskey = KEY_PAGE_UP; break; case XK_Down: - fb_window_scroll(g, 0, 100); + nskey = KEY_DOWN; break; case XK_Up: - fb_window_scroll(g, 0, -100); + nskey = KEY_UP; break; case XK_Escape: - browser_window_destroy(g->bw); + nskey = 27; break; case XK_Left: - if (history_back_available(g->bw->history)) - history_back(g->bw, g->bw->history); + nskey = KEY_LEFT; break; case XK_Right: - if (history_forward_available(g->bw->history)) - history_forward(g->bw, g->bw->history); + nskey = KEY_RIGHT; + break; + + case XK_BackSpace: + nskey = 8; + break; + + case XK_Return: + nskey = 13; break; default: - fb_rootwindow_input(g, key); + nskey = key; break; } + + fbtk_input(vncroot, nskey); + } } @@ -232,120 +202,14 @@ void fb_os_quit(framebuffer_t *fb) { } -void fb_os_input(struct gui_window *g, bool active) +void fb_os_input(fbtk_widget_t *root, bool active) { - //SDL_Event event; - cur_window = g; + vncroot = root; if (active) rfbProcessEvents(vnc_screen, 10000); else rfbProcessEvents(vnc_screen, 100000); - /* - switch (event.type) { - case SDL_KEYDOWN: - - 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_DOWN: - fb_window_scroll(g, 0, 100); - break; - - case SDLK_UP: - fb_window_scroll(g, 0, -100); - break; - - case SDLK_ESCAPE: - browser_window_destroy(g->bw); - break; - - case SDLK_LEFT: - if (history_back_available(g->bw->history)) - history_back(g->bw, g->bw->history); - break; - - case SDLK_RIGHT: - if (history_forward_available(g->bw->history)) - history_forward(g->bw, g->bw->history); - break; - - default: - printf("The %s key was pressed!\n", - SDL_GetKeyName(event.key.keysym.sym)); - fb_rootwindow_input(g, event.key.keysym.sym); - break; - } - break; - - case SDL_MOUSEMOTION: - fb_rootwindow_move(framebuffer, g, event.motion.x, event.motion.y, false); - break; - - case SDL_MOUSEBUTTONDOWN: - switch (event.button.button) { - - case SDL_BUTTON_LEFT: - fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_1, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - break; - - case SDL_BUTTON_RIGHT: - fb_rootwindow_click(g, BROWSER_MOUSE_PRESS_2, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - 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_MOUSEBUTTONUP: - switch (event.button.button) { - - case SDL_BUTTON_LEFT: - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_1, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - break; - - case SDL_BUTTON_RIGHT: - fb_rootwindow_click(g, BROWSER_MOUSE_CLICK_2, - fb_cursor_x(framebuffer), - fb_cursor_y(framebuffer)); - break; - - default: - printf("Mouse button %d pressed at (%d,%d)\n", - event.button.button, event.button.x, event.button.y); - - } - break; - - case SDL_QUIT: - browser_window_destroy(g->bw); - } - */ } void -- cgit v1.2.3