add in GraphicsLib
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Jun 2007 07:52:09 +0000 (07:52 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Jun 2007 07:52:09 +0000 (07:52 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2898 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Include/Library/GraphicsLib.h [new file with mode: 0644]

diff --git a/IntelFrameworkModulePkg/Include/Library/GraphicsLib.h b/IntelFrameworkModulePkg/Include/Library/GraphicsLib.h
new file mode 100644 (file)
index 0000000..30b2a7c
--- /dev/null
@@ -0,0 +1,185 @@
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation                                                         \r
+All rights reserved. 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
+Module Name:\r
+\r
+  GraphicsLib.h\r
+\r
+Abstract:\r
+\r
\r
+--*/\r
+\r
+#ifndef _EFI_GRAPHICS_LIB_H_\r
+#define _EFI_GRAPHICS_LIB_H_\r
+\r
+EFI_STATUS\r
+GetGraphicsBitMapFromFV (\r
+  IN  EFI_GUID      *FileNameGuid,\r
+  OUT VOID          **Image,\r
+  OUT UINTN         *ImageSize\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Return the graphics image file named FileNameGuid into Image and return it's\r
+  size in ImageSize. All Firmware Volumes (FV) in the system are searched for the\r
+  file name.\r
+\r
+Arguments:\r
+\r
+  FileNameGuid  - File Name of graphics file in the FV(s).\r
+\r
+  Image         - Pointer to pointer to return graphics image.  If NULL, a \r
+                  buffer will be allocated.\r
+\r
+  ImageSize     - Size of the graphics Image in bytes. Zero if no image found.\r
+\r
+\r
+Returns: \r
+\r
+  EFI_SUCCESS          - Image and ImageSize are valid. \r
+  EFI_BUFFER_TOO_SMALL - Image not big enough. ImageSize has required size\r
+  EFI_NOT_FOUND        - FileNameGuid not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+ConvertBmpToUgaBlt (\r
+  IN  VOID      *BmpImage,\r
+  IN  UINTN     BmpImageSize,\r
+  IN OUT VOID   **UgaBlt,\r
+  IN OUT UINTN  *UgaBltSize,\r
+  OUT UINTN     *PixelHeight,\r
+  OUT UINTN     *PixelWidth\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Convert a *.BMP graphics image to a UGA blt buffer. If a NULL UgaBlt buffer\r
+  is passed in a UgaBlt buffer will be allocated by this routine. If a UgaBlt\r
+  buffer is passed in it will be used if it is big enough.\r
+\r
+Arguments:\r
+\r
+  BmpImage      - Pointer to BMP file\r
+\r
+  BmpImageSize  - Number of bytes in BmpImage\r
+\r
+  UgaBlt        - Buffer containing UGA version of BmpImage.\r
+\r
+  UgaBltSize    - Size of UgaBlt in bytes.\r
+\r
+  PixelHeight   - Height of UgaBlt/BmpImage in pixels\r
+\r
+  PixelWidth    - Width of UgaBlt/BmpImage in pixels\r
+\r
+\r
+Returns: \r
+\r
+  EFI_SUCCESS           - UgaBlt and UgaBltSize are returned. \r
+  EFI_UNSUPPORTED       - BmpImage is not a valid *.BMP image\r
+  EFI_BUFFER_TOO_SMALL  - The passed in UgaBlt buffer is not big enough.\r
+                          UgaBltSize will contain the required size.\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EnableQuietBoot (\r
+  IN  EFI_GUID  *LogoFile\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Use Console Control to turn off UGA based Simple Text Out consoles from going\r
+  to the UGA device. Put up LogoFile on every UGA device that is a console\r
+\r
+Arguments:\r
+\r
+  LogoFile - File name of logo to display on the center of the screen.\r
+\r
+\r
+Returns: \r
+\r
+  EFI_SUCCESS           - ConsoleControl has been flipped to graphics and logo\r
+                          displayed.\r
+  EFI_UNSUPPORTED       - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+DisableQuietBoot (\r
+  VOID\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Use Console Control to turn on UGA based Simple Text Out consoles. The UGA \r
+  Simple Text Out screens will now be synced up with all non UGA output devices\r
+\r
+Arguments:\r
+\r
+  NONE\r
+\r
+Returns: \r
+\r
+  EFI_SUCCESS           - UGA devices are back in text mode and synced up.\r
+  EFI_UNSUPPORTED       - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+LockKeyboards (\r
+  IN  CHAR16    *Password\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Use Console Control Protocol to lock the Console In Spliter virtual handle. \r
+  This is the ConInHandle and ConIn handle in the EFI system table. All key\r
+  presses will be ignored until the Password is typed in. The only way to\r
+  disable the password is to type it in to a ConIn device.\r
+\r
+Arguments:\r
+  Password - Password used to lock ConIn device\r
+\r
+\r
+Returns: \r
+\r
+  EFI_SUCCESS     - ConsoleControl has been flipped to graphics and logo\r
+                    displayed.\r
+  EFI_UNSUPPORTED - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+UINTN\r
+EFIAPI\r
+PrintXY (\r
+  IN UINTN                            X,\r
+  IN UINTN                            Y,\r
+  IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL    *Foreground, OPTIONAL\r
+  IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL    *Background, OPTIONAL\r
+  IN CHAR16                           *Fmt,\r
+  ...\r
+  )\r
+;\r
+\r
+\r
+#endif\r