summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-11-29 17:47:29 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-11-29 17:47:29 +0000
commit4856a4c1fba73c5ae20723cc1e5f93f5b0bfbefc (patch)
tree1cbf2adc8328e6dd9429a7437e9f3eb290b9b466 /content
parent9a29f4b4fe7a0c402d61c25a234274e223c0c7d7 (diff)
downloadnetsurf-4856a4c1fba73c5ae20723cc1e5f93f5b0bfbefc.tar.gz
netsurf-4856a4c1fba73c5ae20723cc1e5f93f5b0bfbefc.tar.bz2
Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
Diffstat (limited to 'content')
-rw-r--r--content/content.c13
-rw-r--r--content/content.h2
-rw-r--r--content/content_protected.h4
3 files changed, 18 insertions, 1 deletions
diff --git a/content/content.c b/content/content.c
index 28d18bcab..a4f36e2f6 100644
--- a/content/content.c
+++ b/content/content.c
@@ -733,6 +733,19 @@ void content_get_contextual_content(struct hlcache_handle *h,
}
+bool content_scroll_at_point(struct hlcache_handle *h,
+ int x, int y, int scrx, int scry)
+{
+ struct content *c = hlcache_handle_get_content(h);
+ assert(c != 0);
+
+ if (c->handler->scroll_at_point != NULL)
+ return c->handler->scroll_at_point(c, x, y, scrx, scry);
+
+ return false;
+}
+
+
void content_add_error(struct content *c, const char *token,
unsigned int line)
{
diff --git a/content/content.h b/content/content.h
index 3fd0bd63a..6e900922a 100644
--- a/content/content.h
+++ b/content/content.h
@@ -175,6 +175,8 @@ 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);
+bool content_scroll_at_point(struct hlcache_handle *h,
+ int x, int y, int scrx, int scry);
struct content_rfc5988_link *content_find_rfc5988_link(struct hlcache_handle *c,
lwc_string *rel);
diff --git a/content/content_protected.h b/content/content_protected.h
index 05b1940f2..54825589e 100644
--- a/content/content_protected.h
+++ b/content/content_protected.h
@@ -68,7 +68,9 @@ struct content_handler {
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);
+ struct contextual_content *data);
+ bool (*scroll_at_point)(struct content *c, int x, int y,
+ int scrx, int scry);
nserror (*clone)(const struct content *old, struct content **newc);
bool (*matches_quirks)(const struct content *c, bool quirks);
content_type (*type)(void);