1 // platform specific things for common menu code
4 #include "../gp2x/gp2x.h"
6 #define PBTN_UP GP2X_UP
7 #define PBTN_DOWN GP2X_DOWN
8 #define PBTN_LEFT GP2X_LEFT
9 #define PBTN_RIGHT GP2X_RIGHT
11 #define PBTN_NORTH GP2X_Y
12 #define PBTN_SOUTH GP2X_X
13 #define PBTN_WEST GP2X_A
14 #define PBTN_EAST GP2X_B
19 #define PBTN_MOK GP2X_B
20 #define PBTN_MBACK GP2X_X
21 #define PBTN_MENU GP2X_SELECT
23 void gp2x_pd_clone_buffer2(void);
24 void menu_darken_bg(void *dst, int pixels, int darker);
27 #define SCREEN_WIDTH 320
28 #define SCREEN_HEIGHT 240
29 #define SCREEN_BUFFER gp2x_screen
31 #define menu_draw_begin() \
32 gp2x_pd_clone_buffer2()
33 #define clear_screen() \
34 memset(gp2x_screen, 0, 320*240*2)
35 #define darken_screen() \
36 menu_darken_bg(gp2x_screen, 320*240, 0)
37 #define menu_draw_end() \
40 // ------------------------------------
42 #elif defined(__GIZ__)
44 #include "../gizmondo/giz.h"
46 #define PBTN_NORTH PBTN_STOP
47 #define PBTN_SOUTH PBTN_PLAY
48 #define PBTN_WEST PBTN_REW
49 #define PBTN_EAST PBTN_FWD
51 void menu_draw_begin(int use_bgbuff);
52 void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
53 void menu_draw_end(void);
55 #define SCREEN_WIDTH 321
56 #define SCREEN_HEIGHT 240
57 #define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
58 extern void *menu_screen;
59 extern void *giz_screen;
61 #define menu_draw_begin() \
63 #define clear_screen() \
64 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
65 #define darken_screen() \
66 menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
68 // ------------------------------------
72 #include "../psp/psp.h"
74 #define PBTN_NORTH PBTN_TRIANGLE
75 #define PBTN_SOUTH PBTN_X
76 #define PBTN_WEST PBTN_SQUARE
77 #define PBTN_EAST PBTN_CIRCLE
79 void menu_draw_begin(void);
80 void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
81 void menu_draw_end(void);
83 #define SCREEN_WIDTH 512
84 #define SCREEN_HEIGHT 272
85 #define SCREEN_BUFFER psp_screen
87 #define clear_screen() \
88 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
89 #define darken_screen() \
90 menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
92 // ------------------------------------
94 #elif defined(PANDORA)
96 #define PBTN_UP (1 << 0)
97 #define PBTN_DOWN (1 << 1)
98 #define PBTN_LEFT (1 << 2)
99 #define PBTN_RIGHT (1 << 3)
101 #define PBTN_NORTH (1 << 4)
102 #define PBTN_SOUTH (1 << 5)
103 #define PBTN_WEST (1 << 6)
104 #define PBTN_EAST (1 << 7)
105 #define PBTN_L (1 << 8)
106 #define PBTN_R (1 << 9)
109 #define PBTN_MOK PBTN_EAST
110 #define PBTN_MBACK PBTN_SOUTH
111 #define PBTN_MENU (1 << 10)
113 void gp2x_pd_clone_buffer2(void);
114 void menu_darken_bg(void *dst, int pixels, int darker);
115 void menu_flip(void);
117 extern void *gp2x_screen;
119 #define SCREEN_WIDTH 800
120 #define SCREEN_HEIGHT 480
121 #define SCREEN_BUFFER gp2x_screen
123 #define menu_draw_begin() \
124 gp2x_pd_clone_buffer2()
125 #define clear_screen() \
126 memset(gp2x_screen, 0, 800*480*2)
127 #define darken_screen() \
128 menu_darken_bg(gp2x_screen, 800*480, 0)
129 #define menu_draw_end() \