Home | History | Annotate | Download | only in Protocol
      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 - 2016, 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 #include <Protocol/HiiImage.h>
     20 
     21 //
     22 // GUID for EDKII Platform Logo Protocol
     23 //
     24 #define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \
     25   { 0x53cd299f, 0x2bc1, 0x40c0, { 0x8c, 0x07, 0x23, 0xf6, 0x4f, 0xdb, 0x30, 0xe0 } }
     26 
     27 typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;
     28 
     29 typedef enum {
     30   EdkiiPlatformLogoDisplayAttributeLeftTop,
     31   EdkiiPlatformLogoDisplayAttributeCenterTop,
     32   EdkiiPlatformLogoDisplayAttributeRightTop,
     33   EdkiiPlatformLogoDisplayAttributeCenterRight,
     34   EdkiiPlatformLogoDisplayAttributeRightBottom,
     35   EdkiiPlatformLogoDisplayAttributeCenterBottom,
     36   EdkiiPlatformLogoDisplayAttributeLeftBottom,
     37   EdkiiPlatformLogoDisplayAttributeCenterLeft,
     38   EdkiiPlatformLogoDisplayAttributeCenter
     39 } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
     40 
     41 /**
     42 
     43   Load a platform logo image and return its data and attributes.
     44 
     45   @param This              The pointer to this protocol instance.
     46   @param Instance          The visible image instance is found.
     47   @param Format            The format of the image. Examples: BMP, JPEG.
     48   @param ImageData         The image data for the badge file. Currently only
     49                            supports the .bmp file format.
     50   @param ImageSize         The size of the image returned.
     51   @param Attribute         The display attributes of the image returned.
     52   @param OffsetX           The X offset of the image regarding the Attribute.
     53   @param OffsetY           The Y offset of the image regarding the Attribute.
     54 
     55   @retval EFI_SUCCESS      The image was fetched successfully.
     56   @retval EFI_NOT_FOUND    The specified image could not be found.
     57 
     58 **/
     59 typedef
     60 EFI_STATUS
     61 (EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)(
     62   IN     EDKII_PLATFORM_LOGO_PROTOCOL          *This,
     63   IN OUT UINT32                                *Instance,
     64      OUT EFI_IMAGE_INPUT                       *Image,
     65      OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,
     66      OUT INTN                                  *OffsetX,
     67      OUT INTN                                  *OffsetY
     68   );
     69 
     70 
     71 struct _EDKII_PLATFORM_LOGO_PROTOCOL {
     72   EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;
     73 };
     74 
     75 
     76 extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;
     77 
     78 #endif
     79