/** @file The Platform Logo Protocol defines the interface to get the Platform logo image with the display attribute. Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __PLATFORM_LOGO_H__ #define __PLATFORM_LOGO_H__ #include // // GUID for EDKII Platform Logo Protocol // #define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \ { 0x53cd299f, 0x2bc1, 0x40c0, { 0x8c, 0x07, 0x23, 0xf6, 0x4f, 0xdb, 0x30, 0xe0 } } typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL; typedef enum { EdkiiPlatformLogoDisplayAttributeLeftTop, EdkiiPlatformLogoDisplayAttributeCenterTop, EdkiiPlatformLogoDisplayAttributeRightTop, EdkiiPlatformLogoDisplayAttributeCenterRight, EdkiiPlatformLogoDisplayAttributeRightBottom, EdkiiPlatformLogoDisplayAttributeCenterBottom, EdkiiPlatformLogoDisplayAttributeLeftBottom, EdkiiPlatformLogoDisplayAttributeCenterLeft, EdkiiPlatformLogoDisplayAttributeCenter } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE; /** Load a platform logo image and return its data and attributes. @param This The pointer to this protocol instance. @param Instance The visible image instance is found. @param Image Points to the image. @param Attribute The display attributes of the image returned. @param OffsetX The X offset of the image regarding the Attribute. @param OffsetY The Y offset of the image regarding the Attribute. @retval EFI_SUCCESS The image was fetched successfully. @retval EFI_NOT_FOUND The specified image could not be found. **/ typedef EFI_STATUS (EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)( IN EDKII_PLATFORM_LOGO_PROTOCOL *This, IN OUT UINT32 *Instance, OUT EFI_IMAGE_INPUT *Image, OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, OUT INTN *OffsetX, OUT INTN *OffsetY ); struct _EDKII_PLATFORM_LOGO_PROTOCOL { EDKII_PLATFORM_LOGO_GET_IMAGE GetImage; }; extern EFI_GUID gEdkiiPlatformLogoProtocolGuid; #endif