13 { 0x00, 0x00, 0x00, 0x00 },
14 { 0x98, 0x00, 0x00, 0x00 },
15 { 0x00, 0x98, 0x00, 0x00 },
16 { 0x98, 0x98, 0x00, 0x00 },
17 { 0x00, 0x00, 0x98, 0x00 },
18 { 0x98, 0x00, 0x98, 0x00 },
19 { 0x00, 0x98, 0x98, 0x00 },
20 { 0x98, 0x98, 0x98, 0x00 },
21 { 0x10, 0x10, 0x10, 0x00 },
22 { 0xff, 0x10, 0x10, 0x00 },
23 { 0x10, 0xff, 0x10, 0x00 },
24 { 0xff, 0xff, 0x10, 0x00 },
25 { 0x10, 0x10, 0xff, 0x00 },
26 { 0xf0, 0x10, 0xff, 0x00 },
27 { 0x10, 0xff, 0xff, 0x00 },
28 { 0xff, 0xff, 0xff, 0x00 }
61 ASSERT (Format !=
NULL);
62 ASSERT (((
UINTN)Format & BIT0) == 0);
63 ASSERT (Console !=
NULL);
65 BufferSize = (
PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) *
sizeof (CHAR16);
70 ASSERT (Buffer !=
NULL);
76 if ((Console !=
NULL) && (Return > 0)) {
80 Status = Console->OutputString (Console, Buffer);
81 if (EFI_ERROR (Status)) {
200 ASSERT (Format !=
NULL);
201 ASSERT (Console !=
NULL);
203 BufferSize = (
PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) *
sizeof (CHAR16);
207 if (Buffer ==
NULL) {
208 ASSERT (Buffer !=
NULL);
214 if (Console !=
NULL) {
218 Status = Console->OutputString (Console, Buffer);
219 if (EFI_ERROR (Status)) {
258 ASSERT (Format !=
NULL);
298 ASSERT (Format !=
NULL);
353 UINT32 HorizontalResolution;
354 UINT32 VerticalResolution;
361 UINTN RowInfoArraySize;
370 HorizontalResolution = 0;
371 VerticalResolution = 0;
377 ASSERT (ConsoleHandle !=
NULL);
379 Status =
gBS->HandleProtocol (
381 &gEfiGraphicsOutputProtocolGuid,
382 (VOID **)&GraphicsOutput
386 if (EFI_ERROR (Status) &&
FeaturePcdGet (PcdUgaConsumeSupport)) {
390 GraphicsOutput =
NULL;
392 Status =
gBS->HandleProtocol (
394 &gEfiUgaDrawProtocolGuid,
399 if (EFI_ERROR (Status)) {
403 Status =
gBS->HandleProtocol (
405 &gEfiSimpleTextOutProtocolGuid,
409 if (EFI_ERROR (Status)) {
413 if (GraphicsOutput !=
NULL) {
417 UgaDraw->GetMode (UgaDraw, &HorizontalResolution, &VerticalResolution, &ColorDepth, &RefreshRate);
422 ASSERT ((HorizontalResolution != 0) && (VerticalResolution != 0));
424 Status =
gBS->LocateProtocol (&gEfiHiiFontProtocolGuid,
NULL, (VOID **)&HiiFont);
425 if (EFI_ERROR (Status)) {
432 ASSERT (Blt !=
NULL);
436 Blt->Width = (UINT16)(HorizontalResolution);
437 Blt->Height = (UINT16)(VerticalResolution);
441 if (Foreground !=
NULL) {
445 &FontInfo.ForegroundColor,
451 if (Background !=
NULL) {
455 &FontInfo.BackgroundColor,
461 if (GraphicsOutput !=
NULL) {
462 Blt->Image.Screen = GraphicsOutput;
464 Status = HiiFont->StringToImage (
466 EFI_HII_IGNORE_IF_NO_GLYPH | EFI_HII_OUT_FLAG_CLIP |
467 EFI_HII_OUT_FLAG_CLIP_CLEAN_X | EFI_HII_OUT_FLAG_CLIP_CLEAN_Y |
468 EFI_HII_IGNORE_LINE_BREAK | EFI_HII_DIRECT_TO_SCREEN,
478 if (EFI_ERROR (Status)) {
482 ASSERT (UgaDraw !=
NULL);
492 ASSERT (Blt->Image.Bitmap !=
NULL);
498 Status = HiiFont->StringToImage (
500 EFI_HII_IGNORE_IF_NO_GLYPH | EFI_HII_OUT_FLAG_CLIP |
501 EFI_HII_OUT_FLAG_CLIP_CLEAN_X | EFI_HII_OUT_FLAG_CLIP_CLEAN_Y |
502 EFI_HII_IGNORE_LINE_BREAK,
513 if (!EFI_ERROR (Status)) {
514 ASSERT (RowInfoArray !=
NULL);
519 ASSERT (RowInfoArraySize <= 1);
521 if (RowInfoArraySize != 0) {
531 Status = UgaDraw->Blt (
555 if (RowInfoArraySize != 0) {
632 ASSERT (Format !=
NULL);
633 ASSERT (((
UINTN)Format & BIT0) == 0);
637 BufferSize = (
PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) *
sizeof (CHAR16);
641 if (Buffer ==
NULL) {
642 ASSERT (Buffer !=
NULL);
715 ASSERT (Format !=
NULL);
719 BufferSize = (
PcdGet32 (PcdUefiLibMaxPrintBufferSize) + 1) *
sizeof (CHAR16);
723 if (Buffer ==
NULL) {
724 ASSERT (Buffer !=
NULL);
763 IN CHAR16 *String OPTIONAL,
768 UINTN CharactersRequired;
770 CHAR16 *BufferToReturn;
774 CharactersRequired =
SPrintLength (FormatString, ExtraMarker);
777 if (String !=
NULL) {
778 SizeRequired =
StrSize (String) + (CharactersRequired *
sizeof (CHAR16));
780 SizeRequired =
sizeof (CHAR16) + (CharactersRequired *
sizeof (CHAR16));
785 if (BufferToReturn ==
NULL) {
788 BufferToReturn[0] = L
'\0';
791 if (String !=
NULL) {
792 StrCpyS (BufferToReturn, SizeRequired /
sizeof (CHAR16), String);
795 UnicodeVSPrint (BufferToReturn +
StrLen (BufferToReturn), (CharactersRequired+1) *
sizeof (CHAR16), FormatString, Marker);
797 ASSERT (
StrSize (BufferToReturn) == SizeRequired);
799 return (BufferToReturn);
828 IN CHAR16 *String OPTIONAL,
UINTN EFIAPI StrSize(IN CONST CHAR16 *String)
RETURN_STATUS EFIAPI StrCpyS(OUT CHAR16 *Destination, IN UINTN DestMax, IN CONST CHAR16 *Source)
UINT64 EFIAPI DivU64x32(IN UINT64 Dividend, IN UINT32 Divisor)
UINTN EFIAPI StrLen(IN CONST CHAR16 *String)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
VOID *EFIAPI ZeroMem(OUT VOID *Buffer, IN UINTN Length)
VOID *EFIAPI AllocateZeroPool(IN UINTN AllocationSize)
VOID EFIAPI FreePool(IN VOID *Buffer)
UINTN EFIAPI UnicodeVSPrint(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR16 *FormatString, IN VA_LIST Marker)
UINTN EFIAPI UnicodeVSPrintAsciiFormat(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString, IN VA_LIST Marker)
UINTN EFIAPI UnicodeSPrintAsciiFormat(OUT CHAR16 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
UINTN EFIAPI SPrintLength(IN CONST CHAR16 *FormatString, IN VA_LIST Marker)
#define VA_START(Marker, Parameter)
#define VA_COPY(Dest, Start)
#define GLOBAL_REMOVE_IF_UNREFERENCED
#define PcdGet32(TokenName)
#define FeaturePcdGet(TokenName)
VOID *EFIAPI AllocatePool(IN UINTN AllocationSize)
EFI_STRING_ID NewString(IN CHAR16 *String, IN EFI_HII_HANDLE HiiHandle)
UINTN AsciiInternalPrint(IN CONST CHAR8 *Format, IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *Console, IN VA_LIST Marker)
UINTN EFIAPI PrintXY(IN UINTN PointX, IN UINTN PointY, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *ForeGround OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BackGround OPTIONAL, IN CONST CHAR16 *Format,...)
CHAR16 *EFIAPI CatVSPrint(IN CHAR16 *String OPTIONAL, IN CONST CHAR16 *FormatString, IN VA_LIST Marker)
UINTN EFIAPI AsciiErrorPrint(IN CONST CHAR8 *Format,...)
UINTN EFIAPI AsciiPrint(IN CONST CHAR8 *Format,...)
UINTN InternalPrintGraphic(IN UINTN PointX, IN UINTN PointY, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Foreground, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background, IN CHAR16 *Buffer, IN UINTN PrintNum)
UINTN EFIAPI ErrorPrint(IN CONST CHAR16 *Format,...)
CHAR16 *EFIAPI CatSPrint(IN CHAR16 *String OPTIONAL, IN CONST CHAR16 *FormatString,...)
UINTN InternalPrint(IN CONST CHAR16 *Format, IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *Console, IN VA_LIST Marker)
UINTN EFIAPI Print(IN CONST CHAR16 *Format,...)
UINTN EFIAPI AsciiPrintXY(IN UINTN PointX, IN UINTN PointY, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *ForeGround OPTIONAL, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BackGround OPTIONAL, IN CONST CHAR8 *Format,...)
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE * Mode
UINTN LineHeight
The height of the line, in pixels.
UINTN LineWidth
The width of the text on the line, in pixels.
EFI_SIMPLE_TEXT_OUTPUT_MODE * Mode
UINT32 VerticalResolution
UINT32 HorizontalResolution
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION * Info
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * StdErr
EFI_HANDLE ConsoleOutHandle
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL * ConOut