1 /** @file 2 The Platform Logo Protocol defines the interface to get the Platform logo 3 image with the display attribute. 4 5 Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 8 The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef __PLATFORM_LOGO_H__ 17 #define __PLATFORM_LOGO_H__ 18 19 #include <Protocol/HiiImage.h> 20 21 // 22 // GUID for EDKII Platform Logo Protocol 23 // 24 #define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \ 25 { 0x53cd299f, 0x2bc1, 0x40c0, { 0x8c, 0x07, 0x23, 0xf6, 0x4f, 0xdb, 0x30, 0xe0 } } 26 27 typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL; 28 29 typedef enum { 30 EdkiiPlatformLogoDisplayAttributeLeftTop, 31 EdkiiPlatformLogoDisplayAttributeCenterTop, 32 EdkiiPlatformLogoDisplayAttributeRightTop, 33 EdkiiPlatformLogoDisplayAttributeCenterRight, 34 EdkiiPlatformLogoDisplayAttributeRightBottom, 35 EdkiiPlatformLogoDisplayAttributeCenterBottom, 36 EdkiiPlatformLogoDisplayAttributeLeftBottom, 37 EdkiiPlatformLogoDisplayAttributeCenterLeft, 38 EdkiiPlatformLogoDisplayAttributeCenter 39 } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE; 40 41 /** 42 43 Load a platform logo image and return its data and attributes. 44 45 @param This The pointer to this protocol instance. 46 @param Instance The visible image instance is found. 47 @param Format The format of the image. Examples: BMP, JPEG. 48 @param ImageData The image data for the badge file. Currently only 49 supports the .bmp file format. 50 @param ImageSize The size of the image returned. 51 @param Attribute The display attributes of the image returned. 52 @param OffsetX The X offset of the image regarding the Attribute. 53 @param OffsetY The Y offset of the image regarding the Attribute. 54 55 @retval EFI_SUCCESS The image was fetched successfully. 56 @retval EFI_NOT_FOUND The specified image could not be found. 57 58 **/ 59 typedef 60 EFI_STATUS 61 (EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)( 62 IN EDKII_PLATFORM_LOGO_PROTOCOL *This, 63 IN OUT UINT32 *Instance, 64 OUT EFI_IMAGE_INPUT *Image, 65 OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, 66 OUT INTN *OffsetX, 67 OUT INTN *OffsetY 68 ); 69 70 71 struct _EDKII_PLATFORM_LOGO_PROTOCOL { 72 EDKII_PLATFORM_LOGO_GET_IMAGE GetImage; 73 }; 74 75 76 extern EFI_GUID gEdkiiPlatformLogoProtocolGuid; 77 78 #endif 79