video: Allow querying the font size

All the font size to be queried using the 'font size' command.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2024-01-07 17:14:54 -07:00
parent 8ab2178de0
commit 112eb85c5a
3 changed files with 22 additions and 10 deletions

View file

@ -55,9 +55,6 @@ static int do_font_size(struct cmd_tbl *cmdtp, int flag, int argc,
uint size;
int ret;
if (argc != 2)
return CMD_RET_USAGE;
if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
return CMD_RET_FAILURE;
ret = vidconsole_get_font_size(dev, &font_name, &size);
@ -66,12 +63,16 @@ static int do_font_size(struct cmd_tbl *cmdtp, int flag, int argc,
return CMD_RET_FAILURE;
}
size = dectoul(argv[1], NULL);
if (argc < 2) {
printf("%d\n", size);
} else {
size = dectoul(argv[1], NULL);
ret = vidconsole_select_font(dev, font_name, size);
if (ret) {
printf("Failed (error %d)\n", ret);
return CMD_RET_FAILURE;
ret = vidconsole_select_font(dev, font_name, size);
if (ret) {
printf("Failed (error %d)\n", ret);
return CMD_RET_FAILURE;
}
}
return 0;

View file

@ -13,7 +13,7 @@ Synopsis
font list
font select <name> [<size>]
font size <size>
font size [<size>]
Description
-----------
@ -34,7 +34,7 @@ This selects a new font and optionally changes the size.
font size
~~~~~~~~~
This changes the font size only.
This changes the font size only. With no argument it shows the current size.
Examples
--------
@ -44,6 +44,8 @@ Examples
=> font list
nimbus_sans_l_regular
cantoraone_regular
=> font size
30
=> font size 40
=> font select cantoraone_regular 20
=>

View file

@ -58,10 +58,19 @@ static int font_test_base(struct unit_test_state *uts)
ut_assertok(vidconsole_get_font_size(dev, &name, &size));
ut_asserteq_str("cantoraone_regular", name);
ut_asserteq(40, size);
ut_assertok(ut_check_console_end(uts));
ut_assertok(run_command("font size", 0));
ut_assert_nextline("40");
ut_assertok(ut_check_console_end(uts));
ut_assertok(run_command("font size 30", 0));
ut_assert_console_end();
ut_assertok(run_command("font size", 0));
ut_assert_nextline("30");
ut_assertok(ut_check_console_end(uts));
ut_assertok(vidconsole_get_font_size(dev, &name, &size));
ut_asserteq_str("cantoraone_regular", name);
ut_asserteq(30, size);