summaryrefslogtreecommitdiff
path: root/desktop/browser.h
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/browser.h')
-rw-r--r--desktop/browser.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/desktop/browser.h b/desktop/browser.h
index 7c36bf1d2..d0695f295 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -47,12 +47,13 @@ struct bitmap;
struct scroll_msg_data;
struct fetch_multipart_data;
-typedef bool (*browser_caret_callback)(struct browser_window *bw,
- uint32_t key, void *p);
-typedef bool (*browser_paste_callback)(struct browser_window *bw,
- const char *utf8, unsigned utf8_len, bool last, void *p);
+typedef bool (*browser_caret_callback)(struct browser_window *bw, uint32_t key,
+ void *p1, void *p2);
typedef void (*browser_move_callback)(struct browser_window *bw,
- void *p);
+ void *p1, void *p2);
+typedef bool (*browser_paste_callback)(struct browser_window *bw,
+ const char *utf8, unsigned utf8_len, bool last,
+ void *p1, void *p2);
typedef enum {
@@ -87,8 +88,10 @@ struct browser_window {
/** Handler for repositioning caret, or 0. */
browser_move_callback move_callback;
- /** User parameter for caret_callback and paste_callback */
- void *caret_p;
+ /** User parameters for caret_callback, paste_callback, and
+ * move_callback */
+ void *caret_p1;
+ void *caret_p2;
/** Platform specific window data. */
struct gui_window *window;
@@ -242,9 +245,6 @@ struct browser_window *browser_window_find_target(
struct browser_window *bw, const char *target,
browser_mouse_state mouse);
-bool browser_window_key_press(struct browser_window *bw, uint32_t key);
-bool browser_window_paste_text(struct browser_window *bw, const char *utf8,
- unsigned utf8_len, bool last);
void browser_redraw_box(struct hlcache_handle *c, struct box *box);
void browser_select_menu_callback(void *client_data,
@@ -263,6 +263,20 @@ bool browser_window_forward_available(struct browser_window *bw);
bool browser_window_reload_available(struct browser_window *bw);
bool browser_window_stop_available(struct browser_window *bw);
+
+/* In desktop/textinput.c */
+void browser_window_place_caret(struct browser_window *bw,
+ int x, int y, int height,
+ browser_caret_callback caret_cb,
+ browser_paste_callback paste_cb,
+ browser_move_callback move_cb,
+ void *p1, void *p2);
+void browser_window_remove_caret(struct browser_window *bw);
+bool browser_window_key_press(struct browser_window *bw, uint32_t key);
+bool browser_window_paste_text(struct browser_window *bw, const char *utf8,
+ unsigned utf8_len, bool last);
+
+
/**
* Redraw an area of a window
*