f579f7b8 |
1 | // platform specific things for common menu code |
2 | |
3 | #ifdef __GP2X__ |
4 | #include "../gp2x/gp2x.h" |
5 | |
6 | #define BTN_UP GP2X_UP |
7 | #define BTN_DOWN GP2X_DOWN |
8 | #define BTN_LEFT GP2X_LEFT |
9 | #define BTN_RIGHT GP2X_RIGHT |
10 | |
11 | #define BTN_NORTH GP2X_Y |
12 | #define BTN_SOUTH GP2X_X |
13 | #define BTN_WEST GP2X_A |
14 | #define BTN_EAST GP2X_B |
15 | #define BTN_L GP2X_L |
16 | #define BTN_R GP2X_R |
17 | |
18 | unsigned long wait_for_input(unsigned long interesting); |
19 | void gp2x_pd_clone_buffer2(void); |
20 | void menu_darken_bg(void *dst, int pixels, int darker); |
21 | void menu_flip(void); |
22 | |
23 | #define SCREEN_WIDTH 320 |
24 | #define SCREEN_HEIGHT 240 |
25 | #define SCREEN_BUFFER gp2x_screen |
26 | |
27 | #define read_buttons(which) \ |
28 | wait_for_input(which) |
29 | #define menu_draw_begin() \ |
30 | gp2x_pd_clone_buffer2() |
31 | #define clear_screen() \ |
32 | memset(gp2x_screen, 0, 320*240*2) |
33 | #define darken_screen() \ |
34 | menu_darken_bg(gp2x_screen, 320*240, 0) |
35 | #define menu_draw_end() \ |
36 | menu_flip() |
37 | |
38 | // ------------------------------------ |
39 | |
40 | #elif defined(__GIZ__) |
41 | |
42 | // TODO |
43 | //#include "../gizmondo/giz.h" |
44 | #define SCREEN_WIDTH 321 |
45 | #define SCREEN_BUFFER menu_screen |
46 | extern unsigned char *menu_screen; |
47 | |
48 | // ------------------------------------ |
49 | |
50 | #elif defined(PSP) |
51 | |
52 | #include "../psp/psp.h" |
53 | |
54 | #define BTN_NORTH BTN_TRIANGLE |
55 | #define BTN_SOUTH BTN_X |
56 | #define BTN_WEST BTN_SQUARE |
57 | #define BTN_EAST BTN_CIRCLE |
58 | |
59 | unsigned long wait_for_input(unsigned int interesting, int is_key_config); |
60 | void menu_draw_begin(void); |
61 | void menu_darken_bg(void *dst, const void *src, int pixels, int darker); |
62 | void menu_draw_end(void); |
63 | |
64 | #define SCREEN_WIDTH 512 |
65 | #define SCREEN_HEIGHT 272 |
66 | #define SCREEN_BUFFER psp_screen |
67 | |
68 | #define read_buttons(which) \ |
69 | wait_for_input(which, 0) |
70 | #define clear_screen() \ |
71 | memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2) |
72 | #define darken_screen() \ |
73 | menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0) |
74 | |
75 | #endif |