From 6f4c6ed99007f89099b74bfbb95f5ca58b0ead3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Doyon?= Date: Wed, 7 Nov 2007 01:37:00 +0000 Subject: Straighten out voicing of yesno dialogs. Make it so gui_syncyesno_run() does not modify the text_messages passed as argument, simplify the code and even reduce size a bit. The key is to support voicing at the level of the text_message itself. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15505 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/textarea.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'apps/gui/textarea.c') diff --git a/apps/gui/textarea.c b/apps/gui/textarea.c index 0dd063c..b30667d 100644 --- a/apps/gui/textarea.c +++ b/apps/gui/textarea.c @@ -19,6 +19,8 @@ #include "textarea.h" #include "font.h" +#include "lang.h" +#include "talk.h" void gui_textarea_clear(struct screen * display) { @@ -51,7 +53,8 @@ int gui_textarea_put_message(struct screen * display, int i; gui_textarea_clear(display); for(i=0;inb_lines && i+ystartnb_lines;i++) - display->puts_scroll(0, i+ystart, (unsigned char *)message->message_lines[i]); + display->puts_scroll(0, i+ystart, P2STR((unsigned char *)message-> + message_lines[i])); gui_textarea_update(display); return(i); } @@ -74,3 +77,18 @@ void gui_textarea_update_nblines(struct screen * display) #endif display->nb_lines = height / display->char_height; } + +void talk_text_message(struct text_message * message, bool enqueue) +{ + int line; + if(message) + for(line=0; linenb_lines; line++) + { + long id = P2ID((unsigned char *)message->message_lines[line]); + if(id>=0) + { + talk_id(id, enqueue); + enqueue = true; + } + } +} -- cgit v1.1