diff options
Diffstat (limited to 'apps/radio/presets.c')
-rw-r--r-- | apps/radio/presets.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/radio/presets.c b/apps/radio/presets.c index d272d3472e..ea1d4022da 100644 --- a/apps/radio/presets.c +++ b/apps/radio/presets.c | |||
@@ -612,3 +612,30 @@ void presets_save(void) | |||
612 | else | 612 | else |
613 | radio_save_presets(); | 613 | radio_save_presets(); |
614 | } | 614 | } |
615 | |||
616 | #ifdef HAVE_LCD_BITMAP | ||
617 | static inline void draw_veritcal_line_mark(struct screen * screen, | ||
618 | int x, int y, int h) | ||
619 | { | ||
620 | screen->set_drawmode(DRMODE_COMPLEMENT); | ||
621 | screen->vline(x, y, y+h-1); | ||
622 | } | ||
623 | |||
624 | /* draw the preset markers for a track of length "tracklen", | ||
625 | between (x,y) and (x+w,y) */ | ||
626 | void presets_draw_markers(struct screen *screen, | ||
627 | int x, int y, int w, int h) | ||
628 | { | ||
629 | int i,xi; | ||
630 | const struct fm_region_data *region_data = | ||
631 | &(fm_region_data[global_settings.fm_region]); | ||
632 | int len = region_data->freq_max - region_data->freq_min; | ||
633 | for (i=0; i < radio_preset_count(); i++) | ||
634 | { | ||
635 | int freq = radio_get_preset(i)->frequency; | ||
636 | int diff = freq - region_data->freq_min; | ||
637 | xi = x + (w * diff)/len; | ||
638 | draw_veritcal_line_mark(screen, xi, y, h); | ||
639 | } | ||
640 | } | ||
641 | #endif | ||