Removed lcd_getfontsize(). Removed font parameters to lcd_putsxy and lcd_getstringsize.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2403 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2002-09-24 18:04:15 +00:00
parent 614272c45f
commit a4c3b03f15
19 changed files with 156 additions and 171 deletions

View file

@ -113,28 +113,28 @@ void roll_credits(void)
int height;
int width;
lcd_getfontsize(FONT_UI, &width, &height);
lcd_getstringsize("A", &width, &height);
while(1) {
lcd_clear_display();
for ( i=0; i <= (64-y)/height; i++ )
lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"", FONT_UI);
snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ",
line+1, numnames);
lcd_putsxy(0, 0, buffer, FONT_UI);
lcd_update();
lcd_clear_display();
for ( i=0; i <= (64-y)/height; i++ )
lcd_putsxy(0, i*height+y, line+i<numnames?credits[line+i]:"");
snprintf(buffer, sizeof(buffer), " [Credits] %2d/%2d ",
line+1, numnames);
lcd_putsxy(0, 0, buffer);
lcd_update();
if (button_get_w_tmo(HZ/20))
return;
if (button_get_w_tmo(HZ/20))
return;
y--;
y--;
if(y<0) {
line++;
if(line >= numnames)
break;
y+=height;
}
if(y<0) {
line++;
if(line >= numnames)
break;
y+=height;
}
}
return;

View file

@ -88,20 +88,20 @@ int show_logo( void )
debugf("read_bmp_file() returned %d, width %d height %d\n",
failure, width, height);
for(i=0, eline=0; i < height; i+=8, eline++) {
/* the bitmap function doesn't work with full-height bitmaps
so we "stripe" the logo output */
lcd_bitmap(&buffer[eline*width], 0, 10+i, width,
(height-i)>8?8:height-i, false);
}
for(i=0, eline=0; i < height; i+=8, eline++) {
/* the bitmap function doesn't work with full-height bitmaps
so we "stripe" the logo output */
lcd_bitmap(&buffer[eline*width], 0, 10+i, width,
(height-i)>8?8:height-i, false);
}
#endif
snprintf(version, sizeof(version), "Ver. %s", appsversion);
lcd_getfontsize(FONT_SYSFIXED, &font_w, &font_h);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize("A", &font_w, &font_h);
lcd_putsxy((LCD_WIDTH/2) - ((strlen(version)*font_w)/2),
LCD_HEIGHT-font_h, version, FONT_SYSFIXED);
LCD_HEIGHT-font_h, version);
lcd_update();
#else

View file

@ -29,11 +29,11 @@
#include "panic.h"
#include "settings.h"
#include "status.h"
#include "screens.h"
#ifdef HAVE_LCD_BITMAP
#include "icons.h"
#include "widgets.h"
#include "screens.h"
#endif
struct menu {
@ -95,7 +95,7 @@ void put_cursorxy(int x, int y, bool on)
#ifdef HAVE_LCD_BITMAP
int fh, fw;
int xpos, ypos;
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_getstringsize("A", &fw, &fh);
xpos = x*6;
ypos = y*fh + lcd_getymargin();
if ( fh > 8 )
@ -134,7 +134,8 @@ static void menu_draw(int m)
#ifdef HAVE_LCD_BITMAP
int fw, fh;
int menu_lines;
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_setfont(FONT_UI);
lcd_getstringsize("A", &fw, &fh);
if (global_settings.statusbar)
menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh;
else
@ -147,7 +148,6 @@ static void menu_draw(int m)
lcd_clear_display(); /* ...then clean the screen */
#ifdef HAVE_LCD_BITMAP
lcd_setmargins(MARGIN_X,MARGIN_Y); /* leave room for cursor and icon */
lcd_setfont(FONT_UI);
#endif
/* correct cursor pos if out of screen */
if (menus[m].cursor - menus[m].top >= menu_lines)
@ -184,7 +184,7 @@ static void put_cursor(int m, int target)
#ifdef HAVE_LCD_BITMAP
int fw, fh;
int menu_lines;
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_getstringsize("A", &fw, &fh);
if (global_settings.statusbar)
menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh;
else

View file

@ -224,7 +224,7 @@ static void loopit(void)
}
snprintf(buffer, 30, "%s: %d",
values[show].what, values[show].num);
lcd_putsxy(0, 56, buffer, 0);
lcd_putsxy(0, 56, buffer);
timeout--;
}
for(i=0, yy=y, xx=x;
@ -241,13 +241,13 @@ static void loopit(void)
}
Menu bounce(void)
bool bounce(void)
{
int w, h;
char *off = "[Off] to stop";
int len = strlen(SS_TITLE);
lcd_getfontsize(SS_TITLE_FONT, &w, &h);
lcd_getstringsize(SS_TITLE,&w, &h);
/* Get horizontel centering for text */
len *= w;
@ -262,10 +262,10 @@ Menu bounce(void)
h /= 2;
lcd_clear_display();
lcd_putsxy(LCD_WIDTH/2-len, (LCD_HEIGHT/2)-h, SS_TITLE, SS_TITLE_FONT);
lcd_putsxy(LCD_WIDTH/2-len, (LCD_HEIGHT/2)-h, SS_TITLE);
len = strlen(off);
lcd_getfontsize(0, &w, &h);
len = 1;
lcd_getstringsize(off, &w, &h);
/* Get horizontel centering for text */
len *= w;
@ -279,13 +279,13 @@ Menu bounce(void)
else
h /= 2;
lcd_putsxy(LCD_WIDTH/2-len, LCD_HEIGHT-(2*h), off,0);
lcd_putsxy(LCD_WIDTH/2-len, LCD_HEIGHT-(2*h), off);
lcd_update();
sleep(HZ);
loopit();
return MENU_OK;
return false;
}
#endif

