aboutsummaryrefslogtreecommitdiff
path: root/src/menu/privinc/menu_private.h
blob: d8aa0898b9c70b0a0e4658f52d020891aaf7b44d (plain) (blame)
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
#ifndef MENU_PRIVATE_H
#define MENU_PRIVATE_H

#include <camera.h>
#include <input.h>
#include <net.h>
#include <peripheral.h>
#include <settings.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C"
{
#endif

struct menu_common
{
    struct camera cam;
    union peripheral p;
    struct input in;
    struct settings s;
};

int menu_update(struct menu_common *c,
    int (*update)(struct menu_common *, void *),
    int (*render)(const struct menu_common *, void *),
    void *arg);
int menu_main(struct menu_common *c);
int menu_hostjoin(struct menu_common *c);
int menu_settings(struct menu_common *c);
int menu_join(struct menu_common *c);
int menu_host(struct menu_common *c);
int menu_gamecfg(struct menu_common *c, struct net_host *h, net_peer p);
void menu_on_pressed(void *arg);

#ifdef __cplusplus
}
#endif

#endif /* MENU_PRIVATE_H */