2002-05-17 12:22:24 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
* $Id$
|
|
|
|
*
|
|
|
|
* Copyright (C) 2002 Robert E. Hak
|
|
|
|
*
|
2008-06-28 18:10:04 +00:00
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
2002-05-17 12:22:24 +00:00
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
2004-05-21 20:08:24 +00:00
|
|
|
#ifndef _ICONS_H_
|
|
|
|
#define _ICONS_H_
|
|
|
|
|
2007-02-14 06:58:30 +00:00
|
|
|
#ifndef PLUGIN
|
|
|
|
|
2002-05-17 12:22:24 +00:00
|
|
|
#include <lcd.h>
|
2008-10-15 06:38:51 +00:00
|
|
|
#include "metadata.h"
|
2002-05-17 12:22:24 +00:00
|
|
|
|
2006-02-21 01:23:30 +00:00
|
|
|
/* External bitmaps */
|
|
|
|
|
2008-11-03 14:37:50 +00:00
|
|
|
#include "bitmaps/rockboxlogo.h"
|
2006-02-21 01:23:30 +00:00
|
|
|
#ifdef HAVE_REMOTE_LCD
|
2008-11-03 14:37:50 +00:00
|
|
|
#include "bitmaps/remote_rockboxlogo.h"
|
2006-02-21 01:23:30 +00:00
|
|
|
#endif
|
2021-08-20 02:00:36 +00:00
|
|
|
#endif /* PLUGIN */
|
2006-02-21 01:23:30 +00:00
|
|
|
|
2021-08-20 02:00:36 +00:00
|
|
|
struct cbmp_bitmap_info_entry /* */
|
|
|
|
{
|
|
|
|
const unsigned char* pbmp;
|
|
|
|
unsigned char width;
|
|
|
|
unsigned char height; /* !ASSUMES MULTIPLES OF 8! */
|
|
|
|
unsigned char count;
|
|
|
|
};
|
|
|
|
|
|
|
|
enum cbmp_bitmap_format
|
|
|
|
{
|
|
|
|
CBMP_Mono_5x8 = 0,
|
|
|
|
CBMP_Mono_7x8,
|
|
|
|
CBMP_Mono_12x8,
|
|
|
|
CBMP_BitmapFormatLast
|
|
|
|
};
|
|
|
|
|
|
|
|
extern const struct cbmp_bitmap_info_entry core_bitmaps[CBMP_BitmapFormatLast];
|
2002-05-17 12:22:24 +00:00
|
|
|
|
2002-09-03 15:58:47 +00:00
|
|
|
/* Symbolic names for icons */
|
|
|
|
enum icons_5x8 {
|
2005-11-22 21:55:05 +00:00
|
|
|
Icon_Lock_Main,
|
|
|
|
Icon_Lock_Remote,
|
2006-09-02 17:30:30 +00:00
|
|
|
Icon_Stereo,
|
|
|
|
Icon_Mono,
|
2005-11-22 21:55:05 +00:00
|
|
|
Icon5x8Last
|
2002-09-03 15:58:47 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum icons_7x8 {
|
|
|
|
Icon_Plug,
|
2005-06-23 02:18:29 +00:00
|
|
|
Icon_USBPlug,
|
2002-09-03 15:58:47 +00:00
|
|
|
Icon_Mute,
|
|
|
|
Icon_Play,
|
|
|
|
Icon_Stop,
|
|
|
|
Icon_Pause,
|
|
|
|
Icon_FastForward,
|
|
|
|
Icon_FastBackward,
|
|
|
|
Icon_Record,
|
|
|
|
Icon_RecPause,
|
2005-11-19 20:45:32 +00:00
|
|
|
Icon_Radio,
|
|
|
|
Icon_Radio_Mute,
|
2002-09-03 15:58:47 +00:00
|
|
|
Icon_Repeat,
|
2002-10-08 10:24:29 +00:00
|
|
|
Icon_RepeatOne,
|
2002-09-03 15:58:47 +00:00
|
|
|
Icon_Shuffle,
|
2002-09-03 20:47:23 +00:00
|
|
|
Icon_DownArrow,
|
|
|
|
Icon_UpArrow,
|
2005-08-21 23:01:12 +00:00
|
|
|
Icon_RepeatAB,
|
2005-11-22 21:55:05 +00:00
|
|
|
Icon7x8Last
|
2002-09-03 15:58:47 +00:00
|
|
|
};
|
|
|
|
|
2021-08-20 02:00:36 +00:00
|
|
|
enum icons_12x8 {
|
|
|
|
Icon_Disk,
|
|
|
|
Icon12x8Last
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifndef PLUGIN
|
2020-07-17 04:01:32 +00:00
|
|
|
#if defined (HAVE_RECORDING)
|
2006-11-06 18:07:30 +00:00
|
|
|
#define BM_GLYPH_WIDTH 4
|
|
|
|
enum Glyphs_4x8 {
|
|
|
|
Glyph_4x8_0 = 0,
|
|
|
|
Glyph_4x8_1,
|
|
|
|
Glyph_4x8_2,
|
|
|
|
Glyph_4x8_3,
|
|
|
|
Glyph_4x8_4,
|
|
|
|
Glyph_4x8_5,
|
|
|
|
Glyph_4x8_6,
|
|
|
|
Glyph_4x8_7,
|
|
|
|
Glyph_4x8_8,
|
|
|
|
Glyph_4x8_9,
|
|
|
|
Glyph_4x8_k,
|
|
|
|
Glyph_4x8Last
|
2006-09-12 18:26:27 +00:00
|
|
|
};
|
2006-11-06 18:07:30 +00:00
|
|
|
extern const unsigned char bitmap_glyphs_4x8[Glyph_4x8Last][4];
|
2006-09-12 18:26:27 +00:00
|
|
|
|
2006-11-06 18:07:30 +00:00
|
|
|
#define BM_MPA_L3_M_WIDTH 6
|
2008-10-15 06:38:51 +00:00
|
|
|
|
2006-11-06 18:07:30 +00:00
|
|
|
/* This enum is redundant but sort of in keeping with the style */
|
|
|
|
enum rec_format_18x8 {
|
2006-11-24 19:49:04 +00:00
|
|
|
Format_18x8_AIFF = REC_FORMAT_AIFF,
|
2006-11-06 18:07:30 +00:00
|
|
|
Format_18x8_MPA_L3 = REC_FORMAT_MPA_L3,
|
|
|
|
Format_18x8_WAVPACK = REC_FORMAT_WAVPACK,
|
|
|
|
Format_18x8_PCM_WAV = REC_FORMAT_PCM_WAV,
|
|
|
|
Format_18x8Last = REC_NUM_FORMATS
|
2006-09-02 17:30:30 +00:00
|
|
|
};
|
2006-11-06 18:07:30 +00:00
|
|
|
extern const unsigned char bitmap_formats_18x8[Format_18x8Last][18];
|
2008-10-15 06:38:51 +00:00
|
|
|
|
2020-07-17 04:01:32 +00:00
|
|
|
#endif /* defined (HAVE_RECORDING) */
|
2006-09-12 20:32:06 +00:00
|
|
|
|
2005-11-22 21:55:05 +00:00
|
|
|
extern const unsigned char bitmap_icons_5x8[Icon5x8Last][5];
|
|
|
|
extern const unsigned char bitmap_icons_7x8[Icon7x8Last][7];
|
2005-03-01 22:55:52 +00:00
|
|
|
extern const unsigned char bitmap_icon_disk[];
|
2002-05-17 12:22:24 +00:00
|
|
|
|
2002-08-07 10:35:26 +00:00
|
|
|
#define STATUSBAR_X_POS 0
|
2003-02-26 21:39:13 +00:00
|
|
|
#define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */
|
2020-10-26 16:36:25 +00:00
|
|
|
#define STATUSBAR_HEIGHT SYSFONT_HEIGHT
|
2002-08-07 10:35:26 +00:00
|
|
|
#define STATUSBAR_WIDTH LCD_WIDTH
|
2020-10-26 16:36:25 +00:00
|
|
|
#define SB_ICON_HEIGHT 8 /* ... for now */
|
2002-08-07 10:35:26 +00:00
|
|
|
#define ICON_BATTERY_X_POS 0
|
2020-10-26 16:36:25 +00:00
|
|
|
#define ICON_BATTERY_WIDTH (2+(2*SYSFONT_WIDTH))
|
2002-08-07 10:35:26 +00:00
|
|
|
#define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2
|
|
|
|
#define ICON_PLUG_WIDTH 7
|
|
|
|
#define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2
|
2020-10-26 16:36:25 +00:00
|
|
|
#define ICON_VOLUME_WIDTH (2+(2*SYSFONT_WIDTH))
|
2002-08-07 10:35:26 +00:00
|
|
|
#define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2
|
|
|
|
#define ICON_PLAY_STATE_WIDTH 7
|
|
|
|
#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
|
|
|
|
#define ICON_PLAY_MODE_WIDTH 7
|
|
|
|
#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
|
|
|
|
#define ICON_SHUFFLE_WIDTH 7
|
|
|
|
#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
|
|
|
|
#define LOCK_WIDTH 5
|
2005-03-01 22:55:52 +00:00
|
|
|
#define ICON_DISK_WIDTH 12
|
2005-02-19 00:34:15 +00:00
|
|
|
#define ICON_DISK_X_POS STATUSBAR_WIDTH-ICON_DISK_WIDTH
|
2002-08-20 20:32:08 +00:00
|
|
|
#define TIME_X_END STATUSBAR_WIDTH-1
|
2002-06-25 07:27:29 +00:00
|
|
|
|
2020-10-26 16:36:25 +00:00
|
|
|
#if defined(SYSFONT_HEIGHT) && (SB_ICON_HEIGHT > STATUSBAR_HEIGHT)
|
|
|
|
#error "Icons larger than statusbar!"
|
|
|
|
#endif
|
|
|
|
|
2007-02-14 06:58:30 +00:00
|
|
|
#endif /* PLUGIN */
|
2004-05-21 20:08:24 +00:00
|
|
|
#endif /* _ICONS_H_ */
|