diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/demystify.c | 26 | ||||
-rw-r--r-- | apps/plugins/lib/pluginlib_actions.h | 41 |
2 files changed, 58 insertions, 9 deletions
diff --git a/apps/plugins/demystify.c b/apps/plugins/demystify.c index 0cb06ee473..1ea9806a7b 100644 --- a/apps/plugins/demystify.c +++ b/apps/plugins/demystify.c @@ -47,7 +47,11 @@ PLUGIN_HEADER #define DEMYSTIFY_REMOVE_POLYGON_REPEAT PLA_DOWN_REPEAT const struct button_mapping *plugin_contexts[] -= {generic_directions, generic_actions}; += {generic_directions, generic_actions, +#if defined(HAVE_REMOTE_LCD) + remote_directions +#endif +}; #ifdef HAVE_LCD_COLOR struct line_color @@ -293,8 +297,17 @@ void color_change(struct line_color * color) color_randomize(color); } -#define COLOR_RGBPACK(color) LCD_RGBPACK((color)->current_r, (color)->current_g, (color)->current_b) +#define COLOR_RGBPACK(color) \ + LCD_RGBPACK((color)->current_r, (color)->current_g, (color)->current_b) +void color_apply(struct line_color * color, struct screen * display) +{ + if (display->is_color){ + unsigned foreground= + SCREEN_COLOR_TO_NATIVE(display,COLOR_RGBPACK(color)); + display->set_foreground(foreground); + } +} #endif /* @@ -352,13 +365,8 @@ int plugin_main(void) polygon_update(&leading_polygon[i], display, &move[i]); /* Now the drawing part */ - #ifdef HAVE_LCD_COLOR - if (display->is_color){ - unsigned foreground= - SCREEN_COLOR_TO_NATIVE(display,COLOR_RGBPACK(&color)); - display->set_foreground(foreground); - } + color_apply(&color, display); #endif display->clear_display(); polygons_draw(&polygons[i], display); @@ -373,7 +381,7 @@ int plugin_main(void) else rb->sleep(sleep_time); - action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 2); + action = pluginlib_getaction(rb, TIMEOUT_NOBLOCK, plugin_contexts, 3); switch(action) { case DEMYSTIFY_QUIT: diff --git a/apps/plugins/lib/pluginlib_actions.h b/apps/plugins/lib/pluginlib_actions.h index 1a3ab522be..a5c199d209 100644 --- a/apps/plugins/lib/pluginlib_actions.h +++ b/apps/plugins/lib/pluginlib_actions.h @@ -45,6 +45,47 @@ enum { LAST_PLUGINLIB_ACTION }; +#if defined(HAVE_REMOTE_LCD) +static const struct button_mapping remote_directions[] = +{ +#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) + { PLA_UP, BUTTON_RC_BITRATE, BUTTON_NONE}, + { PLA_DOWN, BUTTON_RC_SOURCE, BUTTON_NONE}, + { PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_RC_BITRATE|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == GIGABEAT_PAD) + { PLA_UP, BUTTON_RC_FF, BUTTON_NONE}, + { PLA_DOWN, BUTTON_RC_REW, BUTTON_NONE}, + { PLA_LEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) + { PLA_UP, BUTTON_RC_VOL_UP, BUTTON_NONE}, + { PLA_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE}, + { PLA_LEFT, BUTTON_RC_LEFT, BUTTON_NONE}, + { PLA_RIGHT, BUTTON_RC_RIGHT, BUTTON_NONE}, + { PLA_UP_REPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_DOWN_REPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_LEFT_REPEAT, BUTTON_RC_LEFT|BUTTON_REPEAT, BUTTON_NONE}, + { PLA_RIGHT_REPEAT, BUTTON_RC_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, +#else + #error pluginlib_actions: Unsupported remote keypad +#endif + {CONTEXT_CUSTOM,BUTTON_NONE,BUTTON_NONE} +}; +#endif /* HAVE_REMOTE_LCD */ + static const struct button_mapping generic_directions[] = { #if (CONFIG_KEYPAD == IRIVER_H100_PAD) \ |