OSDN Git Service

shrink mine
[nethackexpress/trunk.git] / include / wintype.h
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
8 typedef int winid;              /* a window identifier */
9
10 /* generic parameter - must not be any larger than a pointer */
11 typedef 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 */
23 typedef 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 */