forked from len0rd/rockbox
FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
f323300b82
commit
aa0f4a4bbe
37 changed files with 410 additions and 404 deletions
|
@ -1016,7 +1016,6 @@ static bool browse_fonts( char *dst, int dst_size )
|
|||
size_t siz;
|
||||
reset_font = true;
|
||||
rb->snprintf( bbuf, MAX_PATH, FONT_DIR "/%s", e->name );
|
||||
rb->font_load(NULL, bbuf );
|
||||
rb->font_getstringsize( e->name, &fw, &fh, FONT_UI );
|
||||
if( fw > LCD_WIDTH ) fw = LCD_WIDTH;
|
||||
siz = (sizeof(struct font_preview) + fw*fh*FB_DATA_SZ+3) & ~3;
|
||||
|
@ -1083,7 +1082,7 @@ static bool browse_fonts( char *dst, int dst_size )
|
|||
li = tree->filesindir-1;
|
||||
if( reset_font )
|
||||
{
|
||||
rb->font_load(NULL, bbuf_s );
|
||||
// fixme rb->font_load(NULL, bbuf_s );
|
||||
reset_font = false;
|
||||
}
|
||||
if( lvi-fvi+1 < tree->filesindir )
|
||||
|
@ -1636,6 +1635,7 @@ static void show_grid( bool update )
|
|||
static void draw_text( int x, int y )
|
||||
{
|
||||
int selected = 0;
|
||||
int current_font_id = rb->global_status->font_id[SCREEN_MAIN];
|
||||
buffer->text.text[0] = '\0';
|
||||
buffer->text.font[0] = '\0';
|
||||
while( 1 )
|
||||
|
@ -1648,9 +1648,12 @@ static void draw_text( int x, int y )
|
|||
break;
|
||||
|
||||
case TEXT_MENU_FONT:
|
||||
if( browse_fonts( buffer->text.font, MAX_PATH ) )
|
||||
if (current_font_id != rb->global_status->font_id[SCREEN_MAIN])
|
||||
rb->font_unload(current_font_id);
|
||||
if(browse_fonts( buffer->text.font, MAX_PATH ) )
|
||||
{
|
||||
rb->font_load(NULL, buffer->text.font );
|
||||
current_font_id = rb->font_load(buffer->text.font );
|
||||
rb->lcd_setfont(current_font_id);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1704,7 +1707,9 @@ static void draw_text( int x, int y )
|
|||
rb->snprintf( buffer->text.font, MAX_PATH,
|
||||
FONT_DIR "/%s.fnt",
|
||||
rb->global_settings->font_file );
|
||||
rb->font_load(NULL, buffer->text.font );
|
||||
if (current_font_id != rb->global_status->font_id[SCREEN_MAIN])
|
||||
rb->font_unload(current_font_id);
|
||||
rb->lcd_setfont(FONT_UI);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue