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:
15
osx.m
15
osx.m
@ -1344,7 +1344,8 @@ static void osx_draw_text(void *handle, int x, int y, int fonttype,
|
||||
int fontsize, int align, int colour, char *text)
|
||||
{
|
||||
frontend *fe = (frontend *)handle;
|
||||
NSString *string = [NSString stringWithCString:text];
|
||||
NSString *string = [NSString stringWithCString:text
|
||||
encoding:NSUTF8StringEncoding];
|
||||
NSDictionary *attr;
|
||||
NSFont *font;
|
||||
NSSize size;
|
||||
@ -1378,6 +1379,15 @@ static void osx_draw_text(void *handle, int x, int y, int fonttype,
|
||||
|
||||
[string drawAtPoint:point withAttributes:attr];
|
||||
}
|
||||
static char *osx_text_fallback(void *handle, const char *const *strings,
|
||||
int nstrings)
|
||||
{
|
||||
/*
|
||||
* We assume OS X can cope with any UTF-8 likely to be emitted
|
||||
* by a puzzle.
|
||||
*/
|
||||
return dupstr(strings[0]);
|
||||
}
|
||||
struct blitter {
|
||||
int w, h;
|
||||
int x, y;
|
||||
@ -1478,7 +1488,8 @@ const struct drawing_api osx_drawing = {
|
||||
osx_blitter_save,
|
||||
osx_blitter_load,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */
|
||||
NULL, /* line_width */
|
||||
NULL, NULL, /* line_width, line_dotted */
|
||||
osx_text_fallback,
|
||||
};
|
||||
|
||||
void deactivate_timer(frontend *fe)
|
||||
|
Reference in New Issue
Block a user