diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2011-07-14 10:27:24 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2011-07-14 10:27:24 +0000 |
commit | 430b63e2429179f422b68e1da0d576c8662b5d5a (patch) | |
tree | bdaebe747833f923130a169d1107ceee3da614ee /desktop/browser.c | |
parent | 8faa353087b8642dd71d3ab4b3e6f3075fe0d5fa (diff) | |
download | netsurf-430b63e2429179f422b68e1da0d576c8662b5d5a.tar.gz netsurf-430b63e2429179f422b68e1da0d576c8662b5d5a.tar.bz2 |
Remove assumption of gui window from search.
svn path=/trunk/netsurf/; revision=12603
Diffstat (limited to 'desktop/browser.c')
-rw-r--r-- | desktop/browser.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 54c89fe64..7fd572e21 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -378,15 +378,32 @@ struct selection *browser_window_get_selection(struct browser_window *bw) return bw->cur_sel; } -/** - * Set scroll offsets for a browser window. - * - * \param bw The browser window - * \param x The x scroll offset to set - * \param y The y scroll offset to set - */ +/* exported interface, documented in browser.h */ +void browser_window_scroll_visible(struct browser_window *bw, + const struct rect *rect) +{ + assert(bw != NULL); -static void browser_window_set_scroll(struct browser_window *bw, int x, int y) + switch (bw->browser_window_type) { + default: + /* fall through to NORMAL until frame(set)s are handled + * in the core */ + case BROWSER_WINDOW_NORMAL: + gui_window_scroll_visible(bw->window, + rect->x0, rect->y0, rect->x1, rect->y1); + break; + + case BROWSER_WINDOW_IFRAME: + if (bw->scroll_x != NULL) + scrollbar_set(bw->scroll_x, rect->x0, false); + if (bw->scroll_y != NULL) + scrollbar_set(bw->scroll_y, rect->y0, false); + break; + } +} + +/* exported interface, documented in browser.h */ +void browser_window_set_scroll(struct browser_window *bw, int x, int y) { if (bw->window != NULL) { gui_window_set_scroll(bw->window, x, y); |