From ffefc5d5e1f8d1e0cc5fa895200b57ac0595300a Mon Sep 17 00:00:00 2001 From: Kjell Ericson Date: Thu, 5 Jun 2003 08:29:21 +0000 Subject: A bit faster update of Player simulator. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3730 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/common/lcd-playersim.c | 70 +++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 31 deletions(-) (limited to 'uisimulator') diff --git a/uisimulator/common/lcd-playersim.c b/uisimulator/common/lcd-playersim.c index e3cadd4513..70a9dd9f40 100644 --- a/uisimulator/common/lcd-playersim.c +++ b/uisimulator/common/lcd-playersim.c @@ -83,8 +83,11 @@ void lcd_print_icon(int x, int icon_line, bool enable, char **icon) } row++; } - drawdots(0, &clearpoints[0], cp); - drawdots(1, &points[0], p); +/* DEBUGF("icon draw %d/%d\n", p, cp);*/ + if (cp) + drawdots(0, &clearpoints[0], cp); + if (p) + drawdots(1, &points[0], p); } void lcd_print_char(int x, int y) @@ -96,46 +99,51 @@ void lcd_print_char(int x, int y) struct rectangle points[CHAR_HEIGHT*CHAR_WIDTH]; struct rectangle clearpoints[CHAR_HEIGHT*CHAR_WIDTH]; unsigned char ch=hardware_buffer_lcd[x][y]; + static char bitmap_content[11*8][2*8]; if (double_height == 2 && y == 1) return; /* Second row can't be printed in double height. ??*/ - /* Clear all char - clearpoints[cp].x = xpos +BORDER_MARGIN; - clearpoints[cp].y = ypos +BORDER_MARGIN; - clearpoints[cp].width=CHAR_WIDTH*CHAR_PIXEL; - clearpoints[cp].height=7*CHAR_PIXEL*double_height; - cp++; - */ for (col=0; col<5; col++) { + unsigned char fontbitmap=(*font_player)[ch][col]; for (row=0; row<7; row++) { - char fontbit=(*font_player)[ch][col]&(1<