]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/HiiImage.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Protocol / HiiImage.h
index ca3d3e1ecea8c0f27b8dab446e14488ad168fffe..14cf28f873050b97f3a56156d43b49c978402ed1 100644 (file)
@@ -1,77 +1,74 @@
 /** @file\r
   The file provides services to access to images in the images database.\r
-  \r
-  Copyright (c) 2006 - 2008, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  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
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+  @par Revision Reference:\r
+  This Protocol was introduced in UEFI Specification 2.1.\r
 \r
 **/\r
 \r
 #ifndef __HII_IMAGE_H__\r
 #define __HII_IMAGE_H__\r
 \r
+#include <Protocol/GraphicsOutput.h>\r
+\r
 #define EFI_HII_IMAGE_PROTOCOL_GUID \\r
   { 0x31a6406a, 0x6bdf, 0x4e46, { 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 } }\r
 \r
 typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;\r
 \r
-\r
-//\r
-// Flags in EFI_IMAGE_INPUT\r
-// \r
-#define EFI_IMAGE_TRANSPARENT 0x00000001\r
+///\r
+/// Flags in EFI_IMAGE_INPUT\r
+///\r
+#define EFI_IMAGE_TRANSPARENT  0x00000001\r
 \r
 /**\r
-   \r
+\r
   Definition of EFI_IMAGE_INPUT.\r
-   \r
+\r
   @param Flags  Describe image characteristics. If\r
                 EFI_IMAGE_TRANSPARENT is set, then the image was\r
                 designed for transparent display.\r
 \r
-  @param Width  Image width, in pixels. \r
+  @param Width  Image width, in pixels.\r
 \r
   @param Height Image height, in pixels.\r
 \r
-  @param Bitmap The actual bitmap, organized left-to-right,\r
+  @param Bitmap A pointer to the actual bitmap, organized left-to-right,\r
                 top-to-bottom. The size of the bitmap is\r
                 Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL).\r
 \r
-   \r
+\r
 **/\r
 typedef struct _EFI_IMAGE_INPUT {\r
-  UINT32                          Flags;\r
-  UINT16                          Width;\r
-  UINT16                          Height;\r
-  EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *Bitmap;\r
+  UINT32                           Flags;\r
+  UINT16                           Width;\r
+  UINT16                           Height;\r
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL    *Bitmap;\r
 } EFI_IMAGE_INPUT;\r
 \r
