MdeModulePkg/HiiDatabase: Add HiiImageEx implementation.
According to UEFI spec, NewImageEx()/SetImageEx()/DrawImageEx() implicitly call the non-Ex version interface of HiiImage protocol. GetImageEx()/DrawImageIdEx() are the enhanced version of GetImage()/DrawImageId(), which can support decoding JPEG/PNG through the help of HiiImageDecoder protocol. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Liming Gao <liming.gao@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
@@ -39,11 +39,19 @@ HII_DATABASE_PRIVATE_DATA mPrivate = {
|
||||
HiiGetFontInfo
|
||||
},
|
||||
{
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
HiiNewImage,
|
||||
HiiGetImage,
|
||||
HiiSetImage,
|
||||
HiiDrawImage,
|
||||
HiiDrawImageId
|
||||
},
|
||||
{
|
||||
HiiNewImageEx,
|
||||
HiiGetImageEx,
|
||||
HiiSetImageEx,
|
||||
HiiDrawImageEx,
|
||||
HiiDrawImageIdEx,
|
||||
HiiGetImageInfo
|
||||
},
|
||||
{
|
||||
HiiNewString,
|
||||
@@ -96,14 +104,6 @@ HII_DATABASE_PRIVATE_DATA mPrivate = {
|
||||
NULL
|
||||
};
|
||||
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_HII_IMAGE_PROTOCOL mImageProtocol = {
|
||||
HiiNewImage,
|
||||
HiiGetImage,
|
||||
HiiSetImage,
|
||||
HiiDrawImage,
|
||||
HiiDrawImageId
|
||||
};
|
||||
|
||||
/**
|
||||
The default event handler for gHiiKeyboardLayoutChanged
|
||||
event group.
|
||||
@@ -230,12 +230,10 @@ InitializeHiiDatabase (
|
||||
}
|
||||
|
||||
if (FeaturePcdGet (PcdSupportHiiImageProtocol)) {
|
||||
CopyMem (&mPrivate.HiiImage, &mImageProtocol, sizeof (mImageProtocol));
|
||||
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&Handle,
|
||||
&gEfiHiiImageProtocolGuid,
|
||||
&mPrivate.HiiImage,
|
||||
&gEfiHiiImageProtocolGuid, &mPrivate.HiiImage,
|
||||
&gEfiHiiImageExProtocolGuid, &mPrivate.HiiImageEx,
|
||||
NULL
|
||||
);
|
||||
|
||||
|
Reference in New Issue
Block a user