summaryrefslogtreecommitdiff
path: root/desktop/textinput.h
diff options
context:
space:
mode:
authorAdrian Lees <adrian@aemulor.com>2006-02-11 18:33:05 +0000
committerAdrian Lees <adrian@aemulor.com>2006-02-11 18:33:05 +0000
commitedded10c0fab01984b43de8d857cce7b6027b242 (patch)
tree159e9ee70fa8fe88e72500f57fe5481fe4ec08a1 /desktop/textinput.h
parent6b6841f07e7f4afea7fc025214abedbc79d3aa03 (diff)
downloadnetsurf-edded10c0fab01984b43de8d857cce7b6027b242.tar.gz
netsurf-edded10c0fab01984b43de8d857cce7b6027b242.tar.bz2
[project @ 2006-02-11 18:33:05 by adrianl]
Textarea/selection improvements and fixes svn path=/import/netsurf/; revision=2072
Diffstat (limited to 'desktop/textinput.h')
-rw-r--r--desktop/textinput.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/desktop/textinput.h b/desktop/textinput.h
index c599ca0e1..14ddb35eb 100644
--- a/desktop/textinput.h
+++ b/desktop/textinput.h
@@ -46,12 +46,41 @@ enum input_key {
};
+struct caret
+{
+ bool defined;
+
+ struct browser_window *bw;
+ struct box *text_box;
+ size_t char_offset;
+
+ /* document co-ordinates of bottom left of caret */
+ int x;
+ int y;
+ int height;
+};
+
+
+/** There's a single ghost caret used to implement
+ * drag-and-drop of text into text areas and input fields.
+ */
+
+extern struct caret ghost_caret;
+
+
+void caret_set_position(struct caret *c, struct browser_window *bw,
+ struct box *text_box, int char_offset, int pixel_offset);
+void caret_remove(struct caret *c);
+
+
+struct box *textarea_get_position(struct box *textarea, int x, int y,
+ int *pchar_offset, int *ppixel_offset);
+
void browser_window_textarea_click(struct browser_window *bw,
browser_mouse_state mouse,
struct box *textarea,
int box_x, int box_y,
int x, int y);
-//bool browser_window_textarea_paste(struct browser_window *bw,
void browser_window_input_click(struct browser_window* bw,
struct box *input,