I did my best to exempt some of the bigger aligned blocks from the reformatting using the /* clang-format off */ and /* clang-format on */ tags. Probably some that shouldn't have been formatted were anyway; if you encounter them, please fix. The clang-format tags were left in on the basis that it's much easier to prune those out later than to put them back in, and it means that, modulo my custom version of clang-format, I should be able to run clang-format on the source tree again without changing anything, now that Pat has fixed the VA_DECL issues.
103 lines
3.2 KiB
C
103 lines
3.2 KiB
C
/* NetHack 3.6 wintype.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
|
/* NetHack 3.6 wintype.h $Date: 2009/05/06 10:45:19 $ $Revision: 1.10 $ */
|
|
/* SCCS Id: @(#)wintype.h 3.5 2006/07/08 */
|
|
/* Copyright (c) David Cohrs, 1991 */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef WINTYPE_H
|
|
#define WINTYPE_H
|
|
|
|
typedef int winid; /* a window identifier */
|
|
|
|
/* generic parameter - must not be any larger than a pointer */
|
|
typedef union any {
|
|
genericptr_t a_void;
|
|
struct obj *a_obj;
|
|
struct monst *a_monst;
|
|
int a_int;
|
|
char a_char;
|
|
schar a_schar;
|
|
unsigned int a_uint;
|
|
long a_long;
|
|
unsigned long a_ulong;
|
|
int *a_iptr;
|
|
long *a_lptr;
|
|
unsigned long *a_ulptr;
|
|
unsigned *a_uptr;
|
|
/* add types as needed */
|
|
} anything;
|
|
#define ANY_P union any /* avoid typedef in prototypes */
|
|
/* (buggy old Ultrix compiler) */
|
|
|
|
/* symbolic names for the data types housed in anything */
|
|
/* clang-format off */
|
|
#define ANY_VOID 1
|
|
#define ANY_OBJ 2 /* struct obj */
|
|
#define ANY_MONST 3 /* struct monst (not used) */
|
|
#define ANY_INT 4 /* int */
|
|
#define ANY_CHAR 5 /* char */
|
|
#define ANY_UCHAR 6 /* unsigned char */
|
|
#define ANY_SCHAR 7 /* signed char */
|
|
#define ANY_UINT 8 /* unsigned int */
|
|
#define ANY_LONG 9 /* long */
|
|
#define ANY_ULONG 10 /* unsigned long */
|
|
#define ANY_IPTR 11 /* pointer to int */
|
|
#define ANY_UPTR 12 /* pointer to unsigned int */
|
|
#define ANY_LPTR 13 /* pointer to long */
|
|
#define ANY_ULPTR 14 /* pointer to unsigned long */
|
|
#define ANY_STR 15 /* pointer to null-terminated char string */
|
|
#define ANY_MASK32 16 /* 32-bit mask (stored as unsigned long) */
|
|
/* clang-format on */
|
|
|
|
/* menu return list */
|
|
typedef struct mi {
|
|
anything item; /* identifier */
|
|
long count; /* count */
|
|
} menu_item;
|
|
#define MENU_ITEM_P struct mi
|
|
|
|
/* select_menu() "how" argument types */
|
|
#define PICK_NONE 0 /* user picks nothing (display only) */
|
|
#define PICK_ONE 1 /* only pick one */
|
|
#define PICK_ANY 2 /* can pick any amount */
|
|
|
|
/* window types */
|
|
/* any additional port specific types should be defined in win*.h */
|
|
#define NHW_MESSAGE 1
|
|
#define NHW_STATUS 2
|
|
#define NHW_MAP 3
|
|
#define NHW_MENU 4
|
|
#define NHW_TEXT 5
|
|
|
|
/* attribute types for putstr; the same as the ANSI value, for convenience */
|
|
#define ATR_NONE 0
|
|
#define ATR_BOLD 1
|
|
#define ATR_DIM 2
|
|
#define ATR_ULINE 4
|
|
#define ATR_BLINK 5
|
|
#define ATR_INVERSE 7
|
|
|
|
/* nh_poskey() modifier types */
|
|
#define CLICK_1 1
|
|
#define CLICK_2 2
|
|
|
|
/* invalid winid */
|
|
#define WIN_ERR ((winid) -1)
|
|
|
|
/* menu window keyboard commands (may be mapped) */
|
|
/* clang-format off */
|
|
#define MENU_FIRST_PAGE '^'
|
|
#define MENU_LAST_PAGE '|'
|
|
#define MENU_NEXT_PAGE '>'
|
|
#define MENU_PREVIOUS_PAGE '<'
|
|
#define MENU_SELECT_ALL '.'
|
|
#define MENU_UNSELECT_ALL '-'
|
|
#define MENU_INVERT_ALL '@'
|
|
#define MENU_SELECT_PAGE ','
|
|
#define MENU_UNSELECT_PAGE '\\'
|
|
#define MENU_INVERT_PAGE '~'
|
|
#define MENU_SEARCH ':'
|
|
/* clang-format on */
|
|
|
|
#endif /* WINTYPE_H */
|