diff options
Diffstat (limited to 'apps/plugins/starfield.c')
-rw-r--r-- | apps/plugins/starfield.c | 248 |
1 files changed, 23 insertions, 225 deletions
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c index b410c4134a..811e9c61ae 100644 --- a/apps/plugins/starfield.c +++ b/apps/plugins/starfield.c | |||
@@ -20,231 +20,28 @@ | |||
20 | #include "plugin.h" | 20 | #include "plugin.h" |
21 | #include "lib/helper.h" | 21 | #include "lib/helper.h" |
22 | #include "lib/pluginlib_exit.h" | 22 | #include "lib/pluginlib_exit.h" |
23 | 23 | #include "lib/pluginlib_actions.h" | |
24 | /******************************* Globals ***********************************/ | 24 | /******************************* Globals ***********************************/ |
25 | /* this set the context to use with PLA */ | ||
26 | static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; | ||
25 | 27 | ||
26 | /* Key assignement */ | 28 | /* Key assignement */ |
27 | #if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ | 29 | #define STARFIELD_QUIT PLA_EXIT |
28 | (CONFIG_KEYPAD == IPOD_3G_PAD) || \ | 30 | #define STARFIELD_QUIT2 PLA_CANCEL |
29 | (CONFIG_KEYPAD == IPOD_1G2G_PAD) | 31 | #define STARFIELD_INCREASE_ZMOVE PLA_UP |
30 | #define STARFIELD_QUIT BUTTON_MENU | 32 | #define STARFIELD_INCREASE_ZMOVE_REPEAT PLA_UP_REPEAT |
31 | #define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_FWD | 33 | #define STARFIELD_DECREASE_ZMOVE PLA_DOWN |
32 | #define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_BACK | 34 | #define STARFIELD_DECREASE_ZMOVE_REPEAT PLA_DOWN_REPEAT |
33 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | 35 | #define STARFIELD_INCREASE_NB_STARS PLA_RIGHT |
34 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | 36 | #define STARFIELD_INCREASE_NB_STARS_REPEAT PLA_RIGHT_REPEAT |
35 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | 37 | #define STARFIELD_DECREASE_NB_STARS PLA_LEFT |
36 | 38 | #define STARFIELD_DECREASE_NB_STARS_REPEAT PLA_LEFT_REPEAT | |
37 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | 39 | #define STARFIELD_TOGGLE_COLOR PLA_SELECT |
38 | #define STARFIELD_QUIT BUTTON_POWER | ||
39 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
40 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
41 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
42 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
43 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
44 | |||
45 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | ||
46 | #define STARFIELD_QUIT BUTTON_POWER | ||
47 | #define STARFIELD_INCREASE_ZMOVE BUTTON_SCROLL_UP | ||
48 | #define STARFIELD_DECREASE_ZMOVE BUTTON_SCROLL_DOWN | ||
49 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
50 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
51 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
52 | |||
53 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | ||
54 | #define STARFIELD_QUIT BUTTON_POWER | ||
55 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
56 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
57 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
58 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
59 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
60 | |||
61 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | ||
62 | (CONFIG_KEYPAD == SANSA_C200_PAD) || \ | ||
63 | (CONFIG_KEYPAD == SANSA_CLIP_PAD) || \ | ||
64 | (CONFIG_KEYPAD == SANSA_M200_PAD) || \ | ||
65 | (CONFIG_KEYPAD == SANSA_CONNECT_PAD) | ||
66 | #define STARFIELD_QUIT BUTTON_POWER | ||
67 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
68 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
69 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
70 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
71 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
72 | |||
73 | #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) | ||
74 | #define STARFIELD_QUIT (BUTTON_HOME|BUTTON_REPEAT) | ||
75 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
76 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
77 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
78 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
79 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
80 | |||
81 | #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ | ||
82 | (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) | ||
83 | #define STARFIELD_QUIT BUTTON_BACK | ||
84 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
85 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
86 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
87 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
88 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
89 | |||
90 | #elif (CONFIG_KEYPAD == MROBE100_PAD) | ||
91 | #define STARFIELD_QUIT BUTTON_POWER | ||
92 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
93 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
94 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
95 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
96 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
97 | |||
98 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | ||
99 | #define STARFIELD_QUIT BUTTON_RC_REC | ||
100 | #define STARFIELD_INCREASE_ZMOVE BUTTON_RC_VOL_UP | ||
101 | #define STARFIELD_DECREASE_ZMOVE BUTTON_RC_VOL_DOWN | ||
102 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RC_FF | ||
103 | #define STARFIELD_DECREASE_NB_STARS BUTTON_RC_REW | ||
104 | #define STARFIELD_TOGGLE_COLOR BUTTON_RC_MODE | ||
105 | |||
106 | #elif CONFIG_KEYPAD == IAUDIO67_PAD | ||
107 | #define STARFIELD_QUIT BUTTON_POWER | ||
108 | #define STARFIELD_INCREASE_ZMOVE BUTTON_STOP | ||
109 | #define STARFIELD_DECREASE_ZMOVE BUTTON_PLAY | ||
110 | #define STARFIELD_INCREASE_NB_STARS BUTTON_LEFT | ||
111 | #define STARFIELD_DECREASE_NB_STARS BUTTON_RIGHT | ||
112 | #define STARFIELD_TOGGLE_COLOR BUTTON_MENU | ||
113 | |||
114 | #elif (CONFIG_KEYPAD == COWON_D2_PAD) | ||
115 | #define STARFIELD_QUIT BUTTON_POWER | ||
116 | |||
117 | #elif CONFIG_KEYPAD == CREATIVEZVM_PAD | ||
118 | #define STARFIELD_QUIT BUTTON_BACK | ||
119 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
120 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
121 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
122 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
123 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
124 | |||
125 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD | ||
126 | #define STARFIELD_QUIT BUTTON_POWER | ||
127 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
128 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
129 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
130 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
131 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
132 | |||
133 | #elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD | ||
134 | #define STARFIELD_QUIT BUTTON_POWER | ||
135 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
136 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
137 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
138 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
139 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
140 | |||
141 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
142 | #define STARFIELD_QUIT BUTTON_POWER | ||
143 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
144 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
145 | #define STARFIELD_INCREASE_NB_STARS BUTTON_NEXT | ||
146 | #define STARFIELD_DECREASE_NB_STARS BUTTON_PREV | ||
147 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
148 | |||
149 | #elif (CONFIG_KEYPAD == ONDAVX747_PAD) || (CONFIG_KEYPAD == ONDAVX777_PAD) || (CONFIG_KEYPAD == MROBE500_PAD) | ||
150 | #define STARFIELD_QUIT BUTTON_POWER | ||
151 | |||
152 | #elif CONFIG_KEYPAD == SAMSUNG_YH_PAD | ||
153 | #define STARFIELD_QUIT BUTTON_FFWD | ||
154 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
155 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
156 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
157 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
158 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
159 | |||
160 | #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD | ||
161 | #define STARFIELD_QUIT BUTTON_REC | ||
162 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
163 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
164 | #define STARFIELD_INCREASE_NB_STARS BUTTON_NEXT | ||
165 | #define STARFIELD_DECREASE_NB_STARS BUTTON_PREV | ||
166 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
167 | |||
168 | #elif CONFIG_KEYPAD == MPIO_HD200_PAD | ||
169 | #define STARFIELD_QUIT (BUTTON_REC|BUTTON_PLAY) | ||
170 | #define STARFIELD_INCREASE_ZMOVE BUTTON_VOL_UP | ||
171 | #define STARFIELD_DECREASE_ZMOVE BUTTON_VOL_DOWN | ||
172 | #define STARFIELD_INCREASE_NB_STARS BUTTON_FF | ||
173 | #define STARFIELD_DECREASE_NB_STARS BUTTON_REW | ||
174 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
175 | |||
176 | #elif CONFIG_KEYPAD == MPIO_HD300_PAD | ||
177 | #define STARFIELD_QUIT (BUTTON_MENU|BUTTON_REPEAT) | ||
178 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
179 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
180 | #define STARFIELD_INCREASE_NB_STARS BUTTON_FF | ||
181 | #define STARFIELD_DECREASE_NB_STARS BUTTON_REW | ||
182 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
183 | |||
184 | #elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD | ||
185 | #define STARFIELD_QUIT BUTTON_POWER | ||
186 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
187 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
188 | #define STARFIELD_INCREASE_NB_STARS BUTTON_LEFT | ||
189 | #define STARFIELD_DECREASE_NB_STARS BUTTON_RIGHT | ||
190 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAYPAUSE | ||
191 | |||
192 | #endif | ||
193 | |||
194 | #ifdef HAVE_TOUCHSCREEN | ||
195 | #ifndef STARFIELD_QUIT | ||
196 | #define STARFIELD_QUIT BUTTON_TOPLEFT | ||
197 | #endif | ||
198 | #ifndef STARFIELD_INCREASE_ZMOVE | ||
199 | #define STARFIELD_INCREASE_ZMOVE BUTTON_TOPMIDDLE | ||
200 | #endif | ||
201 | #ifndef STARFIELD_DECREASE_ZMOVE | ||
202 | #define STARFIELD_DECREASE_ZMOVE BUTTON_BOTTOMMIDDLE | ||
203 | #endif | ||
204 | #ifndef STARFIELD_INCREASE_NB_STARS | ||
205 | #define STARFIELD_INCREASE_NB_STARS BUTTON_MIDRIGHT | ||
206 | #endif | ||
207 | #ifndef STARFIELD_DECREASE_NB_STARS | ||
208 | #define STARFIELD_DECREASE_NB_STARS BUTTON_MIDLEFT | ||
209 | #endif | ||
210 | #ifndef STARFIELD_TOGGLE_COLOR | ||
211 | #define STARFIELD_TOGGLE_COLOR BUTTON_CENTER | ||
212 | #endif | ||
213 | #endif | ||
214 | |||
215 | #ifndef STARFIELD_QUIT | ||
216 | #define STARFIELD_QUIT BUTTON_OFF | ||
217 | #endif | ||
218 | #ifndef STARFIELD_INCREASE_ZMOVE | ||
219 | #define STARFIELD_INCREASE_ZMOVE BUTTON_UP | ||
220 | #endif | ||
221 | #ifndef STARFIELD_DECREASE_ZMOVE | ||
222 | #define STARFIELD_DECREASE_ZMOVE BUTTON_DOWN | ||
223 | #endif | ||
224 | #ifndef STARFIELD_INCREASE_NB_STARS | ||
225 | #define STARFIELD_INCREASE_NB_STARS BUTTON_RIGHT | ||
226 | #endif | ||
227 | #ifndef STARFIELD_DECREASE_NB_STARS | ||
228 | #define STARFIELD_DECREASE_NB_STARS BUTTON_LEFT | ||
229 | #endif | ||
230 | |||
231 | #ifndef STARFIELD_TOGGLE_COLOR | ||
232 | #ifdef BUTTON_SELECT | ||
233 | #define STARFIELD_TOGGLE_COLOR BUTTON_SELECT | ||
234 | #else | ||
235 | #define STARFIELD_TOGGLE_COLOR BUTTON_PLAY | ||
236 | #endif | ||
237 | #endif | ||
238 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) | ||
239 | #define STARFIELD_RC_QUIT BUTTON_RC_STOP | ||
240 | #endif | ||
241 | |||
242 | 40 | ||
243 | #define LCD_CENTER_X (LCD_WIDTH/2) | 41 | #define LCD_CENTER_X (LCD_WIDTH/2) |
244 | #define LCD_CENTER_Y (LCD_HEIGHT/2) | 42 | #define LCD_CENTER_Y (LCD_HEIGHT/2) |
245 | #define Z_MAX_DIST 100 | 43 | #define Z_MAX_DIST 100 |
246 | 44 | ||
247 | |||
248 | #define MAX_STARS (LCD_WIDTH*LCD_HEIGHT*20)/100 | 45 | #define MAX_STARS (LCD_WIDTH*LCD_HEIGHT*20)/100 |
249 | #define INIT_STARS 200 | 46 | #define INIT_STARS 200 |
250 | #define STARFIELD_INCREASE_STEP 50 | 47 | #define STARFIELD_INCREASE_STEP 50 |
@@ -483,28 +280,31 @@ static int plugin_main(void) | |||
483 | } | 280 | } |
484 | rb->lcd_update(); | 281 | rb->lcd_update(); |
485 | 282 | ||
486 | button = rb->button_get(false); | 283 | /*We get button from PLA this way */ |
284 | button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts, | ||
285 | ARRAYLEN(plugin_contexts)); | ||
286 | |||
487 | switch(button) | 287 | switch(button) |
488 | { | 288 | { |
489 | case (STARFIELD_INCREASE_ZMOVE): | 289 | case (STARFIELD_INCREASE_ZMOVE): |
490 | case (STARFIELD_INCREASE_ZMOVE | BUTTON_REPEAT): | 290 | case (STARFIELD_INCREASE_ZMOVE_REPEAT): |
491 | ++(starfield.z_move); | 291 | ++(starfield.z_move); |
492 | pulse=false; | 292 | pulse=false; |
493 | t_disp=MSG_DISP_TIME; | 293 | t_disp=MSG_DISP_TIME; |
494 | break; | 294 | break; |
495 | case (STARFIELD_DECREASE_ZMOVE): | 295 | case (STARFIELD_DECREASE_ZMOVE): |
496 | case (STARFIELD_DECREASE_ZMOVE | BUTTON_REPEAT): | 296 | case (STARFIELD_DECREASE_ZMOVE_REPEAT): |
497 | --(starfield.z_move); | 297 | --(starfield.z_move); |
498 | pulse=false; | 298 | pulse=false; |
499 | t_disp=MSG_DISP_TIME; | 299 | t_disp=MSG_DISP_TIME; |
500 | break; | 300 | break; |
501 | case(STARFIELD_INCREASE_NB_STARS): | 301 | case(STARFIELD_INCREASE_NB_STARS): |
502 | case(STARFIELD_INCREASE_NB_STARS | BUTTON_REPEAT): | 302 | case(STARFIELD_INCREASE_NB_STARS_REPEAT): |
503 | starfield_add_stars(&starfield, STARFIELD_INCREASE_STEP); | 303 | starfield_add_stars(&starfield, STARFIELD_INCREASE_STEP); |
504 | t_disp=MSG_DISP_TIME; | 304 | t_disp=MSG_DISP_TIME; |
505 | break; | 305 | break; |
506 | case(STARFIELD_DECREASE_NB_STARS): | 306 | case(STARFIELD_DECREASE_NB_STARS): |
507 | case(STARFIELD_DECREASE_NB_STARS | BUTTON_REPEAT): | 307 | case(STARFIELD_DECREASE_NB_STARS_REPEAT): |
508 | starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP); | 308 | starfield_del_stars(&starfield, STARFIELD_INCREASE_STEP); |
509 | t_disp=MSG_DISP_TIME; | 309 | t_disp=MSG_DISP_TIME; |
510 | break; | 310 | break; |
@@ -513,10 +313,8 @@ static int plugin_main(void) | |||
513 | starfield.color=!starfield.color; | 313 | starfield.color=!starfield.color; |
514 | break; | 314 | break; |
515 | #endif | 315 | #endif |
516 | #ifdef STARFIELD_RC_QUIT | ||
517 | case STARFIELD_RC_QUIT: | ||
518 | #endif | ||
519 | case(STARFIELD_QUIT): | 316 | case(STARFIELD_QUIT): |
317 | case(STARFIELD_QUIT2): | ||
520 | return PLUGIN_OK; | 318 | return PLUGIN_OK; |
521 | break; | 319 | break; |
522 | default: | 320 | default: |