debug menu unified, more debug tools
[libpicofe.git] / common / common.h
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