]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
Add a work around Dummy.c file to avoid autogen error to GCC tool chain family.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / HiiImage / HiiImage.h
CommitLineData
2c40a813 1/*++\r
2\r
3Copyright (c) 2007, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 HiiImage.h\r
15 \r
16Abstract:\r
17\r
18 EFI_HII_IMAGE_PROTOCOL from UEFI 2.1 specification.\r
19 \r
20 This protocol provides access to images in the images database.\r
21\r
22Revision History\r
23\r
24--*/\r
25\r
26#ifndef __EFI_HII_IMAGE_PROTOCOL_H__\r
27#define __EFI_HII_IMAGE_PROTOCOL_H__\r
28\r
29#include "EfiHii.h"\r
30#include EFI_PROTOCOL_DEFINITION (GraphicsOutput) \r
31\r
32//\r
33// Global ID for the Hii Image Protocol.\r
34//\r
35#define EFI_HII_IMAGE_PROTOCOL_GUID \\r
36 { \\r
37 0x31a6406a, 0x6bdf, 0x4e46, 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 \\r
38 }\r
39\r
40EFI_FORWARD_DECLARATION (EFI_HII_IMAGE_PROTOCOL);\r
41\r
42typedef UINT32 EFI_HII_DRAW_FLAGS;\r
43\r
44typedef struct _EFI_IMAGE_INPUT {\r
45 UINT32 Flags; \r
46 UINT16 Width;\r
47 UINT16 Height;\r
48 EFI_GRAPHICS_OUTPUT_BLT_PIXEL Bitmap[1];\r
49} EFI_IMAGE_INPUT;\r
50\r
51#define EFI_IMAGE_TRANSPARENT 0x00000001\r
52\r
53typedef struct _EFI_IMAGE_OUTPUT {\r
54 UINT16 Width;\r
55 UINT16 Height;\r
56 union {\r
57 EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;\r
58 EFI_GRAPHICS_OUTPUT_PROTOCOL *Screen;\r
59 } Image;\r
60} EFI_IMAGE_OUTPUT;\r
61\r
62#define EFI_HII_DRAW_FLAG_CLIP 0x00000001\r
63#define EFI_HII_DRAW_FLAG_TRANSPARENT 0x00000030\r
64#define EFI_HII_DRAW_FLAG_DEFAULT 0x00000000\r
65#define EFI_HII_DRAW_FLAG_FORCE_TRANS 0x00000010\r
66#define EFI_HII_DRAW_FLAG_FORCE_OPAQUE 0x00000020\r
67#define EFI_HII_DIRECT_TO_SCREEN 0x00000080\r
68\r
69typedef\r
70EFI_STATUS\r
71(EFIAPI *EFI_HII_NEW_IMAGE) (\r
72 IN CONST EFI_HII_IMAGE_PROTOCOL *This,\r
73 IN EFI_HII_HANDLE PackageList,\r
74 OUT EFI_IMAGE_ID *ImageId,\r
75 IN CONST EFI_IMAGE_INPUT *Image\r
76 )\r
77/*++\r
78\r
79 Routine Description:\r
80 This function adds the image Image to the group of images owned by PackageList, and returns\r
81 a new image identifier (ImageId). \r
82 \r
83 Arguments: \r
84 This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
85 PackageList - Handle of the package list where this image will be added. \r
86 ImageId - On return, contains the new image id, which is unique within PackageList.\r
87 Image - Points to the image.\r
88 \r
89 Returns:\r
90 EFI_SUCCESS - The new image was added successfully.\r
91 EFI_NOT_FOUND - The specified PackageList could not be found in database.\r
92 EFI_OUT_OF_RESOURCES - Could not add the image due to lack of resources.\r
93 EFI_INVALID_PARAMETER - Image is NULL or ImageId is NULL. \r
94 \r
95--*/ \r
96;\r
97\r
98typedef\r
99EFI_STATUS\r
100(EFIAPI *EFI_HII_GET_IMAGE) (\r
101 IN CONST EFI_HII_IMAGE_PROTOCOL *This,\r
102 IN EFI_HII_HANDLE PackageList,\r
103 IN EFI_IMAGE_ID ImageId,\r
104 OUT EFI_IMAGE_INPUT *Image,\r
105 OUT UINTN *ImageSize\r
106 )\r
107/*++\r
108\r
109 Routine Description:\r
110 This function retrieves the image specified by ImageId which is associated with\r
111 the specified PackageList and copies it into the buffer specified by Image.\r
112 \r
113 Arguments: \r
114 This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.\r
115 PackageList - Handle of the package list where this image will be searched. \r
116