summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2014-10-18 18:53:50 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2014-10-18 18:53:50 +0100
commit85fb1fd45d4ee5901061d55bcdd0f19a04330d57 (patch)
tree78a0c9e5cb7f94f1ea66af9d192a28311a89f72a /desktop
parent8dea0fe8947800aae49f4fdf243fc0b468ea15ae (diff)
downloadnetsurf-85fb1fd45d4ee5901061d55bcdd0f19a04330d57.tar.gz
netsurf-85fb1fd45d4ee5901061d55bcdd0f19a04330d57.tar.bz2
Add is_selectable to browser window API surface.
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c16
-rw-r--r--desktop/browser.h8
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.
*