mirror of https://github.com/acidanthera/audk.git
Clean up HiiDatabase for Doxygen comments requirement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5467 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
3afce7336e
commit
e90b081afa
|
@ -25,19 +25,20 @@ Revision History
|
|||
|
||||
#include "HiiDatabase.h"
|
||||
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
/**
|
||||
Calculate the number of Unicode characters of the incoming Configuration string,
|
||||
not including NULL terminator.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param String String in <MultiConfigRequest> or
|
||||
<MultiConfigResp> format.
|
||||
|
||||
@return The number of Unicode characters.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
UINTN
|
||||
CalculateConfigStringLen (
|
||||
IN EFI_STRING String
|
||||
|
@ -71,6 +72,8 @@ CalculateConfigStringLen (
|
|||
Convert the hex UNICODE %02x encoding of a UEFI device path to binary
|
||||
from <PathHdr> of <ConfigHdr>.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param String UEFI configuration string
|
||||
@param DevicePath binary of a UEFI device path.
|
||||
|
||||
|
@ -80,7 +83,6 @@ CalculateConfigStringLen (
|
|||
binary format.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetDevicePath (
|
||||
IN EFI_STRING String,
|
||||
|
@ -143,6 +145,8 @@ GetDevicePath (
|
|||
/**
|
||||
Extract Storage from all Form Packages in current hii database.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param HiiDatabase EFI_HII_DATABASE_PROTOCOL instance.
|
||||
@param StorageListHead Storage link List head.
|
||||
|
||||
|
@ -151,7 +155,6 @@ GetDevicePath (
|
|||
@retval EFI_SUCCESS All existing storage is exported.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportAllStorage (
|
||||
IN EFI_HII_DATABASE_PROTOCOL *HiiDatabase,
|
||||
|
@ -316,6 +319,8 @@ ExportAllStorage (
|
|||
/**
|
||||
Generate a sub string then output it.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param String A constant string which is the prefix of the to be
|
||||
generated string, e.g. GUID=
|
||||
@param BufferLen The length of the Buffer in bytes.
|
||||
|
@ -329,7 +334,6 @@ ExportAllStorage (
|
|||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
GenerateSubStr (
|
||||
IN CONST EFI_STRING String,
|
||||
|
@ -390,6 +394,8 @@ GenerateSubStr (
|
|||
/**
|
||||
Retrieve the <ConfigBody> from String then output it.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param String A sub string of a configuration string in
|
||||
<MultiConfigAltResp> format.
|
||||
@param ConfigBody Points to the output string. It's caller's
|
||||
|
@ -400,7 +406,6 @@ GenerateSubStr (
|
|||
@retval EFI_SUCCESS All existing storage is exported.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
OutputConfigBody (
|
||||
IN EFI_STRING String,
|
||||
|
@ -444,36 +449,33 @@ OutputConfigBody (
|
|||
|
||||
#endif
|
||||
|
||||
/**
|
||||
Adjusts the size of a previously allocated buffer.
|
||||
|
||||
|
||||
@param OldPool A pointer to the buffer whose size is being adjusted.
|
||||
@param OldSize The size of the current buffer.
|
||||
@param NewSize The size of the new buffer.
|
||||
|
||||
@return The new buffer allocated.
|
||||
|
||||
**/
|
||||
VOID *
|
||||
ReallocatePool (
|
||||
IN VOID *OldPool,
|
||||
IN UINTN OldSize,
|
||||
IN UINTN NewSize
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Adjusts the size of a previously allocated buffer.
|
||||
|
||||
Arguments:
|
||||
OldPool - A pointer to the buffer whose size is being adjusted.
|
||||
OldSize - The size of the current buffer.
|
||||
NewSize - The size of the new buffer.
|
||||
|
||||
Returns:
|
||||
Points to the new buffer
|
||||
|
||||
--*/
|
||||
{
|
||||
VOID *NewPool;
|
||||
|
||||
NewPool = NULL;
|
||||
if (NewSize) {
|
||||
if (NewSize != 0) {
|
||||
NewPool = AllocateZeroPool (NewSize);
|
||||
}
|
||||
|
||||
if (OldPool) {
|
||||
if (NewPool) {
|
||||
if (OldPool != NULL) {
|
||||
if (NewPool != NULL) {
|
||||
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);
|
||||
}
|
||||
|
||||
|
@ -487,6 +489,8 @@ Returns:
|
|||
/**
|
||||
Append a string to a multi-string format.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param MultiString String in <MultiConfigRequest>,
|
||||
<MultiConfigAltResp>, or <MultiConfigResp>. On
|
||||
input, the buffer length of this string is
|
||||
|
@ -498,7 +502,6 @@ Returns:
|
|||
@retval EFI_SUCCESS AppendString is append to the end of MultiString
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
AppendToMultiString (
|
||||
IN OUT EFI_STRING *MultiString,
|
||||
|
@ -541,6 +544,8 @@ AppendToMultiString (
|
|||
or WIDTH or VALUE.
|
||||
<BlockConfig> ::= 'OFFSET='<Number>&'WIDTH='<Number>&'VALUE'=<Number>
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param StringPtr String in <BlockConfig> format and points to the
|
||||
first character of <Number>.
|
||||
@param Number The output value. Caller takes the responsibility
|
||||
|
@ -553,7 +558,6 @@ AppendToMultiString (
|
|||
successfully.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetValueOfNumber (
|
||||
IN EFI_STRING StringPtr,
|
||||
|
@ -656,7 +660,7 @@ HiiConfigRoutingExtractConfig (
|
|||
OUT EFI_STRING *Results
|
||||
)
|
||||
{
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
HII_DATABASE_PRIVATE_DATA *Private;
|
||||
EFI_STRING StringPtr;
|
||||
|
@ -858,7 +862,7 @@ HiiConfigRoutingExportConfig (
|
|||
OUT EFI_STRING *Results
|
||||
)
|
||||
{
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
EFI_STATUS Status;
|
||||
HII_DATABASE_PRIVATE_DATA *Private;
|
||||
|
@ -1085,7 +1089,7 @@ HiiConfigRoutingRouteConfig (
|
|||
OUT EFI_STRING *Progress
|
||||
)
|
||||
{
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
HII_DATABASE_PRIVATE_DATA *Private;
|
||||
EFI_STRING StringPtr;
|
||||
|
@ -1757,22 +1761,33 @@ HiiGetAltCfg (
|
|||
OUT EFI_STRING *AltCfgResp
|
||||
)
|
||||
{
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
EFI_STATUS Status;
|
||||
EFI_STRING StringPtr;
|
||||
EFI_STRING HdrStart = NULL;
|
||||
EFI_STRING HdrEnd = NULL;
|
||||
EFI_STRING HdrStart;
|
||||
EFI_STRING HdrEnd;
|
||||
EFI_STRING TmpPtr;
|
||||
UINTN Length;
|
||||
EFI_STRING GuidStr = NULL;
|
||||
EFI_STRING NameStr = NULL;
|
||||
EFI_STRING PathStr = NULL;
|
||||
EFI_STRING AltIdStr = NULL;
|
||||
EFI_STRING Result = NULL;
|
||||
BOOLEAN GuidFlag = FALSE;
|
||||
BOOLEAN NameFlag = FALSE;
|
||||
BOOLEAN PathFlag = FALSE;
|
||||
EFI_STRING GuidStr;
|
||||
EFI_STRING NameStr;
|
||||
EFI_STRING PathStr;
|
||||
EFI_STRING AltIdStr;
|
||||
EFI_STRING Result;
|
||||
BOOLEAN GuidFlag;
|
||||
BOOLEAN NameFlag;
|
||||
BOOLEAN PathFlag;
|
||||
|
||||
HdrStart = NULL;
|
||||
HdrEnd = NULL;
|
||||
GuidStr = NULL;
|
||||
NameStr = NULL;
|
||||
PathStr = NULL;
|
||||
AltIdStr = NULL;
|
||||
Result = NULL;
|
||||
GuidFlag = FALSE;
|
||||
NameFlag = FALSE;
|
||||
PathFlag = FALSE;
|
||||
|
||||
if (This == NULL || Configuration == NULL || AltCfgResp == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/** @file
|
||||
Implementation for EFI_HII_DATABASE_PROTOCOL.
|
||||
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -9,17 +11,6 @@ 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:
|
||||
|
||||
Database.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Implementation for EFI_HII_DATABASE_PROTOCOL.
|
||||
|
||||
Revision History
|
||||
|
||||
|
||||
**/
|
||||
|
||||
|
||||
|
@ -33,9 +24,10 @@ STATIC EFI_GUID mHiiDatabaseNotifyGuid = HII_DATABASE_NOTIFY_GUID;
|
|||
|
||||
/**
|
||||
This function generates a HII_DATABASE_RECORD node and adds into hii database.
|
||||
This is a internal function.
|
||||
|
||||
@param Private hii database private structure
|
||||
@param DatabaseRecord HII_DATABASE_RECORD node which is used to store a
|
||||
@param DatabaseNode HII_DATABASE_RECORD node which is used to store a
|
||||
package list
|
||||
|
||||
@retval EFI_SUCCESS A database record is generated successfully.
|
||||
|
@ -44,7 +36,6 @@ STATIC EFI_GUID mHiiDatabaseNotifyGuid = HII_DATABASE_NOTIFY_GUID;
|
|||
@retval EFI_INVALID_PARAMETER Private is NULL or DatabaseRecord is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GenerateHiiDatabaseRecord (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -118,6 +109,7 @@ GenerateHiiDatabaseRecord (
|
|||
|
||||
/**
|
||||
This function checks whether a handle is a valid EFI_HII_HANDLE
|
||||
This is a internal function.
|
||||
|
||||
@param Handle Pointer to a EFI_HII_HANDLE
|
||||
|
||||
|
@ -148,6 +140,7 @@ IsHiiHandleValid (
|
|||
|
||||
/**
|
||||
This function invokes the matching registered function.
|
||||
This is a internal function.
|
||||
|
||||
@param Private HII Database driver private structure.
|
||||
@param NotifyType The type of change concerning the database.
|
||||
|
@ -162,7 +155,6 @@ IsHiiHandleValid (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InvokeRegisteredFunction (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -357,6 +349,7 @@ InvokeRegisteredFunction (
|
|||
|
||||
/**
|
||||
This function insert a GUID package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param PackageHdr Pointer to a buffer stored with GUID package
|
||||
information.
|
||||
|
@ -371,7 +364,6 @@ InvokeRegisteredFunction (
|
|||
@retval EFI_INVALID_PARAMETER PackageHdr is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertGuidPackage (
|
||||
IN VOID *PackageHdr,
|
||||
|
@ -417,6 +409,7 @@ InsertGuidPackage (
|
|||
|
||||
/**
|
||||
This function exports GUID packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -431,7 +424,6 @@ InsertGuidPackage (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportGuidPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -485,6 +477,7 @@ ExportGuidPackages (
|
|||
|
||||
/**
|
||||
This function deletes all GUID packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -496,7 +489,6 @@ ExportGuidPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveGuidPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -542,6 +534,7 @@ RemoveGuidPackages (
|
|||
|
||||
/**
|
||||
This function insert a Form package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param PackageHdr Pointer to a buffer stored with Form package
|
||||
information.
|
||||
|
@ -556,7 +549,6 @@ RemoveGuidPackages (
|
|||
@retval EFI_INVALID_PARAMETER PackageHdr is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertFormPackage (
|
||||
IN VOID *PackageHdr,
|
||||
|
@ -618,6 +610,7 @@ InsertFormPackage (
|
|||
|
||||
/**
|
||||
This function exports Form packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -632,7 +625,6 @@ InsertFormPackage (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportFormPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -701,6 +693,7 @@ ExportFormPackages (
|
|||
|
||||
/**
|
||||
This function deletes all Form packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -712,7 +705,6 @@ ExportFormPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveFormPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -758,6 +750,7 @@ RemoveFormPackages (
|
|||
|
||||
/**
|
||||
This function insert a String package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param PackageHdr Pointer to a buffer stored with String package
|
||||
|
@ -775,7 +768,6 @@ RemoveFormPackages (
|
|||
exists in current package list.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertStringPackage (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -894,6 +886,7 @@ Error:
|
|||
|
||||
/**
|
||||
This function exports String packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -908,7 +901,6 @@ Error:
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportStringPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -976,6 +968,7 @@ ExportStringPackages (
|
|||
|
||||
/**
|
||||
This function deletes all String packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -987,7 +980,6 @@ ExportStringPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveStringPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1047,6 +1039,7 @@ RemoveStringPackages (
|
|||
|
||||
/**
|
||||
This function insert a Font package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param PackageHdr Pointer to a buffer stored with Font package
|
||||
|
@ -1064,7 +1057,6 @@ RemoveStringPackages (
|
|||
exists in current hii database.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertFontPackage (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1190,6 +1182,7 @@ Error:
|
|||
|
||||
/**
|
||||
This function exports Font packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -1204,7 +1197,6 @@ Error:
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportFontPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1273,6 +1265,7 @@ ExportFontPackages (
|
|||
|
||||
/**
|
||||
This function deletes all Font packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -1284,7 +1277,6 @@ ExportFontPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveFontPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1359,6 +1351,7 @@ RemoveFontPackages (
|
|||
|
||||
/**
|
||||
This function insert a Image package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param PackageHdr Pointer to a buffer stored with Image package
|
||||
information.
|
||||
|
@ -1373,7 +1366,6 @@ RemoveFontPackages (
|
|||
@retval EFI_INVALID_PARAMETER PackageHdr is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertImagePackage (
|
||||
IN VOID *PackageHdr,
|
||||
|
@ -1484,6 +1476,7 @@ InsertImagePackage (
|
|||
|
||||
/**
|
||||
This function exports Image packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -1498,7 +1491,6 @@ InsertImagePackage (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportImagePackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1575,6 +1567,7 @@ ExportImagePackages (
|
|||
|
||||
/**
|
||||
This function deletes Image package from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -1586,7 +1579,6 @@ ExportImagePackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveImagePackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1631,6 +1623,7 @@ RemoveImagePackages (
|
|||
|
||||
/**
|
||||
This function insert a Simple Font package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param PackageHdr Pointer to a buffer stored with Simple Font
|
||||
package information.
|
||||
|
@ -1645,7 +1638,6 @@ RemoveImagePackages (
|
|||
@retval EFI_INVALID_PARAMETER PackageHdr is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertSimpleFontPackage (
|
||||
IN VOID *PackageHdr,
|
||||
|
@ -1707,6 +1699,7 @@ Error:
|
|||
|
||||
/**
|
||||
This function exports SimpleFont packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -1721,7 +1714,6 @@ Error:
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportSimpleFontPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1780,6 +1772,7 @@ ExportSimpleFontPackages (
|
|||
|
||||
/**
|
||||
This function deletes all Simple Font packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -1791,7 +1784,6 @@ ExportSimpleFontPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveSimpleFontPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1835,6 +1827,7 @@ RemoveSimpleFontPackages (
|
|||
|
||||
/**
|
||||
This function insert a Device path package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param DevicePath Pointer to a EFI_DEVICE_PATH_PROTOCOL protocol
|
||||
instance
|
||||
|
@ -1848,7 +1841,6 @@ RemoveSimpleFontPackages (
|
|||
@retval EFI_INVALID_PARAMETER DevicePath is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertDevicePathPackage (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
|
@ -1895,6 +1887,7 @@ InsertDevicePathPackage (
|
|||
|
||||
/**
|
||||
This function exports device path package to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -1909,7 +1902,6 @@ InsertDevicePathPackage (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportDevicePathPackage (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1966,6 +1958,7 @@ ExportDevicePathPackage (
|
|||
|
||||
/**
|
||||
This function deletes Device Path package from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list.
|
||||
|
@ -1976,7 +1969,6 @@ ExportDevicePathPackage (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveDevicePathPackage (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -2022,6 +2014,7 @@ RemoveDevicePathPackage (
|
|||
/**
|
||||
This function will insert a device path package to package list firstly then
|
||||
invoke notification functions if any.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param NotifyType The type of change concerning the database.
|
||||
|
@ -2036,7 +2029,6 @@ RemoveDevicePathPackage (
|
|||
@retval EFI_INVALID_PARAMETER DevicePath is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
AddDevicePathPackage (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -2078,6 +2070,7 @@ AddDevicePathPackage (
|
|||
|
||||
/**
|
||||
This function insert a Keyboard Layout package to a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param PackageHdr Pointer to a buffer stored with Keyboard Layout
|
||||
package information.
|
||||
|
@ -2092,7 +2085,6 @@ AddDevicePathPackage (
|
|||
@retval EFI_INVALID_PARAMETER PackageHdr is NULL or PackageList is NULL.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
InsertKeyboardLayoutPackage (
|
||||
IN VOID *PackageHdr,
|
||||
|
@ -2149,6 +2141,7 @@ Error:
|
|||
|
||||
/**
|
||||
This function exports Keyboard Layout packages to a buffer.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
|
@ -2164,7 +2157,6 @@ Error:
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportKeyboardLayoutPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -2225,6 +2217,7 @@ ExportKeyboardLayoutPackages (
|
|||
|
||||
/**
|
||||
This function deletes all Keyboard Layout packages from a package list node.
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private data.
|
||||
@param Handle Handle of the package list which contains the to
|
||||
|
@ -2237,7 +2230,6 @@ ExportKeyboardLayoutPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is not valid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
RemoveKeyboardLayoutPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -2286,6 +2278,8 @@ RemoveKeyboardLayoutPackages (
|
|||
invoke notification functions if any. It is the worker function of
|
||||
HiiNewPackageList and HiiUpdatePackageList.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param NotifyType The type of change concerning the database.
|
||||
@param PackageList Pointer to a package list.
|
||||
|
@ -2299,7 +2293,6 @@ RemoveKeyboardLayoutPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
AddPackages (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -2503,6 +2496,8 @@ AddPackages (
|
|||
This function exports a package list to a buffer. It is the worker function
|
||||
of HiiExportPackageList.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param Handle Identification of a package list.
|
||||
@param PackageList Pointer to a package list which will be exported.
|
||||
|
@ -2516,7 +2511,6 @@ AddPackages (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ExportPackageList (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -3336,7 +3330,7 @@ HiiRegisterPackageNotify (
|
|||
|
||||
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
|
||||
instance.
|
||||
@param NotifyHandle The handle of the notification function being
|
||||
@param NotificationHandle The handle of the notification function being
|
||||
unregistered.
|
||||
|
||||
@retval EFI_SUCCESS Notification is unregistered successfully.
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/** @file
|
||||
Implementation for EFI_HII_FONT_PROTOCOL.
|
||||
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -9,23 +11,12 @@ 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:
|
||||
|
||||
Font.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Implementation for EFI_HII_FONT_PROTOCOL.
|
||||
|
||||
Revision History
|
||||
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#include "HiiDatabase.h"
|
||||
|
||||
static EFI_GRAPHICS_OUTPUT_BLT_PIXEL mEfiColors[16] = {
|
||||
STATIC EFI_GRAPHICS_OUTPUT_BLT_PIXEL mEfiColors[16] = {
|
||||
//
|
||||
// B G R
|
||||
//
|
||||
|
@ -51,6 +42,8 @@ static EFI_GRAPHICS_OUTPUT_BLT_PIXEL mEfiColors[16] = {
|
|||
/**
|
||||
Insert a character cell information to the list specified by GlyphInfoList.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param CharValue Unicode character value, which identifies a glyph
|
||||
block.
|
||||
@param GlyphInfoList HII_GLYPH_INFO list head.
|
||||
|
@ -61,7 +54,6 @@ static EFI_GRAPHICS_OUTPUT_BLT_PIXEL mEfiColors[16] = {
|
|||
task.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
NewCell (
|
||||
IN CHAR16 CharValue,
|
||||
|
@ -94,6 +86,8 @@ NewCell (
|
|||
/**
|
||||
Get a character cell information from the list specified by GlyphInfoList.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param CharValue Unicode character value, which identifies a glyph
|
||||
block.
|
||||
@param GlyphInfoList HII_GLYPH_INFO list head.
|
||||
|
@ -105,7 +99,6 @@ NewCell (
|
|||
not exist.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetCell (
|
||||
IN CHAR16 CharValue,
|
||||
|
@ -143,6 +136,8 @@ GetCell (
|
|||
/**
|
||||
Convert the glyph for a single character into a bitmap.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private HII database driver private data.
|
||||
@param Char Character to retrieve.
|
||||
@param StringInfo Points to the string font and color information
|
||||
|
@ -158,7 +153,6 @@ GetCell (
|
|||
@retval EFI_INVALID_PARAMETER Any input parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetGlyphBuffer (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -266,7 +260,28 @@ GetGlyphBuffer (
|
|||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
STATIC
|
||||
/**
|
||||
Convert bitmap data of the glyph to blt structure.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param GlyphBuffer Buffer points to bitmap data of glyph.
|
||||
@param Foreground The color of the "on" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param Background The color of the "off" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param ImageWidth Width of the character or character cell, in
|
||||
pixels.
|
||||
@param ImageHeight Height of the character or character cell, in
|
||||
pixels.
|
||||
@param Transparent If TRUE, the Background color is ignored and all
|
||||
"off" pixels in the character's drawn wil use the
|
||||
pixel value from BltBuffer.
|
||||
@param Origin On input, points to the origin of the to be
|
||||
displayed character, on output, points to the
|
||||
next glyph's origin.
|
||||
|
||||
**/
|
||||
VOID
|
||||
NarrowGlyphToBlt (
|
||||
IN UINT8 *GlyphBuffer,
|
||||
|
@ -278,8 +293,8 @@ NarrowGlyphToBlt (
|
|||
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **Origin
|
||||
)
|
||||
{
|
||||
UINT8 X;
|
||||
UINT8 Y;
|
||||
UINT8 Xpos;
|
||||
UINT8 Ypos;
|
||||
UINT8 Height;
|
||||
UINT8 Width;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Buffer;
|
||||
|
@ -293,13 +308,13 @@ NarrowGlyphToBlt (
|
|||
|
||||
Buffer = *Origin;
|
||||
|
||||
for (Y = 0; Y < Height; Y++) {
|
||||
for (X = 0; X < Width; X++) {
|
||||
if ((GlyphBuffer[Y] & (1 << X)) != 0) {
|
||||
Buffer[Y * ImageWidth + (Width - X - 1)] = Foreground;
|
||||
for (Ypos = 0; Ypos < Height; Ypos++) {
|
||||
for (Xpos = 0; Xpos < Width; Xpos++) {
|
||||
if ((GlyphBuffer[Ypos] & (1 << Xpos)) != 0) {
|
||||
Buffer[Ypos * ImageWidth + (Width - Xpos - 1)] = Foreground;
|
||||
} else {
|
||||
if (!Transparent) {
|
||||
Buffer[Y * ImageWidth + (Width - X - 1)] = Background;
|
||||
Buffer[Ypos * ImageWidth + (Width - Xpos - 1)] = Background;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -312,23 +327,28 @@ NarrowGlyphToBlt (
|
|||
/**
|
||||
Convert bitmap data of the glyph to blt structure.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param GlyphBuffer Buffer points to bitmap data of glyph.
|
||||
@param Foreground The color of the "on" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param Background The color of the "off" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param Width Width of the character or character cell, in
|
||||
@param ImageWidth Width of the character or character cell, in
|
||||
pixels.
|
||||
@param Height Height of the character or character cell, in
|
||||
@param ImageHeight Height of the character or character cell, in
|
||||
pixels.
|
||||
@param Transparent If TRUE, the Background color is ignored and all
|
||||
"off" pixels in the character's drawn wil use the
|
||||
pixel value from BltBuffer.
|
||||
@param BltBuffer Points to the blt buffer.
|
||||
@param Cell Points to EFI_HII_GLYPH_INFO structure.
|
||||
@param Attributes The attribute of incoming glyph in GlyphBuffer.
|
||||
@param Origin On input, points to the origin of the to be
|
||||
displayed character, on output, points to the
|
||||
next glyph's origin.
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
GlyphToBlt (
|
||||
IN UINT8 *GlyphBuffer,
|
||||
|
@ -342,8 +362,8 @@ GlyphToBlt (
|
|||
IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **Origin
|
||||
)
|
||||
{
|
||||
UINT8 X;
|
||||
UINT8 Y;
|
||||
UINT8 Xpos;
|
||||
UINT8 Ypos;
|
||||
UINT8 Data;
|
||||
UINT8 Index;
|
||||
UINTN OffsetY;
|
||||
|
@ -366,20 +386,20 @@ GlyphToBlt (
|
|||
// The glyph's upper left hand corner pixel is the most significant bit of the
|
||||
// first bitmap byte.
|
||||
//
|
||||
for (Y = 0; Y < Cell->Height; Y++) {
|
||||
OffsetY = BITMAP_LEN_1_BIT (Cell->Width, Y);
|
||||
for (Ypos = 0; Ypos < Cell->Height; Ypos++) {
|
||||
OffsetY = BITMAP_LEN_1_BIT (Cell->Width, Ypos);
|
||||
|
||||
//
|
||||
// All bits in these bytes are meaningful.
|
||||
//
|
||||
for (X = 0; X < Cell->Width / 8; X++) {
|
||||
Data = *(GlyphBuffer + OffsetY + X);
|
||||
for (Xpos = 0; Xpos < Cell->Width / 8; Xpos++) {
|
||||
Data = *(GlyphBuffer + OffsetY + Xpos);
|
||||
for (Index = 0; Index < 8; Index++) {
|
||||
if ((Data & (1 << Index)) != 0) {
|
||||
BltBuffer[Y * ImageWidth + X * 8 + (8 - Index - 1)] = Foreground;
|
||||
BltBuffer[Ypos * ImageWidth + Xpos * 8 + (8 - Index - 1)] = Foreground;
|
||||
} else {
|
||||
if (!Transparent) {
|
||||
BltBuffer[Y * ImageWidth + X * 8 + (8 - Index - 1)] = Background;
|
||||
BltBuffer[Ypos * ImageWidth + Xpos * 8 + (8 - Index - 1)] = Background;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -389,19 +409,19 @@ GlyphToBlt (
|
|||
//
|
||||
// There are some padding bits in this byte. Ignore them.
|
||||
//
|
||||
Data = *(GlyphBuffer + OffsetY + X);
|
||||
Data = *(GlyphBuffer + OffsetY + Xpos);
|
||||
for (Index = 0; Index < Cell->Width % 8; Index++) {
|
||||
if ((Data & (1 << (8 - Index - 1))) != 0) {
|
||||
BltBuffer[Y * ImageWidth + X * 8 + Index] = Foreground;
|
||||
BltBuffer[Ypos * ImageWidth + Xpos * 8 + Index] = Foreground;
|
||||
} else {
|
||||
if (!Transparent) {
|
||||
BltBuffer[Y * ImageWidth + X * 8 + Index] = Background;
|
||||
BltBuffer[Ypos * ImageWidth + Xpos * 8 + Index] = Background;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end of if (Width % 8...)
|
||||
|
||||
} // end of for (Y=0...)
|
||||
} // end of for (Ypos=0...)
|
||||
|
||||
*Origin = BltBuffer + Cell->Width;
|
||||
}
|
||||
|
@ -410,14 +430,16 @@ GlyphToBlt (
|
|||
/**
|
||||
Convert bitmap data of the glyph to blt structure.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param GlyphBuffer Buffer points to bitmap data of glyph.
|
||||
@param Foreground The color of the "on" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param Background The color of the "off" pixels in the glyph in the
|
||||
bitmap.
|
||||
@param Width Width of the character or character cell, in
|
||||
@param ImageWidth Width of the character or character cell, in
|
||||
pixels.
|
||||
@param Height Height of the character or character cell, in
|
||||
@param ImageHeight Height of the character or character cell, in
|
||||
pixels.
|
||||
@param Transparent If TRUE, the Background color is ignored and all
|
||||
"off" pixels in the character's drawn wil use the
|
||||
|
@ -431,7 +453,6 @@ GlyphToBlt (
|
|||
@return Points to the address of next origin node in BltBuffer.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
GlyphToImage (
|
||||
IN UINT8 *GlyphBuffer,
|
||||
|
@ -531,6 +552,8 @@ GlyphToImage (
|
|||
/**
|
||||
Write the output parameters of FindGlyphBlock().
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param BufferIn Buffer which stores the bitmap data of the found
|
||||
block.
|
||||
@param BufferLen Length of BufferIn.
|
||||
|
@ -548,7 +571,6 @@ GlyphToImage (
|
|||
task.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
WriteOutputParam (
|
||||
IN UINT8 *BufferIn,
|
||||
|
@ -817,6 +839,8 @@ FindGlyphBlock (
|
|||
/**
|
||||
Copy a Font Name to a new created EFI_FONT_INFO structure.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param FontName NULL-terminated string.
|
||||
@param FontInfo a new EFI_FONT_INFO which stores the FontName.
|
||||
It's caller's responsibility to free this buffer.
|
||||
|
@ -826,7 +850,6 @@ FindGlyphBlock (
|
|||
task.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
SaveFontName (
|
||||
IN EFI_STRING FontName,
|
||||
|
@ -908,6 +931,8 @@ GetSystemFont (
|
|||
Check whether EFI_FONT_DISPLAY_INFO points to system default font and color or
|
||||
returns the system default according to the optional inputs.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private HII database driver private data.
|
||||
@param StringInfo Points to the string output information,
|
||||
including the color and font.
|
||||
|
@ -920,7 +945,6 @@ GetSystemFont (
|
|||
@retval FALSE No.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
BOOLEAN
|
||||
IsSystemFontInfo (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1318,6 +1342,8 @@ IsFontInfoExisted (
|
|||
/**
|
||||
Check whether the unicode represents a line break or not.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Char Unicode character
|
||||
|
||||
@retval 0 Yes, it is a line break.
|
||||
|
@ -1328,7 +1354,6 @@ IsFontInfoExisted (
|
|||
@retval -1 No, it is not a link break.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
INT8
|
||||
IsLineBreak (
|
||||
IN CHAR16 Char
|
||||
|
@ -1413,7 +1438,10 @@ IsLineBreak (
|
|||
will be allocated to hold the generated image and
|
||||
the pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX,BLTY Specifies the offset from the left and top edge
|
||||
@param BltX Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param BltY Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param RowInfoArray If this is non-NULL on entry, then on exit, this
|
||||
|
@ -1983,7 +2011,10 @@ Exit:
|
|||
will be allocated to hold the generated image and
|
||||
the pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX,BLTY Specifies the offset from the left and top edge
|
||||
@param BltX Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param BltY Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param RowInfoArray If this is non-NULL on entry, then on exit, this
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/** @file
|
||||
Private structures definitions in HiiDatabase.
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -9,17 +10,6 @@ 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:
|
||||
|
||||
HiiDatabase.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Private structures definitions in HiiDatabase.
|
||||
|
||||
Revision History
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __HII_DATABASE_PRIVATE_H__
|
||||
|
@ -251,7 +241,7 @@ typedef struct _HII_DATABASE_PRIVATE_DATA {
|
|||
LIST_ENTRY DatabaseList;
|
||||
LIST_ENTRY DatabaseNotifyList;
|
||||
EFI_HII_FONT_PROTOCOL HiiFont;
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
EFI_HII_IMAGE_PROTOCOL HiiImage;
|
||||
#endif
|
||||
EFI_HII_STRING_PROTOCOL HiiString;
|
||||
|
@ -305,7 +295,7 @@ typedef struct _HII_DATABASE_PRIVATE_DATA {
|
|||
//
|
||||
|
||||
/**
|
||||
This function checks whether a handle is a valid EFI_HII_HANDLE
|
||||
This function checks whether a handle is a valid EFI_HII_HANDLE.
|
||||
|
||||
@param Handle Pointer to a EFI_HII_HANDLE
|
||||
|
||||
|
@ -470,7 +460,10 @@ FindGlyphBlock (
|
|||
will be allocated to hold the generated image and
|
||||
the pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX,BLTY Specifies the offset from the left and top edge
|
||||
@param BltX Together with BltX, Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param BltY Together with BltY, Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param RowInfoArray If this is non-NULL on entry, then on exit, this
|
||||
|
@ -543,7 +536,10 @@ HiiStringToImage (
|
|||
will be allocated to hold the generated image and
|
||||
the pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX,BLTY Specifies the offset from the left and top edge
|
||||
@param BltX Together with BltX, Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param BltY Together with BltY, Specifies the offset from the left and top edge
|
||||
of the image of the first character cell in the
|
||||
image.
|
||||
@param RowInfoArray If this is non-NULL on entry, then on exit, this
|
||||
|
@ -622,7 +618,7 @@ EFIAPI
|
|||
HiiGetGlyph (
|
||||
IN CONST EFI_HII_FONT_PROTOCOL *This,
|
||||
IN CHAR16 Char,
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfo, OPTIONAL
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
|
||||
OUT EFI_IMAGE_OUTPUT **Blt,
|
||||
OUT UINTN *Baseline OPTIONAL
|
||||
)
|
||||
|
@ -663,7 +659,7 @@ EFIAPI
|
|||
HiiGetFontInfo (
|
||||
IN CONST EFI_HII_FONT_PROTOCOL *This,
|
||||
IN OUT EFI_FONT_HANDLE *FontHandle,
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn,
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL
|
||||
OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
|
||||
IN CONST EFI_STRING String OPTIONAL
|
||||
)
|
||||
|
@ -778,6 +774,9 @@ HiiSetImage (
|
|||
a buffer will be allocated to hold the generated
|
||||
image and the pointer updated on exit. It is the
|
||||
caller's responsibility to free this buffer.
|
||||
@param BltX Specifies the offset from the left and top edge
|
||||
of the output image of the first pixel in the
|
||||
image.
|
||||
@param BltY Specifies the offset from the left and top edge
|
||||
of the output image of the first pixel in the
|
||||
image.
|
||||
|
@ -821,6 +820,9 @@ HiiDrawImage (
|
|||
allocated to hold the generated image and the
|
||||
pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX Specifies the offset from the left and top edge
|
||||
of the output image of the first pixel in the
|
||||
image.
|
||||
@param BltY Specifies the offset from the left and top edge
|
||||
of the output image of the first pixel in the
|
||||
image.
|
||||
|
@ -1025,7 +1027,7 @@ HiiGetLanguages (
|
|||
FirstLanguage. If there are no secondary
|
||||
languages, the function returns successfully,
|
||||
but this is set to NULL.
|
||||
@param SecondaryLanguageSize On entry, points to the size of the buffer
|
||||
@param SecondaryLanguagesSize On entry, points to the size of the buffer
|
||||
pointed to by SecondLanguages, in bytes. On
|
||||
return, points to the length of SecondLanguages
|
||||
in bytes.
|
||||
|
@ -1048,8 +1050,8 @@ HiiGetSecondaryLanguages (
|
|||
IN CONST EFI_HII_STRING_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
IN CONST CHAR8 *FirstLanguage,
|
||||
IN OUT CHAR8 *SecondLanguages,
|
||||
IN OUT UINTN *SecondLanguagesSize
|
||||
IN OUT CHAR8 *SecondaryLanguages,
|
||||
IN OUT UINTN *SecondaryLanguagesSize
|
||||
)
|
||||
;
|
||||
|
||||
|
@ -1278,7 +1280,7 @@ HiiRegisterPackageNotify (
|
|||
|
||||
@param This A pointer to the EFI_HII_DATABASE_PROTOCOL
|
||||
instance.
|
||||
@param NotifyHandle The handle of the notification function being
|
||||
@param NotificationHandle The handle of the notification function being
|
||||
unregistered.
|
||||
|
||||
@retval EFI_SUCCESS Notification is unregistered successfully.
|
||||
|
|
|
@ -48,7 +48,7 @@ STATIC HII_DATABASE_PRIVATE_DATA mPrivate = {
|
|||
HiiGetGlyph,
|
||||
HiiGetFontInfo
|
||||
},
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
{
|
||||
HiiNewImage,
|
||||
HiiGetImage,
|
||||
|
@ -104,7 +104,16 @@ STATIC HII_DATABASE_PRIVATE_DATA mPrivate = {
|
|||
NULL
|
||||
};
|
||||
|
||||
STATIC
|
||||
/**
|
||||
The default event handler for gHiiKeyboardLayoutChanged
|
||||
event group.
|
||||
|
||||
This is internal function.
|
||||
|
||||
@param Event The event that triggered this notification function.
|
||||
@param Context Pointer to the notification functions context.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
KeyboardLayoutChangeNullEvent (
|
||||
|
@ -115,54 +124,41 @@ KeyboardLayoutChangeNullEvent (
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize HII Database.
|
||||
|
||||
|
||||
@param ImageHandle The image handle.
|
||||
@param SystemTable The system table.
|
||||
|
||||
@retval EFI_SUCCESS The Hii database is setup correctly.
|
||||
@return Other value if failed to create the default event for
|
||||
gHiiKeyboardLayoutChanged. Check gBS->CreateEventEx for
|
||||
details. Or failed to insatll the protocols.
|
||||
Check gBS->InstallMultipleProtocolInterfaces for details.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeHiiDatabase (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Initialize HII Database
|
||||
|
||||
Arguments:
|
||||
(Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS -
|
||||
other -
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_HANDLE Handle;
|
||||
EFI_HANDLE *HandleBuffer;
|
||||
UINTN HandleCount;
|
||||
|
||||
//
|
||||
// There will be only one HII Database in the system
|
||||
// If there is another out there, someone is trying to install us
|
||||
// again. Fail that scenario.
|
||||
//
|
||||
Status = gBS->LocateHandleBuffer (
|
||||
ByProtocol,
|
||||
&gEfiHiiDatabaseProtocolGuid,
|
||||
NULL,
|
||||
&HandleCount,
|
||||
&HandleBuffer
|
||||
);
|
||||
|
||||
//
|
||||
// If there was no error, assume there is an installation and fail to load
|
||||
//
|
||||
if (!EFI_ERROR (Status)) {
|
||||
if (HandleBuffer != NULL) {
|
||||
gBS->FreePool (HandleBuffer);
|
||||
}
|
||||
return EFI_DEVICE_ERROR;
|
||||
}
|
||||
|
||||
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiHiiDatabaseProtocolGuid);
|
||||
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiHiiFontProtocolGuid);
|
||||
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiHiiImageProtocolGuid);
|
||||
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiHiiStringProtocolGuid);
|
||||
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiHiiConfigRoutingProtocolGuid);
|
||||
|
||||
InitializeListHead (&mPrivate.DatabaseList);
|
||||
InitializeListHead (&mPrivate.DatabaseNotifyList);
|
||||
InitializeListHead (&mPrivate.HiiHandleList);
|
||||
|
@ -188,7 +184,7 @@ Returns:
|
|||
&Handle,
|
||||
&gEfiHiiFontProtocolGuid,
|
||||
&mPrivate.HiiFont,
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
&gEfiHiiImageProtocolGuid,
|
||||
&mPrivate.HiiImage,
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/** @file
|
||||
Implementation for EFI_HII_IMAGE_PROTOCOL.
|
||||
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -9,46 +11,32 @@ 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:
|
||||
|
||||
Image.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Implementation for EFI_HII_IMAGE_PROTOCOL.
|
||||
|
||||
Revision History
|
||||
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#include "HiiDatabase.h"
|
||||
|
||||
#ifndef DISABLE_UNUSED_HII_PROTOCOLS
|
||||
#ifndef _DISABLE_UNUSED_HII_PROTOCOLS_
|
||||
|
||||
STATIC
|
||||
/**
|
||||
Get the imageid of last image block: EFI_HII_IIBT_END_BLOCK when input
|
||||
ImageId is zero, otherwise return the address of the
|
||||
corresponding image block with identifier specified by ImageId.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param ImageBlock Points to the beginning of a series of image blocks stored in order.
|
||||
@param ImageId If input ImageId is 0, output the image id of the EFI_HII_IIBT_END_BLOCK;
|
||||
else use this id to find its corresponding image block address.
|
||||
|
||||
@return The image block address when input ImageId is not zero; otherwise return NULL.
|
||||
|
||||
**/
|
||||
UINT8*
|
||||
GetImageIdOrAddress (
|
||||
IN UINT8 *ImageBlock,
|
||||
IN OUT EFI_IMAGE_ID *ImageId
|
||||
)
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Get the imageid of last image block: EFI_HII_IIBT_END_BLOCK when input
|
||||
ImageId is zero, otherwise return the address of the
|
||||
corresponding image block with identifier specified by ImageId.
|
||||
|
||||
Arguments:
|
||||
ImageBlock - Points to the beginning of a series of image blocks stored in order.
|
||||
ImageId - If input ImageId is 0, output the image id of the EFI_HII_IIBT_END_BLOCK;
|
||||
else use this id to find its corresponding image block address.
|
||||
|
||||
Returns:
|
||||
The image block address when input ImageId is not zero; otherwise return NULL.
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_IMAGE_ID ImageIdCurrent;
|
||||
UINT8 *ImageBlockHdr;
|
||||
|
@ -199,13 +187,15 @@ GetImageIdOrAddress (
|
|||
/**
|
||||
Convert pixels from EFI_GRAPHICS_OUTPUT_BLT_PIXEL to EFI_HII_RGB_PIXEL style.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param BitMapOut Pixels in EFI_HII_RGB_PIXEL format.
|
||||
@param BitMapIn Pixels in EFI_GRAPHICS_OUTPUT_BLT_PIXEL format.
|
||||
@param PixelNum The number of pixels to be converted.
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
CopyGopToRgbPixel (
|
||||
OUT EFI_HII_RGB_PIXEL *BitMapOut,
|
||||
|
@ -226,13 +216,15 @@ CopyGopToRgbPixel (
|
|||
/**
|
||||
Convert pixels from EFI_HII_RGB_PIXEL to EFI_GRAPHICS_OUTPUT_BLT_PIXEL style.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param BitMapOut Pixels in EFI_GRAPHICS_OUTPUT_BLT_PIXEL format.
|
||||
@param BitMapIn Pixels in EFI_HII_RGB_PIXEL format.
|
||||
@param PixelNum The number of pixels to be converted.
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
CopyRgbToGopPixel (
|
||||
OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BitMapOut,
|
||||
|
@ -253,6 +245,9 @@ CopyRgbToGopPixel (
|
|||
/**
|
||||
Output pixels in "1 bit per pixel" format to an image.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param Image Points to the image which will store the pixels.
|
||||
@param Data Stores the value of output pixels, 0 or 1.
|
||||
@param PaletteInfo PaletteInfo which stores the color of the output
|
||||
|
@ -261,7 +256,6 @@ CopyRgbToGopPixel (
|
|||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
Output1bitPixel (
|
||||
IN OUT EFI_IMAGE_INPUT *Image,
|
||||
|
@ -269,8 +263,8 @@ Output1bitPixel (
|
|||
IN EFI_HII_IMAGE_PALETTE_INFO *PaletteInfo
|
||||
)
|
||||
{
|
||||
UINT16 X;
|
||||
UINT16 Y;
|
||||
UINT16 Xpos;
|
||||
UINT16 Ypos;
|
||||
UINTN OffsetY;
|
||||
UINT8 Index;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BitMapPtr;
|
||||
|
@ -300,18 +294,18 @@ Output1bitPixel (
|
|||
//
|
||||
// Convert the pixel from one bit to corresponding color.
|
||||
//
|
||||
for (Y = 0; Y < Image->Height; Y++) {
|
||||
OffsetY = BITMAP_LEN_1_BIT (Image->Width, Y);
|
||||
for (Ypos = 0; Ypos < Image->Height; Ypos++) {
|
||||
OffsetY = BITMAP_LEN_1_BIT (Image->Width, Ypos);
|
||||
//
|
||||
// All bits in these bytes are meaningful
|
||||
//
|
||||
for (X = 0; X < Image->Width / 8; X++) {
|
||||
Byte = *(Data + OffsetY + X);
|
||||
for (Xpos = 0; Xpos < Image->Width / 8; Xpos++) {
|
||||
Byte = *(Data + OffsetY + Xpos);
|
||||
for (Index = 0; Index < 8; Index++) {
|
||||
if ((Byte & (1 << Index)) != 0) {
|
||||
BitMapPtr[Y * Image->Width + X * 8 + (8 - Index - 1)] = PaletteValue[1];
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 8 + (8 - Index - 1)] = PaletteValue[1];
|
||||
} else {
|
||||
BitMapPtr[Y * Image->Width + X * 8 + (8 - Index - 1)] = PaletteValue[0];
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 8 + (8 - Index - 1)] = PaletteValue[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -320,12 +314,12 @@ Output1bitPixel (
|
|||
//
|
||||
// Padding bits in this byte should be ignored.
|
||||
//
|
||||
Byte = *(Data + OffsetY + X);
|
||||
Byte = *(Data + OffsetY + Xpos);
|
||||
for (Index = 0; Index < Image->Width % 8; Index++) {
|
||||
if ((Byte & (1 << (8 - Index - 1))) != 0) {
|
||||
BitMapPtr[Y * Image->Width + X * 8 + Index] = PaletteValue[1];
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 8 + Index] = PaletteValue[1];
|
||||
} else {
|
||||
BitMapPtr[Y * Image->Width + X * 8 + Index] = PaletteValue[0];
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 8 + Index] = PaletteValue[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -336,15 +330,17 @@ Output1bitPixel (
|
|||
/**
|
||||
Output pixels in "4 bit per pixel" format to an image.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param Image Points to the image which will store the pixels.
|
||||
@param Data Stores the value of output pixels, 0 ~ 15.
|
||||
@param PaletteInfo PaletteInfo which stores the color of the output
|
||||
@param[in] PaletteInfo PaletteInfo which stores the color of the output
|
||||
pixels. Each entry corresponds to a color within
|
||||
[0, 15].
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
Output4bitPixel (
|
||||
IN OUT EFI_IMAGE_INPUT *Image,
|
||||
|
@ -352,8 +348,8 @@ Output4bitPixel (
|
|||
IN EFI_HII_IMAGE_PALETTE_INFO *PaletteInfo
|
||||
)
|
||||
{
|
||||
UINT16 X;
|
||||
UINT16 Y;
|
||||
UINT16 Xpos;
|
||||
UINT16 Ypos;
|
||||
UINTN OffsetY;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BitMapPtr;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL PaletteValue[16];
|
||||
|
@ -383,23 +379,23 @@ Output4bitPixel (
|
|||
//
|
||||
// Convert the pixel from 4 bit to corresponding color.
|
||||
//
|
||||
for (Y = 0; Y < Image->Height; Y++) {
|
||||
OffsetY = BITMAP_LEN_4_BIT (Image->Width, Y);
|
||||
for (Ypos = 0; Ypos < Image->Height; Ypos++) {
|
||||
OffsetY = BITMAP_LEN_4_BIT (Image->Width, Ypos);
|
||||
//
|
||||
// All bits in these bytes are meaningful
|
||||
//
|
||||
for (X = 0; X < Image->Width / 2; X++) {
|
||||
Byte = *(Data + OffsetY + X);
|
||||
BitMapPtr[Y * Image->Width + X * 2] = PaletteValue[Byte >> 4];
|
||||
BitMapPtr[Y * Image->Width + X * 2 + 1] = PaletteValue[Byte & 0x0F];
|
||||
for (Xpos = 0; Xpos < Image->Width / 2; Xpos++) {
|
||||
Byte = *(Data + OffsetY + Xpos);
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 2] = PaletteValue[Byte >> 4];
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 2 + 1] = PaletteValue[Byte & 0x0F];
|
||||
}
|
||||
|
||||
if (Image->Width % 2 != 0) {
|
||||
//
|
||||
// Padding bits in this byte should be ignored.
|
||||
//
|
||||
Byte = *(Data + OffsetY + X);
|
||||
BitMapPtr[Y * Image->Width + X * 2] = PaletteValue[Byte >> 4];
|
||||
Byte = *(Data + OffsetY + Xpos);
|
||||
BitMapPtr[Ypos * Image->Width + Xpos * 2] = PaletteValue[Byte >> 4];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -408,15 +404,17 @@ Output4bitPixel (
|
|||
/**
|
||||
Output pixels in "8 bit per pixel" format to an image.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param Image Points to the image which will store the pixels.
|
||||
@param Data Stores the value of output pixels, 0 ~ 255.
|
||||
@param PaletteInfo PaletteInfo which stores the color of the output
|
||||
@param[in] PaletteInfo PaletteInfo which stores the color of the output
|
||||
pixels. Each entry corresponds to a color within
|
||||
[0, 255].
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
Output8bitPixel (
|
||||
IN OUT EFI_IMAGE_INPUT *Image,
|
||||
|
@ -424,8 +422,8 @@ Output8bitPixel (
|
|||
IN EFI_HII_IMAGE_PALETTE_INFO *PaletteInfo
|
||||
)
|
||||
{
|
||||
UINT16 X;
|
||||
UINT16 Y;
|
||||
UINT16 Xpos;
|
||||
UINT16 Ypos;
|
||||
UINTN OffsetY;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BitMapPtr;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL PaletteValue[256];
|
||||
|
@ -454,14 +452,14 @@ Output8bitPixel (
|
|||
//
|
||||
// Convert the pixel from 8 bits to corresponding color.
|
||||
//
|
||||
for (Y = 0; Y < Image->Height; Y++) {
|
||||
OffsetY = BITMAP_LEN_8_BIT (Image->Width, Y);
|
||||
for (Ypos = 0; Ypos < Image->Height; Ypos++) {
|
||||
OffsetY = BITMAP_LEN_8_BIT (Image->Width, Ypos);
|
||||
//
|
||||
// All bits are meaningful since the bitmap is 8 bits per pixel.
|
||||
//
|
||||
for (X = 0; X < Image->Width; X++) {
|
||||
Byte = *(Data + OffsetY + X);
|
||||
BitMapPtr[OffsetY + X] = PaletteValue[Byte];
|
||||
for (Xpos = 0; Xpos < Image->Width; Xpos++) {
|
||||
Byte = *(Data + OffsetY + Xpos);
|
||||
BitMapPtr[OffsetY + Xpos] = PaletteValue[Byte];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -471,20 +469,22 @@ Output8bitPixel (
|
|||
/**
|
||||
Output pixels in "24 bit per pixel" format to an image.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param Image Points to the image which will store the pixels.
|
||||
@param Data Stores the color of output pixels, allowing 16.8
|
||||
millions colors.
|
||||
|
||||
|
||||
**/
|
||||
STATIC
|
||||
VOID
|
||||
Output24bitPixel (
|
||||
IN OUT EFI_IMAGE_INPUT *Image,
|
||||
IN EFI_HII_RGB_PIXEL *Data
|
||||
)
|
||||
{
|
||||
UINT16 Y;
|
||||
UINT16 Ypos;
|
||||
UINTN OffsetY;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BitMapPtr;
|
||||
|
||||
|
@ -492,8 +492,8 @@ Output24bitPixel (
|
|||
|
||||
BitMapPtr = Image->Bitmap;
|
||||
|
||||
for (Y = 0; Y < Image->Height; Y++) {
|
||||
OffsetY = BITMAP_LEN_8_BIT (Image->Width, Y);
|
||||
for (Ypos = 0; Ypos < Image->Height; Ypos++) {
|
||||
OffsetY = BITMAP_LEN_8_BIT (Image->Width, Ypos);
|
||||
CopyRgbToGopPixel (&BitMapPtr[OffsetY], &Data[OffsetY], Image->Width);
|
||||
}
|
||||
|
||||
|
@ -503,7 +503,12 @@ Output24bitPixel (
|
|||
/**
|
||||
Convert the image from EFI_IMAGE_INPUT to EFI_IMAGE_OUTPUT format.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param BltBuffer Buffer points to bitmap data of incoming image.
|
||||
@param BltX Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
@param BltY Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
@param Width Width of the incoming image, in pixels.
|
||||
|
@ -517,7 +522,6 @@ Output24bitPixel (
|
|||
@retval EFI_INVALID_PARAMETER Any incoming parameter is invalid.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ImageToBlt (
|
||||
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
|
||||
|
@ -530,8 +534,8 @@ ImageToBlt (
|
|||
)
|
||||
{
|
||||
EFI_IMAGE_OUTPUT *ImageOut;
|
||||
UINTN X;
|
||||
UINTN Y;
|
||||
UINTN Xpos;
|
||||
UINTN Ypos;
|
||||
UINTN OffsetY1; // src buffer
|
||||
UINTN OffsetY2; // dest buffer
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL SrcPixel;
|
||||
|
@ -552,17 +556,17 @@ ImageToBlt (
|
|||
|
||||
ZeroMem (&ZeroPixel, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
|
||||
|
||||
for (Y = 0; Y < Height; Y++) {
|
||||
OffsetY1 = Width * Y;
|
||||
OffsetY2 = ImageOut->Width * (BltY + Y);
|
||||
for (X = 0; X < Width; X++) {
|
||||
SrcPixel = BltBuffer[OffsetY1 + X];
|
||||
for (Ypos = 0; Ypos < Height; Ypos++) {
|
||||
OffsetY1 = Width * Ypos;
|
||||
OffsetY2 = ImageOut->Width * (BltY + Ypos);
|
||||
for (Xpos = 0; Xpos < Width; Xpos++) {
|
||||
SrcPixel = BltBuffer[OffsetY1 + Xpos];
|
||||
if (Transparent) {
|
||||
if (CompareMem (&SrcPixel, &ZeroPixel, 3) != 0) {
|
||||
ImageOut->Image.Bitmap[OffsetY2 + BltX + X] = SrcPixel;
|
||||
ImageOut->Image.Bitmap[OffsetY2 + BltX + Xpos] = SrcPixel;
|
||||
}
|
||||
} else {
|
||||
ImageOut->Image.Bitmap[OffsetY2 + BltX + X] = SrcPixel;
|
||||
ImageOut->Image.Bitmap[OffsetY2 + BltX + Xpos] = SrcPixel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -793,9 +797,6 @@ HiiNewImage (
|
|||
@param ImageId The image's id,, which is unique within
|
||||
PackageList.
|
||||
@param Image Points to the image.
|
||||
@param 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.
|
||||
|
||||
@retval EFI_SUCCESS The new image was returned successfully.
|
||||
@retval EFI_NOT_FOUND The image specified by ImageId is not in the
|
||||
|
@ -1197,6 +1198,8 @@ HiiSetImage (
|
|||
will be allocated to hold the generated image and
|
||||
the pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
@param BltY Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
|
||||
|
@ -1226,8 +1229,8 @@ HiiDrawImage (
|
|||
UINTN BufferLen;
|
||||
UINTN Width;
|
||||
UINTN Height;
|
||||
UINTN X;
|
||||
UINTN Y;
|
||||
UINTN Xpos;
|
||||
UINTN Ypos;
|
||||
UINTN OffsetY1;
|
||||
UINTN OffsetY2;
|
||||
EFI_FONT_DISPLAY_INFO *FontInfo;
|
||||
|
@ -1309,11 +1312,11 @@ HiiDrawImage (
|
|||
if (Width == ImageIn->Width && Height == ImageIn->Height) {
|
||||
CopyMem (BltBuffer, ImageIn->Bitmap, BufferLen);
|
||||
} else {
|
||||
for (Y = 0; Y < Height; Y++) {
|
||||
OffsetY1 = ImageIn->Width * Y;
|
||||
OffsetY2 = Width * Y;
|
||||
for (X = 0; X < Width; X++) {
|
||||
BltBuffer[OffsetY2 + X] = ImageIn->Bitmap[OffsetY1 + X];
|
||||
for (Ypos = 0; Ypos < Height; Ypos++) {
|
||||
OffsetY1 = ImageIn->Width * Ypos;
|
||||
OffsetY2 = Width * Ypos;
|
||||
for (Xpos = 0; Xpos < Width; Xpos++) {
|
||||
BltBuffer[OffsetY2 + Xpos] = ImageIn->Bitmap[OffsetY1 + Xpos];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1442,6 +1445,8 @@ HiiDrawImage (
|
|||
allocated to hold the generated image and the
|
||||
pointer updated on exit. It is the caller's
|
||||
responsibility to free this buffer.
|
||||
@param BltX Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
@param BltY Specifies the offset from the left and top edge of
|
||||
the output image of the first pixel in the image.
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Implement a utility function named R8_EfiLibCompareLanguage.
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Implement a utility function named R8_EfiLibCompareLanguage.
|
||||
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
/** @file
|
||||
Implementation for EFI_HII_STRING_PROTOCOL.
|
||||
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
|
@ -9,17 +11,6 @@ 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:
|
||||
|
||||
String.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Implementation for EFI_HII_STRING_PROTOCOL.
|
||||
|
||||
Revision History
|
||||
|
||||
|
||||
**/
|
||||
|
||||
|
||||
|
@ -38,6 +29,9 @@ CHAR16 mLanguageWindow[16] = {
|
|||
font info list or not. (i.e. HII_FONT_INFO is generated.) If not, create
|
||||
a HII_FONT_INFO to refer it locally.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param StringPackage HII string package instance.
|
||||
@param FontId Font identifer, which must be unique within the string package.
|
||||
|
@ -53,7 +47,6 @@ CHAR16 mLanguageWindow[16] = {
|
|||
@retval FALSE Not referred before calling this function.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
BOOLEAN
|
||||
ReferFontInfoLocally (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -104,8 +97,12 @@ ReferFontInfoLocally (
|
|||
/**
|
||||
Convert Ascii string text to unicode string test.
|
||||
|
||||
@param StringSrc Points to current null-terminated Ascii string.
|
||||
@param StringDest Buffer to store the converted string text.
|
||||
This is a internal function.
|
||||
|
||||
|
||||
@param StringDest Buffer to store the string text. If it is NULL,
|
||||
only the size will be returned.
|
||||
@param StringSrc Points to current null-terminated string.
|
||||
@param BufferSize Length of the buffer.
|
||||
|
||||
@retval EFI_SUCCESS The string text was outputed successfully.
|
||||
|
@ -114,7 +111,6 @@ ReferFontInfoLocally (
|
|||
size.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
ConvertToUnicodeText (
|
||||
OUT EFI_STRING StringDest,
|
||||
|
@ -146,8 +142,11 @@ ConvertToUnicodeText (
|
|||
Calculate the size of StringSrc and output it. If StringDest is not NULL,
|
||||
copy string text from src to dest.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param StringDest Buffer to store the string text. If it is NULL,
|
||||
only the size will be returned.
|
||||
@param StringSrc Points to current null-terminated string.
|
||||
@param StringDest Buffer to store the string text.
|
||||
@param BufferSize Length of the buffer.
|
||||
|
||||
@retval EFI_SUCCESS The string text was outputed successfully.
|
||||
|
@ -156,7 +155,6 @@ ConvertToUnicodeText (
|
|||
size.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetUnicodeStringTextOrSize (
|
||||
OUT EFI_STRING StringDest, OPTIONAL
|
||||
|
@ -194,6 +192,8 @@ GetUnicodeStringTextOrSize (
|
|||
/**
|
||||
Copy string font info to a buffer.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param StringPackage Hii string package instance.
|
||||
@param FontId Font identifier which is unique in a string
|
||||
package.
|
||||
|
@ -204,7 +204,6 @@ GetUnicodeStringTextOrSize (
|
|||
@retval EFI_NOT_FOUND The specified font id does not exist.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetStringFontInfo (
|
||||
IN HII_STRING_PACKAGE_INSTANCE *StringPackage,
|
||||
|
@ -567,6 +566,8 @@ FindStringBlock (
|
|||
/**
|
||||
Parse all string blocks to get a string specified by StringId.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private Hii database private structure.
|
||||
@param StringPackage Hii string package instance.
|
||||
@param StringId The string's id, which is unique within
|
||||
|
@ -587,7 +588,6 @@ FindStringBlock (
|
|||
hold the string.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
GetStringWorker (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -676,6 +676,8 @@ GetStringWorker (
|
|||
/**
|
||||
Parse all string blocks to set a String specified by StringId.
|
||||
|
||||
This is a internal function.
|
||||
|
||||
@param Private HII database driver private structure.
|
||||
@param StringPackage HII string package instance.
|
||||
@param StringId The string's id, which is unique within
|
||||
|
@ -693,7 +695,6 @@ GetStringWorker (
|
|||
task.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
EFI_STATUS
|
||||
SetStringWorker (
|
||||
IN HII_DATABASE_PRIVATE_DATA *Private,
|
||||
|
@ -1557,14 +1558,14 @@ HiiGetLanguages (
|
|||
FirstLanguage. If there are no secondary
|
||||
languages, the function returns successfully, but
|
||||
this is set to NULL.
|
||||
@param SecondaryLanguageSize On entry, points to the size of the buffer pointed
|
||||
to by SecondLanguages, in bytes. On return,
|
||||
points to the length of SecondLanguages in bytes.
|
||||
@param SecondaryLanguagesSize On entry, points to the size of the buffer pointed
|
||||
to by SecondaryLanguages, in bytes. On return,
|
||||
points to the length of SecondaryLanguages in bytes.
|
||||
|
||||
@retval EFI_SUCCESS Secondary languages were correctly returned.
|
||||
@retval EFI_INVALID_PARAMETER FirstLanguage or SecondLanguages or
|
||||
SecondLanguagesSize was NULL.
|
||||
@retval EFI_BUFFER_TOO_SMALL The buffer specified by SecondLanguagesSize is
|
||||
@retval EFI_INVALID_PARAMETER FirstLanguage or SecondaryLanguages or
|
||||
SecondaryLanguagesSize was NULL.
|
||||
@retval EFI_BUFFER_TOO_SMALL The buffer specified by SecondaryLanguagesSize is
|
||||
too small to hold the returned information.
|
||||
SecondLanguageSize is updated to hold the size of
|
||||
the buffer required.
|
||||
|
@ -1579,8 +1580,8 @@ HiiGetSecondaryLanguages (
|
|||
IN CONST EFI_HII_STRING_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE PackageList,
|
||||
IN CONST CHAR8 *FirstLanguage,
|
||||
IN OUT CHAR8 *SecondLanguages,
|
||||
IN OUT UINTN *SecondLanguagesSize
|
||||
IN OUT CHAR8 *SecondaryLanguages,
|
||||
IN OUT UINTN *SecondaryLanguagesSize
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Link;
|
||||
|
@ -1595,7 +1596,7 @@ HiiGetSecondaryLanguages (
|
|||
if (This == NULL || PackageList == NULL || FirstLanguage == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
if (SecondLanguages == NULL || SecondLanguagesSize == NULL) {
|
||||
if (SecondaryLanguages == NULL || SecondaryLanguagesSize == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
if (!IsHiiHandleValid (PackageList)) {
|
||||
|
@ -1637,10 +1638,10 @@ HiiGetSecondaryLanguages (
|
|||
Languages++;
|
||||
|
||||
ResultSize = AsciiStrSize (Languages);
|
||||
if (ResultSize <= *SecondLanguagesSize) {
|
||||
AsciiStrCpy (SecondLanguages, Languages);
|
||||
if (ResultSize <= *SecondaryLanguagesSize) {
|
||||
AsciiStrCpy (SecondaryLanguages, Languages);
|
||||
} else {
|
||||
*SecondLanguagesSize = ResultSize;
|
||||
*SecondaryLanguagesSize = ResultSize;
|
||||
return EFI_BUFFER_TOO_SMALL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue