interface groundwork for core-side color decisions

(user-side decisions really, but as it stands right now
user-side decisions/options are made and processed by the core)

add a parameter to add_menu so color can be passed
This commit is contained in:
nhmall
2022-06-25 13:21:51 -04:00
parent b60dae1706
commit 2770223d10
44 changed files with 437 additions and 306 deletions

View File

@@ -447,7 +447,7 @@ extern void X11_putstr(winid, int, const char *);
extern void X11_display_file(const char *, boolean);
extern void X11_start_menu(winid, unsigned long);
extern void X11_add_menu(winid, const glyph_info *, const ANY_P *, char,
char, int, const char *, unsigned int);
char, int, int, const char *, unsigned int);
extern void X11_end_menu(winid, const char *);
extern int X11_select_menu(winid, int, MENU_ITEM_P **);
extern void X11_mark_synch(void);

View File

@@ -86,7 +86,7 @@ extern void curses_start_menu(winid wid, unsigned long);
extern void curses_add_menu(winid wid, const glyph_info *,
const ANY_P * identifier,
char accelerator, char group_accel, int attr,
const char *str, unsigned int itemflags);
int clr, const char *str, unsigned int itemflags);
extern void curses_end_menu(winid wid, const char *prompt);
extern int curses_select_menu(winid wid, int how, MENU_ITEM_P **selected);
extern void curses_mark_synch(void);

View File

@@ -32,7 +32,7 @@ struct window_procs {
void (*win_display_file)(const char *, boolean);
void (*win_start_menu)(winid, unsigned long);
void (*win_add_menu)(winid, const glyph_info *, const ANY_P *,
char, char, int,
char, char, int, int,
const char *, unsigned int);
void (*win_end_menu)(winid, const char *);
int (*win_select_menu)(winid, int, MENU_ITEM_P **);
@@ -341,7 +341,7 @@ struct chain_procs {
void (*win_start_menu)(CARGS, winid, unsigned long);
void (*win_add_menu)(CARGS, winid, const glyph_info *,
const ANY_P *, char, char, int,
const char *, unsigned int);
int, const char *, unsigned int);
void (*win_end_menu)(CARGS, winid, const char *);
int (*win_select_menu)(CARGS, winid, int, MENU_ITEM_P **);
char (*win_message_menu)(CARGS, char, int, const char *);
@@ -418,7 +418,7 @@ extern void safe_putmixed(winid, int, const char *);
extern void safe_display_file(const char *, boolean);
extern void safe_start_menu(winid, unsigned long);
extern void safe_add_menu(winid, const glyph_info *, const ANY_P *,
char, char, int, const char *,
char, char, int, int, const char *,
unsigned int);
extern void safe_end_menu(winid, const char *);
extern int safe_select_menu(winid, int, MENU_ITEM_P **);

View File

@@ -22,9 +22,11 @@ struct tty_perminvent_cell {
Bitfield(refresh, 1);
Bitfield(text, 1);
Bitfield(glyph, 1);
Bitfield(colorbits, 5);
union ttycellcontent content;
int32_t color;
int32_t color; /* adjusted color 0 = ignore
* 1-16 = NetHack color + 1
* 17..16,777,233 = 24-bit color + 17
*/
};
#endif
@@ -235,7 +237,7 @@ E void tty_putmixed(winid window, int attr, const char *str);
E void tty_display_file(const char *, boolean);
E void tty_start_menu(winid, unsigned long);
E void tty_add_menu(winid, const glyph_info *, const ANY_P *, char, char,
int, const char *, unsigned int);
int, int, const char *, unsigned int);
E void tty_end_menu(winid, const char *);
E int tty_select_menu(winid, int, MENU_ITEM_P **);
E char tty_message_menu(char, int, const char *);

View File

@@ -192,9 +192,13 @@ struct from_core {
enum from_core_requests core_request;
enum inv_modes invmode;
boolean force_redraw;
int slot; /* which inventory slot; 0 indicates request */
int slot; /* which inventory slot + 1; 0 indicates request */
int invlet;
char text[BUFSZ];
int32_t clr; /* adjusted color 0 = ignore
* 1-16 = NetHack color + 1
* 17..16,777,233 = 24-bit color + 17
*/
};
struct perminvent_info_t {