summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2004-08-01 13:08:19 +0000
committerJames Bursa <james@netsurf-browser.org>2004-08-01 13:08:19 +0000
commit9e1dbe3a36c8b33787174850874caa6c5ae94107 (patch)
tree83082b20892bd9d4ea7e83072df639a3796bdc69 /desktop
parentab67491a376a850f1d1dfe51c4bd644daffbecb1 (diff)
downloadnetsurf-9e1dbe3a36c8b33787174850874caa6c5ae94107.tar.gz
netsurf-9e1dbe3a36c8b33787174850874caa6c5ae94107.tar.bz2
[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
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c21
1 files changed, 13 insertions, 8 deletions
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.
*/