summaryrefslogtreecommitdiff
path: root/apps/radio
diff options
context:
space:
mode:
Diffstat (limited to 'apps/radio')
-rw-r--r--apps/radio/presets.c27
-rw-r--r--apps/radio/radio.h1
2 files changed, 28 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
617static 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) */
626void 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
diff --git a/apps/radio/radio.h b/apps/radio/radio.h
index f61ad026f3..01afdc5a25 100644
--- a/apps/radio/radio.h
+++ b/apps/radio/radio.h
@@ -65,6 +65,7 @@ struct fmstation
65 char name[MAX_FMPRESET_LEN+1]; 65 char name[MAX_FMPRESET_LEN+1];
66}; 66};
67const char* radio_get_preset_name(int preset); 67const char* radio_get_preset_name(int preset);
68void presets_draw_markers(struct screen *screen, int x, int y, int w, int h);
68 69
69#ifdef HAVE_ALBUMART 70#ifdef HAVE_ALBUMART
70void radioart_init(bool entering_screen); 71void radioart_init(bool entering_screen);