Clock: Fix rendering.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22617 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2009-09-04 04:13:38 +00:00
parent 067172ae54
commit ae181ca0ca
4 changed files with 9 additions and 8 deletions

View file

@ -43,6 +43,6 @@ void draw_string(struct screen* display, const struct picture* bitmaps,
}
void getstringsize(const struct picture* bitmaps, char* str, int *w, int *h ){
*h=bitmaps->height;
*h=bitmaps->slide_height;
*w=rb->strlen(str)*bitmaps->width;
}

View file

@ -45,11 +45,11 @@ void binary_clock_draw(struct screen* display, struct time* time, int skin){
char buffer[9];
int i;
const struct picture* binary_bitmaps = &(binary_skin[skin][display->screen_type]);
int y_offset=(display->getheight()-(binary_bitmaps->height*3))/2;
int y_offset=(display->getheight()-(binary_bitmaps->slide_height*3))/2;
int x_offset=(display->getwidth()-(binary_bitmaps->width*6))/2;
for(i=0;i<3;i++){
print_binary(buffer, lines_values[i], 6);
draw_string(display, binary_bitmaps, buffer, x_offset,
binary_bitmaps->height*i+y_offset);
binary_bitmaps->slide_height*i+y_offset);
}
}

View file

@ -72,14 +72,14 @@ void digital_clock_draw(struct screen* display,
getstringsize(digits_bitmaps, buffer, &str_w, &str_h);
draw_string(display, digits_bitmaps, buffer,
(display->getwidth()-str_w)/2,
digits_bitmaps->height);
digits_bitmaps->slide_height);
}
if(settings->general.date_format!=NONE){
format_date(buffer, time, settings->general.date_format);
getstringsize(smalldigits_bitmaps, buffer, &str_w, &str_h);
draw_string(display, smalldigits_bitmaps, buffer,
(display->getwidth()-str_w)/2,
display->getheight()-smalldigits_bitmaps->height*2);
display->getheight()-smalldigits_bitmaps->slide_height*2);
}
if(counter){
struct time counter_time;

View file

@ -144,11 +144,12 @@ void draw_logo(struct screen* display){
void draw_message(struct screen* display, int msg, int y){
const struct picture* message = &(messages[display->screen_type]);
display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
display->fillrect(0, display->getheight()-message->height,
display->getwidth(), message->height);
display->fillrect(0, display->getheight()-message->slide_height,
display->getwidth(), message->slide_height);
display->set_drawmode(DRMODE_SOLID);
vertical_picture_draw_sprite(display, message, msg,
0, display->getheight()-(message->height*y));
0, display->getheight() -
(message->slide_height*y));
}
void load_settings(void){