summaryrefslogtreecommitdiff
path: root/framebuffer/fb_gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2009-02-13 17:34:18 +0000
committerVincent Sanders <vince@netsurf-browser.org>2009-02-13 17:34:18 +0000
commitce23bb867bce14a73cc758b6a3ad89cbe55ba506 (patch)
tree92d065b023ba36a5284a315aa8a3640d346d79a8 /framebuffer/fb_gui.c
parent79c0981402d27bfa5327876ad636137725b6d575 (diff)
downloadnetsurf-ce23bb867bce14a73cc758b6a3ad89cbe55ba506.tar.gz
netsurf-ce23bb867bce14a73cc758b6a3ad89cbe55ba506.tar.bz2
make url bar work
make SDL frontend keypresses more sensible split out inline image data into a seperate source file svn path=/trunk/netsurf/; revision=6469
Diffstat (limited to 'framebuffer/fb_gui.c')
-rw-r--r--framebuffer/fb_gui.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/framebuffer/fb_gui.c b/framebuffer/fb_gui.c
index a9c3ed136..786fcae16 100644
--- a/framebuffer/fb_gui.c
+++ b/framebuffer/fb_gui.c
@@ -279,13 +279,24 @@ void gui_quit(void)
#endif
}
+/* called back when click in browser window */
static int
fb_browser_window_click(struct gui_window *g, browser_mouse_state st, int x, int y)
{
+ LOG(("browser window clicked at %d,%d",x,y));
browser_window_mouse_click(g->bw,
st,
- x - g->x + g->scrollx,
- y - g->y + g->scrolly);
+ x + g->scrollx,
+ y + g->scrolly);
+ return 0;
+}
+
+static int
+fb_browser_window_input(fb_widget_t *widget, struct gui_window *g, int value)
+{
+ LOG(("got value %d",value));
+ if (value >= 0)
+ return browser_window_key_press(g->bw, value);
return 0;
}
@@ -308,9 +319,9 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
if (window_list == NULL) {
window_list = input_window = g;
- fb_add_window_widget(g, fb_browser_window_click);
+ fb_add_window_widget(g, 0, fb_browser_window_click, fb_browser_window_input);
} else {
- for(p = window_list; p->next != NULL; p = p->next);
+ for (p = window_list; p->next != NULL; p = p->next);
p->next = g;
g->prev = p;
}
@@ -456,8 +467,7 @@ void gui_window_update_extent(struct gui_window *g)
void gui_window_set_status(struct gui_window *g, const char *text)
{
- LOG(("g %p, text %s", g, text));
- fb_rootwindow_status(framebuffer, text);
+ fb_rootwindow_status(text);
}
void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape)
@@ -470,6 +480,7 @@ void gui_window_hide_pointer(struct gui_window *g)
void gui_window_set_url(struct gui_window *g, const char *url)
{
+ fb_rootwindow_url(url);
}
void gui_window_start_throbber(struct gui_window *g)