1/* SCCS Id: @(#)wintype.h 3.4 1996/02/18 */ 2/* Copyright (c) David Cohrs, 1991 */ 3/* NetHack may be freely redistributed. See license for details. */ 4 5#ifndef WINTYPE_H 6#define WINTYPE_H 7 8typedef int winid; /* a window identifier */ 9 10/* generic parameter - must not be any larger than a pointer */ 11typedef union any { 12 genericptr_t a_void; 13 struct obj *a_obj; 14 int a_int; 15 char a_char; 16 schar a_schar; 17 /* add types as needed */ 18} anything; 19#define ANY_P union any /* avoid typedef in prototypes */ 20 /* (buggy old Ultrix compiler) */ 21 22/* menu return list */ 23typedef struct mi { 24 anything item; /* identifier */ 25 long count; /* count */ 26} menu_item; 27#define MENU_ITEM_P struct mi 28 29/* select_menu() "how" argument types */ 30#define PICK_NONE 0 /* user picks nothing (display only) */ 31#define PICK_ONE 1 /* only pick one */ 32#define PICK_ANY 2 /* can pick any amount */ 33 34/* window types */ 35/* any additional port specific types should be defined in win*.h */ 36#define NHW_MESSAGE 1 37#define NHW_STATUS 2 38#define NHW_MAP 3 39#define NHW_MENU 4 40#define NHW_TEXT 5 41 42/* attribute types for putstr; the same as the ANSI value, for convenience */ 43#define ATR_NONE 0 44#define ATR_BOLD 1 45#define ATR_DIM 2 46#define ATR_ULINE 4 47#define ATR_BLINK 5 48#define ATR_INVERSE 7 49 50/* nh_poskey() modifier types */ 51#define CLICK_1 1 52#define CLICK_2 2 53 54/* invalid winid */ 55#define WIN_ERR ((winid) -1) 56 57/* menu window keyboard commands (may be mapped) */ 58#define MENU_FIRST_PAGE '^' 59#define MENU_LAST_PAGE '|' 60#define MENU_NEXT_PAGE '>' 61#define MENU_PREVIOUS_PAGE '<' 62#define MENU_SELECT_ALL '.' 63#define MENU_UNSELECT_ALL '-' 64#define MENU_INVERT_ALL '@' 65#define MENU_SELECT_PAGE ',' 66#define MENU_UNSELECT_PAGE '\\' 67#define MENU_INVERT_PAGE '~' 68#define MENU_SEARCH ':' 69 70 71#endif /* WINTYPE_H */ 72