blob: 6ffcc9cb80cd1d5a201ce7800270697d8b1ee258 [file] [log] [blame]
Daniel Stenberg1c0c8612002-05-17 12:22:24 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 Robert E. Hak
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
Björn Stenbergfb00c212004-05-21 20:08:24 +000019#ifndef _ICONS_H_
20#define _ICONS_H_
21
Daniel Stenberg1c0c8612002-05-17 12:22:24 +000022#include <lcd.h>
23
24/*
25 * Icons of size 6x8 pixels
26 */
27
28#ifdef HAVE_LCD_BITMAP
29
Björn Stenbergabe11fd2002-09-03 15:58:47 +000030/* Symbolic names for icons */
31enum icons_5x8 {
32 Icon_Lock
33};
34
Jens Arnold6c00e382005-08-24 00:09:42 +000035enum icons_6x8 {
36 Icon_Audio,
37 Icon_Folder,
38 Icon_Playlist,
Linus Nielsen Feltzing6c2af7c2005-09-01 08:04:37 +000039 Icon_Cursor,
Jens Arnold6c00e382005-08-24 00:09:42 +000040 Icon_Wps,
41 Icon_Firmware,
42 Icon_Font,
43 Icon_Language,
44 Icon_Config,
45 Icon_Plugin,
46 Icon_Bookmark,
Kevin Ferrare8517ed82005-11-16 02:12:25 +000047 Icon_Queued,
48 Icon_Moving,
Jens Arnold6c00e382005-08-24 00:09:42 +000049 LastIcon
50};
51
Björn Stenbergabe11fd2002-09-03 15:58:47 +000052enum icons_7x8 {
53 Icon_Plug,
Jens Arnold97a80492005-06-23 02:18:29 +000054 Icon_USBPlug,
Björn Stenbergabe11fd2002-09-03 15:58:47 +000055 Icon_Mute,
56 Icon_Play,
57 Icon_Stop,
58 Icon_Pause,
59 Icon_FastForward,
60 Icon_FastBackward,
61 Icon_Record,
62 Icon_RecPause,
Anton Oleynikov2c836342005-11-19 20:45:32 +000063 Icon_Radio,
64 Icon_Radio_Mute,
Björn Stenbergabe11fd2002-09-03 15:58:47 +000065 Icon_Repeat,
Björn Stenberg7e23c702002-10-08 10:24:29 +000066 Icon_RepeatOne,
Björn Stenbergabe11fd2002-09-03 15:58:47 +000067 Icon_Shuffle,
Björn Stenberg0ad20102002-09-03 20:47:23 +000068 Icon_DownArrow,
69 Icon_UpArrow,
Linus Nielsen Feltzing0ad617c2005-08-21 23:01:12 +000070 Icon_RepeatAB,
Björn Stenbergabe11fd2002-09-03 15:58:47 +000071 Icon_Last
72};
73
Jens Arnold638dd672004-07-19 21:46:37 +000074extern const unsigned char bitmap_icons_5x8[1][5];
75extern const unsigned char bitmap_icons_6x8[LastIcon][6];
76extern const unsigned char bitmap_icons_7x8[Icon_Last][7];
Jens Arnold5690f782005-06-04 23:15:52 +000077#if CONFIG_LED == LED_VIRTUAL
Jörg Hohensohnf5e7a762005-03-01 22:55:52 +000078extern const unsigned char bitmap_icon_disk[];
79#endif
Daniel Stenberg1c0c8612002-05-17 12:22:24 +000080
Linus Nielsen Feltzing88f3a532005-05-31 12:37:05 +000081#if LCD_WIDTH == 112 || LCD_WIDTH == 128 || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_WIDTH == 128)
Jens Arnold638dd672004-07-19 21:46:37 +000082extern const unsigned char rockbox112x37[];
Daniel Stenbergbfba2d22004-12-20 09:21:09 +000083#endif
Dave Chapmana807fca2005-11-19 03:09:02 +000084#if defined(IRIVER_H300_SERIES) || defined(APPLE_IPODCOLOR)
Linus Nielsen Feltzing2dd518a2005-11-14 20:46:48 +000085#define ROCKBOXLOGO_WIDTH 220
86#define ROCKBOXLOGO_HEIGHT 68
87extern const unsigned short rockboxlogo[];
Dave Chapmana807fca2005-11-19 03:09:02 +000088#elif defined(APPLE_IPODNANO)
Dave Chapman07480a72005-11-15 02:19:02 +000089#define ROCKBOXLOGO_WIDTH 176
90#define ROCKBOXLOGO_HEIGHT 54
91extern const unsigned short rockboxlogo[];
Linus Nielsen Feltzing2dd518a2005-11-14 20:46:48 +000092#elif LCD_WIDTH >= 160
Jens Arnoldf894a4c2005-07-06 22:58:02 +000093extern const unsigned char rockbox160x53x2[];
Daniel Stenbergbfba2d22004-12-20 09:21:09 +000094#endif
Daniel Stenberg9ea1f1a2002-05-31 12:30:48 +000095
Markus Braunde8fbf02002-08-07 10:35:26 +000096#define STATUSBAR_X_POS 0
Robert Hak648ccc82003-02-26 21:39:13 +000097#define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */
Markus Braunde8fbf02002-08-07 10:35:26 +000098#define STATUSBAR_HEIGHT 8
99#define STATUSBAR_WIDTH LCD_WIDTH
100#define ICON_BATTERY_X_POS 0
101#define ICON_BATTERY_WIDTH 18
102#define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2
103#define ICON_PLUG_WIDTH 7
104#define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2
Markus Braun11d208c2002-08-20 20:32:08 +0000105#define ICON_VOLUME_WIDTH 16
Markus Braunde8fbf02002-08-07 10:35:26 +0000106#define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2
107#define ICON_PLAY_STATE_WIDTH 7
108#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
109#define ICON_PLAY_MODE_WIDTH 7
110#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
111#define ICON_SHUFFLE_WIDTH 7
112#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
113#define LOCK_WIDTH 5
Jörg Hohensohnf5e7a762005-03-01 22:55:52 +0000114#define ICON_DISK_WIDTH 12
Jörg Hohensohnc76fbf72005-02-19 00:34:15 +0000115#define ICON_DISK_X_POS STATUSBAR_WIDTH-ICON_DISK_WIDTH
Markus Braun11d208c2002-08-20 20:32:08 +0000116#define TIME_X_END STATUSBAR_WIDTH-1
Markus Braunde8fbf02002-08-07 10:35:26 +0000117
Markus Braunde8fbf02002-08-07 10:35:26 +0000118extern void statusbar_wipe(void);
Jens Arnold97a80492005-06-23 02:18:29 +0000119extern void statusbar_icon_battery(int percent);
Linus Nielsen Feltzing3dc50b02004-07-13 06:59:11 +0000120extern bool statusbar_icon_volume(int percent);
Markus Braunde8fbf02002-08-07 10:35:26 +0000121extern void statusbar_icon_play_state(int state);
122extern void statusbar_icon_play_mode(int mode);
123extern void statusbar_icon_shuffle(void);
124extern void statusbar_icon_lock(void);
125#ifdef HAVE_RTC
Markus Braun4e4dfc02002-08-30 19:44:58 +0000126extern void statusbar_time(int hour, int minute);
Markus Braunde8fbf02002-08-07 10:35:26 +0000127#endif
Jens Arnold5690f782005-06-04 23:15:52 +0000128#if CONFIG_LED == LED_VIRTUAL
Jörg Hohensohnc76fbf72005-02-19 00:34:15 +0000129extern void statusbar_led(void);
130#endif
131
Daniel Stenberg1c0c8612002-05-17 12:22:24 +0000132#endif /* End HAVE_LCD_BITMAP */
Björn Stenbergfb00c212004-05-21 20:08:24 +0000133
134#endif /* _ICONS_H_ */