diff options
author | Thomas Martitz <kugel@rockbox.org> | 2012-01-27 00:15:15 +0100 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2012-01-27 09:15:05 +0100 |
commit | 93a4b32d03e99d4b542872867ef08bf27e39c091 (patch) | |
tree | 8d7f9ff838810fd8bf21b4cc46a4e6dbb790994a /apps/plugins/test_fps.c | |
parent | 049f3c782a74258640e4f5c165496c282b4203dd (diff) | |
download | rockbox-93a4b32d03e99d4b542872867ef08bf27e39c091.tar.gz rockbox-93a4b32d03e99d4b542872867ef08bf27e39c091.zip |
test_codec/test_fps: Use pluginlib_touchscreen API to make them fit for touchscreen including point mode.
Enable test_fps on RaaA also.
Change-Id: Ifeb60d5ad30bde1f8a645cd9e9d5d5ae34f4425d
Diffstat (limited to 'apps/plugins/test_fps.c')
-rw-r--r-- | apps/plugins/test_fps.c | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c index 4514aa61bb..caabde4d1b 100644 --- a/apps/plugins/test_fps.c +++ b/apps/plugins/test_fps.c | |||
@@ -21,6 +21,8 @@ | |||
21 | #include "plugin.h" | 21 | #include "plugin.h" |
22 | #include "lib/helper.h" | 22 | #include "lib/helper.h" |
23 | #include "lib/grey.h" | 23 | #include "lib/grey.h" |
24 | #include "lib/pluginlib_touchscreen.h" | ||
25 | #include "lib/pluginlib_exit.h" | ||
24 | 26 | ||
25 | #if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 27 | #if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ |
26 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 28 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) |
@@ -39,6 +41,8 @@ | |||
39 | #define FPS_QUIT (BUTTON_M|BUTTON_REPEAT) | 41 | #define FPS_QUIT (BUTTON_M|BUTTON_REPEAT) |
40 | #elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD | 42 | #elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD |
41 | #define FPS_QUIT BUTTON_BACK | 43 | #define FPS_QUIT BUTTON_BACK |
44 | #elif defined(HAVE_TOUCHSCREEN) | ||
45 | #define FPS_QUIT (BUTTON_BOTTOMMIDDLE|BUTTON_REL) | ||
42 | #elif defined(BUTTON_OFF) | 46 | #elif defined(BUTTON_OFF) |
43 | #define FPS_QUIT BUTTON_OFF | 47 | #define FPS_QUIT BUTTON_OFF |
44 | #else | 48 | #else |
@@ -356,6 +360,47 @@ static void time_greyscale(void) | |||
356 | } | 360 | } |
357 | #endif | 361 | #endif |
358 | 362 | ||
363 | static struct touchbutton button[] = { | ||
364 | { | ||
365 | .action = ACTION_STD_OK, | ||
366 | .title = "OK", | ||
367 | /* viewport runtime initialized, rest false/NULL */ | ||
368 | } | ||
369 | }; | ||
370 | |||
371 | void plugin_quit(void) | ||
372 | { | ||
373 | #ifdef HAVE_TOUCHSCREEN | ||
374 | struct viewport *vp = &button[0].vp; | ||
375 | struct screen *lcd = rb->screens[SCREEN_MAIN]; | ||
376 | rb->viewport_set_defaults(vp, SCREEN_MAIN); | ||
377 | const int border = 10; | ||
378 | const int height = 50; | ||
379 | |||
380 | lcd->set_viewport(vp); | ||
381 | /* button matches the bottom center in the grid */ | ||
382 | vp->x = lcd->lcdwidth/3; | ||
383 | vp->width = lcd->lcdwidth/3; | ||
384 | vp->height = height; | ||
385 | vp->y = lcd->lcdheight - height - border; | ||
386 | |||
387 | touchbutton_draw(button, ARRAYLEN(button)); | ||
388 | lcd->update_viewport(); | ||
389 | if (rb->touchscreen_get_mode() == TOUCHSCREEN_POINT) | ||
390 | { | ||
391 | while(touchbutton_get(button, ARRAYLEN(button)) != ACTION_STD_OK); | ||
392 | } | ||
393 | else | ||
394 | #endif | ||
395 | while (1) | ||
396 | { | ||
397 | int btn = rb->button_get(true); | ||
398 | exit_on_usb(btn); | ||
399 | if (btn == FPS_QUIT) | ||
400 | break; | ||
401 | } | ||
402 | } | ||
403 | |||
359 | /* plugin entry point */ | 404 | /* plugin entry point */ |
360 | enum plugin_status plugin_start(const void* parameter) | 405 | enum plugin_status plugin_start(const void* parameter) |
361 | { | 406 | { |
@@ -367,6 +412,10 @@ enum plugin_status plugin_start(const void* parameter) | |||
367 | /* standard stuff */ | 412 | /* standard stuff */ |
368 | (void)parameter; | 413 | (void)parameter; |
369 | 414 | ||
415 | #ifdef HAVE_TOUCHSCREEN | ||
416 | rb->touchscreen_set_mode(rb->global_settings->touch_mode); | ||
417 | #endif | ||
418 | |||
370 | log_init(); | 419 | log_init(); |
371 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) | 420 | #if (CONFIG_PLATFORM & PLATFORM_NATIVE) |
372 | cpu_freq = *rb->cpu_frequency; /* remember CPU frequency */ | 421 | cpu_freq = *rb->cpu_frequency; /* remember CPU frequency */ |
@@ -396,7 +445,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
396 | backlight_use_settings(); | 445 | backlight_use_settings(); |
397 | 446 | ||
398 | /* wait until user closes plugin */ | 447 | /* wait until user closes plugin */ |
399 | while (rb->button_get(true) != FPS_QUIT); | 448 | plugin_quit(); |
400 | 449 | ||
401 | return PLUGIN_OK; | 450 | return PLUGIN_OK; |
402 | } | 451 | } |