]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg: Add PlatformLogo protocol definition.
authorRuiyu Ni <ruiyu.ni@intel.com>
Thu, 12 Nov 2015 05:19:22 +0000 (05:19 +0000)
committerniruiyu <niruiyu@Edk2>
Thu, 12 Nov 2015 05:19:22 +0000 (05:19 +0000)
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

MdeModulePkg/Include/Protocol/PlatformLogo.h [new file with mode: 0644]
MdeModulePkg/MdeModulePkg.dec

diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h b/MdeModulePkg/Include/Protocol/PlatformLogo.h
new file mode 100644 (file)
index 0000000..9ac87f1
--- /dev/null
@@ -0,0 +1,86 @@
+/** @file\r
+  The Platform Logo Protocol defines the interface to get the Platform logo\r
+  image with the display attribute.\r
+\r
+Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __PLATFORM_LOGO_H__\r
+#define __PLATFORM_LOGO_H__\r
+\r
+//\r
+// GUID for EDKII Platform Logo Protocol\r
+//\r
+#define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \\r
+  { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }\r
+\r
+typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;\r
+\r
+typedef enum {\r
+  ImageFormatUnknown,\r
+  ImageFormatBmp,\r
+  ImageFormatJpeg,\r
+  ImageFormatTiff,\r
+  ImageFormatGif\r
+} IMAGE_FORMAT;\r
+\r
+typedef enum {\r
+  EdkiiPlatformLogoDisplayAttributeLeftTop,\r
+  EdkiiPlatformLogoDisplayAttributeCenterTop,\r
+  EdkiiPlatformLogoDisplayAttributeRightTop,\r
+  EdkiiPlatformLogoDisplayAttributeCenterRight,\r
+  EdkiiPlatformLogoDisplayAttributeRightBottom,\r
+  EdkiiPlatformLogoDisplayAttributeCenterBottom,\r
+  EdkiiPlatformLogoDisplayAttributeLeftBottom,\r
+  EdkiiPlatformLogoDisplayAttributeCenterLeft,\r
+  EdkiiPlatformLogoDisplayAttributeCenter\r
+} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;\r
+\r
+/**\r
+\r
+  Load a platform logo image and return its data and attributes.\r
+\r
+  @param This              The pointer to this protocol instance.\r
+  @param Instance          The visible image instance is found.\r
+  @param Format            The format of the image. Examples: BMP, JPEG.\r
+  @param ImageData         The image data for the badge file. Currently only \r
+                           supports the .bmp file format. \r
+  @param ImageSize         The size of the image returned.\r
+  @param Attribute         The display attributes of the image returned.\r
+  @param CoordinateX       The X coordinate of the image.\r
+  @param CoordinateY       The Y coordinate of the image.\r
+\r
+  @retval EFI_SUCCESS      The image was fetched successfully.\r
+  @retval EFI_NOT_FOUND    The specified image could not be found.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)(\r
+  IN     EDKII_PLATFORM_LOGO_PROTOCOL          *This,\r
+  IN OUT UINT32                                *Instance,\r
+     OUT IMAGE_FORMAT                          *Format,\r
+     OUT UINT8                                 **ImageData,\r
+     OUT UINTN                                 *ImageSize,\r
+     OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,\r
+     OUT UINTN                                 *CoordinateX,\r
+     OUT UINTN                                 *CoordinateY\r
+);\r
+\r
+\r
+struct _EDKII_PLATFORM_LOGO_PROTOCOL {\r
+  EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;\r
+};\r
+\r
+\r
+extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;\r
+\r
+#endif\r
index 3dfcd6a77f6465040150e4ac21cd6df2961ee785..08148e39d938e3cfd7a4550682cc619fe04faf18 100644 (file)
   ## Include/Protocol/SmmReadyToBoot.h\r
   gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } }\r
 \r
+  ## Include/Protocol/PlatformLogo.h\r
+  gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }\r
+\r
 #\r
 # [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
 #   0x80000001 | Invalid value provided.\r