-\r
 /**\r
 \r
   This function adds the image Image to the group of images\r
   owned by PackageList, and returns a new image identifier\r
   (ImageId).\r
 \r
-  @param This   A pointer to the EFI_HII_IMAGE_PROTOCOL\r
-                instance. PackageList Handle of the package list\r
-                where this image will be added.\r
+  @param This        A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
 \r
-  @param ImageId  On return, contains the new image id, which is\r
-                  unique within PackageList.\r
+  @param PackageList Handle of the package list where this image will be added.\r
 \r
-  @param Image  Points to the image.\r
+  @param ImageId     On return, contains the new image id, which is\r
+                     unique within PackageList.\r
+\r
+  @param Image       Points to the image.\r
 \r
   @retval EFI_SUCCESS             The new image was added\r
                                   successfully\r
-  \r
+\r
   @retval EFI_OUT_OF_RESOURCES    Could not add the image.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER   Image is NULL or ImageId is\r
                                   NULL.\r
 \r
@@ -79,12 +76,12 @@ typedef struct _EFI_IMAGE_INPUT {
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_HII_NEW_IMAGE) (\r
+(EFIAPI *EFI_HII_NEW_IMAGE)(\r
   IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
   IN        EFI_HII_HANDLE          PackageList,\r
   OUT       EFI_IMAGE_ID            *ImageId,\r
   IN CONST  EFI_IMAGE_INPUT         *Image\r
-);\r
+  );\r
 \r
 /**\r
 \r
@@ -98,77 +95,72 @@ EFI_STATUS
   updated to the size of buffer actually required to hold the\r
   image.\r
 \r
-  @param This   A pointer to the EFI_HII_IMAGE_PROTOCOL\r
-                instance.\r
-  \r
+  @param This         A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
+\r
   @param PackageList  The package list in the HII database to\r
                       search for the specified image.\r
-  \r
-  @param ImageId  The image's id, which is unique within\r
-                  PackageList.\r
-  \r
-  @param Image  Points to the new image.\r
-  \r
-  @retval EFI_SUCCESS   The image was returned successfully.\r
-                                     The specified PackageList is not in the database.\r
-  @retval EFI_NOT_FOUND The image specified by ImageId is not\r
-                        available.\r
-  \r
-  @retval EFI_INVALID_PARAMETER The Image or Langugae was NULL.\r
+\r
+  @param ImageId      The image's id, which is unique within\r
+                      PackageList.\r
+\r
+  @param Image        Points to the new image.\r
+\r
+  @retval EFI_SUCCESS            The image was returned successfully.\r
+\r
+  @retval EFI_NOT_FOUND          The image specified by ImageId is not\r
+                                 available. Or The specified PackageList is not in the database.\r
+\r
+  @retval EFI_INVALID_PARAMETER  The Image or Langugae was NULL.\r
   @retval EFI_OUT_OF_RESOURCES   The bitmap could not be retrieved because there was not\r
-                         enough memory.\r
+                                 enough memory.\r
 \r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_HII_GET_IMAGE) (\r
+(EFIAPI *EFI_HII_GET_IMAGE)(\r
   IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
   IN        EFI_HII_HANDLE          PackageList,\r
   IN        EFI_IMAGE_ID            ImageId,\r
   OUT       EFI_IMAGE_INPUT         *Image\r
-);\r
+  );\r
 \r
 /**\r
-   \r
+\r
   This function updates the image specified by ImageId in the\r
   specified PackageListHandle to the image specified by Image.\r
 \r
 \r
-  @param This   A pointer to the EFI_HII_IMAGE_PROTOCOL\r
-                instance.\r
+  @param This         A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
 \r
   @param PackageList  The package list containing the images.\r
 \r
-  @param ImageId  The image id, which is unique within\r
-                  PackageList.\r
+  @param ImageId      The image id, which is unique within PackageList.\r
 \r
-  @param Image  Points to the image.\r
+  @param Image        Points to the image.\r
 \r
-  @retval EFI_SUCCESS The image was successfully updated.\r
-  \r
-  @retval EFI_NOT_FOUND   The image specified by ImageId is not\r
-                                        in the database.\r
-                                        The specified PackageList is not in the database. \r
-  \r
-  @retval EFI_INVALID_PARAMETER   The Image or Language was\r
-                                  NULL.\r
+  @retval EFI_SUCCESS           The image was successfully updated.\r
+\r
+  @retval EFI_NOT_FOUND         The image specified by ImageId is not in the database.\r
+                                The specified PackageList is not in the database.\r
+\r
+  @retval EFI_INVALID_PARAMETER The Image or Language was NULL.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_HII_SET_IMAGE) (\r
+(EFIAPI *EFI_HII_SET_IMAGE)(\r
   IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
   IN        EFI_HII_HANDLE          PackageList,\r
   IN        EFI_IMAGE_ID            ImageId,\r
   IN CONST  EFI_IMAGE_INPUT         *Image\r
-);\r
-\r
+  );\r
 \r
-//\r
-// EFI_HII_DRAW_FLAGS\r
-// \r
-typedef UINT32  EFI_HII_DRAW_FLAGS;\r
+///\r
+/// EFI_HII_DRAW_FLAGS describes how the image is to be drawn.\r
+/// These flags are defined as EFI_HII_DRAW_FLAG_***\r
+///\r
+typedef UINT32 EFI_HII_DRAW_FLAGS;\r
 \r
 #define EFI_HII_DRAW_FLAG_CLIP          0x00000001\r
 #define EFI_HII_DRAW_FLAG_TRANSPARENT   0x00000030\r
@@ -177,11 +169,10 @@ typedef UINT32  EFI_HII_DRAW_FLAGS;
 #define EFI_HII_DRAW_FLAG_FORCE_OPAQUE  0x00000020\r
 #define EFI_HII_DIRECT_TO_SCREEN        0x00000080\r
 \r
-\r
 /**\r
-   \r
+\r
   Definition of EFI_IMAGE_OUTPUT.\r
-   \r
+\r
   @param Width  Width of the output image.\r
 \r
   @param Height Height of the output image.\r
@@ -194,24 +185,23 @@ typedef UINT32  EFI_HII_DRAW_FLAGS;
 \r
 **/\r
 typedef struct _EFI_IMAGE_OUTPUT {\r
-  UINT16  Width;\r
-  UINT16  Height;\r
+  UINT16    Width;\r
+  UINT16    Height;\r
   union {\r
-    EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;\r
-    EFI_GRAPHICS_OUTPUT_PROTOCOL  *Screen;\r
+    EFI_GRAPHICS_OUTPUT_BLT_PIXEL    *Bitmap;\r
+    EFI_GRAPHICS_OUTPUT_PROTOCOL     *Screen;\r
   } Image;\r
 } EFI_IMAGE_OUTPUT;\r
 \r
