]> git.sur5r.net Git - cc65/blob - samples/geos/menu.c
goto.c warning fix for implicit truncation
[cc65] / samples / geos / menu.c
1 /* Note:
2 ** This is just a sample piece of code that shows how to use some structs -
3 ** it may not even run.
4 */
5
6
7 #include <geos.h>
8
9
10 /* prototypes are necessary */
11
12 void smenu1 (void);
13 void smenu2 (void);
14 void smenu3 (void);
15
16 typedef void menuString;
17
18 /* you can declare a menu using cc65 non-ANSI extensions */
19
20 static const menuString subMenu1 = {
21         (char)0, (char)(3*15),
22         (unsigned)0, (unsigned)50,
23         (char)(3 | VERTICAL),
24         "subitem1", (char)MENU_ACTION, (unsigned)smenu1,
25         "subitem2", (char)MENU_ACTION, (unsigned)smenu2,
26         "subitem3", (char)MENU_ACTION, (unsigned)smenu3
27  };
28
29 /* or by using initialized structures */
30
31 static struct menu subMenu2 = {
32         { 0, 3*15, 0, 50 },
33         3 | VERTICAL,
34           {
35             { "subitem1", MENU_ACTION, smenu1 },
36             { "subitem2", MENU_ACTION, smenu2 },
37             { "subitem3", MENU_ACTION, smenu3 },
38           }
39  };
40
41 void main (void)
42 {
43     DoMenu(&subMenu1);
44     DoMenu(&subMenu2);
45 }