path: root/render/html.h
diff options
authorMichael Drake <>2010-06-04 09:35:08 +0000
committerMichael Drake <>2010-06-04 09:35:08 +0000
commitb010a257712b3d104035cbfc15aba8f517ffacb5 (patch)
treeba220c9c0c2c02ea1a8441ad8ace44d4c0bc5164 /render/html.h
parentbc9fef0a1a7a45a640d37353f97e72006e1e09b6 (diff)
+ Refactor input handling from browser window code into content
handlers. + Disentangle all box tree manipulation from browser window code and put it where it belongs. + Move other content specific and other irrelevant code from browser window handling to appropriate places. + Put mouse state enum in new mouse header, since it's not just used by browser window code, and it is used by treeview windows on the treeview branch. svn path=/trunk/netsurf/; revision=10561
Diffstat (limited to 'render/html.h')
1 files changed, 19 insertions, 4 deletions
diff --git a/render/html.h b/render/html.h
index 8977e6dd6..a5be4d939 100644
--- a/render/html.h
+++ b/render/html.h
@@ -28,6 +28,7 @@
#include <stdbool.h>
#include "content/content_type.h"
#include "css/css.h"
+#include "desktop/mouse.h"
#include "desktop/plot_style.h"
#include "render/parser_binding.h"
@@ -41,6 +42,8 @@ struct http_parameter;
struct imagemap;
struct object_params;
struct plotters;
+struct scroll;
+struct scroll_msg_data;
/* entries in stylesheet_content */
#define STYLESHEET_BASE 0 /* base style sheet */
@@ -202,15 +205,25 @@ void html_open(struct content *c, struct browser_window *bw,
void html_close(struct content *c);
void html_set_status(struct content *c, const char *extra);
+void html_redraw_a_box(struct hlcache_handle *h, struct box *box);
/* in render/html_redraw.c */
bool html_redraw(struct content *c, int x, int y,
int width, int height,
int clip_x0, int clip_y0, int clip_x1, int clip_y1,
float scale, colour background_colour);
-/* redraw a short text string, complete with highlighting
- (for selection/search) and ghost caret */
+/* in render/html_interaction.c */
+void html_mouse_track(struct content *c, struct browser_window *bw,
+ browser_mouse_state mouse, int x, int y);
+void html_mouse_action(struct content *c, struct browser_window *bw,
+ browser_mouse_state mouse, int x, int y);
+void html_overflow_scroll_callback(void *client_data,
+ struct scroll_msg_data *scroll_data);
+void html_overflow_scroll_drag_end(struct scroll *scroll,
+ browser_mouse_state mouse, int x, int y);
+size_t html_selection_drag_end(struct hlcache_handle *h,
+ browser_mouse_state mouse, int x, int y, int dir);
bool text_redraw(const char *utf8_text, size_t utf8_len,
size_t offset, bool space,
@@ -232,7 +245,9 @@ const char *html_get_base_target(struct hlcache_handle *h);
struct html_stylesheet *html_get_stylesheets(struct hlcache_handle *h,
unsigned int *n);
struct content_html_object *html_get_objects(struct hlcache_handle *h,
- unsigned int *n);
+ unsigned int *n);
struct hlcache_handle *html_get_favicon(struct hlcache_handle *h);
+bool html_get_id_offset(struct hlcache_handle *h, char *frag_id,
+ int *x, int *y);