forked from len0rd/rockbox
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
This commit is contained in:
parent
c2bf5dfe12
commit
7e11acbce9
28 changed files with 625 additions and 559 deletions
|
|
@ -278,47 +278,55 @@ void change_settings(void)
|
|||
}
|
||||
|
||||
void draw_analog_minimeters(void) {
|
||||
rb->lcd_bitmap(sound_speaker, 0, 12, 4, 8, true);
|
||||
rb->lcd_bitmap(sound_speaker, 0, 12, 4, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
if(5<left_needle_top_x)
|
||||
rb->lcd_bitmap(sound_low_level, 5, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_low_level, 5, 12, 2, 8);
|
||||
if(12<left_needle_top_x)
|
||||
rb->lcd_bitmap(sound_med_level, 7, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_med_level, 7, 12, 2, 8);
|
||||
if(24<left_needle_top_x)
|
||||
rb->lcd_bitmap(sound_high_level, 9, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_high_level, 9, 12, 2, 8);
|
||||
if(40<left_needle_top_x)
|
||||
rb->lcd_bitmap(sound_max_level, 12, 12, 3, 8, false);
|
||||
rb->lcd_bitmap(sound_max_level, 12, 12, 3, 8);
|
||||
|
||||
rb->lcd_bitmap(sound_speaker, 54, 12, 4, 8, true);
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
rb->lcd_bitmap(sound_speaker, 54, 12, 4, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
if(5<(right_needle_top_x-56))
|
||||
rb->lcd_bitmap(sound_low_level, 59, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_low_level, 59, 12, 2, 8);
|
||||
if(12<(right_needle_top_x-56))
|
||||
rb->lcd_bitmap(sound_med_level, 61, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_med_level, 61, 12, 2, 8);
|
||||
if(24<(right_needle_top_x-56))
|
||||
rb->lcd_bitmap(sound_high_level, 63, 12, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_high_level, 63, 12, 2, 8);
|
||||
if(40<(right_needle_top_x-56))
|
||||
rb->lcd_bitmap(sound_max_level, 66, 12, 3, 8, false);
|
||||
rb->lcd_bitmap(sound_max_level, 66, 12, 3, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
}
|
||||
|
||||
void draw_digital_minimeters(void) {
|
||||
rb->lcd_bitmap(sound_speaker, 34, 24, 4, 8, true);
|
||||
rb->lcd_bitmap(sound_speaker, 34, 24, 4, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
if(1<num_left_leds)
|
||||
rb->lcd_bitmap(sound_low_level, 39, 24, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_low_level, 39, 24, 2, 8);
|
||||
if(2<num_left_leds)
|
||||
rb->lcd_bitmap(sound_med_level, 41, 24, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_med_level, 41, 24, 2, 8);
|
||||
if(5<num_left_leds)
|
||||
rb->lcd_bitmap(sound_high_level, 43, 24, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_high_level, 43, 24, 2, 8);
|
||||
if(8<num_left_leds)
|
||||
rb->lcd_bitmap(sound_max_level, 46, 24, 3, 8, false);
|
||||
rb->lcd_bitmap(sound_max_level, 46, 24, 3, 8);
|
||||
|
||||
rb->lcd_bitmap(sound_speaker, 34, 40, 4, 8, true);
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
rb->lcd_bitmap(sound_speaker, 34, 40, 4, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
if(1<(num_right_leds))
|
||||
rb->lcd_bitmap(sound_low_level, 39, 40, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_low_level, 39, 40, 2, 8);
|
||||
if(2<(num_right_leds))
|
||||
rb->lcd_bitmap(sound_med_level, 41, 40, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_med_level, 41, 40, 2, 8);
|
||||
if(5<(num_right_leds))
|
||||
rb->lcd_bitmap(sound_high_level, 43, 40, 2, 8, false);
|
||||
rb->lcd_bitmap(sound_high_level, 43, 40, 2, 8);
|
||||
if(8<(num_right_leds))
|
||||
rb->lcd_bitmap(sound_max_level, 46, 40, 3, 8, false);
|
||||
rb->lcd_bitmap(sound_max_level, 46, 40, 3, 8);
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
}
|
||||
|
||||
void analog_meter(void) {
|
||||
|
|
@ -350,8 +358,10 @@ void analog_meter(void) {
|
|||
draw_analog_minimeters();
|
||||
|
||||
/* Needle covers */
|
||||
rb->lcd_bitmap(needle_cover, 22, 59, 13, 5, false);
|
||||
rb->lcd_bitmap(needle_cover, 78, 59, 13, 5, false);
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
rb->lcd_bitmap(needle_cover, 22, 59, 13, 5);
|
||||
rb->lcd_bitmap(needle_cover, 78, 59, 13, 5);
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
|
||||
/* Show Left/Right */
|
||||
rb->lcd_putsxy(16, 12, "Left");
|
||||
|
|
@ -383,12 +393,15 @@ void digital_meter(void) {
|
|||
last_num_left_leds = num_left_leds;
|
||||
last_num_right_leds = num_right_leds;
|
||||
|
||||
rb->lcd_set_drawmode(DRMODE_FG);
|
||||
/* LEDS */
|
||||
for(i=0; i<num_left_leds; i++)
|
||||
rb->lcd_bitmap(led, i*9+2+i, 14, 9, 5, false);
|
||||
rb->lcd_bitmap(led, i*9+2+i, 14, 9, 5);
|
||||
|
||||
for(i=0; i<num_right_leds; i++)
|
||||
rb->lcd_bitmap(led, i*9+2+i, 52, 9, 5, false);
|
||||
rb->lcd_bitmap(led, i*9+2+i, 52, 9, 5);
|
||||
|
||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||
|
||||
if(settings.digital_minimeters)
|
||||
draw_digital_minimeters();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue