From 9e1dbe3a36c8b33787174850874caa6c5ae94107 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sun, 1 Aug 2004 13:08:19 +0000 Subject: [project @ 2004-08-01 13:08:18 by bursa] More work on overflow. Modify block centering to left-align when insufficient space. Fix caret positioning for form controls with padding. svn path=/import/netsurf/; revision=1171 --- desktop/browser.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'desktop/browser.c') diff --git a/desktop/browser.c b/desktop/browser.c index c4dcc5c54..8d1205315 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -885,10 +885,12 @@ void browser_window_textarea_click(struct browser_window *bw, textarea->gadget->caret_inline_container = inline_container; textarea->gadget->caret_text_box = text_box; - textarea->gadget->caret_box_offset = textarea->gadget->caret_form_offset = char_offset; + textarea->gadget->caret_box_offset = + textarea->gadget->caret_form_offset = char_offset; textarea->gadget->caret_pixel_offset = pixel_offset; browser_window_place_caret(bw, - box_x + text_box->x + pixel_offset, + box_x + inline_container->x + text_box->x + + pixel_offset, box_y + inline_container->y + text_box->y, text_box->height, browser_window_textarea_callback, textarea); @@ -1152,10 +1154,12 @@ void browser_window_textarea_callback(struct browser_window *bw, textarea->gadget->caret_inline_container = inline_container; textarea->gadget->caret_text_box = text_box; - textarea->gadget->caret_box_offset = textarea->gadget->caret_form_offset = char_offset; + textarea->gadget->caret_box_offset = + textarea->gadget->caret_form_offset = char_offset; textarea->gadget->caret_pixel_offset = pixel_offset; browser_window_place_caret(bw, - box_x + text_box->x + pixel_offset, + box_x + inline_container->x + text_box->x + + pixel_offset, box_y + inline_container->y + text_box->y, text_box->height, browser_window_textarea_callback, textarea); @@ -1227,8 +1231,8 @@ void browser_window_input_click(struct browser_window* bw, input->gadget->caret_form_offset = offset; input->gadget->caret_pixel_offset = pixel_offset; browser_window_place_caret(bw, - box_x + text_box->x + pixel_offset, - box_y + text_box->y, + box_x + input->children->x + text_box->x + pixel_offset, + box_y + input->children->y + text_box->y, text_box->height, browser_window_input_callback, input); @@ -1449,8 +1453,8 @@ void browser_window_input_callback(struct browser_window *bw, input->gadget->caret_form_offset = form_offset; browser_window_place_caret(bw, - box_x + text_box->x + pixel_offset, - box_y + text_box->y, + box_x + input->children->x + text_box->x + pixel_offset, + box_y + input->children->y + text_box->y, text_box->height, browser_window_input_callback, input); @@ -1458,6 +1462,7 @@ void browser_window_input_callback(struct browser_window *bw, browser_redraw_box(bw->current_content, input); } + /** * Position the caret and assign a callback for key presses. */ -- cgit v1.2.3