1
0
Fork 0
forked from len0rd/rockbox

battery/volume status can be displayed numerically

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2750 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Hak 2002-10-26 05:26:23 +00:00
parent 061763b2a6
commit 5a9e8929cd
6 changed files with 148 additions and 82 deletions

View file

@ -1028,4 +1028,22 @@ desc: in settings_menu
eng: "Ask Once"
new:
id: LANG_BATTERY_DISPLAY
desc: Battery type title
eng: "Battery Display"
new:
id: LANG_VOLUME_DISPLAY
desc: Volume type title
eng: "Volume Display"
new:
id: LANG_DISPLAY_GRAPHIC
desc: Label for type of icon display
eng: "Graphic"
new:
id: LANG_DISPLAY_NUMERIC
desc: Label for type of icon display
eng: "Numeric"
new:

View file

@ -152,11 +152,8 @@ void statusbar_icon_battery(int percent, bool charging)
{
int i;
int fill;
/* draw battery */
lcd_drawrect(ICON_BATTERY_X_POS, STATUSBAR_Y_POS, 17, 7);
for (i=2; i < 5; i++)
lcd_drawpixel(ICON_BATTERY_X_POS + 17, STATUSBAR_Y_POS + i);
char buffer[5];
unsigned int width, height;
/* fill battery */
fill=percent;
@ -165,9 +162,28 @@ void statusbar_icon_battery(int percent, bool charging)
if (fill > 100)
fill = 100;
if (global_settings.battery_type) {
/* Numeric display */
snprintf(buffer, sizeof(buffer), "%3d", percent);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height);
if (height <= STATUSBAR_HEIGHT)
lcd_putsxy(ICON_BATTERY_X_POS + ICON_BATTERY_WIDTH / 2 -
width/2, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI);
} else {
/* draw battery */
lcd_drawrect(ICON_BATTERY_X_POS, STATUSBAR_Y_POS, 17, 7);
for (i=2; i < 5; i++)
lcd_drawpixel(ICON_BATTERY_X_POS + 17, STATUSBAR_Y_POS + i);
fill = fill * 15 / 100;
lcd_fillrect(ICON_BATTERY_X_POS + 1, STATUSBAR_Y_POS + 1, fill, 5);
}
/* draw power plug if charging */
if (charging)
@ -207,8 +223,11 @@ void statusbar_icon_volume(int percent)
switch_tick = current_tick + HZ;
last_volume = volume;
}
/* display volume lever numerical? */
if (TIME_BEFORE(current_tick,switch_tick)) {
/* display volume level numerical? */
if (global_settings.volume_type ||
TIME_BEFORE(current_tick,switch_tick))
{
snprintf(buffer, sizeof(buffer), "%2d", percent);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height);
@ -216,8 +235,8 @@ void statusbar_icon_volume(int percent)
lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 -
width/2, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI);
}
else { /* display volume bar */
} else {
/* display volume bar */
volume = volume * 14 / 100;
for(i=0; i < volume; i++) {
if(i%2 == 0)

View file

@ -1,12 +1,13 @@
/*
# Map legend:
#
# white space is clear back ground
# X = black back ground
# # = wall
# . = block destination
# @ = starting position
# $ = movable block
# 1 white space is clear back ground
# 0 X = black back ground
# 2 # = wall
# 3 . = block destination
# 5 @ = starting position
# 4 $ = movable block
# 7 % = a placed block
level: 1
XXXXXXXXXXXXXXXXXXXX
@ -70,7 +71,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXX#####XXXXXX
XXXXXX#### .#XXXXXX
XXXXXX# $ 7#XXXXXX
XXXXXX# $ %#XXXXXX
XXXXXX# $$ $.#XXXXXX
XXXXXX##@##..#XXXXXX
XXXXXXX#######XXXXXX
@ -180,7 +181,7 @@ XXXXXXXX#####XXXXXXX
XXXXXX### @#XXXXXXX
XXXXXX# $. ##XXXXXX
XXXXXX# .$. #XXXXXX
XXXXXX### 7$ #XXXXXX
XXXXXX### %$ #XXXXXX
XXXXXXXX# ##XXXXXX
XXXXXXXX#####XXXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -196,7 +197,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXX########XXXXXX
XXXXXX# # #XXXXXX
XXXXXX# $..$ #XXXXXX
XXXXXX#@$.7 ##XXXXXX
XXXXXX#@$.% ##XXXXXX
XXXXXX# $..$ #XXXXXX
XXXXXX# # #XXXXXX
XXXXXX########XXXXXX
@ -250,7 +251,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXX########XXXXX
XXXXXXX# #. #XXXXX
XXXXXX## $...#XXXXX
XXXXXX# $ #7.#XXXXX
XXXXXX# $ #%.#XXXXX
XXXXX## ##$# ##XXXXX
XXXXX# $ $ #XXXXX
XXXXX# # #XXXXX
@ -338,11 +339,11 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXX#########XXXXXX
XXXXX# 7 #XXXXXX
XXXXX# % #XXXXXX
XXXXX# $.$. @#XXXXXX
XXXXX# .$.$. #XXXXXX
XXXXX# $.$.$ #XXXXXX
XXXXX# 7 #XXXXXX
XXXXX# % #XXXXXX
XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -396,7 +397,7 @@ XXXXXX#####XXXXXXXXX
XXXXXX# ####XXXXXX
XXXXX## #$ #XXXXXX
XXXXX# $ $$ #XXXXXX
XXXXX# #$#.7.#XXXXXX
XXXXX# #$#.%.#XXXXXX
XXXXX# @...#XXXXXX
XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -412,8 +413,8 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXX#####XXXXXX
XXXXXX#### ##XXXXX
XXXXXX# $ $ #XXXXX
XXXXXX#@#.7.# #XXXXX
XXXXXX# #.7.# #XXXXX
XXXXXX#@#.%.# #XXXXX
XXXXXX# #.%.# #XXXXX
XXXXXX# $ $ #XXXXX
XXXXXX## ####XXXXX
XXXXXXX#####XXXXXXXX
@ -466,9 +467,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXX#######XXXXXXXX
XXXXX# #####XXXX
XXXXX# $ .7. $ #XXXX
XXXXX#@$.7 7.$ #XXXX
XXXXX# $ .7. $ #XXXX
XXXXX# $ .%. $ #XXXX
XXXXX#@$.% %.$ #XXXX
XXXXX# $ .%. $ #XXXX
XXXXX###### #XXXX
XXXXXXXXXX######XXXX
XXXXXXXXXXXXXXXXXXXX
@ -484,8 +485,8 @@ XXXXXXXXXXXXXXXXXXXX
XXXXX######XXXXXXXXX
XXXXX# #XXXXXXXXX
XXXXX# $ ####XXXXXX
XXXXX# $7..7 #XXXXXX
XXXXX# 7..7$ #XXXXXX
XXXXX# $%..% #XXXXXX
XXXXX# %..%$ #XXXXXX
XXXXX#### $ #XXXXXX
XXXXXXXX# @ #XXXXXX
XXXXXXXX######XXXXXX
@ -574,9 +575,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXX########XXXXXX
XXXXXX# #.. ##XXXXX
XXXXXX# $. $7 #XXXXX
XXXXXX# $. $% #XXXXX
XXXXXX# $@$ #XXXXX
XXXXXX# 7$ .$ #XXXXX
XXXXXX# %$ .$ #XXXXX
XXXXXX## ..# #XXXXX
XXXXXXX########XXXXX
XXXXXXXXXXXXXXXXXXXX
@ -590,13 +591,13 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXX#######XXXXXXX
XXXXX## 7 ##XXXXXX
XXXXX## % ##XXXXXX
XXXXX# . . . #XXXXXX
XXXXX# $ 7 #XXXXXX
XXXXX#7$$7$$7#XXXXXX
XXXXX# 7 $ #XXXXXX
XXXXX# $ % #XXXXXX
XXXXX#%$$%$$%#XXXXXX
XXXXX# % $ #XXXXXX
XXXXX# . .@. #XXXXXX
XXXXX## 7 ##XXXXXX
XXXXX## % ##XXXXXX
XXXXXX#######XXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -609,9 +610,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXX#########XXXXXX
XXXXX# .$ @#XXXXXX
XXXXX# $ 7 $ #XXXXXX
XXXXX#7...7.7#XXXXXX
XXXXX# $$7 #XXXXXX
XXXXX# $ % $ #XXXXXX
XXXXX#%...%.%#XXXXXX
XXXXX# $$% #XXXXXX
XXXXX# . $ #XXXXXX
XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -681,7 +682,7 @@ XXXXXXXX#######XXXXX
XXXXXX### #XXXXX
XXXXX## # # #XXXXX
XXXXX# #.$$$ #XXXXX
XXXXX# #.7# ###XXXXX
XXXXX# #.%# ###XXXXX
XXXXX# ..# #XXXXXXX
XXXXX###..$ ##XXXXXX
XXXXXXX#.# $ #XXXXXX
@ -718,7 +719,7 @@ XXXXX# #XXXXXXX
XXXXX# @ $# #XXXXXXX
XXXXX## # #XXXXXXX
XXXXX# $#.# #XXXXXXX
XXXXX# .7.$#XXXXXXX
XXXXX# .%.$#XXXXXXX
XXXXX## #.# #XXXXXXX
XXXXXX# #. ##XXXXXX
XXXXX## $.# #XXXXXX
@ -737,7 +738,7 @@ XXXX#### #XXXXX
XXXX# .### ##XXXXX
XXXX# # # ##XXXXX
XXXX# # $ $#. #XXXXX
XXXX# # 7 # #XXXXX
XXXX# # % # #XXXXX
XXXX# .#$ $ # #XXXXX
XXXX## # # #XXXXX
XXXXX# ###. #XXXXX
@ -775,9 +776,9 @@ XXXXXX##$# .#XXXXXX
XXXXXXX# #$# #XXXXXX
XXXXXX##. . #XXXXXX
XXXXXX# ## #XXXXXX
XXXXXX# # 7#XXXXXX
XXXXXX# # %#XXXXXX
XXXXXX# $ $ #XXXXXX
XXXXXX# $#7 @#XXXXXX
XXXXXX# $#% @#XXXXXX
XXXXXX# #.###XXXXXX
XXXXXX######XXXXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -807,11 +808,11 @@ XXXXXXXXX####XXXXXXX
XXXXXXX### ##XXXXXX
XXXXXX## ##XXXXX
XXXXXX# # ..#XXXXX
XXXXX## $#7#$.#XXXXX
XXXXX## $#%#$.#XXXXX
XXXXX# $ # $.#XXXXX
XXXXX# $ @ $.#XXXXX
XXXXX# $ # $.#XXXXX
XXXXX##$$#7#$.#XXXXX
XXXXX##$$#%#$.#XXXXX
XXXXXX#. # ..#XXXXX
XXXXXX##. ##XXXXX
XXXXXXX### ##XXXXXX
@ -894,16 +895,16 @@ level: 50
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXX##########XXXXX
XXXXX#..$ $ 7.#XXXXX
XXXXX#.7 $ $..#XXXXX
XXXXX##.$ $ 7##XXXXX
XXXXXX#7 $ $.#XXXXXX
XXXXX#..$ $ %.#XXXXX
XXXXX#.% $ $..#XXXXX
XXXXX##.$ $ %##XXXXX
XXXXXX#% $ $.#XXXXXX
XXXXXX#.$ $ .#XXXXXX
XXXXXX#. $ $.#XXXXXX
XXXXXX#.$@$ 7#XXXXXX
XXXXX##7 $ $.##XXXXX
XXXXX#..$ $ 7.#XXXXX
XXXXX#.7 $ $..#XXXXX
XXXXXX#.$@$ %#XXXXXX
XXXXX##% $ $.##XXXXX
XXXXX#..$ $ %.#XXXXX
XXXXX#.% $ $..#XXXXX
XXXXX##########XXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
@ -1170,7 +1171,7 @@ XXX# # @ $ # $#XXXX
XXX# # $ ####X
XXX## ####$## #X
XXX# $#.....# # #X
XXX# $..77. $# ###X
XXX# $..%%. $# ###X
XX## #.....# #XXX
XX# ### #######XXX
XX# $$ # #XXXXXXXX
@ -1189,7 +1190,7 @@ XXXX# ## $ $ ##XXX
XXXX# $ ## ## .#XXX
XXXX# #$##$ #.#XXX
XXXX### $..##.#XXX
XXXXX# #.7...#XXX
XXXXX# #.%...#XXX
XXXXX# $$ #.....#XXX
XXXXX# #########XXX
XXXXX# #XXXXXXXXXXX
@ -1261,9 +1262,9 @@ X# # $ # #$ ..#
X# # ### ## #.#
X# ### # # #$ ..#
X# # # $#### #.#
X# #$ $ $ #7 ..#
X# #$ $ $ #% ..#
X# $ # $ $ # #.#
X#### $### #7 ..#
X#### $### #% ..#
XXXX# $$ ###....#
XXXX# ##X######
XXXX########XXXXXXXX
@ -1421,8 +1422,8 @@ X## # # ######
X## # $#$#@ # #
X# # $ # $ #
X# ### ######### ##
X# ## ..7..... # ##
X## ## 7.7..7.7 # ##
X# ## ..%..... # ##
X## ## %.%..%.% # ##
X# $########## ##$ #
X# $ $ $ $ #
X# # # # # #
@ -1756,11 +1757,11 @@ XXXXXXXXXXXXXXXXXXXX
level: 98
XXXXX#########XXXXXX
XXXXX#7.7#7.7#XXXXXX
XXXXX#.7.7.7.#XXXXXX
XXXXX#7.7.7.7#XXXXXX
XXXXX#.7.7.7.#XXXXXX
XXXXX#7.7.7.7#XXXXXX
XXXXX#%.%#%.%#XXXXXX
XXXXX#.%.%.%.#XXXXXX
XXXXX#%.%.%.%#XXXXXX
XXXXX#.%.%.%.#XXXXXX
XXXXX#%.%.%.%#XXXXXX
XXXXX### ###XXXXXX
XXXXXXX# #XXXXXXXX
XXX###### ######XXXX
@ -1782,7 +1783,7 @@ XXX#### $ #XXXX
X### # ##### #XXXX
X# # #....$ #XXXX
X# # $ ....# #XXXX
X# $ # #.7..# #XXXX
X# $ # #.%..# #XXXX
X### #### ### #XXXX
XXX#### @$ ##$##XXX
XXXXXX### $ #XXX
@ -1793,9 +1794,9 @@ XXXXXXXXXXXXXXXXXXXX
level: 100
XXXXXX############XX
XXXXX##.. #XX
XXXX##..7 $ $ #XX
XXX##..7.# # #$ ##XX
XXX#..7.# # # $ #XX
XXXX##..% $ $ #XX
XXX##..%.# # #$ ##XX
XXX#..%.# # # $ #XX
####...# # # #XX
# ## # #XX
# @$ $ ### # # ##XX

View file

@ -82,7 +82,7 @@ offset abs
0x0d 0x21 <resume settings byte>
0x0e 0x22 <shuffle,dirfilter,sort_case,discharge,statusbar,show_hidden,
scroll bar>
0x0f 0x23 <scroll speed>
0x0f 0x23 <timeformat, scroll speed. volume type, battery type>
0x10 0x24 <ff/rewind min step, acceleration rate>
0x11 0x25 <AVC, channel config>
0x12 0x26 <(int) Resume playlist index, or -1 if no playlist resume>
@ -296,8 +296,10 @@ int settings_save( void )
((global_settings.scrollbar & 1) << 6));
config_block[0xf] = (unsigned char)
((global_settings.timeformat & 1) << 2) |
((global_settings.scroll_speed << 3));
(((global_settings.timeformat & 1) << 2) |
( global_settings.scroll_speed << 3) |
((global_settings.volume_type & 1) << 4) |
((global_settings.battery_type & 1) << 5));
config_block[0x10] = (unsigned char)
((global_settings.ff_rewind_min_step & 15) << 4 |
@ -466,6 +468,8 @@ void settings_load(void)
if (config_block[0xf] != 0xFF) {
global_settings.timeformat = (config_block[0xf] >> 2) & 1;
global_settings.scroll_speed = config_block[0xf] >> 3;
global_settings.volume_type = (config_block[0xf] >> 4) & 1;
global_settings.battery_type = (config_block[0xf] >> 5) & 1;
}
if (config_block[0x10] != 0xFF) {
@ -670,6 +674,8 @@ void settings_reset(void) {
global_settings.discharge = 0;
global_settings.total_uptime = 0;
global_settings.timeformat = 0;
global_settings.volume_type = 0;
global_settings.battery_type = 0;
global_settings.scroll_speed = 8;
global_settings.ff_rewind_min_step = DEFAULT_FF_REWIND_MIN_STEP;
global_settings.ff_rewind_accel = DEFAULT_FF_REWIND_ACCEL_SETTING;

View file

@ -87,6 +87,8 @@ struct user_settings
int repeat_mode; /* 0=off 1=repeat all 2=repeat one */
int dirfilter; /* 0=display all, 1=only supported, 2=only music */
bool sort_case; /* dir sort order: 0=case insensitive, 1=sensitive */
int volume_type; /* how volume is displayed: 0=graphic, 1=percent */
int battery_type;
int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */
int scroll_speed; /* long texts scrolling speed: 1-30 */
bool playlist_shuffle;

View file

@ -157,6 +157,24 @@ static bool sort_case(void)
return set_bool( str(LANG_SORT_CASE), &global_settings.sort_case );
}
static bool battery_type(void)
{
char* names[] = { str(LANG_DISPLAY_GRAPHIC),
str(LANG_DISPLAY_NUMERIC) };
return set_option( str(LANG_BATTERY_DISPLAY),
&global_settings.battery_type, names, 2, NULL);
}
static bool volume_type(void)
{
char* names[] = { str(LANG_DISPLAY_GRAPHIC),
str(LANG_DISPLAY_NUMERIC) };
return set_option( str(LANG_VOLUME_DISPLAY), &global_settings.volume_type,
names, 2, NULL);
}
static bool resume(void)
{
char* names[] = { str(LANG_SET_BOOL_NO),
@ -427,6 +445,8 @@ static bool display_settings_menu(void)
{ str(LANG_CONTRAST), contrast },
#ifdef HAVE_LCD_BITMAP
{ str(LANG_PM_MENU), peak_meter_menu },
{ str(LANG_VOLUME_DISPLAY), volume_type },
{ str(LANG_BATTERY_DISPLAY), battery_type },
#endif
};