1 /** @file 2 The OEM Badging Protocol defines the interface to get the OEM badging 3 image with the display attribute. This protocol can be produced based on OEM badging images. 4 5 Copyright (c) 2006 - 2010, 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 __EFI_OEM_BADGING_H__ 17 #define __EFI_OEM_BADGING_H__ 18 19 // 20 // GUID for EFI OEM Badging Protocol 21 // 22 #define EFI_OEM_BADGING_PROTOCOL_GUID \ 23 { 0x170e13c0, 0xbf1b, 0x4218, {0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc } } 24 25 26 typedef struct _EFI_OEM_BADGING_PROTOCOL EFI_OEM_BADGING_PROTOCOL; 27 28 typedef enum { 29 EfiBadgingFormatBMP, 30 EfiBadgingFormatJPEG, 31 EfiBadgingFormatTIFF, 32 EfiBadgingFormatGIF, 33 EfiBadgingFormatUnknown 34 } EFI_BADGING_FORMAT; 35 36 typedef enum { 37 EfiBadgingDisplayAttributeLeftTop, 38 EfiBadgingDisplayAttributeCenterTop, 39 EfiBadgingDisplayAttributeRightTop, 40 EfiBadgingDisplayAttributeCenterRight, 41 EfiBadgingDisplayAttributeRightBottom, 42 EfiBadgingDisplayAttributeCenterBottom, 43 EfiBadgingDisplayAttributeLeftBottom, 44 EfiBadgingDisplayAttributeCenterLeft, 45 EfiBadgingDisplayAttributeCenter, 46 EfiBadgingDisplayAttributeCustomized 47 } EFI_BADGING_DISPLAY_ATTRIBUTE; 48 49 /** 50 51 Load an OEM badge image and return its data and attributes. 52 53 @param This The pointer to this protocol instance. 54 @param Instance The visible image instance is found. 55 @param Format The format of the image. Examples: BMP, JPEG. 56 @param ImageData The image data for the badge file. Currently only 57 supports the .bmp file format. 58 @param ImageSize The size of the image returned. 59 @param Attribute The display attributes of the image returned. 60 @param CoordinateX The X coordinate of the image. 61 @param CoordinateY The Y coordinate of the image. 62 63 @retval EFI_SUCCESS The image was fetched successfully. 64 @retval EFI_NOT_FOUND The specified image could not be found. 65 66 **/ 67 typedef 68 EFI_STATUS 69 (EFIAPI *EFI_BADGING_GET_IMAGE)( 70 IN EFI_OEM_BADGING_PROTOCOL *This, 71 IN OUT UINT32 *Instance, 72 OUT EFI_BADGING_FORMAT *Format, 73 OUT UINT8 **ImageData, 74 OUT UINTN *ImageSize, 75 OUT EFI_BADGING_DISPLAY_ATTRIBUTE *Attribute, 76 OUT UINTN *CoordinateX, 77 OUT UINTN *CoordinateY 78 ); 79 80 81 struct _EFI_OEM_BADGING_PROTOCOL { 82 EFI_BADGING_GET_IMAGE GetImage; 83 }; 84 85 86 extern EFI_GUID gEfiOEMBadgingProtocolGuid; 87 88 #endif 89