libpicofe/common/common.h
notaz 5d239ae7a4 Gizmondo port updated to 1.51b
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@567 be3aeb3a-fb24-0410-a615-afba39da0efa
2008-08-10 10:18:36 +00:00

143 lines
3.5 KiB
C

// platform specific things for common menu code
#ifdef __GP2X__
#include "../gp2x/gp2x.h"
#define BTN_UP GP2X_UP
#define BTN_DOWN GP2X_DOWN
#define BTN_LEFT GP2X_LEFT
#define BTN_RIGHT GP2X_RIGHT
#define BTN_NORTH GP2X_Y
#define BTN_SOUTH GP2X_X
#define BTN_WEST GP2X_A
#define BTN_EAST GP2X_B
#define BTN_L GP2X_L
#define BTN_R GP2X_R
unsigned long wait_for_input(unsigned long interesting);
void gp2x_pd_clone_buffer2(void);
void menu_darken_bg(void *dst, int pixels, int darker);
void menu_flip(void);
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define SCREEN_BUFFER gp2x_screen
#define read_buttons(which) \
wait_for_input(which)
#define read_buttons_async(which) \
(gp2x_joystick_read(0) & (which))
#define menu_draw_begin() \
gp2x_pd_clone_buffer2()
#define clear_screen() \
memset(gp2x_screen, 0, 320*240*2)
#define darken_screen() \
menu_darken_bg(gp2x_screen, 320*240, 0)
#define menu_draw_end() \
menu_flip()
// ------------------------------------
#elif defined(__GIZ__)
#include "../gizmondo/giz.h"
#define BTN_NORTH BTN_STOP
#define BTN_SOUTH BTN_PLAY
#define BTN_WEST BTN_REW
#define BTN_EAST BTN_FWD
unsigned long wait_for_input(unsigned int interesting);
void menu_draw_begin(int use_bgbuff);
void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
void menu_draw_end(void);
#define SCREEN_WIDTH 321
#define SCREEN_HEIGHT 240
#define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
extern void *menu_screen;
extern void *giz_screen;
#define read_buttons(which) \
wait_for_input(which)
#define read_buttons_async(which) 0
#define menu_draw_begin() \
menu_draw_begin(1)
#define clear_screen() \
memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
#define darken_screen() \
menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
// ------------------------------------
#elif defined(PSP)
#include "../psp/psp.h"
#define BTN_NORTH BTN_TRIANGLE
#define BTN_SOUTH BTN_X
#define BTN_WEST BTN_SQUARE
#define BTN_EAST BTN_CIRCLE
unsigned long wait_for_input(unsigned int interesting, int is_key_config);
void menu_draw_begin(void);
void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
void menu_draw_end(void);
#define SCREEN_WIDTH 512
#define SCREEN_HEIGHT 272
#define SCREEN_BUFFER psp_screen
#define read_buttons(which) \
wait_for_input(which, 0)
#define read_buttons_async(which) \
(psp_pad_read(0) & (which))
#define clear_screen() \
memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
#define darken_screen() \
menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
// ------------------------------------
#elif defined(PANDORA)
// TODO
#include "../gp2x/gp2x.h"
#define BTN_UP 0
#define BTN_DOWN 0
#define BTN_LEFT 0
#define BTN_RIGHT 0
#define BTN_NORTH 0
#define BTN_SOUTH 0
#define BTN_WEST 0
#define BTN_EAST 0
#define BTN_L 0
#define BTN_R 0
unsigned long wait_for_input(unsigned long interesting);
void gp2x_pd_clone_buffer2(void);
void menu_darken_bg(void *dst, int pixels, int darker);
void menu_flip(void);
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 480
#define SCREEN_BUFFER gp2x_screen
#define read_buttons(which) \
wait_for_input(which)
#define read_buttons_async(which) \
(gp2x_joystick_read(0) & (which))
#define menu_draw_begin() \
gp2x_pd_clone_buffer2()
#define clear_screen() \
memset(gp2x_screen, 0, 800*480*2)
#define darken_screen() \
menu_darken_bg(gp2x_screen, 800*480, 0)
#define menu_draw_end() \
menu_flip()
#endif