diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h b/MdeModulePkg/Include/Protocol/PlatformLogo.h index 08e1dc35a4..1e90749052 100644 --- a/MdeModulePkg/Include/Protocol/PlatformLogo.h +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h @@ -29,7 +29,8 @@ typedef enum { EdkiiPlatformLogoDisplayAttributeCenterBottom, EdkiiPlatformLogoDisplayAttributeLeftBottom, EdkiiPlatformLogoDisplayAttributeCenterLeft, - EdkiiPlatformLogoDisplayAttributeCenter + EdkiiPlatformLogoDisplayAttributeCenter, + EdkiiPlatformLogoDisplayAttributeMicrosoft, } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE; /** diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c index 478ec2d40e..c5003875db 100644 --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c @@ -196,6 +196,12 @@ BootLogoEnableLogo ( DestY = SizeOfY - Image.Height; 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: ASSERT (FALSE); continue; diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c index 8ab874d2da..5ede2dcb02 100644 --- a/MdeModulePkg/Logo/Logo.c +++ b/MdeModulePkg/Logo/Logo.c @@ -26,7 +26,7 @@ EFI_HII_HANDLE mHiiHandle; LOGO_ENTRY mLogos[] = { { IMAGE_TOKEN (IMG_LOGO), - EdkiiPlatformLogoDisplayAttributeCenter, + EdkiiPlatformLogoDisplayAttributeMicrosoft, 0, 0 }