path: root/content/content_protected.h
diff options
authorMichael Drake <>2013-02-22 12:19:35 +0000
committerMichael Drake <>2013-02-22 12:19:35 +0000
commitc2a718075ad321a9cf4678e72645acda5c3471a9 (patch)
treea634c4c47c579aab35839ee3861ef90f92d89b48 /content/content_protected.h
parent2b0cc398bb5b8e5dc90fcc0a71a9a154dd9f2d74 (diff)
A load of refactoring of how content selection and input work.
Keypresses now go via content interface. Contents don't shove the selection object into browser windows any more. Contents report selection existence by sending message. HTML content keeps track of where selections in it exist. Contents report whether they have input focus via caret setting msg. Caret can be hidden (can still input/paste) or removed. Consolidate textarea selection handling. Make textarea report its selection status changes to client. Various textarea fixes. Changed how we decide when to clear selections, and give focus.
Diffstat (limited to 'content/content_protected.h')
1 files changed, 3 insertions, 1 deletions
diff --git a/content/content_protected.h b/content/content_protected.h
index ecbe17fc7..8efe763aa 100644
--- a/content/content_protected.h
+++ b/content/content_protected.h
@@ -58,13 +58,15 @@ struct content_handler {
browser_mouse_state mouse, int x, int y);
void (*mouse_action)(struct content *c, struct browser_window *bw,
browser_mouse_state mouse, int x, int y);
+ bool (*keypress)(struct content *c, uint32_t key);
bool (*redraw)(struct content *c, struct content_redraw_data *data,
const struct rect *clip,
const struct redraw_context *ctx);
void (*open)(struct content *c, struct browser_window *bw,
struct content *page, struct object_params *params);
void (*close)(struct content *c);
- struct selection * (*get_selection)(struct content *c);
+ void (*clear_selection)(struct content *c);
+ char * (*get_selection)(struct content *c);
void (*get_contextual_content)(struct content *c, int x, int y,
struct contextual_content *data);
bool (*scroll_at_point)(struct content *c, int x, int y,