From 9fbb365684ef662fc183ebd45c2eeb50f40589b5 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 27 Dec 2009 10:01:16 +0000 Subject: Introduce, and implement as usefully as I can in all front ends, a new function in the drawing API which permits the display of text from outside basic ASCII. A fallback mechanism is provided so that puzzles can give a list of strings they'd like to display in order of preference and the system will return the best one it can manage; puzzles are required to cope with ASCII-only front ends. [originally from svn r8793] --- nestedvm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'nestedvm.c') diff --git a/nestedvm.c b/nestedvm.c index 2bbf4e3..9381b6c 100644 --- a/nestedvm.c +++ b/nestedvm.c @@ -167,6 +167,16 @@ void nestedvm_end_draw(void *handle) _call_java(4,2,0,0); } +char *nestedvm_text_fallback(void *handle, const char *const *strings, + int nstrings) +{ + /* + * We assume Java can cope with any UTF-8 likely to be emitted + * by a puzzle. + */ + return dupstr(strings[0]); +} + const struct drawing_api nestedvm_drawing = { nestedvm_draw_text, nestedvm_draw_rect, @@ -185,6 +195,7 @@ const struct drawing_api nestedvm_drawing = { nestedvm_blitter_load, NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */ NULL, NULL, /* line_width, line_dotted */ + nestedvm_text_fallback, }; int jcallback_key_event(int x, int y, int keyval) -- cgit v1.1