libpayload: video: Add support for font scaling with a factor

This introduces support for font scaling with a factor provided via
Kconfig. In practice, the font itself is not scaled at any point in
memory and only the logic to determine whether a pixel should be filled
or not is changed.

Thus, it should not significantly impact either the access time or
memory use.

Change-Id: Idff210617c9ec08c6034aef107cfdb34c7cdf029
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-on: https://review.coreboot.org/20709
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Paul Kocialkowski
2017-07-23 16:05:47 +03:00
committed by Martin Roth
parent 1c0b603673
commit d85e485c58
5 changed files with 24 additions and 7 deletions

View File

@@ -27,14 +27,22 @@
* SUCH DAMAGE.
*/
#include <libpayload.h>
#include "font8x16.h"
#include "font.h"
#define COLS_MIN 130
int font_width;
int font_height;
int font_scale;
void font_init(void)
void font_init(int width)
{
font_width = FONT_WIDTH;
font_height = FONT_HEIGHT;
font_scale = CONFIG_LP_FONT_SCALE_FACTOR;
if (!font_scale)
font_scale = MAX(width / (FONT_WIDTH * COLS_MIN), 1);
font_width = FONT_WIDTH * font_scale;
font_height = FONT_HEIGHT * font_scale;
}