frontend: support analog controller using nubs; some refactoring
[pcsx_rearmed.git] / frontend / plugin_lib.h
CommitLineData
b60f2812 1
69af03a2 2enum {
3 DKEY_SELECT = 0,
4 DKEY_L3,
5 DKEY_R3,
6 DKEY_START,
7 DKEY_UP,
8 DKEY_RIGHT,
9 DKEY_DOWN,
10 DKEY_LEFT,
11 DKEY_L2,
12 DKEY_R2,
13 DKEY_L1,
14 DKEY_R1,
15 DKEY_TRIANGLE,
16 DKEY_CIRCLE,
17 DKEY_CROSS,
18 DKEY_SQUARE,
19};
799b0b87 20extern int in_type, in_keystate, in_a1[2], in_a2[2];
21void in_update_analogs(void);
69af03a2 22
b60f2812 23extern void *pl_fbdev_buf;
24
6d1a1ac2 25int pl_fbdev_open(void);
297b3d63 26void *pl_fbdev_set_mode(int w, int h, int bpp);
ffd0d743 27void *pl_fbdev_flip(void);
6d1a1ac2 28void pl_fbdev_close(void);
69af03a2 29
201c21e2 30void pl_text_out16(int x, int y, const char *texto, ...);
7c0f51de 31void pl_start_watchdog(void);
201c21e2 32
33struct rearmed_cbs {
ffd0d743 34 void (*pl_get_layer_pos)(int *x, int *y, int *w, int *h);
35 int (*pl_fbdev_open)(void);
297b3d63 36 void *(*pl_fbdev_set_mode)(int w, int h, int bpp);
ffd0d743 37 void *(*pl_fbdev_flip)(void);
38 void (*pl_fbdev_close)(void);
78d78c3b 39 int *fskip_option;
201c21e2 40};
41
42extern const struct rearmed_cbs pl_rearmed_cbs;
4f3639fa 43
bce6b056 44extern int pl_frame_interval;
45
4f3639fa 46#ifndef ARRAY_SIZE
47#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
48#endif