Display Copyright

This commit is contained in:
2024-03-30 13:09:30 -05:00
parent b35a391887
commit 58eaa8348a
3 changed files with 27 additions and 11 deletions

View File

@@ -46,7 +46,18 @@ namespace BIOSInfo {
}
};
static FontSlider font_sliders[2];
static struct {
using BIOSStringOffset = const char*const (SysCall::BIOSVersion::*);
const BIOSStringOffset bios_str_offset;
const char*const display_str;
FontSlider font_slider;
} BIOSStringInfo[3] = {
{.bios_str_offset = &SysCall::BIOSVersion::kernel_maker, .display_str = "Kernel-Maker"},
{.bios_str_offset = &SysCall::BIOSVersion::gui_version, .display_str = "GUI-Version"},
{.bios_str_offset = &SysCall::BIOSVersion::copyright, .display_str = "Copyright"}
};
static GPU::TILE::Linked border_tiles[2] = {
Make::TILE(Make::AreaI16(0, 0, TextOffset.x, GPU::Display::Height), GPU::Color24::Black()).linked(),
Make::TILE(Make::AreaI16(GPU::Display::Width - TextOffset.x, 0, TextOffset.x, GPU::Display::Height), GPU::Color24::Black()).linked()
@@ -56,8 +67,9 @@ namespace BIOSInfo {
const auto result = SysCall::get_bios_version();
Shared::back_menu.reset();
font_sliders[0] = FontSlider::create_for(FontWriter::BIOSFont::Info, result.kernel_maker);
font_sliders[1] = FontSlider::create_for(FontWriter::BIOSFont::Info, result.gui_version);
for(auto& bios_str_info : BIOSStringInfo) {
bios_str_info.font_slider = FontSlider::create_for(FontWriter::BIOSFont::Info, result.*(bios_str_info.bios_str_offset));
}
border_tiles[0].concat(border_tiles[1]);
return result;
}
@@ -73,17 +85,16 @@ namespace BIOSInfo {
return true;
}
for(auto& font_slider : font_sliders) {
font_slider.advance();
}
auto cursor = FontWriter::update(TextOffset);
FontWriter::bios_font_writer.write(cursor, "BIOS INFORMATION\n----------------\nDate (day/month/year):\n%i/%i/%i\nKernel-Maker:\n", bios_version.date.day, bios_version.date.month, bios_version.date.year);
FontWriter::bios_font_writer.write(cursor, "BIOS INFORMATION\n----------------\nDate (day/month/year):\n%i/%i/%i\n", bios_version.date.day, bios_version.date.month, bios_version.date.year);
const auto old_pos_x = cursor.pos.x;
FontWriter::bios_font_writer.write(move_cursor(cursor, font_sliders[0].count, old_pos_x), "%s\n", bios_version.kernel_maker);
FontWriter::bios_font_writer.write(move_cursor(cursor, 0, old_pos_x), "GUI-Version:\n");
FontWriter::bios_font_writer.write(move_cursor(cursor, font_sliders[1].count, old_pos_x), "%s\n", bios_version.gui_version);
for(auto& bios_str_info : BIOSStringInfo) {
bios_str_info.font_slider.advance();
FontWriter::bios_font_writer.write(move_cursor(cursor, 0, old_pos_x), "%s:\n", bios_str_info.display_str);
FontWriter::bios_font_writer.write(move_cursor(cursor, bios_str_info.font_slider.count, old_pos_x), "%s\n", bios_version.*(bios_str_info.bios_str_offset));
}
FontWriter::bios_font_writer.write(move_cursor(cursor, 0, old_pos_x), "----------------\n");
return false;