X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=maemo%2Fhildon.c;h=ba035d175b74aec940ec64b455fcb3b63ea7b194;hp=2cea99a3b629abe4e900239fce35f864a39f0dce;hb=478216725b77d1c7fd45d972e3c596134633adba;hpb=e0c692d9417fdea51a1deebda1048d1a91f1270f diff --git a/maemo/hildon.c b/maemo/hildon.c index 2cea99a3..ba035d17 100644 --- a/maemo/hildon.c +++ b/maemo/hildon.c @@ -1,22 +1,26 @@ #include #include #include +#include #include #include #include "plugin_lib.h" +#include "main.h" +#include "../libpcsxcore/psemu_plugin_defs.h" #define X_RES 800 #define Y_RES 480 #define D_WIDTH 640 #define D_HEIGHT 480 +int g_layer_x = (X_RES - D_WIDTH) / 2; +int g_layer_y = (Y_RES - D_HEIGHT) / 2; +int g_layer_w = D_WIDTH, g_layer_h = D_HEIGHT; + static GdkImage *image; static HildonAnimationActor *actor; static GtkWidget *window, *drawing; -void *pl_fbdev_buf; -int keystate; - static int keymap[65536]; // map psx4m compatible keymap to PSX keys @@ -77,24 +81,28 @@ window_key_proxy(GtkWidget *widget, psxkey2 = DKEY_RIGHT; break; case 19: - //SaveState(cfile); + if (event->type == GDK_KEY_PRESS) + emu_set_action(SACTION_SAVE_STATE); return; case 20: - //LoadState(cfile); + if (event->type == GDK_KEY_PRESS) + emu_set_action(SACTION_LOAD_STATE); return; } if (event->type == GDK_KEY_PRESS) { if (psxkey1 >= 0) - keystate |= 1 << psxkey1; + in_keystate |= 1 << psxkey1; if (psxkey2 >= 0) - keystate |= 1 << psxkey2; + in_keystate |= 1 << psxkey2; } else if (event->type == GDK_KEY_RELEASE) { if (psxkey1 >= 0) - keystate &= ~(1 << psxkey1); + in_keystate &= ~(1 << psxkey1); if (psxkey2 >= 0) - keystate &= ~(1 << psxkey2); + in_keystate &= ~(1 << psxkey2); + + emu_set_action(SACTION_NONE); } } @@ -145,15 +153,19 @@ void maemo_init(int *argc, char ***argv) gtk_widget_show_all (GTK_WIDGET (window)); } -void *pl_fbdev_set_mode(int w, int h, int bpp) +void menu_loop(void) +{ +} + +void *hildon_set_mode(int w, int h) { if (w <= 0 || h <= 0) - return; + return pl_vout_buf; if (image) gdk_image_destroy(image); image = gdk_image_new( GDK_IMAGE_FASTEST, gdk_visual_get_system(), w, h ); - pl_fbdev_buf = (void *) image->mem; + pl_vout_buf = (void *) image->mem; gtk_image_set_from_image (GTK_IMAGE(drawing), image, NULL); @@ -163,48 +175,26 @@ void *pl_fbdev_set_mode(int w, int h, int bpp) (gdouble)D_HEIGHT / (gdouble)h ); - return pl_fbdev_buf; + return pl_vout_buf; } -void *pl_fbdev_flip(void) +void *hildon_flip(void) { gtk_widget_queue_draw (drawing); -} - -void pl_frame_limit(void) -{ - extern void CheckFrameRate(void); - //CheckFrameRate(); /* process GTK+ events */ while (gtk_events_pending()) gtk_main_iteration(); -} -void pl_fbdev_close(void) -{ + return pl_vout_buf; } -int pl_fbdev_open(void) +int omap_enable_layer(int enabled) { + return 0; } -static void pl_get_layer_pos(int *x, int *y, int *w, int *h) +void menu_notify_mode_change(int w, int h, int bpp) { - *x = 0; - *y = 0; - *w = 800; - *h = 640; } -extern int UseFrameSkip; // hmh - -const struct rearmed_cbs pl_rearmed_cbs = { - pl_get_layer_pos, - pl_fbdev_open, - pl_fbdev_set_mode, - pl_fbdev_flip, - pl_fbdev_close, - &UseFrameSkip, -}; -