summaryrefslogtreecommitdiff
path: root/apps/plugins/rockpaint.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockpaint.c')
-rw-r--r--apps/plugins/rockpaint.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index d1cc8f272a..7938273ba0 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -1016,7 +1016,6 @@ static bool browse_fonts( char *dst, int dst_size )
1016 size_t siz; 1016 size_t siz;
1017 reset_font = true; 1017 reset_font = true;
1018 rb->snprintf( bbuf, MAX_PATH, FONT_DIR "/%s", e->name ); 1018 rb->snprintf( bbuf, MAX_PATH, FONT_DIR "/%s", e->name );
1019 rb->font_load(NULL, bbuf );
1020 rb->font_getstringsize( e->name, &fw, &fh, FONT_UI ); 1019 rb->font_getstringsize( e->name, &fw, &fh, FONT_UI );
1021 if( fw > LCD_WIDTH ) fw = LCD_WIDTH; 1020 if( fw > LCD_WIDTH ) fw = LCD_WIDTH;
1022 siz = (sizeof(struct font_preview) + fw*fh*FB_DATA_SZ+3) & ~3; 1021 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 )
1083 li = tree->filesindir-1; 1082 li = tree->filesindir-1;
1084 if( reset_font ) 1083 if( reset_font )
1085 { 1084 {
1086 rb->font_load(NULL, bbuf_s ); 1085 // fixme rb->font_load(NULL, bbuf_s );
1087 reset_font = false; 1086 reset_font = false;
1088 } 1087 }
1089 if( lvi-fvi+1 < tree->filesindir ) 1088 if( lvi-fvi+1 < tree->filesindir )
@@ -1636,6 +1635,7 @@ static void show_grid( bool update )
1636static void draw_text( int x, int y ) 1635static void draw_text( int x, int y )
1637{ 1636{
1638 int selected = 0; 1637 int selected = 0;
1638 int current_font_id = rb->global_status->font_id[SCREEN_MAIN];
1639 buffer->text.text[0] = '\0'; 1639 buffer->text.text[0] = '\0';
1640 buffer->text.font[0] = '\0'; 1640 buffer->text.font[0] = '\0';
1641 while( 1 ) 1641 while( 1 )
@@ -1648,9 +1648,12 @@ static void draw_text( int x, int y )
1648 break; 1648 break;
1649 1649
1650 case TEXT_MENU_FONT: 1650 case TEXT_MENU_FONT:
1651 if( browse_fonts( buffer->text.font, MAX_PATH ) ) 1651 if (current_font_id != rb->global_status->font_id[SCREEN_MAIN])
1652 rb->font_unload(current_font_id);
1653 if(browse_fonts( buffer->text.font, MAX_PATH ) )
1652 { 1654 {
1653 rb->font_load(NULL, buffer->text.font ); 1655 current_font_id = rb->font_load(buffer->text.font );
1656 rb->lcd_setfont(current_font_id);
1654 } 1657 }
1655 break; 1658 break;
1656 1659
@@ -1704,7 +1707,9 @@ static void draw_text( int x, int y )
1704 rb->snprintf( buffer->text.font, MAX_PATH, 1707 rb->snprintf( buffer->text.font, MAX_PATH,
1705 FONT_DIR "/%s.fnt", 1708 FONT_DIR "/%s.fnt",
1706 rb->global_settings->font_file ); 1709 rb->global_settings->font_file );
1707 rb->font_load(NULL, buffer->text.font ); 1710 if (current_font_id != rb->global_status->font_id[SCREEN_MAIN])
1711 rb->font_unload(current_font_id);
1712 rb->lcd_setfont(FONT_UI);
1708 } 1713 }
1709 return; 1714 return;
1710 } 1715 }