mirror of
https://git.zap.org.au/git/trader.git
synced 2024-10-27 18:20:13 -04:00
Rearrange some lines in intf.h; add additional comments
This commit is contained in:
parent
46c7a55203
commit
6a9af29c31
@ -97,16 +97,16 @@ void init_screen (void)
|
|||||||
start_color();
|
start_color();
|
||||||
|
|
||||||
init_pair(BLACK_ON_WHITE, COLOR_BLACK, COLOR_WHITE);
|
init_pair(BLACK_ON_WHITE, COLOR_BLACK, COLOR_WHITE);
|
||||||
init_pair(RED_ON_BLACK, COLOR_RED, COLOR_BLACK);
|
init_pair(BLUE_ON_BLACK, COLOR_BLUE, COLOR_BLACK);
|
||||||
|
init_pair(GREEN_ON_BLACK, COLOR_GREEN, COLOR_BLACK);
|
||||||
init_pair(CYAN_ON_BLUE, COLOR_CYAN, COLOR_BLUE);
|
init_pair(CYAN_ON_BLUE, COLOR_CYAN, COLOR_BLUE);
|
||||||
|
init_pair(RED_ON_BLACK, COLOR_RED, COLOR_BLACK);
|
||||||
init_pair(YELLOW_ON_BLACK, COLOR_YELLOW, COLOR_BLACK);
|
init_pair(YELLOW_ON_BLACK, COLOR_YELLOW, COLOR_BLACK);
|
||||||
init_pair(YELLOW_ON_BLUE, COLOR_YELLOW, COLOR_BLUE);
|
init_pair(YELLOW_ON_BLUE, COLOR_YELLOW, COLOR_BLUE);
|
||||||
init_pair(YELLOW_ON_CYAN, COLOR_YELLOW, COLOR_CYAN);
|
init_pair(YELLOW_ON_CYAN, COLOR_YELLOW, COLOR_CYAN);
|
||||||
init_pair(GREEN_ON_BLACK, COLOR_GREEN, COLOR_BLACK);
|
|
||||||
init_pair(BLUE_ON_BLACK, COLOR_BLUE, COLOR_BLACK);
|
|
||||||
init_pair(WHITE_ON_BLACK, COLOR_WHITE, COLOR_BLACK);
|
init_pair(WHITE_ON_BLACK, COLOR_WHITE, COLOR_BLACK);
|
||||||
init_pair(WHITE_ON_RED, COLOR_WHITE, COLOR_RED);
|
|
||||||
init_pair(WHITE_ON_BLUE, COLOR_WHITE, COLOR_BLUE);
|
init_pair(WHITE_ON_BLUE, COLOR_WHITE, COLOR_BLUE);
|
||||||
|
init_pair(WHITE_ON_RED, COLOR_WHITE, COLOR_RED);
|
||||||
|
|
||||||
bkgd(ATTR_ROOT_WINDOW);
|
bkgd(ATTR_ROOT_WINDOW);
|
||||||
}
|
}
|
||||||
|
114
src/intf.h
114
src/intf.h
@ -40,84 +40,102 @@
|
|||||||
* Constants and type declarations *
|
* Constants and type declarations *
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
// Visibility of the cursor in Curses
|
/*
|
||||||
|
This version of Star Traders only utilises WIN_COLS x WIN_LINES of a
|
||||||
|
terminal screen; this terminal must be at least MIN_COLS x MIN_LINES in
|
||||||
|
size; the newtxwin() function automatically places a new window in the
|
||||||
|
centre-top of the terminal screen. The program does not yet handle
|
||||||
|
terminal resizing events.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MIN_LINES 24 // Minimum number of lines in terminal
|
||||||
|
#define MIN_COLS 80 // Minimum number of columns in terminal
|
||||||
|
|
||||||
|
#define WIN_LINES MIN_LINES // Number of lines in main window
|
||||||
|
#define WIN_COLS MIN_COLS // Number of columns in main window
|
||||||
|
|
||||||
|
#define WCENTER(x) ((COLS - (x)) / 2) // Centre the window
|
||||||
|
|
||||||
|
|
||||||
|
// Visibility of the cursor in Curses (for curs_set())
|
||||||
typedef enum curs_type {
|
typedef enum curs_type {
|
||||||
CURS_INVISIBLE = 0,
|
CURS_INVISIBLE = 0,
|
||||||
CURS_NORMAL = 1,
|
CURS_NORMAL = 1,
|
||||||
CURS_VISIBLE = 2
|
CURS_VISIBLE = 2
|
||||||
} curs_type_t;
|
} curs_type_t;
|
||||||
|
|
||||||
#define CURS_OFF (CURS_INVISIBLE)
|
#define CURS_OFF CURS_INVISIBLE
|
||||||
#define CURS_ON (CURS_NORMAL)
|
#define CURS_ON CURS_NORMAL
|
||||||
|
|
||||||
|
|
||||||
// Keycodes
|
// Keycodes not defined by Curses
|
||||||
#define KEY_BS (0010)
|
#define KEY_BS 0010 // ASCII ^H backspace
|
||||||
#define KEY_TAB (0011)
|
#define KEY_TAB 0011 // ASCII ^I character tabulation
|
||||||
#define KEY_RETURN (0012)
|
#define KEY_RETURN 0012 // ASCII ^J line feed
|
||||||
#define KEY_ESC (0033)
|
#define KEY_ESC 0033 // ASCII ^[ escape
|
||||||
#define KEY_DEL (0177)
|
#define KEY_DEL 0177 // ASCII delete
|
||||||
|
|
||||||
#define KEY_CTRL(x) (x - 0100)
|
#define KEY_CTRL(x) ((x) - 0100) // ASCII control character
|
||||||
|
|
||||||
// Control-arrow key combinations
|
#define KEY_ILLEGAL 077777 // No key should ever return this!
|
||||||
#ifndef KEY_CDOWN
|
|
||||||
# define KEY_CDOWN (01007)
|
|
||||||
#endif
|
|
||||||
#ifndef KEY_CUP
|
|
||||||
# define KEY_CUP (01060)
|
|
||||||
#endif
|
|
||||||
#ifndef KEY_CLEFT
|
|
||||||
# define KEY_CLEFT (01033)
|
|
||||||
#endif
|
|
||||||
#ifndef KEY_CRIGHT
|
|
||||||
# define KEY_CRIGHT (01052)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Keycode for inserting the default value
|
// Keycode for inserting the default value in input routines
|
||||||
#define KEY_DEFAULTVAL '='
|
#define KEY_DEFAULTVAL '='
|
||||||
|
|
||||||
|
// Control-arrow key combinations, as returned by NCurses
|
||||||
|
#ifndef KEY_CDOWN
|
||||||
|
# define KEY_CDOWN 01007 // CTRL + Down Arrow
|
||||||
|
# define KEY_CUP 01060 // CTRL + Up Arrow
|
||||||
|
# define KEY_CLEFT 01033 // CTRL + Left Arrow
|
||||||
|
# define KEY_CRIGHT 01052 // CTRL + Right Arrow
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Keycodes only defined by NCurses
|
||||||
|
#ifndef KEY_RESIZE
|
||||||
|
# define KEY_RESIZE KEY_ILLEGAL
|
||||||
|
#endif
|
||||||
|
#ifndef KEY_EVENT
|
||||||
|
# define KEY_EVENT KEY_ILLEGAL
|
||||||
|
#endif
|
||||||
|
#ifndef KEY_MOUSE
|
||||||
|
# define KEY_MOUSE KEY_ILLEGAL
|
||||||
|
#endif
|
||||||
|
|
||||||
// Timeout value (in ms) for Meta-X-style keyboard input
|
// Timeout value (in ms) for Meta-X-style keyboard input
|
||||||
#define META_TIMEOUT (1000)
|
#ifdef NCURSES_VERSION
|
||||||
|
# define META_TIMEOUT ESCDELAY
|
||||||
|
#else
|
||||||
|
# define META_TIMEOUT 1000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This version of Star Traders only utilises WIN_COLS x WIN_LINES of a
|
Colour pairs used in Star Traders. This list MUST be synchronised with
|
||||||
terminal window. COL_OFFSET and LINE_OFFSET define offsets that should
|
the initialisation of colour pairs in init_screen().
|
||||||
be added to each newwin() call to position the window correctly.
|
|
||||||
|
X/Open Curses only lists the following colours: black, blue, green,
|
||||||
|
cyan, red, magenta, yellow, white. Most implementations allow these
|
||||||
|
colours plus bold versions (for the foreground).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MIN_LINES (24) /* Minimum number of lines in terminal */
|
|
||||||
#define MIN_COLS (80) /* Minimum number of columns in terminal */
|
|
||||||
|
|
||||||
#define WIN_LINES MIN_LINES /* Number of lines in main windows */
|
|
||||||
#define WIN_COLS MIN_COLS /* Number of columns in main windows */
|
|
||||||
|
|
||||||
#define WCENTER(x) ((COLS - (x)) / 2)
|
|
||||||
|
|
||||||
|
|
||||||
// Colour and non-colour attribute selection
|
|
||||||
#define ATTR(color, nocolor) (use_color ? (color) : (nocolor))
|
|
||||||
|
|
||||||
|
|
||||||
// Colour pairs used in Star Traders
|
|
||||||
enum color_pairs {
|
enum color_pairs {
|
||||||
DEFAULT_COLORS = 0,
|
DEFAULT_COLORS = 0,
|
||||||
BLACK_ON_WHITE,
|
BLACK_ON_WHITE,
|
||||||
RED_ON_BLACK,
|
BLUE_ON_BLACK,
|
||||||
|
GREEN_ON_BLACK,
|
||||||
CYAN_ON_BLUE,
|
CYAN_ON_BLUE,
|
||||||
|
RED_ON_BLACK,
|
||||||
YELLOW_ON_BLACK,
|
YELLOW_ON_BLACK,
|
||||||
YELLOW_ON_BLUE,
|
YELLOW_ON_BLUE,
|
||||||
YELLOW_ON_CYAN,
|
YELLOW_ON_CYAN,
|
||||||
GREEN_ON_BLACK,
|
|
||||||
BLUE_ON_BLACK,
|
|
||||||
WHITE_ON_BLACK,
|
WHITE_ON_BLACK,
|
||||||
WHITE_ON_RED,
|
|
||||||
WHITE_ON_BLUE,
|
WHITE_ON_BLUE,
|
||||||
|
WHITE_ON_RED
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Colour and non-colour character rendition selection
|
||||||
|
#define ATTR(color, nocolor) (use_color ? (color) : (nocolor))
|
||||||
|
|
||||||
// Window attributes used in Star Traders
|
// Character renditions (attributes) used in Star Traders
|
||||||
#define ATTR_GAME_TITLE ATTR(COLOR_PAIR(YELLOW_ON_CYAN) | A_BOLD, A_REVERSE | A_BOLD)
|
#define ATTR_GAME_TITLE ATTR(COLOR_PAIR(YELLOW_ON_CYAN) | A_BOLD, A_REVERSE | A_BOLD)
|
||||||
#define ATTR_ROOT_WINDOW ATTR(COLOR_PAIR(WHITE_ON_BLACK), A_NORMAL)
|
#define ATTR_ROOT_WINDOW ATTR(COLOR_PAIR(WHITE_ON_BLACK), A_NORMAL)
|
||||||
#define ATTR_NORMAL_WINDOW ATTR(COLOR_PAIR(WHITE_ON_BLUE), A_NORMAL)
|
#define ATTR_NORMAL_WINDOW ATTR(COLOR_PAIR(WHITE_ON_BLUE), A_NORMAL)
|
||||||
|
Loading…
Reference in New Issue
Block a user