From 6a5cc0bd25bd468c79e453fa49f353edd824141a Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Mon, 16 Apr 2007 09:14:36 +0000 Subject: Customizable icons for all bitmap targets. (FS#7013) http://www.rockbox.org/twiki/bin/view/Main/CustomIcons for info on format and how to load them git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13177 a1c6a512-1295-4272-9138-f99709370657 --- apps/player/icons.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 87 insertions(+), 2 deletions(-) (limited to 'apps/player/icons.c') diff --git a/apps/player/icons.c b/apps/player/icons.c index 3f9b7c1547..6717eb12bd 100644 --- a/apps/player/icons.c +++ b/apps/player/icons.c @@ -7,7 +7,7 @@ * \/ \/ \/ \/ \/ * $Id$ * - * Copyright (C) 2002 Justin Heiner + * Copyright (C) 2007 Jonathan Gordon * * 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. @@ -17,8 +17,93 @@ * ****************************************************************************/ #include "lcd.h" -#include "icons.h" +#include "icon.h" #ifdef HAVE_LCD_CHARCELLS +/* For the moment, charcell cant load custom maps... */ + +enum old_values{ + old_Icon_Queued = 'Q', + old_Icon_Moving = 'M', + old_Icon_Unknown = 0xe100, + old_Icon_Bookmark, + old_Icon_Plugin, + old_Icon_Folder, + old_Icon_Firmware, + old_Icon_Language, + old_Icon_Audio, + old_Icon_Wps, + old_Icon_Playlist, + old_Icon_Text, + old_Icon_Config, +}; + +static const long icon_unknown = old_Icon_Unknown; +static const long icons[Icon_Last_Themeable] = { + [0 ... Icon_Last_Themeable-1] = 0, + + [Icon_Audio] = old_Icon_Audio, + [Icon_Folder] = old_Icon_Folder, + [Icon_Playlist] = old_Icon_Playlist, + [Icon_Cursor] = CURSOR_CHAR, + [Icon_Wps] = old_Icon_Wps, + [Icon_Firmware] = old_Icon_Firmware, + [Icon_Language] = old_Icon_Language, + [Icon_Config] = old_Icon_Config, + [Icon_Plugin] = old_Icon_Plugin, + [Icon_Bookmark] = old_Icon_Bookmark, + [Icon_Queued] = 'Q', + [Icon_Moving] = 'M', + + /* + [Icon_Keyboard] = , + [Icon_Font] = , + [Icon_Preset] = , + [Icon_Reverse_Cursor] = , + [Icon_Questionmark] = , + [Icon_Menu_setting] = , + [Icon_Menu_functioncall] = , + [Icon_Submenu] = , + [Icon_Submenu_Entered] = , + [Icon_Recording] = , + [Icon_Voice] = , + [Icon_General_settings_menu] = , + [Icon_System_menu] = , + [Icon_Playback_menu] = , + [Icon_Display_menu] = , + [Icon_Remote_Display_menu] = , + [Icon_Radio_screen] = , + [Icon_file_view_menu] = , + [Icon_EQ] = , + [Icon_Rockbox] = , + */ +}; + +/* as above, but x,y are letter position, NOT PIXEL */ +extern void screen_put_iconxy(struct screen * screen, + int x, int y, enum themable_icons icon) +{ + if (icon == -1) + screen->putc(x, y, icon_unknown); + else if ((icon==Icon_NOICON) && (icons[icon]!=0)) + screen->putc(x, y, ' '); + else + screen->putc(x, y, icons[icon]); +} + +void screen_put_cursorxy(struct screen * display, int x, int y, bool on) +{ + screen_put_iconxy(display, x, y, on?Icon_Cursor:-1); + +} + +void icons_init(void) +{ +} + + + + + #endif -- cgit v1.2.3