diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2014-10-18 18:53:50 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2014-10-18 18:53:50 +0100 |
commit | 85fb1fd45d4ee5901061d55bcdd0f19a04330d57 (patch) | |
tree | 78a0c9e5cb7f94f1ea66af9d192a28311a89f72a | |
parent | 8dea0fe8947800aae49f4fdf243fc0b468ea15ae (diff) | |
download | netsurf-85fb1fd45d4ee5901061d55bcdd0f19a04330d57.tar.gz netsurf-85fb1fd45d4ee5901061d55bcdd0f19a04330d57.tar.bz2 |
Add is_selectable to browser window API surface.
-rw-r--r-- | desktop/browser.c | 16 | ||||
-rw-r--r-- | desktop/browser.h | 8 |
2 files changed, 24 insertions, 0 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index d2f56b98c..217e8bb0b 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -431,6 +431,22 @@ browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw) } /* exported interface, documented in browser.h */ +bool browser_window_can_select(struct browser_window *bw) +{ + if (bw == NULL || bw->current_content == NULL) + return false; + + /* TODO: We shouldn't have to know about specific content types + * here. There should be a content_is_selectable() call. */ + if (content_get_type(bw->current_content) != CONTENT_HTML && + content_get_type(bw->current_content) != + CONTENT_TEXTPLAIN) + return false; + + return true; +} + +/* exported interface, documented in browser.h */ char * browser_window_get_selection(struct browser_window *bw) { assert(bw->window); diff --git a/desktop/browser.h b/desktop/browser.h index 68545dd20..935e2425c 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -454,6 +454,14 @@ struct browser_window * browser_window_get_root(struct browser_window *bw); browser_editor_flags browser_window_get_editor_flags(struct browser_window *bw); /** + * Find out if given browser window content is selectable + * + * \param bw browser window to look at + * \return true iff browser window is selectable + */ +bool browser_window_can_select(struct browser_window *bw); + +/** * Get the current selection from a root browser window, ownership passed to * caller, who must free() it. * |