File: menu.c

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (45 lines) | stat: -rw-r--r-- 989 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* Note:
** This is just a sample piece of code that shows how to use some structs -
** it may not even run.
*/


#include <geos.h>


/* prototypes are necessary */

void smenu1 (void);
void smenu2 (void);
void smenu3 (void);

typedef void menuString;

/* you can declare a menu using cc65 non-ANSI extensions */

static const menuString subMenu1 = {
        (char)0, (char)(3*15),
        (unsigned)0, (unsigned)50,
        (char)(3 | VERTICAL),
        "subitem1", (char)MENU_ACTION, (unsigned)smenu1,
        "subitem2", (char)MENU_ACTION, (unsigned)smenu2,
        "subitem3", (char)MENU_ACTION, (unsigned)smenu3
 };

/* or by using initialized structures */

static struct menu subMenu2 = {
        { 0, 3*15, 0, 50 },
        3 | VERTICAL,
          {
            { "subitem1", MENU_ACTION, smenu1 },
            { "subitem2", MENU_ACTION, smenu2 },
            { "subitem3", MENU_ACTION, smenu3 },
          }
 };

void main (void)
{
    DoMenu(&subMenu1);
    DoMenu(&subMenu2);
}