summaryrefslogtreecommitdiff
path: root/apps/plugins/vu_meter.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-06-28 23:15:47 +0000
committerJens Arnold <amiconn@rockbox.org>2005-06-28 23:15:47 +0000
commit7e11acbce9b9a63c28ded055d02301175391e027 (patch)
treeea8d30e7281e8d720d6dc8ea51804e1749282697 /apps/plugins/vu_meter.c
parentc2bf5dfe12978b44d5d890a37f256c8d9f510660 (diff)
downloadrockbox-7e11acbce9b9a63c28ded055d02301175391e027.tar.gz
rockbox-7e11acbce9b9a63c28ded055d02301175391e027.zip
Second part of graphics api rework. Bitmap drawing and text output converted; some code cleanup and more optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6906 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/vu_meter.c')
-rw-r--r--apps/plugins/vu_meter.c61
1 files changed, 37 insertions, 24 deletions
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 1a6f723292..d54f86de06 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -278,47 +278,55 @@ void change_settings(void)
278} 278}
279 279
280void draw_analog_minimeters(void) { 280void draw_analog_minimeters(void) {
281 rb->lcd_bitmap(sound_speaker, 0, 12, 4, 8, true); 281 rb->lcd_bitmap(sound_speaker, 0, 12, 4, 8);
282 rb->lcd_set_drawmode(DRMODE_FG);
282 if(5<left_needle_top_x) 283 if(5<left_needle_top_x)
283 rb->lcd_bitmap(sound_low_level, 5, 12, 2, 8, false); 284 rb->lcd_bitmap(sound_low_level, 5, 12, 2, 8);
284 if(12<left_needle_top_x) 285 if(12<left_needle_top_x)
285 rb->lcd_bitmap(sound_med_level, 7, 12, 2, 8, false); 286 rb->lcd_bitmap(sound_med_level, 7, 12, 2, 8);
286 if(24<left_needle_top_x) 287 if(24<left_needle_top_x)
287 rb->lcd_bitmap(sound_high_level, 9, 12, 2, 8, false); 288 rb->lcd_bitmap(sound_high_level, 9, 12, 2, 8);
288 if(40<left_needle_top_x) 289 if(40<left_needle_top_x)
289 rb->lcd_bitmap(sound_max_level, 12, 12, 3, 8, false); 290 rb->lcd_bitmap(sound_max_level, 12, 12, 3, 8);
290 291
291 rb->lcd_bitmap(sound_speaker, 54, 12, 4, 8, true); 292 rb->lcd_set_drawmode(DRMODE_SOLID);
293 rb->lcd_bitmap(sound_speaker, 54, 12, 4, 8);
294 rb->lcd_set_drawmode(DRMODE_FG);
292 if(5<(right_needle_top_x-56)) 295 if(5<(right_needle_top_x-56))
293 rb->lcd_bitmap(sound_low_level, 59, 12, 2, 8, false); 296 rb->lcd_bitmap(sound_low_level, 59, 12, 2, 8);
294 if(12<(right_needle_top_x-56)) 297 if(12<(right_needle_top_x-56))
295 rb->lcd_bitmap(sound_med_level, 61, 12, 2, 8, false); 298 rb->lcd_bitmap(sound_med_level, 61, 12, 2, 8);
296 if(24<(right_needle_top_x-56)) 299 if(24<(right_needle_top_x-56))
297 rb->lcd_bitmap(sound_high_level, 63, 12, 2, 8, false); 300 rb->lcd_bitmap(sound_high_level, 63, 12, 2, 8);
298 if(40<(right_needle_top_x-56)) 301 if(40<(right_needle_top_x-56))
299 rb->lcd_bitmap(sound_max_level, 66, 12, 3, 8, false); 302 rb->lcd_bitmap(sound_max_level, 66, 12, 3, 8);
303 rb->lcd_set_drawmode(DRMODE_SOLID);
300} 304}
301 305
302void draw_digital_minimeters(void) { 306void draw_digital_minimeters(void) {
303 rb->lcd_bitmap(sound_speaker, 34, 24, 4, 8, true); 307 rb->lcd_bitmap(sound_speaker, 34, 24, 4, 8);
308 rb->lcd_set_drawmode(DRMODE_FG);
304 if(1<num_left_leds) 309 if(1<num_left_leds)
305 rb->lcd_bitmap(sound_low_level, 39, 24, 2, 8, false); 310 rb->lcd_bitmap(sound_low_level, 39, 24, 2, 8);
306 if(2<num_left_leds) 311 if(2<num_left_leds)
307 rb->lcd_bitmap(sound_med_level, 41, 24, 2, 8, false); 312 rb->lcd_bitmap(sound_med_level, 41, 24, 2, 8);
308 if(5<num_left_leds) 313 if(5<num_left_leds)
309 rb->lcd_bitmap(sound_high_level, 43, 24, 2, 8, false); 314 rb->lcd_bitmap(sound_high_level, 43, 24, 2, 8);
310 if(8<num_left_leds) 315 if(8<num_left_leds)
311 rb->lcd_bitmap(sound_max_level, 46, 24, 3, 8, false); 316 rb->lcd_bitmap(sound_max_level, 46, 24, 3, 8);
312 317
313 rb->lcd_bitmap(sound_speaker, 34, 40, 4, 8, true); 318 rb->lcd_set_drawmode(DRMODE_SOLID);
319 rb->lcd_bitmap(sound_speaker, 34, 40, 4, 8);
320 rb->lcd_set_drawmode(DRMODE_FG);
314 if(1<(num_right_leds)) 321 if(1<(num_right_leds))
315 rb->lcd_bitmap(sound_low_level, 39, 40, 2, 8, false); 322 rb->lcd_bitmap(sound_low_level, 39, 40, 2, 8);
316 if(2<(num_right_leds)) 323 if(2<(num_right_leds))
317 rb->lcd_bitmap(sound_med_level, 41, 40, 2, 8, false); 324 rb->lcd_bitmap(sound_med_level, 41, 40, 2, 8);
318 if(5<(num_right_leds)) 325 if(5<(num_right_leds))
319 rb->lcd_bitmap(sound_high_level, 43, 40, 2, 8, false); 326 rb->lcd_bitmap(sound_high_level, 43, 40, 2, 8);
320 if(8<(num_right_leds)) 327 if(8<(num_right_leds))
321 rb->lcd_bitmap(sound_max_level, 46, 40, 3, 8, false); 328 rb->lcd_bitmap(sound_max_level, 46, 40, 3, 8);
329 rb->lcd_set_drawmode(DRMODE_SOLID);
322} 330}
323 331
324void analog_meter(void) { 332void analog_meter(void) {
@@ -350,8 +358,10 @@ void analog_meter(void) {
350 draw_analog_minimeters(); 358 draw_analog_minimeters();
351 359
352 /* Needle covers */ 360 /* Needle covers */
353 rb->lcd_bitmap(needle_cover, 22, 59, 13, 5, false); 361 rb->lcd_set_drawmode(DRMODE_FG);
354 rb->lcd_bitmap(needle_cover, 78, 59, 13, 5, false); 362 rb->lcd_bitmap(needle_cover, 22, 59, 13, 5);
363 rb->lcd_bitmap(needle_cover, 78, 59, 13, 5);
364 rb->lcd_set_drawmode(DRMODE_SOLID);
355 365
356 /* Show Left/Right */ 366 /* Show Left/Right */
357 rb->lcd_putsxy(16, 12, "Left"); 367 rb->lcd_putsxy(16, 12, "Left");
@@ -383,12 +393,15 @@ void digital_meter(void) {
383 last_num_left_leds = num_left_leds; 393 last_num_left_leds = num_left_leds;
384 last_num_right_leds = num_right_leds; 394 last_num_right_leds = num_right_leds;
385 395
396 rb->lcd_set_drawmode(DRMODE_FG);
386 /* LEDS */ 397 /* LEDS */
387 for(i=0; i<num_left_leds; i++) 398 for(i=0; i<num_left_leds; i++)
388 rb->lcd_bitmap(led, i*9+2+i, 14, 9, 5, false); 399 rb->lcd_bitmap(led, i*9+2+i, 14, 9, 5);
389 400
390 for(i=0; i<num_right_leds; i++) 401 for(i=0; i<num_right_leds; i++)
391 rb->lcd_bitmap(led, i*9+2+i, 52, 9, 5, false); 402 rb->lcd_bitmap(led, i*9+2+i, 52, 9, 5);
403
404 rb->lcd_set_drawmode(DRMODE_SOLID);
392 405
393 if(settings.digital_minimeters) 406 if(settings.digital_minimeters)
394 draw_digital_minimeters(); 407 draw_digital_minimeters();