-\r
 /**\r
-   \r
+\r
   This function renders an image to a bitmap or the screen using\r
   the specified color and options. It draws the image on an\r
   existing bitmap, allocates a new bitmap or uses the screen. The\r
   images can be clipped. If EFI_HII_DRAW_FLAG_CLIP is set, then\r
   all pixels drawn outside the bounding box specified by Width and\r
   Height are ignored. If EFI_HII_DRAW_FLAG_TRANSPARENT is set,\r
-  then all ????off???? pixels in the images drawn will use the\r
+  then all 'off' pixels in the images drawn will use the\r
   pixel value from Blt. This flag cannot be used if Blt is NULL\r
   upon entry. If EFI_HII_DIRECT_TO_SCREEN is set, then the image\r
   will be written directly to the output device specified by\r
@@ -219,29 +209,28 @@ typedef struct _EFI_IMAGE_OUTPUT {
   specified by Bitmap.\r
 \r
 \r
-  @param This   A pointer to the EFI_HII_IMAGE_PROTOCOL\r
-                instance.\r
-  \r
-  @param Flags  Describes how the image is to be drawn.\r
-                EFI_HII_DRAW_FLAGS is defined in Related\r
-                Definitions, below.\r
-  \r
-  @param Image  Points to the image to be displayed. \r
-  \r
-  @param Blt  If this points to a non-NULL on entry, this points\r
-              to the image, which is Width pixels wide and\r
-              Height pixels high. The image will be drawn onto\r
-              this image and EFI_HII_DRAW_FLAG_CLIP is implied.\r
-              If this points to a NULL on entry, then a buffer\r
-              will be allocated to hold the generated image and\r
-              the pointer updated on exit. It is the caller????s\r
-              responsibility to free this buffer.\r
+  @param This       A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
 \r
-  @param BltX, BltY   Specifies the offset from the left and top\r
-                      edge of the image of the first pixel in\r
-                      the image.\r
+  @param Flags      Describes how the image is to be drawn.\r
+                    EFI_HII_DRAW_FLAGS is defined in Related\r
+                    Definitions, below.\r
+\r
+  @param Image      Points to the image to be displayed.\r
+\r
+  @param Blt        If this points to a non-NULL on entry, this points\r
+                    to the image, which is Width pixels wide and\r
+                    Height pixels high. The image will be drawn onto\r
+                    this image and EFI_HII_DRAW_FLAG_CLIP is implied.\r
+                    If this points to a NULL on entry, then a buffer\r
+                    will be allocated to hold the generated image and\r
+                    the pointer updated on exit. It is the caller's\r
+                    responsibility to free this buffer.\r
 \r
-  @retval EFI_SUCCESS   The image was successfully updated.\r
+  @param BltX, BltY Specifies the offset from the left and top\r
+                    edge of the image of the first pixel in\r
+                    the image.\r
+\r
+  @retval EFI_SUCCESS           The image was successfully updated.\r
 \r
   @retval EFI_OUT_OF_RESOURCES  Unable to allocate an output\r
                                 buffer for RowInfoArray or Blt.\r
@@ -253,17 +242,17 @@ typedef struct _EFI_IMAGE_OUTPUT {
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_HII_DRAW_IMAGE) (\r
+(EFIAPI *EFI_HII_DRAW_IMAGE)(\r
   IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
   IN        EFI_HII_DRAW_FLAGS      Flags,\r
   IN CONST  EFI_IMAGE_INPUT         *Image,\r
   IN OUT    EFI_IMAGE_OUTPUT        **Blt,\r
   IN        UINTN                   BltX,\r
   IN        UINTN                   BltY\r
-);\r
+  );\r
 \r
 /**\r
-   \r
+\r
   This function renders an image as a bitmap or to the screen and\r
   can clip the image. The bitmap is either supplied by the caller\r
   or else is allocated by the function. The images can be drawn\r
@@ -284,91 +273,74 @@ EFI_STATUS
   Height are ignored. The EFI_HII_DRAW_FLAG_TRANSPARENT flag\r
   determines whether the image will be drawn transparent or\r
   opaque. If EFI_HII_DRAW_FLAG_FORCE_TRANS is set, then the image\r
-  will be drawn so that all ????off???? pixels in the image will\r
+  will be drawn so that all 'off' pixels in the image will\r
   be drawn using the pixel value from Blt and all other pixels\r
   will be copied. If EFI_HII_DRAW_FLAG_FORCE_OPAQUE is set, then\r
-  the image????s pixels will be copied directly to the\r
+  the image's pixels will be copied directly to the\r
   destination. If EFI_HII_DRAW_FLAG_DEFAULT is set, then the image\r
   will be drawn transparently or opaque, depending on the\r
-  image????s transparency setting (see EFI_IMAGE_TRANSPARENT).\r
+  image's transparency setting (see EFI_IMAGE_TRANSPARENT).\r
   Images cannot be drawn transparently if Blt is NULL. If\r
   EFI_HII_DIRECT_TO_SCREEN is set, then the image will be written\r
   directly to the output device specified by Screen. Otherwise the\r
   image will be rendered to the bitmap specified by Bitmap.\r
 \r
-  @param This   A pointer to the EFI_HII_IMAGE_PROTOCOL\r
-                instance.\r
+  @param This         A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
 \r
-  @param Flags  Describes how the image is to be drawn.\r
+  @param Flags        Describes how the image is to be drawn.\r
 \r
   @param PackageList  The package list in the HII database to\r
                       search for the specified image.\r
 \r
-  @param ImageId  The image's id, which is unique within\r
-                  PackageList.\r
+  @param ImageId      The image's id, which is unique within PackageList.\r
 \r
-  @param Blt  If this points to a non-NULL on entry, this points\r
-              to the image, which is Width pixels wide and\r
-              Height pixels high. The image will be drawn onto\r
-              this image and EFI_HII_DRAW_FLAG_CLIP is implied.\r
-              If this points to a NULL on entry, then a buffer\r
-              will be allocated to hold the generated image and\r
-              the pointer updated on exit. It is the caller's\r
-              responsibility to free this buffer.\r
+  @param Blt          If this points to a non-NULL on entry, this points\r
+                      to the image, which is Width pixels wide and\r
+                      Height pixels high. The image will be drawn onto\r
+                      this image and EFI_HII_DRAW_FLAG_CLIP is implied.\r
+                      If this points to a NULL on entry, then a buffer\r
+                      will be allocated to hold the generated image and\r
+                      the pointer updated on exit. It is the caller's\r
+                      responsibility to free this buffer.\r
 \r
   @param BltX, BltY   Specifies the offset from the left and top\r
                       edge of the output image of the first\r
                       pixel in the image.\r
 \r
-  @retval EFI_SUCCESS   The image was successfully updated.\r
-  \r
+  @retval EFI_SUCCESS           The image was successfully updated.\r
+\r
   @retval EFI_OUT_OF_RESOURCES  Unable to allocate an output\r
                                 buffer for RowInfoArray or Blt.\r
-  \r
-  @retval EFI_NOT_FOUND  The image specified by ImageId is not in the database. \r
-                                        The specified PackageList is not in the database.                            \r
-  @retval EFI_INVALID_PARAMETER  The Blt was NULL.    \r
+\r
+  @retval EFI_NOT_FOUND         The image specified by ImageId is not in the database.\r
+                                Or The specified PackageList is not in the database.\r
+\r
+  @retval EFI_INVALID_PARAMETER The Blt was NULL.\r
 \r
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_HII_DRAW_IMAGE_ID) (\r
-IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
-IN        EFI_HII_DRAW_FLAGS      Flags,\r
-IN        EFI_HII_HANDLE          PackageList,\r
-IN        EFI_IMAGE_ID            ImageId,\r
-IN OUT    EFI_IMAGE_OUTPUT        **Blt,\r
-IN        UINTN                   BltX,\r
-IN        UINTN                   BltY\r
-);\r
-\r
-\r
-/**\r
-  \r
-  services to access to images in the images database.\r
-\r
-  @param NewImage   Add a new image.\r
-\r
-  @param GetImage   Retrieve an image and related font\r
-                    information.\r
-\r
-  @param SetImage   Change an image. EFI_INVALID_LANGUAGE The\r
-                    language specified by FirstLanguage is not\r
-                    present in the specified package list.\r
-                    EFI_INVALID_PARAMETER FirstLanguage is NULL\r
-                    or SecondLanguage is NULL.\r
+(EFIAPI *EFI_HII_DRAW_IMAGE_ID)(\r
+  IN CONST  EFI_HII_IMAGE_PROTOCOL  *This,\r
+  IN        EFI_HII_DRAW_FLAGS      Flags,\r
+  IN        EFI_HII_HANDLE          PackageList,\r
+  IN        EFI_IMAGE_ID            ImageId,\r
+  IN OUT    EFI_IMAGE_OUTPUT        **Blt,\r
+  IN        UINTN                   BltX,\r
+  IN        UINTN                   BltY\r
+  );\r
 \r
-**/\r
+///\r
+/// Services to access to images in the images database.\r
+///\r
 struct _EFI_HII_IMAGE_PROTOCOL {\r
-  EFI_HII_NEW_IMAGE     NewImage;\r
-  EFI_HII_GET_IMAGE     GetImage;\r
-  EFI_HII_SET_IMAGE     SetImage;\r
-  EFI_HII_DRAW_IMAGE    DrawImage;\r
-  EFI_HII_DRAW_IMAGE_ID DrawImageId;\r
+  EFI_HII_NEW_IMAGE        NewImage;\r
+  EFI_HII_GET_IMAGE        GetImage;\r
+  EFI_HII_SET_IMAGE        SetImage;\r
+  EFI_HII_DRAW_IMAGE       DrawImage;\r
+  EFI_HII_DRAW_IMAGE_ID    DrawImageId;\r
 };\r
 \r
-extern EFI_GUID gEfiHiiImageProtocolGuid;\r
+extern EFI_GUID  gEfiHiiImageProtocolGuid;\r
 \r
 #endif\r
-\r
-\r