A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

lcd-common: Remove support for custom line heights from viewport.

Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().

Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c

+10 -16
+1 -4
apps/gui/viewport.c
··· 225 225 int viewport_get_nb_lines(const struct viewport *vp) 226 226 { 227 227 #ifdef HAVE_LCD_BITMAP 228 - if (!vp->line_height) 229 - return vp->height/font_get(vp->font)->height; 230 - return vp->height/vp->line_height; 228 + return vp->height/font_get(vp->font)->height; 231 229 #else 232 230 (void)vp; 233 231 return 2; ··· 322 320 set_default_align_flags(vp); 323 321 #endif 324 322 vp->font = screens[screen].getuifont(); 325 - vp->line_height = 0; /* calculate from font height */ 326 323 vp->drawmode = DRMODE_SOLID; 327 324 #if LCD_DEPTH > 1 328 325 #ifdef HAVE_REMOTE_LCD
+1 -1
apps/menus/time_menu.c
··· 265 265 /* force time to be drawn centered */ 266 266 clock_vps[i].flags |= VP_FLAG_ALIGN_CENTER; 267 267 268 - font_h = clock_vps[i].line_height ?: (int)font_get(clock_vps[i].font)->height; 268 + font_h = font_get(clock_vps[i].font)->height; 269 269 nb_lines -= 2; /* at least 2 lines for menu */ 270 270 if (nb_lines > 4) 271 271 nb_lines = 4;
+1 -2
apps/plugins/lib/pluginlib_touchscreen.c
··· 140 140 */ 141 141 lcd->set_viewport(&data[i].vp); 142 142 143 - /* Set line_height to height, then it'll center for us */ 144 - data[i].vp.line_height = data[i].vp.height; 143 + /* TODO: Center text vert*/ 145 144 data[i].vp.flags |= VP_FLAG_ALIGN_CENTER; 146 145 147 146 /* If the width offset was 0, use a scrolling puts, else center and
+7 -8
firmware/drivers/lcd-bitmap-common.c
··· 387 387 388 388 static void LCDFN(putsxyofs_style)(int xpos, int ypos, 389 389 const unsigned char *str, int style, 390 - int h, int offset) 390 + int offset) 391 391 { 392 392 int lastmode = current_vp->drawmode; 393 393 int text_ypos = ypos; 394 - int line_height = font_get(current_vp->font)->height; 395 - text_ypos += h/2 - line_height/2; /* center the text in the line */ 394 + int h = font_get(current_vp->font)->height; 396 395 397 396 if ((style & STYLE_MODE_MASK) == STYLE_NONE) { 398 397 if (str[0]) ··· 452 451 if(!str) 453 452 return; 454 453 455 - h = current_vp->line_height ?: (int)font_get(current_vp->font)->height; 454 + h = font_get(current_vp->font)->height; 456 455 if ((style&STYLE_XY_PIXELS) == 0) 457 456 { 458 457 xpos = x * LCDFN(getstringsize)(" ", NULL, NULL); ··· 464 463 ypos = y; 465 464 } 466 465 LCDFN(scroll_stop_viewport_rect)(current_vp, xpos, ypos, current_vp->width - xpos, h); 467 - LCDFN(putsxyofs_style)(xpos, ypos+y_offset, str, style, h, x_offset); 466 + LCDFN(putsxyofs_style)(xpos, ypos+y_offset, str, style, x_offset); 468 467 } 469 468 470 469 void LCDFN(puts)(int x, int y, const unsigned char *str) ··· 501 500 502 501 void LCDFN(scroll_fn)(struct scrollinfo* s) 503 502 { 504 - LCDFN(putsxyofs_style)(s->x, s->y, s->line, s->style, s->height, s->offset); 503 + LCDFN(putsxyofs_style)(s->x, s->y, s->line, s->style, s->offset); 505 504 } 506 505 507 506 static void LCDFN(puts_scroll_worker)(int x, int y, const unsigned char *string, ··· 521 520 /* prepare rectangle for scrolling. x and y must be calculated early 522 521 * for find_scrolling_line() to work */ 523 522 cwidth = font_get(current_vp->font)->maxwidth; 524 - height = current_vp->line_height ?: (int)font_get(current_vp->font)->height; 523 + height = font_get(current_vp->font)->height; 525 524 y = y * (linebased ? height : 1) + y_offset; 526 525 x = x * (linebased ? cwidth : 1); 527 526 width = current_vp->width - x; ··· 535 534 if (restart) { 536 535 /* remove any previously scrolling line at the same location */ 537 536 LCDFN(scroll_stop_viewport_rect)(current_vp, x, y, width, height); 538 - LCDFN(putsxyofs_style)(x, y, string, style, height, x_offset); 537 + LCDFN(putsxyofs_style)(x, y, string, style, x_offset); 539 538 540 539 if (LCDFN(scroll_info).lines >= LCDM(SCROLLABLE_LINES)) 541 540 return;
-1
firmware/export/lcd.h
··· 43 43 #ifdef HAVE_LCD_BITMAP 44 44 int flags; 45 45 int font; 46 - int line_height; /* 0 for using font height */ 47 46 int drawmode; 48 47 #endif 49 48 #if LCD_DEPTH > 1