MdeModulePkg: Add PlatformLogo protocol definition.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18769 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni 2015-11-12 05:19:22 +00:00 committed by niruiyu
parent d6cc284e6f
commit 6313eb25e6
2 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,86 @@
/** @file
The Platform Logo Protocol defines the interface to get the Platform logo
image with the display attribute.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef __PLATFORM_LOGO_H__
#define __PLATFORM_LOGO_H__
//
// GUID for EDKII Platform Logo Protocol
//
#define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \
{ 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }
typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;
typedef enum {
ImageFormatUnknown,
ImageFormatBmp,
ImageFormatJpeg,
ImageFormatTiff,
ImageFormatGif
} IMAGE_FORMAT;
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 Format The format of the image. Examples: BMP, JPEG.
@param ImageData The image data for the badge file. Currently only
supports the .bmp file format.
@param ImageSize The size of the image returned.
@param Attribute The display attributes of the image returned.
@param CoordinateX The X coordinate of the image.
@param CoordinateY The Y coordinate of the image.
@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 IMAGE_FORMAT *Format,
OUT UINT8 **ImageData,
OUT UINTN *ImageSize,
OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,
OUT UINTN *CoordinateX,
OUT UINTN *CoordinateY
);
struct _EDKII_PLATFORM_LOGO_PROTOCOL {
EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;
};
extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;
#endif

View File

@ -449,6 +449,9 @@
## Include/Protocol/SmmReadyToBoot.h ## Include/Protocol/SmmReadyToBoot.h
gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } } gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } }
## Include/Protocol/PlatformLogo.h
gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }
# #
# [Error.gEfiMdeModulePkgTokenSpaceGuid] # [Error.gEfiMdeModulePkgTokenSpaceGuid]
# 0x80000001 | Invalid value provided. # 0x80000001 | Invalid value provided.