]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Protocol/PlatformLogo.h
MdeModulePkg: Add PlatformLogo protocol definition.
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / PlatformLogo.h
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 CoordinateX The X coordinate of the image.
59 @param CoordinateY The Y coordinate of the image.
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 UINTN *CoordinateX,
75 OUT UINTN *CoordinateY
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