View file

@ -235,10 +235,12 @@ void statusbar_icon_volume(int percent)
/* display volume lever numerical? */
if (TIME_BEFORE(current_tick,switch_tick)) {
snprintf(buffer, sizeof(buffer), "%2d", percent);
lcd_getstringsize(buffer, FONT_SYSFIXED, &width, &height);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height);
if (height <= STATUSBAR_HEIGHT)
lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 -
width/2, STATUSBAR_Y_POS, buffer, FONT_SYSFIXED);
width/2, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI);
}
else { /* display volume bar */
volume = volume * 14 / 100;
@ -246,7 +248,8 @@ void statusbar_icon_volume(int percent)
if(i%2 == 0)
step++;
for(j=1; j <= step; j++)
lcd_drawpixel(ICON_VOLUME_X_POS + i, STATUSBAR_Y_POS + 7 - j);
lcd_drawpixel(ICON_VOLUME_X_POS + i,
STATUSBAR_Y_POS + 7 - j);
}
}
}
@ -307,8 +310,10 @@ void statusbar_time(int hour, int minute)
strncpy(buffer, "--:--", sizeof buffer);
}
lcd_getstringsize(buffer, FONT_SYSFIXED, &width, &height);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height);
if (height <= STATUSBAR_HEIGHT)
lcd_putsxy(TIME_X_END - width, STATUSBAR_Y_POS, buffer, FONT_SYSFIXED);
lcd_putsxy(TIME_X_END - width, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI);
}
#endif

View file

@ -45,7 +45,7 @@ static int drawMode = DRAW_MODE_FILLED;
* hardware scrolling of the display. The user can change
* speed
*/
Menu oscillograph(void)
bool oscillograph(void)
{
/* stores current volume value left */
int left;
@ -184,7 +184,7 @@ Menu oscillograph(void)
if (draw) {
char buf[16];
snprintf(buf, sizeof buf, "Speed: %d", -speed);
lcd_putsxy(0, (y + LCD_HEIGHT - 8) % LCD_HEIGHT, buf, 0);
lcd_putsxy(0, (y + LCD_HEIGHT - 8) % LCD_HEIGHT, buf);
lcd_update_rect(0, (y + LCD_HEIGHT - 8) % LCD_HEIGHT,
LCD_WIDTH, 8);
}
@ -197,5 +197,5 @@ Menu oscillograph(void)
lcd_update();
/* standard return */
return MENU_OK;
return false;
}

View file

