mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
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]
This commit is contained in:
18
gtk.c
18
gtk.c
@ -499,6 +499,17 @@ void gtk_end_draw(void *handle)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_PANGO
|
||||
char *gtk_text_fallback(void *handle, const char *const *strings, int nstrings)
|
||||
{
|
||||
/*
|
||||
* We assume Pango can cope with any UTF-8 likely to be emitted
|
||||
* by a puzzle.
|
||||
*/
|
||||
return dupstr(strings[0]);
|
||||
}
|
||||
#endif
|
||||
|
||||
const struct drawing_api gtk_drawing = {
|
||||
gtk_draw_text,
|
||||
gtk_draw_rect,
|
||||
@ -516,7 +527,12 @@ const struct drawing_api gtk_drawing = {
|
||||
gtk_blitter_save,
|
||||
gtk_blitter_load,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */
|
||||
NULL, /* line_width */
|
||||
NULL, NULL, /* line_width, line_dotted */
|
||||
#ifdef USE_PANGO
|
||||
gtk_text_fallback,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
};
|
||||
|
||||
static void destroy(GtkWidget *widget, gpointer data)
|
||||
|
Reference in New Issue
Block a user