1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:
1.1) Bug fixes. (For details, please check Documents & files: Snapshot/Release Notes at https://edk.tianocore.org/servlets/ProjectDocumentList?folderID=43&expandFolder=43&folderID=6) 1.2) Add new UEFI protocol definitions for AbsolutePointer, FormBrowser2, HiiConfigAccess, HiiConfigRouting, HiiDatabase, HiiFont, HiiImage, HiiString, SimpleTextInputEx, DPC protocol. 1.3) Add Smbios 2.5, 2.6 supports. Incompatible changes hilighted: 1) EFI_MANAGED_NETWORK_PROTOCOL_GUID changed. 2) EFI_IP4_IPCONFIG_DATA changed. 2) Add in EdkCompatibilityPkg/EdkCompatibilityPkg.dsc to build all libraries in this package. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4622 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
254
EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
Normal file
254
EdkCompatibilityPkg/Foundation/Efi/Protocol/HiiImage/HiiImage.h
Normal file
@@ -0,0 +1,254 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which 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.
|
||||
|
||||
Module Name:
|
||||
|
||||
HiiImage.h
|
||||
|
||||
Abstract:
|
||||
|
||||
EFI_HII_IMAGE_PROTOCOL from UEFI 2.1 specification.
|
||||
|
||||
This protocol provides access to images in the images database.
|
||||
|
||||
Revision History
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EFI_HII_IMAGE_PROTOCOL_H__
|
||||
#define __EFI_HII_IMAGE_PROTOCOL_H__
|
||||
|
||||
#include "EfiHii.h"
|
||||
#include EFI_PROTOCOL_DEFINITION (GraphicsOutput)
|
||||
|
||||
//
|
||||
// Global ID for the Hii Image Protocol.
|
||||
//
|
||||
#define EFI_HII_IMAGE_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x31a6406a, 0x6bdf, 0x4e46, 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 \
|
||||
}
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_HII_IMAGE_PROTOCOL);
|
||||
|
||||
typedef UINT32 EFI_HII_DRAW_FLAGS;
|
||||
|
||||
typedef struct _EFI_IMAGE_INPUT {
|
||||
UINT32 Flags;
|
||||
UINT16 Width;
|
||||
UINT16 Height;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Bitmap[1];
|
||||
} EFI_IMAGE_INPUT;
|
||||
|
||||
#define EFI_IMAGE_TRANSPARENT 0x00000001
|
||||
|
||||
typedef struct _EFI_IMAGE_OUTPUT {
|
||||
UINT16 Width;
|
||||
UINT16 Height;
|
||||
union {
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
|
||||
EFI_GRAPHICS_OUTPUT_PROTOCOL *Screen;
|
||||
} Image;
|
||||
} EFI_IMAGE_OUTPUT;
|
||||
|
||||
#define EFI_HII_DRAW_FLAG_CLIP 0x00000001
|
||||
#define EFI_HII_DRAW_FLAG_TRANSPARENT 0x00000030
|
||||
#define EFI_HII_DRAW_FLAG_DEFAULT 0x00000000
|
||||
#define EFI_HII_DRAW_FLAG_FORCE_TRANS 0x00000010
|
||||
#define EFI_HII_DRAW_FLAG_FORCE_OPAQUE 0x00000020
|
||||
#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_HII_NEW_IMAGE) (
|
||||
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
OUT EFI_IMAGE_ID *ImageId,
|
||||
IN CONST EFI_IMAGE_INPUT *Image
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function adds the image Image to the group of images owned by PackageList, and returns
|
||||
a new image identifier (ImageId).
|
||||
|
||||
Arguments:
|
||||
This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
|
||||
PackageList - Handle of the package list where this image will be added.
|
||||
ImageId - On return, contains the new image id, which is unique within PackageList.
|
||||
Image - Points to the image.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The new image was added successfully.
|
||||
EFI_NOT_FOUND - The specified PackageList could not be found in database.
|
||||
EFI_OUT_OF_RESOURCES - Could not add the image due to lack of resources.
|
||||
EFI_INVALID_PARAMETER - Image is NULL or ImageId is NULL.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_HII_GET_IMAGE) (
|
||||
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
IN EFI_IMAGE_ID ImageId,
|
||||
OUT EFI_IMAGE_INPUT *Image,
|
||||
OUT UINTN *ImageSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function retrieves the image specified by ImageId which is associated with
|
||||
the specified PackageList and copies it into the buffer specified by Image.
|
||||
|
||||
Arguments:
|
||||
This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
|
||||
PackageList - Handle of the package list where this image will be searched.
|
||||
ImageId - The image<67><65>s id,, which is unique within PackageList.
|
||||
Image - Points to the image.
|
||||
ImageSize - On entry, points to the size of the buffer pointed to by Image, in bytes. On return,
|
||||
points to the length of the image, in bytes.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The new image was returned successfully.
|
||||
EFI_NOT_FOUND - The image specified by ImageId is not available.
|
||||
EFI_BUFFER_TOO_SMALL - The buffer specified by ImageSize is too small to hold the image.
|
||||
EFI_INVALID_PARAMETER - The Image or ImageSize was NULL.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_HII_SET_IMAGE) (
|
||||
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
IN EFI_IMAGE_ID ImageId,
|
||||
IN CONST EFI_IMAGE_INPUT *Image
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function updates the image specified by ImageId in the specified PackageListHandle to
|
||||
the image specified by Image.
|
||||
|
||||
Arguments:
|
||||
This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
|
||||
PackageList - The package list containing the images.
|
||||
ImageId - The image<67><65>s id,, which is unique within PackageList.
|
||||
Image - Points to the image.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The new image was updated successfully.
|
||||
EFI_NOT_FOUND - The image specified by ImageId is not in the database.
|
||||
EFI_INVALID_PARAMETER - The Image was NULL.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_HII_DRAW_IMAGE) (
|
||||
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HII_DRAW_FLAGS Flags,
|
||||
IN CONST EFI_IMAGE_INPUT *Image,
|
||||
IN OUT EFI_IMAGE_OUTPUT **Blt,
|
||||
IN UINTN BltX,
|
||||
IN UINTN BltY
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function renders an image to a bitmap or the screen using the specified
|
||||
color and options. It draws the image on an existing bitmap, allocates a new
|
||||
bitmap or uses the screen. The images can be clipped.
|
||||
|
||||
Arguments:
|
||||
This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
|
||||
Flags - Describes how the image is to be drawn.
|
||||
Image - Points to the image to be displayed.
|
||||
Blt - If this points to a non-NULL on entry, this points to the
|
||||
image, which is Width pixels wide and Height pixels high.
|
||||
The image will be drawn onto this image and
|
||||
EFI_HII_DRAW_FLAG_CLIP is implied. If this points to a
|
||||
NULL on entry, then a buffer will be allocated to hold
|
||||
the generated image and the pointer updated on exit. It
|
||||
is the caller<65><72>s responsibility to free this buffer.
|
||||
BltX, BltY - Specifies the offset from the left and top edge of the
|
||||
output image of the first pixel in the image.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The image was successfully drawn.
|
||||
EFI_OUT_OF_RESOURCES - Unable to allocate an output buffer for Blt.
|
||||
EFI_INVALID_PARAMETER - The Image or Blt was NULL.
|
||||
EFI_INVALID_PARAMETER - Any combination of Flags is invalid.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_HII_DRAW_IMAGE_ID) (
|
||||
IN CONST EFI_HII_IMAGE_PROTOCOL *This,
|
||||
IN EFI_HII_DRAW_FLAGS Flags,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
IN EFI_IMAGE_ID ImageId,
|
||||
IN OUT EFI_IMAGE_OUTPUT **Blt,
|
||||
IN UINTN BltX,
|
||||
IN UINTN BltY
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function renders an image to a bitmap or the screen using the specified
|
||||
color and options. It draws the image on an existing bitmap, allocates a new
|
||||
bitmap or uses the screen. The images can be clipped.
|
||||
|
||||
Arguments:
|
||||
This - A pointer to the EFI_HII_IMAGE_PROTOCOL instance.
|
||||
Flags - Describes how the image is to be drawn.
|
||||
PackageList - The package list in the HII database to search for the
|
||||
specified image.
|
||||
ImageId - The image's id, which is unique within PackageList.
|
||||
Blt - If this points to a non-NULL on entry, this points to the
|
||||
image, which is Width pixels wide and Height pixels high.
|
||||
The image will be drawn onto this image and
|
||||
EFI_HII_DRAW_FLAG_CLIP is implied. If this points to a
|
||||
NULL on entry, then a buffer will be allocated to hold
|
||||
the generated image and the pointer updated on exit. It
|
||||
is the caller<65><72>s responsibility to free this buffer.
|
||||
BltX, BltY - Specifies the offset from the left and top edge of the
|
||||
output image of the first pixel in the image.
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The image was successfully drawn.
|
||||
EFI_OUT_OF_RESOURCES - Unable to allocate an output buffer for Blt.
|
||||
EFI_INVALID_PARAMETER - The Image was NULL.
|
||||
|
||||
--*/
|
||||
;
|
||||
|
||||
//
|
||||
// Interface structure for the EFI_HII_IMAGE_PROTOCOL
|
||||
//
|
||||
typedef struct _EFI_HII_IMAGE_PROTOCOL {
|
||||
EFI_HII_NEW_IMAGE NewImage;
|
||||
EFI_HII_GET_IMAGE GetImage;
|
||||
EFI_HII_SET_IMAGE SetImage;
|
||||
EFI_HII_DRAW_IMAGE DrawImage;
|
||||
EFI_HII_DRAW_IMAGE_ID DrawImageId;
|
||||
} EFI_HII_IMAGE_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiHiiImageProtocolGuid;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user