1. added functions header for GraphicsConsoleDxe module.

2. correct some funtions header for ConPlatformDxe module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5411 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2008-07-07 05:23:31 +00:00
parent b30312ba29
commit 24248368f7
5 changed files with 369 additions and 156 deletions

View File

@ -205,7 +205,7 @@ ConPlatformDriverBindingSupported (
/**
Start this driver on ControllerHandle by opening Simple Text In protocol,
reading Device Path, and installing Console Devcice In GUID on ControllerHandle.
reading Device Path, and installing Console In Devcice GUID on ControllerHandle.
If this devcie is not one hot-plug devce, append its device path into the
console environment variables ConInDev.
@ -315,7 +315,7 @@ ConPlatformTextInDriverBindingStart (
/**
Start this driver on ControllerHandle by opening Simple Text Out protocol,
reading Device Path, and installing Console Devcice Out GUID, Standard Error
reading Device Path, and installing Console Out Devcic GUID, Standard Error
Device GUID on ControllerHandle.
If this devcie is not one hot-plug devce, append its device path into the
@ -457,7 +457,7 @@ ConPlatformTextOutDriverBindingStart (
}
/**
Stop this driver on ControllerHandle by removing Console Devcice In GUID
Stop this driver on ControllerHandle by removing Console In Devcice GUID
and closing the Simple Text In protocol on ControllerHandle.
@param This Protocol instance pointer.
@ -533,7 +533,7 @@ ConPlatformTextInDriverBindingStop (
/**
Stop this driver on ControllerHandle by removing Console Devcice Out GUID
Stop this driver on ControllerHandle by removing Console Out Devcice GUID
and closing the Simple Text Out protocol on ControllerHandle.
@param This Protocol instance pointer.

View File

@ -114,7 +114,7 @@ ConPlatformTextOutDriverBindingSupported (
/**
Start this driver on ControllerHandle by opening Simple Text In protocol,
reading Device Path, and installing Console Devcice In GUID on ControllerHandle.
reading Device Path, and installing Console In Devcice GUID on ControllerHandle.
If this devcie is not one hot-plug devce, append its device path into the
console environment variables ConInDev.
@ -139,7 +139,7 @@ ConPlatformTextInDriverBindingStart (
/**
Start this driver on ControllerHandle by opening Simple Text Out protocol,
reading Device Path, and installing Console Devcice Out GUID, Standard Error
reading Device Path, and installing Console Out Devcice GUID, Standard Error
Device GUID on ControllerHandle.
If this devcie is not one hot-plug devce, append its device path into the
@ -164,7 +164,7 @@ ConPlatformTextOutDriverBindingStart (
);
/**
Stop this driver on ControllerHandle by removing Console Devcice In GUID
Stop this driver on ControllerHandle by removing Console In Devcice GUID
and closing the Simple Text In protocol on ControllerHandle.
@param This Protocol instance pointer.
@ -187,7 +187,7 @@ ConPlatformTextInDriverBindingStop (
);
/**
Stop this driver on ControllerHandle by removing Console Devcice Out GUID
Stop this driver on ControllerHandle by removing Console Out Devcice GUID
and closing the Simple Text Out protocol on ControllerHandle.
@param This Protocol instance pointer.

View File

@ -19,6 +19,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "GraphicsConsole.h"
/**
Gets Graphics Console devcie's foreground color and background color.
@param This Protocol instance pointer.
@param Foreground Returned text foreground color.
@param Background Returned text background color.
@retval EFI_SUCCESS It returned always.
**/
EFI_STATUS
GetTextColors (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
@ -26,6 +36,19 @@ GetTextColors (
OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background
);
/**
Draw Unicode string on the Graphice Console device's screen.
@param This Protocol instance pointer.
@param UnicodeWeight One Unicode string to be displayed.
@param Count The count of Unicode string.
@retval EFI_OUT_OF_RESOURCES If no memory resource to use.
@retval EFI_UNSUPPORTED If no Graphics Output protocol and UGA Draw
protocol exist.
@retval EFI_SUCCESS Drawing Unicode string implemented successfully.
**/
EFI_STATUS
DrawUnicodeWeightAtCursorN (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
@ -33,11 +56,38 @@ DrawUnicodeWeightAtCursorN (
IN UINTN Count
);
/**
Erase the cursor on the screen.
@param This Protocol instance pointer.
@retval EFI_SUCCESS The cursor is erased successfully.
**/
EFI_STATUS
EraseCursor (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
);
/**
Check if the current specific mode supported the user defined resolution
for the Graphice Console devcie based on Graphics Output Protocol.
If yes, set the graphic devcice's current mode to this specific mode.
@param GraphicsOutput Graphics Output Protocol instance pointer.
@param HorizontalResolution User defined horizontal resolution
@param VerticalResolution User defined vertical resolution.
@param CurrentModeNumber Current specific mode to be check.
@retval EFI_SUCCESS This driver is removed ControllerHandle.
@retval EFI_UNSUPPORTED The specific mode is out of range of graphics
devcie supported.
@retval other The specific mode does not support user defined
resolution or failed to set the current mode to the
specific mode on graphics device.
**/
EFI_STATUS
CheckModeSupported (
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
@ -130,6 +180,23 @@ EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding = {
NULL
};
/**
Test to see if Graphics Console could be supported on the ControllerHandle.
Graphics Console could be supported if Graphics Output Protocol or UGA Draw
Protocol exists on the ControllerHandle. (UGA Draw Protocol could be shipped
if PcdUgaConsumeSupport is set to FALSE.)
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to test.
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS This driver supports this device
@retval other This driver does not support this device
**/
EFI_STATUS
EFIAPI
GraphicsConsoleControllerDriverSupported (
@ -227,16 +294,17 @@ Error:
/**
Start the controller.
Start this driver on ControllerHandle by opening Graphics Output protocol or
UGA Draw protocol, and installing Simple Text Out protocol on ControllerHandle.
(UGA Draw protocol could be shkipped if PcdUgaConsumeSupport is set to FALSE.)
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL
instance.
@param Controller The handle of the controller to start.
@param RemainingDevicePath A pointer to the remaining portion of a devcie
path.
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to bind driver to
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS Return successfully.
@retval EFI_OUT_OF_RESOURCES Out of resources.
@retval EFI_SUCCESS This driver is added to ControllerHandle
@retval other This driver does not support this device
**/
EFI_STATUS
@ -562,6 +630,24 @@ Error:
return Status;
}
/**
Stop this driver on ControllerHandle by removing Simple Text Out protocol
and closing the Graphics Output Protocol or UGA Draw protocol on ControllerHandle.
(UGA Draw protocol could be shkipped if PcdUgaConsumeSupport is set to FALSE.)
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to stop driver on
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
children is zero stop the entire bus driver.
@param ChildHandleBuffer List of Child Handles to Stop.
@retval EFI_SUCCESS This driver is removed ControllerHandle.
@retval EFI_NOT_STARTED Simple Text Out protocol could not be found the
ControllerHandle.
@retval other This driver was not removed from this device.
**/
EFI_STATUS
EFIAPI
GraphicsConsoleControllerDriverStop (
@ -635,12 +721,31 @@ GraphicsConsoleControllerDriverStop (
return Status;
}
/**
Check if the current specific mode supported the user defined resolution
for the Graphice Console devcie based on Graphics Output Protocol.
If yes, set the graphic devcice's current mode to this specific mode.
@param GraphicsOutput Graphics Output Protocol instance pointer.
@param HorizontalResolution User defined horizontal resolution
@param VerticalResolution User defined vertical resolution.
@param CurrentModeNumber Current specific mode to be check.
@retval EFI_SUCCESS This driver is removed ControllerHandle.
@retval EFI_UNSUPPORTED The specific mode is out of range of graphics
devcie supported.
@retval other The specific mode does not support user defined
resolution or failed to set the current mode to the
specific mode on graphics device.
**/
EFI_STATUS
CheckModeSupported (
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
IN UINT32 HorizontalResolution,
IN UINT32 VerticalResolution,
OUT UINT32 *CurrentModeNumber
IN UINT32 HorizontalResolution,
IN UINT32 VerticalResolution,
OUT UINT32 *CurrentModeNumber
)
{
UINT32 ModeNumber;
@ -680,9 +785,12 @@ CheckModeSupported (
/**
Locate HII protocols for future usage.
Locate HII Database protocol and HII Font protocol.
@retval EFI_SUCCESS HII Database protocol and HII Font protocol
are located successfully.
@return other Failed to locate HII Database protocol or
HII Font protocol.
**/
EFI_STATUS
@ -734,20 +842,21 @@ EfiLocateHiiProtocol (
//
/**
Reset the text output device hardware and optionaly run diagnostics.
Implements SIMPLE_TEXT_OUTPUT.Reset().
If ExtendeVerification is TRUE, then perform dependent Graphics Console
device reset, and set display mode to mode 0.
If ExtendedVerification is FALSE, only set display mode to mode 0.
@param This Indicates the calling context.
@param This Protocol instance pointer.
@param ExtendedVerification Indicates that the driver may perform a more
exhaustive verification operation of the device
during reset.
@return EFI_SUCCESS
@return The reset operation succeeds.
@return EFI_DEVICE_ERROR
@return The Graphics Console is not functioning correctly
@retval EFI_SUCCESS The text output device was reset.
@retval EFI_DEVICE_ERROR The text output device is not functioning correctly and
could not be reset.
**/
EFI_STATUS
@ -763,21 +872,25 @@ GraphicsConsoleConOutReset (
/**
Write a Unicode string to the output device.
Implements SIMPLE_TEXT_OUTPUT.OutputString().
The Unicode string will be converted to Glyphs and will be
sent to the Graphics Console.
@param This Indicates the calling context.
@param WString The Null-terminated Unicode string to be displayed
on the Graphics Console.
@param This Protocol instance pointer.
@param WString The NULL-terminated Unicode string to be displayed
on the output device(s). All output devices must
also support the Unicode drawing defined in this file.
@return EFI_SUCCESS
@return The string is output successfully.
@return EFI_DEVICE_ERROR
@return The Graphics Console failed to send the string out.
@return EFI_WARN_UNKNOWN_GLYPH
@return Indicates that some of the characters in the Unicode string could not
@return be rendered and are skipped.
@retval EFI_SUCCESS The string was output to the device.
@retval EFI_DEVICE_ERROR The device reported an error while attempting to output
the text.
@retval EFI_UNSUPPORTED The output device's mode is not currently in a
defined text mode.
@retval EFI_WARN_UNKNOWN_GLYPH This warning code indicates that some of the
characters in the Unicode string could not be
rendered and were skipped.
**/
EFI_STATUS
@ -1055,21 +1168,23 @@ GraphicsConsoleConOutOutputString (
}
/**
Implements SIMPLE_TEXT_OUTPUT.TestString().
If one of the characters in the *Wstring is
neither valid valid Unicode drawing characters,
not ASCII code, then this function will return
EFI_UNSUPPORTED.
Verifies that all characters in a Unicode string can be output to the
target device.
@param This Indicates the calling context.
@param WString The Null-terminated Unicode string to be tested.
Implements SIMPLE_TEXT_OUTPUT.QueryMode().
If one of the characters in the *Wstring is neither valid valid Unicode
drawing characters, not ASCII code, then this function will return
EFI_UNSUPPORTED
@return EFI_SUCCESS
@return The Graphics Console is capable of rendering the output string.
@return EFI_UNSUPPORTED
@return Some of the characters in the Unicode string cannot be rendered.
@param This Protocol instance pointer.
@param WString The NULL-terminated Unicode string to be examined for the output
device(s).
@retval EFI_SUCCESS The device(s) are capable of rendering the output string.
@retval EFI_UNSUPPORTED Some of the characters in the Unicode string cannot be
rendered by one or more of the output devices mapped
by the EFI handle.
**/
EFI_STATUS
@ -1109,21 +1224,20 @@ GraphicsConsoleConOutTestString (
/**
Implements SIMPLE_TEXT_OUTPUT.QueryMode().
It returnes information for an available text mode
that the Graphics Console supports.
In this driver,we only support text mode 80x25, which is
defined as mode 0.
Returns information for an available text mode that the output device(s)
supports
@param This Indicates the calling context.
Implements SIMPLE_TEXT_OUTPUT.QueryMode().
It returnes information for an available text mode that the Graphics Console supports.
In this driver,we only support text mode 80x25, which is defined as mode 0.
@param This Protocol instance pointer.
@param ModeNumber The mode number to return information on.
@param Columns The returned columns of the requested mode.
@param Rows The returned rows of the requested mode.
@return EFI_SUCCESS
@return The requested mode information is returned.
@return EFI_UNSUPPORTED
@return The mode number is not valid.
@retval EFI_SUCCESS The requested mode information is returned.
@retval EFI_UNSUPPORTED The mode number is not valid.
**/
EFI_STATUS
@ -1164,19 +1278,18 @@ Done:
/**
Implements SIMPLE_TEXT_OUTPUT.SetMode().
Set the Graphics Console to a specified mode.
In this driver, we only support mode 0.
Sets the output device(s) to a specified mode.
@param This Indicates the calling context.
Implements SIMPLE_TEXT_OUTPUT.SetMode().
Set the Graphics Console to a specified mode. In this driver, we only support mode 0.
@param This Protocol instance pointer.
@param ModeNumber The text mode to set.
@return EFI_SUCCESS
@return The requested text mode is set.
@return EFI_DEVICE_ERROR
@return The requested text mode cannot be set because of Graphics Console device error.
@return EFI_UNSUPPORTED
@return The text mode number is not valid.
@retval EFI_SUCCESS The requested text mode is set.
@retval EFI_DEVICE_ERROR The requested text mode cannot be set because of
Graphics Console device error.
@retval EFI_UNSUPPORTED The text mode number is not valid.
**/
EFI_STATUS
@ -1360,15 +1473,19 @@ Done:
/**
Sets the background and foreground colors for the OutputString () and
ClearScreen () functions.
Implements SIMPLE_TEXT_OUTPUT.SetAttribute().
@param This Indicates the calling context.
@param Attribute The attribute to set. Only bit0..6 are valid, all
other bits are undefined and must be zero.
@param This Protocol instance pointer.
@param Attribute The attribute to set. Bits 0..3 are the foreground
color, and bits 4..6 are the background color.
All other bits are undefined and must be zero.
@return EFI_SUCCESS The requested attribute is set.
@return EFI_DEVICE_ERROR The requested attribute cannot be set due to Graphics Console port error.
@return EFI_UNSUPPORTED The attribute requested is not defined by EFI spec.
@retval EFI_SUCCESS The requested attribute is set.
@retval EFI_DEVICE_ERROR The requested attribute cannot be set due to Graphics Console port error.
@retval EFI_UNSUPPORTED The attribute requested is not defined.
**/
EFI_STATUS
@ -1403,18 +1520,16 @@ GraphicsConsoleConOutSetAttribute (
/**
Clears the output device(s) display to the currently selected background
color.
Implements SIMPLE_TEXT_OUTPUT.ClearScreen().
It clears the Graphics Console's display to the
currently selected background color.
@param This Indicates the calling context.
@param This Protocol instance pointer.
@return EFI_SUCCESS
@return The operation completed successfully.
@return EFI_DEVICE_ERROR
@return The Graphics Console cannot be cleared due to Graphics Console device error.
@return EFI_UNSUPPORTED
@return The Graphics Console is not in a valid text mode.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
@retval EFI_UNSUPPORTED The output device is not in a valid text mode.
**/
EFI_STATUS
@ -1482,19 +1597,22 @@ GraphicsConsoleConOutClearScreen (
/**
Sets the current coordinates of the cursor position.
Implements SIMPLE_TEXT_OUTPUT.SetCursorPosition().
@param This Indicates the calling context.
@param Column The row to set cursor to.
@param Row The column to set cursor to.
@param This Protocol instance pointer.
@param Column The position to set the cursor to. Must be greater than or
equal to zero and less than the number of columns and rows
by QueryMode ().
@param Row The position to set the cursor to. Must be greater than or
equal to zero and less than the number of columns and rows
by QueryMode ().
@return EFI_SUCCESS
@return The operation completed successfully.
@return EFI_DEVICE_ERROR
@return The request fails due to Graphics Console device error.
@return EFI_UNSUPPORTED
@return The Graphics Console is not in a valid text mode, or the cursor position
@return is invalid for current mode.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
@retval EFI_UNSUPPORTED The output device is not in a valid text mode, or the
cursor position is invalid for the current mode.
**/
EFI_STATUS
@ -1542,17 +1660,15 @@ Done:
/**
Implements SIMPLE_TEXT_OUTPUT.EnableCursor().
In this driver, the cursor cannot be hidden.
Makes the cursor visible or invisible.
@param This Indicates the calling context.
Implements SIMPLE_TEXT_OUTPUT.EnableCursor().
@param This Protocol instance pointer.
@param Visible If TRUE, the cursor is set to be visible, If FALSE,
the cursor is set to be invisible.
@return EFI_SUCCESS
@return The request is valid.
@return EFI_UNSUPPORTED
@return The Graphics Console does not support a hidden cursor.
@retval EFI_SUCCESS The operation completed successfully.
**/
EFI_STATUS
@ -1576,6 +1692,16 @@ GraphicsConsoleConOutEnableCursor (
return EFI_SUCCESS;
}
/**
Gets Graphics Console devcie's foreground color and background color.
@param This Protocol instance pointer.
@param Foreground Returned text foreground color.
@param Background Returned text background color.
@retval EFI_SUCCESS It returned always.
**/
EFI_STATUS
GetTextColors (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
@ -1593,11 +1719,24 @@ GetTextColors (
return EFI_SUCCESS;
}
/**
Draw Unicode string on the Graphice Console device's screen.
@param This Protocol instance pointer.
@param UnicodeWeight One Unicode string to be displayed.
@param Count The count of Unicode string.
@retval EFI_OUT_OF_RESOURCES If no memory resource to use.
@retval EFI_UNSUPPORTED If no Graphics Output protocol and UGA Draw
protocol exist.
@retval EFI_SUCCESS Drawing Unicode string implemented successfully.
**/
EFI_STATUS
DrawUnicodeWeightAtCursorN (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN CHAR16 *UnicodeWeight,
IN UINTN Count
IN CHAR16 *UnicodeWeight,
IN UINTN Count
)
{
EFI_STATUS Status;
@ -1712,7 +1851,14 @@ DrawUnicodeWeightAtCursorN (
return Status;
}
/**
Erase the cursor on the screen.
@param This Protocol instance pointer.
@retval EFI_SUCCESS The cursor is erased successfully.
**/
EFI_STATUS
EraseCursor (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
@ -1741,7 +1887,7 @@ EraseCursor (
UgaDraw = Private->UgaDraw;
//
// BUGBUG - we need to think about what to do with wide and narrow character deletions.
// In this driver, only narrow character was supported.
//
//
// Blt a character to the screen

View File

@ -220,9 +220,13 @@ typedef struct {
//
extern EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding;
//
// Prototypes
//
/**
Returns available Unicode glyphs narrow fonts(8*19 pixels) size.
@return Narrow foun size.
**/
UINTN
ReturnNarrowFontSize (
VOID
@ -253,21 +257,25 @@ GraphicsConsoleConOutReset (
);
/**
Write a Unicode string to the output device.
Implements SIMPLE_TEXT_OUTPUT.OutputString().
The Unicode string will be converted to Glyphs and will be
sent to the Graphics Console.
@param This Indicates the calling context.
@param WString The Null-terminated Unicode string to be displayed
on the Graphics Console.
@param This Protocol instance pointer.
@param WString The NULL-terminated Unicode string to be displayed
on the output device(s). All output devices must
also support the Unicode drawing defined in this file.
@return EFI_SUCCESS
@return The string is output successfully.
@return EFI_DEVICE_ERROR
@return The Graphics Console failed to send the string out.
@return EFI_WARN_UNKNOWN_GLYPH
@return Indicates that some of the characters in the Unicode string could not
@return be rendered and are skipped.
@retval EFI_SUCCESS The string was output to the device.
@retval EFI_DEVICE_ERROR The device reported an error while attempting to output
the text.
@retval EFI_UNSUPPORTED The output device's mode is not currently in a
defined text mode.
@retval EFI_WARN_UNKNOWN_GLYPH This warning code indicates that some of the
characters in the Unicode string could not be
rendered and were skipped.
**/
EFI_STATUS
@ -301,21 +309,20 @@ GraphicsConsoleConOutTestString (
);
/**
Implements SIMPLE_TEXT_OUTPUT.QueryMode().
It returnes information for an available text mode
that the Graphics Console supports.
In this driver,we only support text mode 80x25, which is
defined as mode 0.
Returns information for an available text mode that the output device(s)
supports
@param This Indicates the calling context.
Implements SIMPLE_TEXT_OUTPUT.QueryMode().
It returnes information for an available text mode that the Graphics Console supports.
In this driver,we only support text mode 80x25, which is defined as mode 0.
@param This Protocol instance pointer.
@param ModeNumber The mode number to return information on.
@param Columns The returned columns of the requested mode.
@param Rows The returned rows of the requested mode.
@return EFI_SUCCESS
@return The requested mode information is returned.
@return EFI_UNSUPPORTED
@return The mode number is not valid.
@retval EFI_SUCCESS The requested mode information is returned.
@retval EFI_UNSUPPORTED The mode number is not valid.
**/
EFI_STATUS
@ -327,20 +334,20 @@ GraphicsConsoleConOutQueryMode (
OUT UINTN *Rows
);
/**
Implements SIMPLE_TEXT_OUTPUT.SetMode().
Set the Graphics Console to a specified mode.
In this driver, we only support mode 0.
@param This Indicates the calling context.
/**
Sets the output device(s) to a specified mode.
Implements SIMPLE_TEXT_OUTPUT.SetMode().
Set the Graphics Console to a specified mode. In this driver, we only support mode 0.
@param This Protocol instance pointer.
@param ModeNumber The text mode to set.
@return EFI_SUCCESS
@return The requested text mode is set.
@return EFI_DEVICE_ERROR
@return The requested text mode cannot be set because of Graphics Console device error.
@return EFI_UNSUPPORTED
@return The text mode number is not valid.
@retval EFI_SUCCESS The requested text mode is set.
@retval EFI_DEVICE_ERROR The requested text mode cannot be set because of
Graphics Console device error.
@retval EFI_UNSUPPORTED The text mode number is not valid.
**/
EFI_STATUS
@ -370,18 +377,16 @@ GraphicsConsoleConOutSetAttribute (
);
/**
Clears the output device(s) display to the currently selected background
color.
Implements SIMPLE_TEXT_OUTPUT.ClearScreen().
It clears the Graphics Console's display to the
currently selected background color.
@param This Indicates the calling context.
@param This Protocol instance pointer.
@return EFI_SUCCESS
@return The operation completed successfully.
@return EFI_DEVICE_ERROR
@return The Graphics Console cannot be cleared due to Graphics Console device error.
@return EFI_UNSUPPORTED
@return The Graphics Console is not in a valid text mode.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
@retval EFI_UNSUPPORTED The output device is not in a valid text mode.
**/
EFI_STATUS
@ -414,18 +419,17 @@ GraphicsConsoleConOutSetCursorPosition (
IN UINTN Row
);
/**
Implements SIMPLE_TEXT_OUTPUT.EnableCursor().
In this driver, the cursor cannot be hidden.
@param This Indicates the calling context.
/**
Makes the cursor visible or invisible.
Implements SIMPLE_TEXT_OUTPUT.EnableCursor().
@param This Protocol instance pointer.
@param Visible If TRUE, the cursor is set to be visible, If FALSE,
the cursor is set to be invisible.
@return EFI_SUCCESS
@return The request is valid.
@return EFI_UNSUPPORTED
@return The Graphics Console does not support a hidden cursor.
@retval EFI_SUCCESS The operation completed successfully.
**/
EFI_STATUS
@ -435,6 +439,22 @@ GraphicsConsoleConOutEnableCursor (
IN BOOLEAN Visible
);
/**
Test to see if Graphics Console could be supported on the ControllerHandle.
Graphics Console could be supported if Graphics Output Protocol or UGA Draw
Protocol exists on the ControllerHandle. (UGA Draw Protocol could be shipped
if PcdUgaConsumeSupport is set to FALSE.)
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to test.
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS This driver supports this device
@retval other This driver does not support this device
**/
EFI_STATUS
EFIAPI
GraphicsConsoleControllerDriverSupported (
@ -443,6 +463,20 @@ GraphicsConsoleControllerDriverSupported (
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
);
/**
Start this driver on ControllerHandle by opening Graphics Output protocol or
UGA Draw protocol, and installing Simple Text Out protocol on ControllerHandle.
(UGA Draw protocol could be shkipped if PcdUgaConsumeSupport is set to FALSE.)
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to bind driver to
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS This driver is added to ControllerHandle
@retval other This driver does not support this device
**/
EFI_STATUS
EFIAPI
GraphicsConsoleControllerDriverStart (
@ -451,6 +485,24 @@ GraphicsConsoleControllerDriverStart (
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
);
/**
Stop this driver on ControllerHandle by removing Simple Text Out protocol
and closing the Graphics Output Protocol or UGA Draw protocol on ControllerHandle.
(UGA Draw protocol could be shkipped if PcdUgaConsumeSupport is set to FALSE.)
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to stop driver on
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
children is zero stop the entire bus driver.
@param ChildHandleBuffer List of Child Handles to Stop.
@retval EFI_SUCCESS This driver is removed ControllerHandle.
@retval EFI_NOT_STARTED Simple Text Out protocol could not be found the
ControllerHandle.
@retval other This driver was not removed from this device.
**/
EFI_STATUS
EFIAPI
GraphicsConsoleControllerDriverStop (
@ -461,6 +513,15 @@ GraphicsConsoleControllerDriverStop (
);
/**
Locate HII Database protocol and HII Font protocol.
@retval EFI_SUCCESS HII Database protocol and HII Font protocol
are located successfully.
@return other Failed to locate HII Database protocol or
HII Font protocol.
**/
EFI_STATUS
EfiLocateHiiProtocol (
VOID

View File

@ -270,6 +270,12 @@ EFI_NARROW_GLYPH UsStdNarrowGlyphData[] = {
{ 0x0000, 0x00, {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} //EOL
};
/**
Returns available Unicode glyphs narrow fonts(8*19 pixels) size.
@return Narrow foun size.
**/
UINTN
ReturnNarrowFontSize (
VOID