extracted OSS code to sndout_oss_*, BTN->PBTN, refactoring
[libpicofe.git] / common / common.h
CommitLineData
b8464531 1// platform specific things for common menu code
2
3#ifdef __GP2X__
4#include "../gp2x/gp2x.h"
5
b3972d82 6#define PBTN_UP GP2X_UP
7#define PBTN_DOWN GP2X_DOWN
8#define PBTN_LEFT GP2X_LEFT
9#define PBTN_RIGHT GP2X_RIGHT
10
11#define PBTN_NORTH GP2X_Y
12#define PBTN_SOUTH GP2X_X
13#define PBTN_WEST GP2X_A
14#define PBTN_EAST GP2X_B
15#define PBTN_L GP2X_L
16#define PBTN_R GP2X_R
b8464531 17
18unsigned long wait_for_input(unsigned long interesting);
19void gp2x_pd_clone_buffer2(void);
20void menu_darken_bg(void *dst, int pixels, int darker);
21void 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)
8e6cbce1 29#define read_buttons_async(which) \
30 (gp2x_joystick_read(0) & (which))
b8464531 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() \
38 menu_flip()
39
40// ------------------------------------
41
42#elif defined(__GIZ__)
43
5d239ae7 44#include "../gizmondo/giz.h"
45
b3972d82 46#define PBTN_NORTH PBTN_STOP
47#define PBTN_SOUTH PBTN_PLAY
48#define PBTN_WEST PBTN_REW
49#define PBTN_EAST PBTN_FWD
5d239ae7 50
51unsigned long wait_for_input(unsigned int interesting);
52void menu_draw_begin(int use_bgbuff);
53void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
54void menu_draw_end(void);
55
56#define SCREEN_WIDTH 321
57#define SCREEN_HEIGHT 240
58#define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
59extern void *menu_screen;
60extern void *giz_screen;
61
62#define read_buttons(which) \
63 wait_for_input(which)
64#define read_buttons_async(which) 0
65#define menu_draw_begin() \
66 menu_draw_begin(1)
67#define clear_screen() \
68 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
69#define darken_screen() \
70 menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
b8464531 71
72// ------------------------------------
73
74#elif defined(PSP)
75
76#include "../psp/psp.h"
77
b3972d82 78#define PBTN_NORTH PBTN_TRIANGLE
79#define PBTN_SOUTH PBTN_X
80#define PBTN_WEST PBTN_SQUARE
81#define PBTN_EAST PBTN_CIRCLE
b8464531 82
83unsigned long wait_for_input(unsigned int interesting, int is_key_config);
84void menu_draw_begin(void);
85void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
86void menu_draw_end(void);
87
88#define SCREEN_WIDTH 512
89#define SCREEN_HEIGHT 272
90#define SCREEN_BUFFER psp_screen
91
92#define read_buttons(which) \
93 wait_for_input(which, 0)
8e6cbce1 94#define read_buttons_async(which) \
95 (psp_pad_read(0) & (which))
b8464531 96#define clear_screen() \
97 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
98#define darken_screen() \
99 menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
100
fe017393 101// ------------------------------------
102
103#elif defined(PANDORA)
104
105// TODO
106
107#include "../gp2x/gp2x.h"
108
b3972d82 109#define PBTN_UP 0
110#define PBTN_DOWN 0
111#define PBTN_LEFT 0
112#define PBTN_RIGHT 0
113
114#define PBTN_NORTH 0
115#define PBTN_SOUTH 0
116#define PBTN_WEST 0
117#define PBTN_EAST 0
118#define PBTN_L 0
119#define PBTN_R 0
fe017393 120
121unsigned long wait_for_input(unsigned long interesting);
122void gp2x_pd_clone_buffer2(void);
123void menu_darken_bg(void *dst, int pixels, int darker);
124void menu_flip(void);
125
492d353a 126#define SCREEN_WIDTH 800
127#define SCREEN_HEIGHT 480
fe017393 128#define SCREEN_BUFFER gp2x_screen
129
130#define read_buttons(which) \
131 wait_for_input(which)
132#define read_buttons_async(which) \
133 (gp2x_joystick_read(0) & (which))
134#define menu_draw_begin() \
135 gp2x_pd_clone_buffer2()
136#define clear_screen() \
492d353a 137 memset(gp2x_screen, 0, 800*480*2)
fe017393 138#define darken_screen() \
492d353a 139 menu_darken_bg(gp2x_screen, 800*480, 0)
fe017393 140#define menu_draw_end() \
141 menu_flip()
142
b8464531 143#endif