From 89d2285e0010adda3a2d9d936733943d93c25cd1 Mon Sep 17 00:00:00 2001 From: Mats Lidell Date: Wed, 21 Aug 2002 10:37:34 +0000 Subject: Created. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1856 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/common/sim_icons.c | 198 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 uisimulator/common/sim_icons.c (limited to 'uisimulator/common/sim_icons.c') diff --git a/uisimulator/common/sim_icons.c b/uisimulator/common/sim_icons.c new file mode 100644 index 0000000000..8c175e48b1 --- /dev/null +++ b/uisimulator/common/sim_icons.c @@ -0,0 +1,198 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 Mats Lidell + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifdef HAVE_LCD_CHARCELLS + +#include "sim_icons.h" + +#include +#include +#include +#include +#include + +#define XPOS_volume 105 +#define XPOS_volume1 XPOS_volume + 15 +#define XPOS_volume2 XPOS_volume1 + 2 +#define XPOS_volume3 XPOS_volume2 + 2 +#define XPOS_volume4 XPOS_volume3 + 2 +#define XPOS_volume5 XPOS_volume4 + 2 + +#define BMPHEIGHT_battery 7 +#define BMPWIDTH_battery 14 +const unsigned char battery[] = { +0x7f, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x7f, 0x14, 0x1c, + +}; +#define BMPHEIGHT_battery_bit 3 +#define BMPWIDTH_battery_bit 2 +const unsigned char battery_bit[] = { +0x07, 0x07, + +}; +#define BMPHEIGHT_pause 7 +#define BMPWIDTH_pause 7 +const unsigned char pause[] = { +0x7f, 0x7f, 0x7f, 0x00, 0x7f, 0x7f, 0x7f, + +}; +#define BMPHEIGHT_play 7 +#define BMPWIDTH_play 8 +const unsigned char play[] = { +0x7f, 0x7f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08, + +}; +#define BMPHEIGHT_record 8 +#define BMPWIDTH_record 4 +const unsigned char record[] = { +0x08, 0x1c, 0x1c, 0x08, + +}; +#define BMPHEIGHT_volume 7 +#define BMPWIDTH_volume 13 +const unsigned char volume[] = { +0x0e, 0x30, 0x60, 0x30, 0x0e, 0x30, 0x48, 0x48, 0x48, 0x30, 0x00, 0x7e, 0x00, + +}; +#define BMPHEIGHT_volume1 7 +#define BMPWIDTH_volume1 2 +const unsigned char volume1[] = { +0x00, 0x70, + +}; +#define BMPHEIGHT_volume2 7 +#define BMPWIDTH_volume2 2 +const unsigned char volume2[] = { +0x00, 0x78, + +}; +#define BMPHEIGHT_volume3 7 +#define BMPWIDTH_volume3 2 +const unsigned char volume3[] = { +0x00, 0x7c, + +}; +#define BMPHEIGHT_volume4 7 +#define BMPWIDTH_volume4 2 +const unsigned char volume4[] = { +0x00, 0x7e, + +}; +#define BMPHEIGHT_volume5 7 +#define BMPWIDTH_volume5 2 +const unsigned char volume5[] = { +0x00, 0x7f, + +}; +#define BMPHEIGHT_usb 7 +#define BMPWIDTH_usb 22 +const unsigned char usb[] = { +0x08, 0x1c, 0x1c, 0x08, 0x0c, 0x0e, 0x1b, 0x39, 0x69, 0x49, 0x49, 0x49, 0x4b, 0x4b, 0x48, 0x48, 0x68, 0x68, 0x08, 0x1c, 0x1c, 0x08, + +}; +#define BMPHEIGHT_audio 7 +#define BMPWIDTH_audio 27 +const unsigned char audio[] = { +0x1c, 0x22, 0x41, 0x79, 0x55, 0x55, 0x79, 0x41, 0x5d, 0x61, 0x61, 0x5d, 0x41, 0x7d, 0x65, 0x65, 0x59, 0x41, 0x7d, 0x41, 0x59, 0x65, 0x65, 0x59, 0x41, 0x22, 0x1c, + +}; +#define BMPHEIGHT_param 7 +#define BMPWIDTH_param 31 +const unsigned char param[] = { +0x1c, 0x22, 0x41, 0x7d, 0x55, 0x55, 0x49, 0x41, 0x79, 0x55, 0x55, 0x79, 0x41, 0x7d, 0x55, 0x75, 0x69, 0x41, 0x79, 0x55, 0x55, 0x79, 0x41, 0x7d, 0x49, 0x51, 0x49, 0x7d, 0x41, 0x22, 0x1c, + +}; + + +struct icon_info +{ + const unsigned char* bitmap; + int xpos; + int ypos; + int width; + int height; +}; + +static struct icon_info icons [] = +{ + { battery, 0, 0, BMPWIDTH_battery, BMPHEIGHT_battery }, /* ICON_BATTERY */ + { battery_bit, 2, 2, BMPWIDTH_battery_bit, BMPHEIGHT_battery_bit }, /* ICON_BATTERY_1 */ + { battery_bit, 5, 2, BMPWIDTH_battery_bit, BMPHEIGHT_battery_bit }, /* ICON_BATTERY_2 */ + { battery_bit, 8, 2, BMPWIDTH_battery_bit, BMPHEIGHT_battery_bit }, /* ICON_BATTERY_3 */ + { usb, 0, 40, BMPWIDTH_usb, BMPHEIGHT_usb }, /* ICON_USB */ + { play, 40, 0, BMPWIDTH_play, BMPHEIGHT_play }, /* ICON_PLAY */ + { record, 48, 0, BMPWIDTH_record, BMPHEIGHT_record }, /* ICON_RECORD */ + { pause, 60, 0, BMPWIDTH_pause, BMPHEIGHT_pause }, /* ICON_PAUSE */ + { audio, 40, 40, BMPWIDTH_audio, BMPHEIGHT_audio }, /* ICON_AUDIO */ + { 0, 0, 0, 0, 0 }, /* ICON_REPEAT */ + { 0, 0, 0, 0, 0 }, /* ICON_1 */ + { volume, XPOS_volume, 0, BMPWIDTH_volume, BMPHEIGHT_volume }, /* ICON_VOLUME */ + { volume1, XPOS_volume1, 0, BMPWIDTH_volume1, BMPHEIGHT_volume1 }, /* ICON_VOLUME1 */ + { volume2, XPOS_volume2, 0, BMPWIDTH_volume2, BMPHEIGHT_volume2 }, /* ICON_VOLUME2 */ + { volume3, XPOS_volume3, 0, BMPWIDTH_volume3, BMPHEIGHT_volume3 }, /* ICON_VOLUME3 */ + { volume4, XPOS_volume4, 0, BMPWIDTH_volume4, BMPHEIGHT_volume4 }, /* ICON_VOLUME4 */ + { volume5, XPOS_volume5, 0, BMPWIDTH_volume5, BMPHEIGHT_volume5 }, /* ICON_VOLUME5 */ + { param, 90, 40, BMPWIDTH_param, BMPHEIGHT_param }, /* ICON_PARAM */ +}; + +void display_icon(int icon, bool enable) +{ + if (enable) + lcd_bitmap((unsigned char*)icons[icon].bitmap, icons[icon].xpos, icons[icon].ypos, icons[icon].width, icons[icon].height, true); + else + lcd_clearrect(icons[icon].xpos, icons[icon].ypos, icons[icon].width, icons[icon].height); +} + +void sim_battery_icon(int icon, bool enable) +{ + static bool battery_icons[4] = { true, true, true, true }; + int i; + + battery_icons[icon] = enable; + + for (i = 0; i <= ICON_BATTERY_3; ++i) + { + display_icon(icon, battery_icons[i]); + } +}; + +void +sim_lcd_icon(int icon, bool enable) +{ + switch (icon) + { + case ICON_BATTERY: + case ICON_BATTERY_1: + case ICON_BATTERY_2: + case ICON_BATTERY_3: + sim_battery_icon(icon, enable); + break; + + /* Ignore. Don't know these icons yet */ + case ICON_REPEAT: + case ICON_1: + break; + + default: + display_icon(icon, enable); + break; + } + lcd_update(); +} + +#endif /* HAVE_LCD_CHARCELLS */ -- cgit v1.2.3