]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/Print.c
Refine the code logic for browser and display engine.
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / Print.c
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Print.c b/MdeModulePkg/Universal/SetupBrowserDxe/Print.c
deleted file mode 100644 (file)
index eeadf24..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-/** @file\r
-Basic Ascii AvSPrintf() function named VSPrint(). VSPrint() enables very\r
-simple implemenation of SPrint() and Print() to support debug.\r
-\r
-You can not Print more than EFI_DRIVER_LIB_MAX_PRINT_BUFFER characters at a\r
-time. This makes the implementation very simple.\r
-\r
-VSPrint, Print, SPrint format specification has the follwoing form\r
-\r
-%type\r
-\r
-type:\r
-  'S','s' - argument is an Unicode string\r
-  'c' - argument is an ascii character\r
-  '%' - Print a %\r
-\r
-\r
-Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "Setup.h"\r
-\r
-/**\r
-  The internal function prints to the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
-  protocol instance.\r
-\r
-  @param Column          The position of the output string.\r
-  @param Row             The position of the output string.\r
-  @param Out             The EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL instance.\r
-  @param Fmt             The format string.\r
-  @param Args            The additional argument for the variables in the format string.\r
-\r
-  @return Number of Unicode character printed.\r
-\r
-**/\r
-UINTN\r
-PrintInternal (\r
-  IN UINTN                            Column,\r
-  IN UINTN                            Row,\r
-  IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *Out,\r
-  IN CHAR16                           *Fmt,\r
-  IN VA_LIST                          Args\r
-  )\r
-{\r
-  CHAR16  *Buffer;\r
-  CHAR16  *BackupBuffer;\r
-  UINTN   Index;\r
-  UINTN   PreviousIndex;\r
-  UINTN   Count;\r
-\r
-  //\r
-  // For now, allocate an arbitrarily long buffer\r
-  //\r
-  Buffer        = AllocateZeroPool (0x10000);\r
-  BackupBuffer  = AllocateZeroPool (0x10000);\r
-  ASSERT (Buffer);\r
-  ASSERT (BackupBuffer);\r
-\r
-  if (Column != (UINTN) -1) {\r
-    Out->SetCursorPosition (Out, Column, Row);\r
-  }\r
-\r
-  UnicodeVSPrint (Buffer, 0x10000, Fmt, Args);\r
-\r
-  Out->Mode->Attribute = Out->Mode->Attribute & 0x7f;\r
-\r
-  Out->SetAttribute (Out, Out->Mode->Attribute);\r
-\r
-  Index         = 0;\r
-  PreviousIndex = 0;\r
-  Count         = 0;\r
-\r
-  do {\r
-    for (; (Buffer[Index] != NARROW_CHAR) && (Buffer[Index] != WIDE_CHAR) && (Buffer[Index] != 0); Index++) {\r
-      BackupBuffer[Index] = Buffer[Index];\r
-    }\r
-\r
-    if (Buffer[Index] == 0) {\r
-      break;\r
-    }\r
-    //\r
-    // Null-terminate the temporary string\r
-    //\r
-    BackupBuffer[Index] = 0;\r
-\r
-    //\r
-    // Print this out, we are about to switch widths\r
-    //\r
-    Out->OutputString (Out, &BackupBuffer[PreviousIndex]);\r
-    Count += StrLen (&BackupBuffer[PreviousIndex]);\r
-\r
-    //\r
-    // Preserve the current index + 1, since this is where we will start printing from next\r
-    //\r
-    PreviousIndex = Index + 1;\r
-\r
-    //\r
-    // We are at a narrow or wide character directive.  Set attributes and strip it and print it\r
-    //\r
-    if (Buffer[Index] == NARROW_CHAR) {\r
-      //\r
-      // Preserve bits 0 - 6 and zero out the rest\r
-      //\r
-      Out->Mode->Attribute = Out->Mode->Attribute & 0x7f;\r
-      Out->SetAttribute (Out, Out->Mode->Attribute);\r
-    } else {\r
-      //\r
-      // Must be wide, set bit 7 ON\r
-      //\r
-      Out->Mode->Attribute = Out->Mode->Attribute | EFI_WIDE_ATTRIBUTE;\r
-      Out->SetAttribute (Out, Out->Mode->Attribute);\r
-    }\r
-\r
-    Index++;\r
-\r
-  } while (Buffer[Index] != 0);\r
-\r
-  //\r
-  // We hit the end of the string - print it\r
-  //\r
-  Out->OutputString (Out, &BackupBuffer[PreviousIndex]);\r
-  Count += StrLen (&BackupBuffer[PreviousIndex]);\r
-\r
-  FreePool (Buffer);\r
-  FreePool (BackupBuffer);\r
-  return Count;\r
-}\r
-\r
-\r
-/**\r
-  Prints a formatted unicode string to the default console.\r
-\r
-  @param  Fmt        Format string\r
-  @param  ...        Variable argument list for format string.\r
-\r
-  @return Length of string printed to the console.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-ConsolePrint (\r
-  IN CHAR16   *Fmt,\r
-  ...\r
-  )\r
-{\r
-  VA_LIST Args;\r
-  UINTN   LengthOfPrinted;\r
-\r
-  VA_START (Args, Fmt);\r
-  LengthOfPrinted = PrintInternal ((UINTN) -1, (UINTN) -1, gST->ConOut, Fmt, Args);\r
-  VA_END (Args);\r
-  return LengthOfPrinted;\r
-}\r
-\r
-\r
-/**\r
-  Prints a unicode string to the default console,\r
-  using L"%s" format.\r
-\r
-  @param  String     String pointer.\r
-\r
-  @return Length of string printed to the console\r
-\r
-**/\r
-UINTN\r
-PrintString (\r
-  IN CHAR16       *String\r
-  )\r
-{\r
-  return ConsolePrint (L"%s", String);\r
-}\r
-\r
-\r
-/**\r
-  Prints a chracter to the default console,\r
-  using L"%c" format.\r
-\r
-  @param  Character  Character to print.\r
-\r
-  @return Length of string printed to the console.\r
-\r
-**/\r
-UINTN\r
-PrintChar (\r
-  CHAR16       Character\r
-  )\r
-{\r
-  return ConsolePrint (L"%c", Character);\r
-}\r
-\r
-\r
-/**\r
-  Prints a formatted unicode string to the default console, at\r
-  the supplied cursor position.\r
-\r
-  @param  Column     The cursor position to print the string at.\r
-  @param  Row        The cursor position to print the string at.\r
-  @param  Fmt        Format string.\r
-  @param  ...        Variable argument list for format string.\r
-\r
-  @return Length of string printed to the console\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-PrintAt (\r
-  IN UINTN     Column,\r
-  IN UINTN     Row,\r
-  IN CHAR16    *Fmt,\r
-  ...\r
-  )\r
-{\r
-  VA_LIST Args;\r
-  UINTN   LengthOfPrinted;\r
-\r
-  VA_START (Args, Fmt);\r
-  LengthOfPrinted = PrintInternal (Column, Row, gST->ConOut, Fmt, Args);\r
-  VA_END (Args);\r
-  return LengthOfPrinted;\r
-}\r
-\r
-\r
-/**\r
-  Prints a unicode string to the default console, at\r
-  the supplied cursor position, using L"%s" format.\r
-\r
-  @param  Column     The cursor position to print the string at.\r
-  @param  Row        The cursor position to print the string at\r
-  @param  String     String pointer.\r
-\r
-  @return Length of string printed to the console\r
-\r
-**/\r
-UINTN\r
-PrintStringAt (\r
-  IN UINTN     Column,\r
-  IN UINTN     Row,\r
-  IN CHAR16    *String\r
-  )\r
-{\r
-  return PrintAt (Column, Row, L"%s", String);\r
-}\r
-\r
-\r
-/**\r
-  Prints a chracter to the default console, at\r
-  the supplied cursor position, using L"%c" format.\r
-\r
-  @param  Column     The cursor position to print the string at.\r
-  @param  Row        The cursor position to print the string at.\r
-  @param  Character  Character to print.\r
-\r
-  @return Length of string printed to the console.\r
-\r
-**/\r
-UINTN\r
-PrintCharAt (\r
-  IN UINTN     Column,\r
-  IN UINTN     Row,\r
-  CHAR16       Character\r
-  )\r
-{\r
-  return PrintAt (Column, Row, L"%c", Character);\r
-}\r