diff options
author | Jens Arnold <amiconn@rockbox.org> | 2008-03-22 10:24:28 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2008-03-22 10:24:28 +0000 |
commit | 29361abf744ed116cec04ca03e754ddd2794b76c (patch) | |
tree | d336dd19570faed037aef9064ce3c490c50ed6df /apps/plugins/flipit.c | |
parent | bca8edd856cee3a3b469ef9fe2770a191b590fde (diff) | |
download | rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.tar.gz rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.zip |
Adapt most single-file plugins to the M3 keypad and screen. It's still preliminary, as many plugins now can't be left without the remote. The plugins need to be converted to use the action API (but not pluginlib actions). Plugins are not enabled yet. * Simplify the bitmap handling in the source of some plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16737 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/flipit.c')
-rw-r--r-- | apps/plugins/flipit.c | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index 4292ef8e4f..831cc857ec 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c | |||
@@ -22,6 +22,8 @@ PLUGIN_HEADER | |||
22 | 22 | ||
23 | /* variable button definitions */ | 23 | /* variable button definitions */ |
24 | #if CONFIG_KEYPAD == RECORDER_PAD | 24 | #if CONFIG_KEYPAD == RECORDER_PAD |
25 | #define FLIPIT_LEFT BUTTON_LEFT | ||
26 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
25 | #define FLIPIT_UP BUTTON_UP | 27 | #define FLIPIT_UP BUTTON_UP |
26 | #define FLIPIT_DOWN BUTTON_DOWN | 28 | #define FLIPIT_DOWN BUTTON_DOWN |
27 | #define FLIPIT_QUIT BUTTON_OFF | 29 | #define FLIPIT_QUIT BUTTON_OFF |
@@ -31,6 +33,8 @@ PLUGIN_HEADER | |||
31 | #define FLIPIT_TOGGLE BUTTON_PLAY | 33 | #define FLIPIT_TOGGLE BUTTON_PLAY |
32 | 34 | ||
33 | #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD | 35 | #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD |
36 | #define FLIPIT_LEFT BUTTON_LEFT | ||
37 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
34 | #define FLIPIT_UP BUTTON_UP | 38 | #define FLIPIT_UP BUTTON_UP |
35 | #define FLIPIT_DOWN BUTTON_DOWN | 39 | #define FLIPIT_DOWN BUTTON_DOWN |
36 | #define FLIPIT_QUIT BUTTON_OFF | 40 | #define FLIPIT_QUIT BUTTON_OFF |
@@ -40,6 +44,8 @@ PLUGIN_HEADER | |||
40 | #define FLIPIT_TOGGLE BUTTON_SELECT | 44 | #define FLIPIT_TOGGLE BUTTON_SELECT |
41 | 45 | ||
42 | #elif CONFIG_KEYPAD == PLAYER_PAD | 46 | #elif CONFIG_KEYPAD == PLAYER_PAD |
47 | #define FLIPIT_LEFT BUTTON_LEFT | ||
48 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
43 | #define FLIPIT_UP_PRE BUTTON_ON | 49 | #define FLIPIT_UP_PRE BUTTON_ON |
44 | #define FLIPIT_UP (BUTTON_ON | BUTTON_REL) | 50 | #define FLIPIT_UP (BUTTON_ON | BUTTON_REL) |
45 | #define FLIPIT_DOWN BUTTON_MENU | 51 | #define FLIPIT_DOWN BUTTON_MENU |
@@ -50,6 +56,8 @@ PLUGIN_HEADER | |||
50 | #define FLIPIT_TOGGLE BUTTON_PLAY | 56 | #define FLIPIT_TOGGLE BUTTON_PLAY |
51 | 57 | ||
52 | #elif CONFIG_KEYPAD == ONDIO_PAD | 58 | #elif CONFIG_KEYPAD == ONDIO_PAD |
59 | #define FLIPIT_LEFT BUTTON_LEFT | ||
60 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
53 | #define FLIPIT_UP BUTTON_UP | 61 | #define FLIPIT_UP BUTTON_UP |
54 | #define FLIPIT_DOWN BUTTON_DOWN | 62 | #define FLIPIT_DOWN BUTTON_DOWN |
55 | #define FLIPIT_QUIT BUTTON_OFF | 63 | #define FLIPIT_QUIT BUTTON_OFF |
@@ -61,6 +69,8 @@ PLUGIN_HEADER | |||
61 | 69 | ||
62 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ | 70 | #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ |
63 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 71 | (CONFIG_KEYPAD == IRIVER_H300_PAD) |
72 | #define FLIPIT_LEFT BUTTON_LEFT | ||
73 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
64 | #define FLIPIT_UP BUTTON_UP | 74 | #define FLIPIT_UP BUTTON_UP |
65 | #define FLIPIT_DOWN BUTTON_DOWN | 75 | #define FLIPIT_DOWN BUTTON_DOWN |
66 | #define FLIPIT_QUIT BUTTON_OFF | 76 | #define FLIPIT_QUIT BUTTON_OFF |
@@ -76,6 +86,8 @@ PLUGIN_HEADER | |||
76 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 86 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ |
77 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 87 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) |
78 | 88 | ||
89 | #define FLIPIT_LEFT BUTTON_LEFT | ||
90 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
79 | #define FLIPIT_UP BUTTON_MENU | 91 | #define FLIPIT_UP BUTTON_MENU |
80 | #define FLIPIT_DOWN BUTTON_PLAY | 92 | #define FLIPIT_DOWN BUTTON_PLAY |
81 | #define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_MENU) | 93 | #define FLIPIT_QUIT (BUTTON_SELECT | BUTTON_MENU) |
@@ -87,6 +99,8 @@ PLUGIN_HEADER | |||
87 | 99 | ||
88 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD | 100 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD |
89 | 101 | ||
102 | #define FLIPIT_LEFT BUTTON_LEFT | ||
103 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
90 | #define FLIPIT_UP BUTTON_UP | 104 | #define FLIPIT_UP BUTTON_UP |
91 | #define FLIPIT_DOWN BUTTON_DOWN | 105 | #define FLIPIT_DOWN BUTTON_DOWN |
92 | #define FLIPIT_QUIT BUTTON_POWER | 106 | #define FLIPIT_QUIT BUTTON_POWER |
@@ -99,6 +113,8 @@ PLUGIN_HEADER | |||
99 | 113 | ||
100 | #elif CONFIG_KEYPAD == GIGABEAT_PAD | 114 | #elif CONFIG_KEYPAD == GIGABEAT_PAD |
101 | 115 | ||
116 | #define FLIPIT_LEFT BUTTON_LEFT | ||
117 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
102 | #define FLIPIT_UP BUTTON_UP | 118 | #define FLIPIT_UP BUTTON_UP |
103 | #define FLIPIT_DOWN BUTTON_DOWN | 119 | #define FLIPIT_DOWN BUTTON_DOWN |
104 | #define FLIPIT_QUIT BUTTON_POWER | 120 | #define FLIPIT_QUIT BUTTON_POWER |
@@ -110,6 +126,8 @@ PLUGIN_HEADER | |||
110 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | 126 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ |
111 | (CONFIG_KEYPAD == SANSA_C200_PAD) | 127 | (CONFIG_KEYPAD == SANSA_C200_PAD) |
112 | 128 | ||
129 | #define FLIPIT_LEFT BUTTON_LEFT | ||
130 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
113 | #define FLIPIT_UP BUTTON_UP | 131 | #define FLIPIT_UP BUTTON_UP |
114 | #define FLIPIT_DOWN BUTTON_DOWN | 132 | #define FLIPIT_DOWN BUTTON_DOWN |
115 | #define FLIPIT_QUIT BUTTON_POWER | 133 | #define FLIPIT_QUIT BUTTON_POWER |
@@ -120,6 +138,8 @@ PLUGIN_HEADER | |||
120 | 138 | ||
121 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD | 139 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD |
122 | 140 | ||
141 | #define FLIPIT_LEFT BUTTON_LEFT | ||
142 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
123 | #define FLIPIT_UP BUTTON_SCROLL_UP | 143 | #define FLIPIT_UP BUTTON_SCROLL_UP |
124 | #define FLIPIT_DOWN BUTTON_SCROLL_DOWN | 144 | #define FLIPIT_DOWN BUTTON_SCROLL_DOWN |
125 | #define FLIPIT_QUIT BUTTON_POWER | 145 | #define FLIPIT_QUIT BUTTON_POWER |
@@ -131,6 +151,8 @@ PLUGIN_HEADER | |||
131 | 151 | ||
132 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD | 152 | #elif CONFIG_KEYPAD == GIGABEAT_S_PAD |
133 | 153 | ||
154 | #define FLIPIT_LEFT BUTTON_LEFT | ||
155 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
134 | #define FLIPIT_UP BUTTON_UP | 156 | #define FLIPIT_UP BUTTON_UP |
135 | #define FLIPIT_DOWN BUTTON_DOWN | 157 | #define FLIPIT_DOWN BUTTON_DOWN |
136 | #define FLIPIT_QUIT BUTTON_BACK | 158 | #define FLIPIT_QUIT BUTTON_BACK |
@@ -141,6 +163,8 @@ PLUGIN_HEADER | |||
141 | 163 | ||
142 | #elif CONFIG_KEYPAD == MROBE100_PAD | 164 | #elif CONFIG_KEYPAD == MROBE100_PAD |
143 | 165 | ||
166 | #define FLIPIT_LEFT BUTTON_LEFT | ||
167 | #define FLIPIT_RIGHT BUTTON_RIGHT | ||
144 | #define FLIPIT_UP BUTTON_UP | 168 | #define FLIPIT_UP BUTTON_UP |
145 | #define FLIPIT_DOWN BUTTON_DOWN | 169 | #define FLIPIT_DOWN BUTTON_DOWN |
146 | #define FLIPIT_QUIT BUTTON_POWER | 170 | #define FLIPIT_QUIT BUTTON_POWER |
@@ -149,6 +173,22 @@ PLUGIN_HEADER | |||
149 | #define FLIPIT_STEP_BY_STEP BUTTON_DISPLAY | 173 | #define FLIPIT_STEP_BY_STEP BUTTON_DISPLAY |
150 | #define FLIPIT_TOGGLE BUTTON_SELECT | 174 | #define FLIPIT_TOGGLE BUTTON_SELECT |
151 | 175 | ||
176 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | ||
177 | |||
178 | #define FLIPIT_LEFT BUTTON_RC_REW | ||
179 | #define FLIPIT_RIGHT BUTTON_RC_FF | ||
180 | #define FLIPIT_UP BUTTON_RC_VOL_UP | ||
181 | #define FLIPIT_DOWN BUTTON_RC_VOL_DOWN | ||
182 | #define FLIPIT_QUIT BUTTON_RC_REC | ||
183 | #define FLIPIT_SHUFFLE BUTTON_RC_MODE | ||
184 | #define FLIPIT_SOLVE_PRE BUTTON_RC_MENU | ||
185 | #define FLIPIT_SOLVE (BUTTON_RC_MENU|BUTTON_REPEAT) | ||
186 | #define FLIPIT_STEP_PRE BUTTON_RC_MENU | ||
187 | #define FLIPIT_STEP_BY_STEP (BUTTON_RC_MENU|BUTTON_REL) | ||
188 | #define FLIPIT_TOGGLE BUTTON_RC_PLAY | ||
189 | |||
190 | #define FLIPIT_RC_QUIT BUTTON_REC | ||
191 | |||
152 | #else | 192 | #else |
153 | #error No keymap defined! | 193 | #error No keymap defined! |
154 | #endif | 194 | #endif |
@@ -174,7 +214,7 @@ static int cursor_pos, moves; | |||
174 | #define GRID_TOP MAX(0, ((LCD_HEIGHT - PANEL_HEIGHT - GRID_HEIGHT)/2)) | 214 | #define GRID_TOP MAX(0, ((LCD_HEIGHT - PANEL_HEIGHT - GRID_HEIGHT)/2)) |
175 | 215 | ||
176 | /* draw a spot at the coordinates (x,y), range of p is 0-19 */ | 216 | /* draw a spot at the coordinates (x,y), range of p is 0-19 */ |
177 | static void draw_spot(int p) | 217 | static void draw_spot(int p) |
178 | { | 218 | { |
179 | rb->lcd_bitmap_part( flipit_tokens, 0, spots[p] * TK_HEIGHT, TK_WIDTH, | 219 | rb->lcd_bitmap_part( flipit_tokens, 0, spots[p] * TK_HEIGHT, TK_WIDTH, |
180 | GRID_LEFT + (p%5) * (TK_WIDTH+TK_SPACE), | 220 | GRID_LEFT + (p%5) * (TK_WIDTH+TK_SPACE), |
@@ -448,11 +488,11 @@ static bool flipit_loop(void) | |||
448 | } | 488 | } |
449 | break; | 489 | break; |
450 | 490 | ||
451 | case BUTTON_LEFT: | 491 | case FLIPIT_LEFT: |
452 | move_cursor(-1, 0); | 492 | move_cursor(-1, 0); |
453 | break; | 493 | break; |
454 | 494 | ||
455 | case BUTTON_RIGHT: | 495 | case FLIPIT_RIGHT: |
456 | move_cursor(1, 0); | 496 | move_cursor(1, 0); |
457 | break; | 497 | break; |
458 | 498 | ||
@@ -553,6 +593,12 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
553 | rb->lcd_putsxy(2, 28, "[REC-LEFT] shuffle"); | 593 | rb->lcd_putsxy(2, 28, "[REC-LEFT] shuffle"); |
554 | rb->lcd_putsxy(2, 38, "[REC-RIGHT] solution"); | 594 | rb->lcd_putsxy(2, 38, "[REC-RIGHT] solution"); |
555 | rb->lcd_putsxy(2, 48, "[REC-SEL] step by step"); | 595 | rb->lcd_putsxy(2, 48, "[REC-SEL] step by step"); |
596 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | ||
597 | rb->lcd_putsxy(2, 8, "[REC] to stop"); | ||
598 | rb->lcd_putsxy(2, 18, "[PLAY] toggle"); | ||
599 | rb->lcd_putsxy(2, 28, "[MODE] shuffle"); | ||
600 | rb->lcd_putsxy(2, 38, "[MENU..] solution"); | ||
601 | rb->lcd_putsxy(2, 48, "[MENU] step by step"); | ||
556 | #endif | 602 | #endif |
557 | rb->lcd_update(); | 603 | rb->lcd_update(); |
558 | #else /* HAVE_LCD_CHARCELLS */ | 604 | #else /* HAVE_LCD_CHARCELLS */ |