Daniel Stenberg | 1c0c861 | 2002-05-17 12:22:24 +0000 | [diff] [blame] | 1 | /*************************************************************************** |
| 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 Stenberg | fb00c21 | 2004-05-21 20:08:24 +0000 | [diff] [blame] | 19 | #ifndef _ICONS_H_ |
| 20 | #define _ICONS_H_ |
| 21 | |
Daniel Stenberg | 1c0c861 | 2002-05-17 12:22:24 +0000 | [diff] [blame] | 22 | #include <lcd.h> |
| 23 | |
| 24 | /* |
| 25 | * Icons of size 6x8 pixels |
| 26 | */ |
| 27 | |
| 28 | #ifdef HAVE_LCD_BITMAP |
| 29 | |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 30 | /* Symbolic names for icons */ |
| 31 | enum icons_5x8 { |
| 32 | Icon_Lock |
| 33 | }; |
| 34 | |
Jens Arnold | 6c00e38 | 2005-08-24 00:09:42 +0000 | [diff] [blame] | 35 | enum icons_6x8 { |
| 36 | Icon_Audio, |
| 37 | Icon_Folder, |
| 38 | Icon_Playlist, |
Linus Nielsen Feltzing | 6c2af7c | 2005-09-01 08:04:37 +0000 | [diff] [blame] | 39 | Icon_Cursor, |
Jens Arnold | 6c00e38 | 2005-08-24 00:09:42 +0000 | [diff] [blame] | 40 | Icon_Wps, |
| 41 | Icon_Firmware, |
| 42 | Icon_Font, |
| 43 | Icon_Language, |
| 44 | Icon_Config, |
| 45 | Icon_Plugin, |
| 46 | Icon_Bookmark, |
Kevin Ferrare | 8517ed8 | 2005-11-16 02:12:25 +0000 | [diff] [blame] | 47 | Icon_Queued, |
| 48 | Icon_Moving, |
Jens Arnold | 6c00e38 | 2005-08-24 00:09:42 +0000 | [diff] [blame] | 49 | LastIcon |
| 50 | }; |
| 51 | |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 52 | enum icons_7x8 { |
| 53 | Icon_Plug, |
Jens Arnold | 97a8049 | 2005-06-23 02:18:29 +0000 | [diff] [blame] | 54 | Icon_USBPlug, |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 55 | Icon_Mute, |
| 56 | Icon_Play, |
| 57 | Icon_Stop, |
| 58 | Icon_Pause, |
| 59 | Icon_FastForward, |
| 60 | Icon_FastBackward, |
| 61 | Icon_Record, |
| 62 | Icon_RecPause, |
Anton Oleynikov | 2c83634 | 2005-11-19 20:45:32 +0000 | [diff] [blame^] | 63 | Icon_Radio, |
| 64 | Icon_Radio_Mute, |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 65 | Icon_Repeat, |
Björn Stenberg | 7e23c70 | 2002-10-08 10:24:29 +0000 | [diff] [blame] | 66 | Icon_RepeatOne, |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 67 | Icon_Shuffle, |
Björn Stenberg | 0ad2010 | 2002-09-03 20:47:23 +0000 | [diff] [blame] | 68 | Icon_DownArrow, |
| 69 | Icon_UpArrow, |
Linus Nielsen Feltzing | 0ad617c | 2005-08-21 23:01:12 +0000 | [diff] [blame] | 70 | Icon_RepeatAB, |
Björn Stenberg | abe11fd | 2002-09-03 15:58:47 +0000 | [diff] [blame] | 71 | Icon_Last |
| 72 | }; |
| 73 | |
Jens Arnold | 638dd67 | 2004-07-19 21:46:37 +0000 | [diff] [blame] | 74 | extern const unsigned char bitmap_icons_5x8[1][5]; |
| 75 | extern const unsigned char bitmap_icons_6x8[LastIcon][6]; |
| 76 | extern const unsigned char bitmap_icons_7x8[Icon_Last][7]; |
Jens Arnold | 5690f78 | 2005-06-04 23:15:52 +0000 | [diff] [blame] | 77 | #if CONFIG_LED == LED_VIRTUAL |
Jörg Hohensohn | f5e7a76 | 2005-03-01 22:55:52 +0000 | [diff] [blame] | 78 | extern const unsigned char bitmap_icon_disk[]; |
| 79 | #endif |
Daniel Stenberg | 1c0c861 | 2002-05-17 12:22:24 +0000 | [diff] [blame] | 80 | |
Linus Nielsen Feltzing | 88f3a53 | 2005-05-31 12:37:05 +0000 | [diff] [blame] | 81 | #if LCD_WIDTH == 112 || LCD_WIDTH == 128 || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_WIDTH == 128) |
Jens Arnold | 638dd67 | 2004-07-19 21:46:37 +0000 | [diff] [blame] | 82 | extern const unsigned char rockbox112x37[]; |
Daniel Stenberg | bfba2d2 | 2004-12-20 09:21:09 +0000 | [diff] [blame] | 83 | #endif |
Dave Chapman | a807fca | 2005-11-19 03:09:02 +0000 | [diff] [blame] | 84 | #if defined(IRIVER_H300_SERIES) || defined(APPLE_IPODCOLOR) |
Linus Nielsen Feltzing | 2dd518a | 2005-11-14 20:46:48 +0000 | [diff] [blame] | 85 | #define ROCKBOXLOGO_WIDTH 220 |
| 86 | #define ROCKBOXLOGO_HEIGHT 68 |
| 87 | extern const unsigned short rockboxlogo[]; |
Dave Chapman | a807fca | 2005-11-19 03:09:02 +0000 | [diff] [blame] | 88 | #elif defined(APPLE_IPODNANO) |
Dave Chapman | 07480a7 | 2005-11-15 02:19:02 +0000 | [diff] [blame] | 89 | #define ROCKBOXLOGO_WIDTH 176 |
| 90 | #define ROCKBOXLOGO_HEIGHT 54 |
| 91 | extern const unsigned short rockboxlogo[]; |
Linus Nielsen Feltzing | 2dd518a | 2005-11-14 20:46:48 +0000 | [diff] [blame] | 92 | #elif LCD_WIDTH >= 160 |
Jens Arnold | f894a4c | 2005-07-06 22:58:02 +0000 | [diff] [blame] | 93 | extern const unsigned char rockbox160x53x2[]; |
Daniel Stenberg | bfba2d2 | 2004-12-20 09:21:09 +0000 | [diff] [blame] | 94 | #endif |
Daniel Stenberg | 9ea1f1a | 2002-05-31 12:30:48 +0000 | [diff] [blame] | 95 | |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 96 | #define STATUSBAR_X_POS 0 |
Robert Hak | 648ccc8 | 2003-02-26 21:39:13 +0000 | [diff] [blame] | 97 | #define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */ |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 98 | #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 Braun | 11d208c | 2002-08-20 20:32:08 +0000 | [diff] [blame] | 105 | #define ICON_VOLUME_WIDTH 16 |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 106 | #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 Hohensohn | f5e7a76 | 2005-03-01 22:55:52 +0000 | [diff] [blame] | 114 | #define ICON_DISK_WIDTH 12 |
Jörg Hohensohn | c76fbf7 | 2005-02-19 00:34:15 +0000 | [diff] [blame] | 115 | #define ICON_DISK_X_POS STATUSBAR_WIDTH-ICON_DISK_WIDTH |
Markus Braun | 11d208c | 2002-08-20 20:32:08 +0000 | [diff] [blame] | 116 | #define TIME_X_END STATUSBAR_WIDTH-1 |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 117 | |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 118 | extern void statusbar_wipe(void); |
Jens Arnold | 97a8049 | 2005-06-23 02:18:29 +0000 | [diff] [blame] | 119 | extern void statusbar_icon_battery(int percent); |
Linus Nielsen Feltzing | 3dc50b0 | 2004-07-13 06:59:11 +0000 | [diff] [blame] | 120 | extern bool statusbar_icon_volume(int percent); |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 121 | extern void statusbar_icon_play_state(int state); |
| 122 | extern void statusbar_icon_play_mode(int mode); |
| 123 | extern void statusbar_icon_shuffle(void); |
| 124 | extern void statusbar_icon_lock(void); |
| 125 | #ifdef HAVE_RTC |
Markus Braun | 4e4dfc0 | 2002-08-30 19:44:58 +0000 | [diff] [blame] | 126 | extern void statusbar_time(int hour, int minute); |
Markus Braun | de8fbf0 | 2002-08-07 10:35:26 +0000 | [diff] [blame] | 127 | #endif |
Jens Arnold | 5690f78 | 2005-06-04 23:15:52 +0000 | [diff] [blame] | 128 | #if CONFIG_LED == LED_VIRTUAL |
Jörg Hohensohn | c76fbf7 | 2005-02-19 00:34:15 +0000 | [diff] [blame] | 129 | extern void statusbar_led(void); |
| 130 | #endif |
| 131 | |
Daniel Stenberg | 1c0c861 | 2002-05-17 12:22:24 +0000 | [diff] [blame] | 132 | #endif /* End HAVE_LCD_BITMAP */ |
Björn Stenberg | fb00c21 | 2004-05-21 20:08:24 +0000 | [diff] [blame] | 133 | |
| 134 | #endif /* _ICONS_H_ */ |