audk/MdeModulePkg/Include/Protocol/PlatformLogo.h

79 lines
2.9 KiB
C

/** @file
The Platform Logo Protocol defines the interface to get the Platform logo
image with the display attribute.
Copyright (c) 2015 - 2016, 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__
#include <Protocol/HiiImage.h>
//
// GUID for EDKII Platform Logo Protocol
//
#define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \
{ 0x53cd299f, 0x2bc1, 0x40c0, { 0x8c, 0x07, 0x23, 0xf6, 0x4f, 0xdb, 0x30, 0xe0 } }
typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;
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 OffsetX The X offset of the image regarding the Attribute.
@param OffsetY The Y offset of the image regarding the Attribute.
@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 EFI_IMAGE_INPUT *Image,
OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,
OUT INTN *OffsetX,
OUT INTN *OffsetY
);
struct _EDKII_PLATFORM_LOGO_PROTOCOL {
EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;
};
extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;
#endif