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, 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 // 20 // GUID for EDKII Platform Logo Protocol 21 // 22 #define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \ 23 { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } } 24 25 typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL; 26 27 typedef enum { 28 ImageFormatUnknown, 29 ImageFormatBmp, 30 ImageFormatJpeg, 31 ImageFormatTiff, 32 ImageFormatGif 33 } IMAGE_FORMAT; 34 35 typedef enum { 36 EdkiiPlatformLogoDisplayAttributeLeftTop, 37 EdkiiPlatformLogoDisplayAttributeCenterTop, 38 EdkiiPlatformLogoDisplayAttributeRightTop, 39 EdkiiPlatformLogoDisplayAttributeCenterRight, 40 EdkiiPlatformLogoDisplayAttributeRightBottom, 41 EdkiiPlatformLogoDisplayAttributeCenterBottom, 42 EdkiiPlatformLogoDisplayAttributeLeftBottom, 43 EdkiiPlatformLogoDisplayAttributeCenterLeft, 44 EdkiiPlatformLogoDisplayAttributeCenter 45 } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE; 46 47 /** 48 49 Load a platform logo image and return its data and attributes. 50 51 @param This The pointer to this protocol instance. 52 @param Instance The visible image instance is found. 53 @param Format The format of the image. Examples: BMP, JPEG. 54 @param ImageData The image data for the badge file. Currently only 55 supports the .bmp file format. 56 @param ImageSize The size of the image returned. 57 @param Attribute The display attributes of the image returned. 58 @param OffsetX The X offset of the image regarding the Attribute. 59 @param OffsetY The Y offset of the image regarding the Attribute. 60 61 @retval EFI_SUCCESS The image was fetched successfully. 62 @retval EFI_NOT_FOUND The specified image could not be found. 63 64 **/ 65 typedef 66 EFI_STATUS 67 (EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)( 68 IN EDKII_PLATFORM_LOGO_PROTOCOL *This, 69 IN OUT UINT32 *Instance, 70 OUT IMAGE_FORMAT *Format, 71 OUT UINT8 **ImageData, 72 OUT UINTN *ImageSize, 73 OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, 74 OUT INTN *OffsetX, 75 OUT INTN *OffsetY 76 ); 77 78 79 struct _EDKII_PLATFORM_LOGO_PROTOCOL { 80 EDKII_PLATFORM_LOGO_GET_IMAGE GetImage; 81 }; 82 83 84 extern EFI_GUID gEdkiiPlatformLogoProtocolGuid; 85 86 #endif 87