Merge branch 'master' into gsoc-app-target
[kugel-rb.git] / apps / recorder / icons.h
blob5f2185e1b77d95591dd1e9db0c902ff53d985e15
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
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 ****************************************************************************/
21 #ifndef _ICONS_H_
22 #define _ICONS_H_
24 #ifndef PLUGIN
26 #include <lcd.h>
27 #include "metadata.h"
29 #ifdef HAVE_LCD_BITMAP
31 /* External bitmaps */
33 #include "bitmaps/rockboxlogo.h"
34 #ifdef HAVE_REMOTE_LCD
35 #include "bitmaps/remote_rockboxlogo.h"
36 #endif
39 /* Symbolic names for icons */
40 enum icons_5x8 {
41 Icon_Lock_Main,
42 Icon_Lock_Remote,
43 Icon_Stereo,
44 Icon_Mono,
45 #if CONFIG_CODEC != SWCODEC
46 Icon_q,
47 #endif
48 Icon5x8Last
51 enum icons_7x8 {
52 Icon_Plug,
53 Icon_USBPlug,
54 Icon_Mute,
55 Icon_Play,
56 Icon_Stop,
57 Icon_Pause,
58 Icon_FastForward,
59 Icon_FastBackward,
60 Icon_Record,
61 Icon_RecPause,
62 Icon_Radio,
63 Icon_Radio_Mute,
64 Icon_Repeat,
65 Icon_RepeatOne,
66 Icon_Shuffle,
67 Icon_DownArrow,
68 Icon_UpArrow,
69 Icon_RepeatAB,
70 Icon7x8Last
73 #if CONFIG_CODEC == SWCODEC && defined (HAVE_RECORDING)
74 #define BM_GLYPH_WIDTH 4
75 enum Glyphs_4x8 {
76 Glyph_4x8_0 = 0,
77 Glyph_4x8_1,
78 Glyph_4x8_2,
79 Glyph_4x8_3,
80 Glyph_4x8_4,
81 Glyph_4x8_5,
82 Glyph_4x8_6,
83 Glyph_4x8_7,
84 Glyph_4x8_8,
85 Glyph_4x8_9,
86 Glyph_4x8_k,
87 Glyph_4x8Last
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
126 #define LOCK_WIDTH 5
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);
138 #if CONFIG_RTC
139 extern void statusbar_time(int hour, int minute);
140 #endif
141 #if (CONFIG_LED == LED_VIRTUAL)
142 extern void statusbar_led(void);
143 #endif
145 #endif /* End HAVE_LCD_BITMAP */
146 #endif /* PLUGIN */
147 #endif /* _ICONS_H_ */