@ -1846,14 +1846,14 @@ static void update_screen(void) {
snprintf (s, sizeof(s), "%d", current_level+1);
lcd_putsxy (86, 22, s, 0);
lcd_putsxy (86, 22, s);
snprintf (s, sizeof(s), "%d", moves);
lcd_putsxy (86, 54, s, 0);
lcd_putsxy (86, 54, s);
lcd_drawrect (80,0,32,32);
lcd_drawrect (80,32,32,64);
lcd_putsxy (81, 10, str(LANG_SOKOBAN_LEVEL), 0);
lcd_putsxy (81, 42, str(LANG_SOKOBAN_MOVE), 0);
lcd_putsxy (81, 10, str(LANG_SOKOBAN_LEVEL));
lcd_putsxy (81, 42, str(LANG_SOKOBAN_MOVE));
/* print out the screen */
lcd_update();
}
@ -2197,7 +2197,7 @@ static bool sokoban_loop(void)
if (current_level == NUM_LEVELS) {
for(ii=0; ii<30 ; ii++) {
lcd_clear_display();
lcd_putsxy(10, 20, str(LANG_SOKOBAN_WIN), 2);
lcd_putsxy(10, 20, str(LANG_SOKOBAN_WIN));
lcd_update();
lcd_invertrect(0,0,111,63);
lcd_update();
@ -2220,12 +2220,12 @@ bool sokoban(void)
{
bool result;
int w, h;
int len = strlen(SOKOBAN_TITLE);
int len;
lcd_getfontsize(SOKOBAN_TITLE_FONT, &w, &h);
lcd_getstringsize(SOKOBAN_TITLE, &w, &h);
/* Get horizontel centering for text */
len *= w;
len = w;
if (len%2 != 0)
len = ((len+1)/2)+(w/2);
else
@ -2237,18 +2237,17 @@ bool sokoban(void)
h /= 2;
lcd_clear_display();
lcd_putsxy(LCD_WIDTH/2-len, (LCD_HEIGHT/2)-h, SOKOBAN_TITLE,
SOKOBAN_TITLE_FONT);
lcd_putsxy(LCD_WIDTH/2-len, (LCD_HEIGHT/2)-h, SOKOBAN_TITLE);
lcd_update();
sleep(HZ*2);
lcd_clear_display();
lcd_putsxy( 3,12, str(LANG_SOKOBAN_QUIT), 0);
lcd_putsxy( 3,22, str(LANG_SOKOBAN_F1),0);
lcd_putsxy( 3,32, str(LANG_SOKOBAN_F2),0);
lcd_putsxy( 3,42, str(LANG_SOKOBAN_F3),0);
lcd_putsxy( 3,12, str(LANG_SOKOBAN_QUIT));
lcd_putsxy( 3,22, str(LANG_SOKOBAN_F1));
lcd_putsxy( 3,32, str(LANG_SOKOBAN_F2));
lcd_putsxy( 3,42, str(LANG_SOKOBAN_F3));
lcd_update();
sleep(HZ*2);

View file

@ -319,7 +319,7 @@ static void move_down(void)
}
snprintf (s, sizeof(s), "%d Rows - Level %d", lines, level);
lcd_putsxy (2, 42, s, 0);
lcd_putsxy (2, 42, s);
new_block();
move_block(0,0,0);
@ -371,7 +371,7 @@ static bool game_loop(void)
if(gameover())
{
lcd_clearrect(0, 52, LCD_WIDTH, LCD_HEIGHT - 52);
lcd_putsxy (2, 52, str(LANG_TETRIS_LOSE), 0);
lcd_putsxy (2, 52, str(LANG_TETRIS_LOSE));
lcd_update();
sleep(HZ * 3);
return false;
@ -403,7 +403,7 @@ bool tetris(void)
init_tetris();
draw_frame(start_x, start_x + max_x - 1, start_y - 1, start_y + max_y);
lcd_putsxy (2, 42, str(LANG_TETRIS_LEVEL), 0);
lcd_putsxy (2, 42, str(LANG_TETRIS_LEVEL));
lcd_update();
next_b = t_rand(blocks);

View file

@ -1213,8 +1213,8 @@ static void score_board(void)
snprintf(buf2, sizeof(buf2), str(LANG_WORMLET_CRASHED));
break;
}
lcd_putsxy(FIELD_RECT_WIDTH + 3, y , buf, 0);
lcd_putsxy(FIELD_RECT_WIDTH + 3, y+8, buf2, 0);
lcd_putsxy(FIELD_RECT_WIDTH + 3, y , buf);
lcd_putsxy(FIELD_RECT_WIDTH + 3, y+8, buf2);
if (!worms[i].alive){
lcd_invertrect(FIELD_RECT_WIDTH + 2, y,
@ -1224,9 +1224,9 @@ static void score_board(void)
}
snprintf(buf , sizeof(buf), str(LANG_WORMLET_HIGHSCORE), highscore);
#ifndef DEBUG_WORMLET
lcd_putsxy(FIELD_RECT_WIDTH + 3, LCD_HEIGHT - 8, buf, 0);
lcd_putsxy(FIELD_RECT_WIDTH + 3, LCD_HEIGHT - 8, buf);
#else
lcd_putsxy(FIELD_RECT_WIDTH + 3, LCD_HEIGHT - 8, debugout, 0);
lcd_putsxy(FIELD_RECT_WIDTH + 3, LCD_HEIGHT - 8, debugout);
#endif
}
@ -1451,7 +1451,7 @@ static void test_worm_food_collision(void) {
collision_count++;
}
snprintf(buf, sizeof buf, "collisions: %d", collision_count);
lcd_putsxy(0, LCD_HEIGHT -8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT -8, buf);
lcd_update();
}
if (collision_count != FOOD_SIZE) {
@ -1470,7 +1470,7 @@ static void test_worm_food_collision(void) {
collision_count ++;
}
snprintf(buf, sizeof buf, "collisions: %d", collision_count);
lcd_putsxy(0, LCD_HEIGHT -8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT -8, buf);
lcd_update();
}
if (collision_count != FOOD_SIZE * 2) {
@ -1518,7 +1518,7 @@ static void test_worm_argh_collision(void) {
collision_count ++;
}
snprintf(buf, sizeof buf, "collisions: %d", collision_count);
lcd_putsxy(0, LCD_HEIGHT -8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT -8, buf);
lcd_update();
}
if (collision_count != ARGH_SIZE * 2) {
@ -1535,7 +1535,7 @@ static void test_worm_argh_collision(void) {
collision_count ++;
}
snprintf(buf, sizeof buf, "collisions: %d", collision_count);
lcd_putsxy(0, LCD_HEIGHT -8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT -8, buf);
lcd_update();
}
if (collision_count != ARGH_SIZE * 4) {
@ -1562,7 +1562,7 @@ static int testline_in_rect(void) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_update();
lcd_putsxy(0, 0, "failed 1", 0);
lcd_putsxy(0, 0, "failed 1");
button_get(true);
testfailed = 1;
}
@ -1573,7 +1573,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 2", 0);
lcd_putsxy(0, 0, "failed 2");
lcd_update();
button_get(true);
testfailed = 2;
@ -1585,7 +1585,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 3", 0);
lcd_putsxy(0, 0, "failed 3");
lcd_update();
button_get(true);
testfailed = 3;
@ -1597,7 +1597,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 4", 0);
lcd_putsxy(0, 0, "failed 4");
lcd_update();
button_get(true);
testfailed = 4;
@ -1609,7 +1609,7 @@ static int testline_in_rect(void) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 5", 0);
lcd_putsxy(0, 0, "failed 5");
lcd_update();
button_get(true);
testfailed = 5;
@ -1622,7 +1622,7 @@ static int testline_in_rect(void) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 6", 0);
lcd_putsxy(0, 0, "failed 6");
lcd_update();
button_get(true);
testfailed = 6;
@ -1637,7 +1637,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 7", 0);
lcd_putsxy(0, 0, "failed 7");
lcd_update();
button_get(true);
testfailed = 7;
@ -1649,7 +1649,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 8", 0);
lcd_putsxy(0, 0, "failed 8");
lcd_update();
button_get(true);
testfailed = 8;
@ -1661,7 +1661,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 9", 0);
lcd_putsxy(0, 0, "failed 9");
lcd_update();
button_get(true);
testfailed = 9;
@ -1673,7 +1673,7 @@ static int testline_in_rect(void) {
!line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 10", 0);
lcd_putsxy(0, 0, "failed 10");
lcd_update();
button_get(true);
testfailed = 10;
@ -1685,7 +1685,7 @@ static int testline_in_rect(void) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 11", 0);
lcd_putsxy(0, 0, "failed 11");
lcd_update();
button_get(true);
testfailed = 11;
@ -1698,7 +1698,7 @@ static int testline_in_rect(void) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh)) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 12", 0);
lcd_putsxy(0, 0, "failed 12");
lcd_update();
button_get(true);
testfailed = 12;
@ -1715,10 +1715,10 @@ static int testline_in_rect(void) {
x2 = 10;
y2 = 20;
if (!(line_in_rect(x1, y1, x2, y2, rx, ry, rw, rh) &&
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh))) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh))) {
lcd_drawrect(rx, ry, rw, rh);
lcd_drawline(x1, y1, x2, y2);
lcd_putsxy(0, 0, "failed 13", 0);
lcd_putsxy(0, 0, "failed 13");
lcd_update();
button_get(true);
testfailed = 13;
@ -1735,10 +1735,10 @@ static int testline_in_rect(void) {
x2 = 10;
y2 = 19;
if (!(line_in_rect(x1, y1, x2, y2, rx, ry, rw, rh) &&
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh))) {
line_in_rect(x2, y2, x1, y1, rx, ry, rw, rh))) {
lcd_drawline(x1, y1, x2, y2);
lcd_invertrect(rx, ry, rw, rh);
lcd_putsxy(0, 0, "failed 14", 0);
lcd_putsxy(0, 0, "failed 14");
lcd_update();
button_get(true);
testfailed = 14;
@ -1780,7 +1780,7 @@ static int test_specific_worm_collision(void) {
}
lcd_invertpixel(x + FIELD_RECT_X, y + FIELD_RECT_Y);
snprintf(buf, sizeof buf, "collisions %d", collisions);
lcd_putsxy(0, LCD_HEIGHT - 8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT - 8, buf);
lcd_update();
}
}
@ -1837,7 +1837,7 @@ static void test_make_argh(void){
}
snprintf(buf, sizeof buf, "(%d;%d) fail%d try%d", x, y, failures, tries);
lcd_putsxy(0, LCD_HEIGHT - 8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT - 8, buf);
lcd_update();
lcd_invertrect(x + FIELD_RECT_X, y+ FIELD_RECT_Y, ARGH_SIZE, ARGH_SIZE);
lcd_update();
@ -1875,7 +1875,7 @@ static void test_worm_argh_collision_in_moves(void) {
hit_count ++;
}
snprintf(buf, sizeof buf, "in 5 moves hits: %d", hit_count);
lcd_putsxy(0, LCD_HEIGHT - 8, buf, 0);
lcd_putsxy(0, LCD_HEIGHT - 8, buf);
lcd_update();
}
if (hit_count != ARGH_SIZE + 5) {

View file

@ -62,24 +62,24 @@ int on_screen(void)
lcd_clear_display();
ptr = str(LANG_PITCH_UP);
lcd_getstringsize(ptr,FONT_UI,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, 0, ptr, FONT_UI);
lcd_getstringsize(ptr,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, 0, ptr);
lcd_bitmap(bitmap_icons_7x8[Icon_UpArrow],
LCD_WIDTH/2 - 3, h*2, 7, 8, true);
snprintf(buf, sizeof buf, "%d%%", pitch);
lcd_getstringsize(buf,FONT_UI,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, h, buf, FONT_UI);
lcd_getstringsize(buf,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, h, buf);
ptr = str(LANG_PITCH_DOWN);
lcd_getstringsize(ptr,FONT_UI,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr, FONT_UI);
lcd_getstringsize(ptr,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr);
lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow],
LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true);
ptr = str(LANG_PAUSE);
lcd_getstringsize(ptr,FONT_UI,&w,&h);
lcd_putsxy((LCD_WIDTH-(w/2))/2, LCD_HEIGHT/2 - h/2, ptr, FONT_UI);
lcd_getstringsize(ptr,&w,&h);
lcd_putsxy((LCD_WIDTH-(w/2))/2, LCD_HEIGHT/2 - h/2, ptr);
lcd_bitmap(bitmap_icons_7x8[Icon_Pause],
(LCD_WIDTH-(w/2))/2-10, LCD_HEIGHT/2 - h/2, 7, 8, true);
@ -162,18 +162,18 @@ bool f2_screen(void)
char buf[32];
/* Get the font height */
lcd_getstringsize("A",FONT_UI,&w,&h);
lcd_getstringsize("A",&w,&h);
lcd_stop_scroll();
while (!exit) {
lcd_clear_display();
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE), FONT_UI);
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE), FONT_UI);
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE));
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
lcd_putsxy(0, LCD_HEIGHT/2,
global_settings.playlist_shuffle ?
str(LANG_ON) : str(LANG_OFF), FONT_UI);
str(LANG_ON) : str(LANG_OFF));
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true);
@ -181,8 +181,8 @@ bool f2_screen(void)
global_settings.mp3filter ? str(LANG_ON) : str(LANG_OFF));
/* Get the string width and height */
lcd_getstringsize(buf,FONT_UI,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, buf, FONT_UI);
lcd_getstringsize(buf,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, buf);
lcd_bitmap(bitmap_icons_7x8[Icon_DownArrow],
LCD_WIDTH/2 - 3, LCD_HEIGHT - h*3, 7, 8, true);
@ -236,20 +236,20 @@ bool f3_screen(void)
char* ptr;
ptr = str(LANG_F3_STATUS);
lcd_getstringsize(ptr,FONT_UI,&w,&h);
lcd_getstringsize(ptr,&w,&h);
lcd_clear_display();
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL), FONT_UI);
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F3_BAR), FONT_UI);
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL));
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F3_BAR));
lcd_putsxy(0, LCD_HEIGHT/2,
global_settings.scrollbar ? str(LANG_ON) : str(LANG_OFF), FONT_UI);
global_settings.scrollbar ? str(LANG_ON) : str(LANG_OFF));
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true);
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr, FONT_UI);
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F3_BAR), FONT_UI);
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h*2, ptr);
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F3_BAR));
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2,
global_settings.statusbar ? str(LANG_ON) : str(LANG_OFF), FONT_UI);
global_settings.statusbar ? str(LANG_ON) : str(LANG_OFF));
lcd_bitmap(bitmap_icons_7x8[Icon_FastForward],
LCD_WIDTH/2 + 8, LCD_HEIGHT/2 - 4, 7, 8, true);
lcd_update();
@ -288,5 +288,3 @@ bool f3_screen(void)
return false;
}
#endif

