summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-09-06 18:07:30 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-09-06 18:07:30 +0000
commit4075648e7a6c2c0881ecb758d61a461ea303789b (patch)
tree61e4b8951d8db2f8cb51a71d0a52ec1c0206defe /content
parent318803d382986b8c7f5f4f7b5df6e8f3d377c1cb (diff)
downloadnetsurf-4075648e7a6c2c0881ecb758d61a461ea303789b.tar.gz
netsurf-4075648e7a6c2c0881ecb758d61a461ea303789b.tar.bz2
Content interface to get at contextual content at point.
svn path=/trunk/netsurf/; revision=12753
Diffstat (limited to 'content')
-rw-r--r--content/content.c16
-rw-r--r--content/content.h2
-rw-r--r--content/content_protected.h2
3 files changed, 20 insertions, 0 deletions
diff --git a/content/content.c b/content/content.c
index 4c87f0eb5..f2d06b639 100644
--- a/content/content.c
+++ b/content/content.c
@@ -701,6 +701,22 @@ struct selection *content_get_selection(hlcache_handle *h)
}
+void content_get_contextual_content(struct hlcache_handle *h,
+ int x, int y, struct contextual_content *data)
+{
+ struct content *c = hlcache_handle_get_content(h);
+ assert(c != 0);
+
+ if (c->handler->get_contextual_content != NULL) {
+ c->handler->get_contextual_content(c, x, y, data);
+ return;
+ } else {
+ data->object = h;
+ return;
+ }
+}
+
+
void content_add_error(struct content *c, const char *token,
unsigned int line)
{
diff --git a/content/content.h b/content/content.h
index 1b2a8d097..21c8954c9 100644
--- a/content/content.h
+++ b/content/content.h
@@ -158,6 +158,8 @@ void content_open(struct hlcache_handle *h, struct browser_window *bw,
struct object_params *params);
void content_close(struct hlcache_handle *h);
struct selection *content_get_selection(struct hlcache_handle *h);
+void content_get_contextual_content(struct hlcache_handle *h,
+ int x, int y, struct contextual_content *data);
/* Member accessors */
content_type content_get_type(struct hlcache_handle *c);
diff --git a/content/content_protected.h b/content/content_protected.h
index a1d6c7076..d9a021f3e 100644
--- a/content/content_protected.h
+++ b/content/content_protected.h
@@ -65,6 +65,8 @@ struct content_handler {
struct object_params *params);
void (*close)(struct content *c);
struct selection * (*get_selection)(struct content *c);
+ void (*get_contextual_content)(struct content *c, int x, int y,
+ struct contextual_content *data);
nserror (*clone)(const struct content *old, struct content **newc);
bool (*matches_quirks)(const struct content *c, bool quirks);
content_type (*type)(void);