1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2002 Robert E. Hak
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
29 #ifdef HAVE_LCD_BITMAP
31 /* External bitmaps */
33 #include "bitmaps/rockboxlogo.h"
34 #ifdef HAVE_REMOTE_LCD
35 #include "bitmaps/remote_rockboxlogo.h"
39 /* Symbolic names for icons */
45 #if CONFIG_CODEC != SWCODEC
73 #if CONFIG_CODEC == SWCODEC && defined (HAVE_RECORDING)
74 #define BM_GLYPH_WIDTH 4
89 extern const unsigned char bitmap_glyphs_4x8
[Glyph_4x8Last
][4];
91 #define BM_MPA_L3_M_WIDTH 6
93 /* This enum is redundant but sort of in keeping with the style */
94 enum rec_format_18x8
{
95 Format_18x8_AIFF
= REC_FORMAT_AIFF
,
96 Format_18x8_MPA_L3
= REC_FORMAT_MPA_L3
,
97 Format_18x8_WAVPACK
= REC_FORMAT_WAVPACK
,
98 Format_18x8_PCM_WAV
= REC_FORMAT_PCM_WAV
,
99 Format_18x8Last
= REC_NUM_FORMATS
101 extern const unsigned char bitmap_formats_18x8
[Format_18x8Last
][18];
103 #endif /* CONFIG_CODEC == SWCODEC && defined (HAVE_RECORDING) */
105 extern const unsigned char bitmap_icons_5x8
[Icon5x8Last
][5];
106 extern const unsigned char bitmap_icons_7x8
[Icon7x8Last
][7];
107 extern const unsigned char bitmap_icon_disk
[];
109 #define STATUSBAR_X_POS 0
110 #define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */
111 #define STATUSBAR_HEIGHT 8
112 #define STATUSBAR_WIDTH LCD_WIDTH
113 #define ICON_BATTERY_X_POS 0
114 #define ICON_BATTERY_WIDTH 18
115 #define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2
116 #define ICON_PLUG_WIDTH 7
117 #define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2
118 #define ICON_VOLUME_WIDTH 16
119 #define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2
120 #define ICON_PLAY_STATE_WIDTH 7
121 #define ICON_PLAY_MODE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+2+2+2+2
122 #define ICON_PLAY_MODE_WIDTH 7
123 #define ICON_SHUFFLE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+2+2+2+2+2
124 #define ICON_SHUFFLE_WIDTH 7
125 #define LOCK_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+ICON_SHUFFLE_WIDTH+2+2+2+2+2+2
127 #define ICON_DISK_WIDTH 12
128 #define ICON_DISK_X_POS STATUSBAR_WIDTH-ICON_DISK_WIDTH
129 #define TIME_X_END STATUSBAR_WIDTH-1
131 extern void statusbar_wipe(void);
132 extern void statusbar_icon_battery(int percent
);
133 extern bool statusbar_icon_volume(int percent
);
134 extern void statusbar_icon_play_state(int state
);
135 extern void statusbar_icon_play_mode(int mode
);
136 extern void statusbar_icon_shuffle(void);
137 extern void statusbar_icon_lock(void);
139 extern void statusbar_time(int hour
, int minute
);
141 #if (CONFIG_LED == LED_VIRTUAL)
142 extern void statusbar_led(void);
145 #endif /* End HAVE_LCD_BITMAP */
147 #endif /* _ICONS_H_ */