1 /*
2 Copyright (C) Prikol Software 1996-1997
3 Copyright (C) Aleksey Volynskov 1996-1997
5 This file is part of the Doom2D:Rembo project.
7 Doom2D:Rembo is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as
9 published by the Free Software Foundation.
11 Doom2D:Rembo is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, see <http://www.gnu.org/licenses/> or
18 write to the Free Software Foundation, Inc.,
19 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
22 #ifndef MENU_H_INCLUDED
23 #define MENU_H_INCLUDED
27 /* menu types */
28 #define GM_BIG 1
29 #define GM_SMALL 2
31 /* variant types */
32 #define GM_BUTTON 1
33 #define GM_SCROLLER 2
34 #define GM_TEXTFIELD 3
35 #define GM_SMALL_BUTTON 4
36 #define GM_TEXTFIELD_BUTTON 5
38 /* menu messages */
39 #define GM_GETINT 1
40 #define GM_SETINT 2
41 #define GM_GETSTR 3
42 #define GM_SETSTR 4
53 #define GM_UP 15
54 #define GM_DOWN 16
57 byte type;
63 byte type;
68 byte type;
69 menu_str_msg_t string;
70 menu_int_msg_t integer;
77 };
80 byte type;
91 #define GM_MAX_INPUT 24
99 #define GM_INIT_STRING(msg, str) GM_init_str(msg, str, sizeof str);
100 #define GM_CYCLE(i, m, n) ((i) < (m) ? (n) : (((i) > (n)) ? (m) : (i)))