curses_putmixed() initial attempt

The curses interface was using genl_putmixed() which doesn't
preserve the symbol actually used for a glyph on the display.
This is a first-attempt at implementing curses_putmixed().

On Linux you'll need to distribute the Makefiles again
    sh sys/unix/setup.sh sys/unix/hints/linux.370

On macOS, you'll need to distribute the Makefiles again
    sh sys/unix/setup.sh sys/unix/hints/macOS.370
This commit is contained in:
nhmall
2023-06-06 17:50:08 -04:00
parent a5a11c19c9
commit 4034ec915c
6 changed files with 131 additions and 10 deletions

View File

@@ -3119,6 +3119,7 @@ extern int hide_privileges(boolean);
#ifdef ENHANCED_SYMBOLS
extern int glyphrep(const char *);
extern char *mixed_to_utf8(char *buf, size_t bufsz, const char *str, int *);
extern const char *mixed_to_glyphinfo(const char *str, glyph_info *gip);
extern int match_glyph(char *);
extern void dump_all_glyphids(FILE *fp);
extern void fill_glyphid_cache(void);

View File

@@ -79,6 +79,7 @@ extern void curses_display_nhwindow(winid wid, boolean block);
extern void curses_destroy_nhwindow(winid wid);
extern void curses_curs(winid wid, int x, int y);
extern void curses_putstr(winid wid, int attr, const char *text);
extern void curses_putmixed(winid window, int attr, const char *str);
extern void curses_display_file(const char *filename, boolean must_exist);
extern void curses_start_menu(winid wid, unsigned long);
extern void curses_add_menu(winid wid, const glyph_info *,