summaryrefslogtreecommitdiff
path: root/riscos
diff options
context:
space:
mode:
Diffstat (limited to 'riscos')
-rw-r--r--riscos/font.c4
-rw-r--r--riscos/gui.c30
-rw-r--r--riscos/htmlredraw.c13
3 files changed, 13 insertions, 34 deletions
diff --git a/riscos/font.c b/riscos/font.c
index 493a7e507..6eaabcc97 100644
--- a/riscos/font.c
+++ b/riscos/font.c
@@ -61,7 +61,7 @@ unsigned long font_width(struct font_data *font, const char * text, unsigned int
0, &width, 0, 0);
if (error != 0) {
fprintf(stderr, "%s\n", error->errmess);
- die("font_scan_string failed");
+ die("font_width: font_scan_string failed");
}
return width / 800;
@@ -212,7 +212,7 @@ char * font_split(struct font_data *data, const char * text, unsigned int length
used_width, 0, 0);
if (error != 0) {
fprintf(stderr, "%s\n", error->errmess);
- die("font_scan_string failed");
+ die("font_split: font_scan_string failed");
}
*used_width = browser_x_units(*used_width / 400);
diff --git a/riscos/gui.c b/riscos/gui.c
index 8c9a83b30..f67ebb338 100644
--- a/riscos/gui.c
+++ b/riscos/gui.c
@@ -1368,8 +1368,13 @@ void ro_gui_keypress(wimp_key* key)
{
gui_window* g;
- if (key == NULL)
- return;
+ if (key->i == -1 && key->c < 256) {
+ g = ro_lookup_gui_from_w(key->w);
+ if (g) {
+ browser_window_key_press(g->data.browser.bw, (char) key->c);
+ return;
+ }
+ }
g = ro_lookup_gui_toolbar_from_w(key->w);
if (g != NULL)
@@ -1686,20 +1691,10 @@ void gui_gadget_combo(struct browser_window* bw, struct gui_gadget* g, unsigned
ro_gui_create_menu(combo_menu, pointer.pos.x - 64, pointer.pos.y, bw->window);
}
-void gui_edit_textarea(struct browser_window* bw, struct gui_gadget* g)
+void gui_window_place_caret(gui_window *g, int x, int y, int height)
{
- FILE* file;
-
- xosfile_create_dir("<Wimp$ScrapDir>.WWW", 77);
- xosfile_create_dir("<Wimp$ScrapDir>.WWW.NetSurf", 77);
- file = fopen("<Wimp$ScrapDir>/WWW/NetSurf/TextArea", "w");
- if (g->data.textarea.text != 0)
- fprintf(file, "%s", g->data.textarea.text);
- fprintf(stderr, "closing file.\n");
- fclose(file);
-
- xosfile_set_type("<Wimp$ScrapDir>.WWW.NetSurf.TextArea", osfile_TYPE_TEXT);
- xos_cli("filer_run <Wimp$ScrapDir>.WWW.NetSurf.TextArea");
+ wimp_set_caret_position(g->data.browser.window, -1,
+ x * 2, -(y + height) * 2, height * 2, -1);
}
void ro_msg_datasave(wimp_message* block)
@@ -1799,10 +1794,7 @@ void ro_msg_dataload(wimp_message* block)
if (click_boxes[i].box->gadget->type == GADGET_TEXTAREA && data->file_type == 0xFFF)
{
/* load the text in! */
- if (click_boxes[i].box->gadget->data.textarea.text != 0)
- xfree(click_boxes[i].box->gadget->data.textarea.text);
- click_boxes[i].box->gadget->data.textarea.text = load(data->file_name);
- gui_redraw_gadget(bw, click_boxes[i].box->gadget);
+ /* TODO */
}
}
}
diff --git a/riscos/htmlredraw.c b/riscos/htmlredraw.c
index 4d83422c6..43455a0c5 100644
--- a/riscos/htmlredraw.c
+++ b/riscos/htmlredraw.c
@@ -137,19 +137,6 @@ void html_redraw_box(struct content *content, struct box * box,
icon.extent.y1 = -gadget_subtract_y + y;
switch (box->gadget->type) {
- case GADGET_TEXTAREA:
- icon.flags = wimp_ICON_TEXT | wimp_ICON_BORDER |
- wimp_ICON_VCENTRED | wimp_ICON_FILLED |
- wimp_ICON_INDIRECTED |
- (wimp_COLOUR_BLACK << wimp_ICON_FG_COLOUR_SHIFT) |
- (wimp_COLOUR_WHITE << wimp_ICON_BG_COLOUR_SHIFT);
- icon.data.indirected_text.text = box->gadget->data.textarea.text;
- icon.data.indirected_text.size = strlen(box->gadget->data.textarea.text);
- icon.data.indirected_text.validation = validation_textarea;
- LOG(("writing GADGET TEXTAREA"));
- wimp_plot_icon(&icon);
- break;
-
case GADGET_TEXTBOX:
colourtrans_set_font_colours(box->font->handle, current_background_color << 8,
box->style->color << 8, 14, 0, 0, 0);