View file

@ -866,33 +866,33 @@ bool set_time(char* string, int timedate[])
lcd_puts(0, 1, buffer);
/* recalculate the positions and offsets */
lcd_getstringsize(string, FONT_UI, &width, &prev_line_height);
lcd_getstringsize(buffer, FONT_UI, &width, &line_height);
lcd_getstringsize(":", FONT_UI, &separator_width, &height);
lcd_getstringsize(string, &width, &prev_line_height);
lcd_getstringsize(buffer, &width, &line_height);
lcd_getstringsize(":", &separator_width, &height);
strncpy(reffub, buffer, 2);
reffub[2] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[0][INDEX_X] = 0;
cursor[0][INDEX_Y] = prev_line_height;
cursor[0][INDEX_WIDTH] = width;
strncpy(reffub, buffer + 3, 2);
reffub[2] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[1][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width;
cursor[1][INDEX_Y] = prev_line_height;
cursor[1][INDEX_WIDTH] = width;
strncpy(reffub, buffer + 6, 2);
reffub[2] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[2][INDEX_X] = cursor[0][INDEX_WIDTH] + separator_width +
cursor[1][INDEX_WIDTH] + separator_width;
cursor[2][INDEX_Y] = prev_line_height;
cursor[2][INDEX_WIDTH] = width;
lcd_getstringsize(buffer, FONT_UI, &width, &prev_line_height);
lcd_getstringsize(buffer, &width, &prev_line_height);
snprintf(buffer, sizeof(buffer), "%s 20%02d %s %02d ",
dayname[timedate[6]],
@ -902,22 +902,22 @@ bool set_time(char* string, int timedate[])
lcd_puts(0, 2, buffer);
/* recalculate the positions and offsets */
lcd_getstringsize(buffer, FONT_UI, &width, &line_height);
lcd_getstringsize(buffer, &width, &line_height);
strncpy(reffub, buffer, 3);
reffub[3] = '\0';
lcd_getstringsize(reffub, FONT_UI, &weekday_width, &height);
lcd_getstringsize(" ", FONT_UI, &separator_width, &height);
lcd_getstringsize(reffub, &weekday_width, &height);
lcd_getstringsize(" ", &separator_width, &height);
strncpy(reffub, buffer + 4, 4);
reffub[4] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[3][INDEX_X] = weekday_width + separator_width;
cursor[3][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height;
cursor[3][INDEX_WIDTH] = width;
strncpy(reffub, buffer + 9, 3);
reffub[3] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[4][INDEX_X] = weekday_width + separator_width +
cursor[3][INDEX_WIDTH] + separator_width;
cursor[4][INDEX_Y] = cursor[0][INDEX_Y] + prev_line_height;
@ -925,7 +925,7 @@ bool set_time(char* string, int timedate[])
strncpy(reffub, buffer + 13, 2);
reffub[2] = '\0';
lcd_getstringsize(reffub, FONT_UI, &width, &height);
lcd_getstringsize(reffub, &width, &height);
cursor[5][INDEX_X] = weekday_width + separator_width +
cursor[3][INDEX_WIDTH] + separator_width +
cursor[4][INDEX_WIDTH] + separator_width;

View file

@ -193,7 +193,8 @@ static int showdir(char *path, int start)
#ifdef HAVE_LCD_BITMAP
int line_height = LINE_HEIGTH;
int fw, fh;
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_setfont(FONT_UI);
lcd_getstringsize("A", &fw, &fh);
tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh;
line_height = fh;
#else
@ -591,7 +592,7 @@ bool dirbrowse(char *root)
bool lastshowhidden = global_settings.show_hidden_files;
#ifdef HAVE_LCD_BITMAP
int fw, fh;
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_getstringsize("A", &fw, &fh);
tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh;
#else
tree_max_on_screen = TREE_MAX_ON_SCREEN;
@ -740,16 +741,14 @@ bool dirbrowse(char *root)
lcd_puts(0, 0, str(LANG_LANGUAGE_LOADED));
#else
lcd_getstringsize(str(LANG_LANGUAGE_LOADED),
FONT_UI, &fw, &fh);
&fw, &fh);
if(fw>LCD_WIDTH)
fw=0;
else
fw=LCD_WIDTH/2 - fw/2;
lcd_putsxy(fw,
LCD_HEIGHT/2 - fh/2,
str(LANG_LANGUAGE_LOADED),
FONT_UI);
lcd_putsxy(fw, LCD_HEIGHT/2 - fh/2,
str(LANG_LANGUAGE_LOADED));
#endif
lcd_update();
sleep(HZ);
@ -762,7 +761,7 @@ bool dirbrowse(char *root)
snprintf(buf, sizeof buf, "%s/%s",
currdir, file->name);
font_load(buf);
lcd_getfontsize(FONT_UI, &fw, &fh);
lcd_getstringsize("A", &fw, &fh);
tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh;
/* make sure cursor is on screen */
while ( dircursor > tree_max_on_screen ) {

View file

@ -548,7 +548,7 @@ bool wps_refresh(struct mp3entry* id3, int ffwd_offset, bool refresh_all)
#else
int w,h;
int offset = global_settings.statusbar ? STATUSBAR_HEIGHT : 0;
lcd_getstringsize("M",FONT_UI,&w,&h);
lcd_getstringsize("M",&w,&h);
slidebar(0, i*h + offset + 1, LCD_WIDTH, 6,
(id3->elapsed + ff_rewind_count) * 100 / id3->length,
Grow_Right);

View file

@ -228,17 +228,9 @@ void lcd_setfont(int newfont)
curfont = newfont;
}
void lcd_getfontsize(int font, int *width, int *height)
int lcd_getstringsize(unsigned char *str, int *w, int *h)
{
struct font* pf = font_get(font);
*width = pf->maxwidth;
*height = pf->height;
}
int lcd_getstringsize(unsigned char *str, int font, int *w, int *h)
{
struct font* pf = font_get(font);
struct font* pf = font_get(curfont);
int ch;
int width = 0;
@ -279,10 +271,10 @@ void lcd_puts(int x, int y, unsigned char *str)
if(!str || !str[0])
return;
lcd_getstringsize(str, curfont, &w, &h);
lcd_getstringsize(str, &w, &h);
xpos = xmargin + x*w / strlen(str);
ypos = ymargin + y*h;
lcd_putsxy( xpos, ypos, str, curfont);
lcd_putsxy(xpos, ypos, str);
lcd_clearrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h);
#if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS)
@ -293,10 +285,10 @@ void lcd_puts(int x, int y, unsigned char *str)
}
/* put a string at a given pixel position */
void lcd_putsxy(int x, int y, unsigned char *str, int font)
void lcd_putsxy(int x, int y, unsigned char *str)
{
int ch;
struct font* pf = font_get(font);
struct font* pf = font_get(curfont);
while (((ch = *str++) != '\0')) {
bitmap_t *bits;
@ -645,15 +637,14 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
struct scrollinfo* s = &scroll;
unsigned char ch[2];
int w, h;
int width, height;
lcd_getfontsize(curfont, &width, &height);
int width;
ch[1] = 0; /* zero terminate */
ch[0] = string[0];
width = 0;
s->space = 0;
while ( ch[0] &&
(width + lcd_getstringsize(ch, curfont, &w, &h) <
(width + lcd_getstringsize(ch, &w, &h) <
(LCD_WIDTH - x*8))) {
width += w;
s->space++;
@ -664,7 +655,7 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
s->textlen = strlen(string);
s->space += 2;
lcd_getstringsize(string,curfont,&w,&h);
lcd_getstringsize(string,&w,&h);
if ( w > LCD_WIDTH - xmargin ) {
s->offset=s->space;
s->startx=x;
@ -688,7 +679,7 @@ void lcd_stop_scroll(void)
struct scrollinfo* s = &scroll;
scroll_count = 0;
lcd_getstringsize( s->text, FONT_UI, &w, &h);
lcd_getstringsize( s->text, &w, &h);
lcd_clearrect(xmargin + s->startx*w/s->textlen,
ymargin + s->starty*h,
LCD_WIDTH - xmargin,
@ -745,7 +736,7 @@ static void scroll_thread(void)
s->offset = 0;
}
lcd_getstringsize( s->text, FONT_UI, &w, &h);
lcd_getstringsize( s->text, &w, &h);
lcd_clearrect(xmargin + s->startx*w/s->textlen,
ymargin + s->starty*h,
LCD_WIDTH - xmargin,

View file

@ -117,11 +117,10 @@ extern void lcd_invertpixel(int x, int y);
extern void lcd_roll(int pixels);
extern void lcd_setfont(int font);
extern void lcd_getfontsize(int font, int *width, int *height);
extern void lcd_putsxy(int x, int y, unsigned char *string, int font);
extern void lcd_putsxy(int x, int y, unsigned char *string);
extern int lcd_getstringsize(unsigned char *str, int *w, int *h);
#endif /* CHARCELLS / BITMAP */
extern int lcd_getstringsize(unsigned char *str, int font, int *w, int *h);
#endif /* __LCD_H__ */

View file

@ -50,8 +50,8 @@ void panicf( char *fmt, ...)
#elif defined(HAVE_LCD_BITMAP)
lcd_clear_display();
//FIXME putsxy may call panic...
lcd_putsxy(0,0,panic_buf,FONT_SYSFIXED);
lcd_setfont(FONT_SYSFIXED);
lcd_putsxy(0,0,panic_buf);
lcd_update();
#else

View file

@ -98,11 +98,11 @@ void ata_spindown(int s)
(void)s;
}
Menu simulate_usb(void)
bool simulate_usb(void)
{
usb_display_info();
while (button_get(true) & BUTTON_REL);
return MENU_OK;
return false;
}
void lcd_define_pattern (int which,char *pattern,int length)

View file

@ -72,7 +72,7 @@ APPS = main.c tree.c menu.c credits.c main_menu.c icons.c language.c \
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
ifeq ($(DISPLAY),-DHAVE_LCD_BITMAP)
APPS += snake.c tetris.c sokoban.c bounce.c snow.c bmp.c \
APPS += tetris.c sokoban.c bounce.c snow.c bmp.c \
widgets.c wormlet.c
endif
@ -127,9 +127,6 @@ $(OBJDIR)/icons.o: $(MACHINEDIR)/icons.c
$(OBJDIR)/widgets.o: $(RECDIR)/widgets.c
$(CC) $(APPCFLAGS) -c $< -o $@
$(OBJDIR)/snake.o: $(RECDIR)/snake.c
$(CC) $(APPCFLAGS) -c $< -o $@
$(OBJDIR)/tetris.o: $(RECDIR)/tetris.c
$(CC) $(APPCFLAGS) -c $< -o $@

View file

@ -87,7 +87,7 @@ APPS = main.c tree.c menu.c credits.c main_menu.c language.c\
MENUS = games_menu.c demo_menu.c settings_menu.c sound_menu.c
ifeq ($(DISPLAY),-DHAVE_LCD_BITMAP)
APPS += tetris.c sokoban.c bounce.c snake.c snow.c bmp.c widgets.c wormlet.c
APPS += tetris.c sokoban.c bounce.c snow.c bmp.c widgets.c wormlet.c
endif
SRCS = screenhack.c uibasic.c resources.c visual.c lcd-x11.c stubs.c \
@ -191,9 +191,6 @@ $(OBJDIR)/sokoban.o: $(RECDIR)/sokoban.c
$(OBJDIR)/bounce.o: $(RECDIR)/bounce.c
$(CC) $(APPCFLAGS) -c $< -o $@
$(OBJDIR)/snake.o: $(RECDIR)/snake.c
$(CC) $(APPCFLAGS) -c $< -o $@
$(OBJDIR)/snow.o: $(RECDIR)/snow.c
$(CC) $(APPCFLAGS) -c $< -o $@