summaryrefslogtreecommitdiff
path: root/apps/plugins/test_fps.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2012-01-27 00:15:15 +0100
committerThomas Martitz <kugel@rockbox.org>2012-01-27 09:15:05 +0100
commit93a4b32d03e99d4b542872867ef08bf27e39c091 (patch)
tree8d7f9ff838810fd8bf21b4cc46a4e6dbb790994a /apps/plugins/test_fps.c
parent049f3c782a74258640e4f5c165496c282b4203dd (diff)
downloadrockbox-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.c51
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
363static struct touchbutton button[] = {
364 {
365 .action = ACTION_STD_OK,
366 .title = "OK",
367 /* viewport runtime initialized, rest false/NULL */
368 }
369};
370
371void 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 */
360enum plugin_status plugin_start(const void* parameter) 405enum 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}