MdeModulePkg: Center logo 38.2% from top of screen

Use Microsoft's recommended positioning for the boot logo.

> We recommend that the logo is placed with its center at 38.2% from the
> screen's top edge. This positioning is based on the golden ratio's
> visual aesthetics and matches the Windows 10 design proportions.

Ref: https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components#position-the-logo-during-post
Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
Tim Crawford
2023-06-27 21:05:56 -06:00
parent cd00f3f47f
commit c24fa67677
3 changed files with 9 additions and 2 deletions

View File

@@ -29,7 +29,8 @@ typedef enum {
EdkiiPlatformLogoDisplayAttributeCenterBottom, EdkiiPlatformLogoDisplayAttributeCenterBottom,
EdkiiPlatformLogoDisplayAttributeLeftBottom, EdkiiPlatformLogoDisplayAttributeLeftBottom,
EdkiiPlatformLogoDisplayAttributeCenterLeft, EdkiiPlatformLogoDisplayAttributeCenterLeft,
EdkiiPlatformLogoDisplayAttributeCenter EdkiiPlatformLogoDisplayAttributeCenter,
EdkiiPlatformLogoDisplayAttributeMicrosoft,
} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE; } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
/** /**

View File

@@ -196,6 +196,12 @@ BootLogoEnableLogo (
DestY = SizeOfY - Image.Height; DestY = SizeOfY - Image.Height;
break; break;
case EdkiiPlatformLogoDisplayAttributeMicrosoft:
// Position the logo so that its center is 38.2% from the top.
DestX = (SizeOfX - Image.Width) / 2;
DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
break;
default: default:
ASSERT (FALSE); ASSERT (FALSE);
continue; continue;

View File

@@ -26,7 +26,7 @@ EFI_HII_HANDLE mHiiHandle;
LOGO_ENTRY mLogos[] = { LOGO_ENTRY mLogos[] = {
{ {
IMAGE_TOKEN (IMG_LOGO), IMAGE_TOKEN (IMG_LOGO),
EdkiiPlatformLogoDisplayAttributeCenter, EdkiiPlatformLogoDisplayAttributeMicrosoft,
0, 0,
0 0
} }