-/*++\r
+/** @file\r
+ Graphics Library\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
+ Copyright (c) 2006 - 2008, Intel Corporation.<BR>\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
- \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
#ifndef __EFI_GRAPHICS_LIB_H__\r
#define __EFI_GRAPHICS_LIB_H__\r
\r
#include <Protocol/GraphicsOutput.h>\r
\r
+\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
+ @param[in] FileNameGuid File Name of graphics file in the FV(s).\r
+ @param[out] Image Pointer to pointer to return graphics image. If NULL, a \r
+ buffer will be allocated.\r
+ @param[out] ImageSize Size of the graphics Image in bytes. Zero if no image found.\r
+\r
+ @retval EFI_INVALID_PARAMETER invalid parameter\r
+ @retval EFI_UNSUPPORTED Range can not be erased\r
+ @retval EFI_SUCCESS Image and ImageSize are valid. \r
+ @retval EFI_BUFFER_TOO_SMALL Image not big enough. ImageSize has required size\r
+ @retval EFI_NOT_FOUND FileNameGuid not found\r
+\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
GetGraphicsBitMapFromFV (\r
IN EFI_GUID *FileNameGuid,\r
OUT VOID **Image,\r
OUT UINTN *ImageSize\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+ );\r
\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
+ @param[in] ImageHandle The driver image handle of the caller. The parameter is used to\r
+ optimize the loading of the image file so that the FV from which\r
+ the driver image is loaded will be tried first. \r
+ @param[in] FileNameGuid File Name of graphics file in the FV(s).\r
+ @param[out] Image Pointer to pointer to return graphics image. If NULL, a \r
+ buffer will be allocated.\r
+ @param[out] ImageSize Size of the graphics Image in bytes. Zero if no image found.\r
+\r
+ @retval EFI_INVALID_PARAMETER invalid parameter\r
+ @retval EFI_UNSUPPORTED Range can not be erased\r
+ @retval EFI_SUCCESS Image and ImageSize are valid. \r
+ @retval EFI_BUFFER_TOO_SMALL Image not big enough. ImageSize has required size\r
+ @retval EFI_NOT_FOUND FileNameGuid not found\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+GetGraphicsBitMapFromFVEx (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_GUID *FileNameGuid,\r
+ OUT VOID **Image,\r
+ OUT UINTN *ImageSize\r
+ );\r
\r
---*/\r
-;\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
+ @param[in] BmpImage Pointer to BMP file\r
+ @param[in] BmpImageSize Number of bytes in BmpImage\r
+ @param[in out] UgaBlt Buffer containing UGA version of BmpImage.\r
+ @param[in out] UgaBltSize Size of UgaBlt in bytes.\r
+ @param[out] PixelHeight Height of UgaBlt/BmpImage in pixels\r
+ @param[out] PixelWidth Width of UgaBlt/BmpImage in pixels\r
+\r
+ @retval EFI_SUCCESS UgaBlt and UgaBltSize are returned. \r
+ @retval EFI_UNSUPPORTED BmpImage is not a valid *.BMP image\r
+ @retval EFI_BUFFER_TOO_SMALL The passed in UgaBlt buffer is not big enough.\r
+ UgaBltSize will contain the required size.\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
ConvertBmpToUgaBlt (\r
IN VOID *BmpImage,\r
IN UINTN BmpImageSize,\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
\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
+ 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
- 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
+ @param[in] LogoFile File name of logo to display on the center of the screen.\r
\r
---*/\r
-;\r
+ @retval EFI_SUCCESS ConsoleControl has been flipped to graphics and logo displayed.\r
+ @retval EFI_UNSUPPORTED Logo not found\r
\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
EnableQuietBoot (\r
IN EFI_GUID *LogoFile\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+ );\r
\r
- Use Console Control to turn off UGA based Simple Text Out consoles from going\r
+/**\r
+ Use Console Control to turn off GOP/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
+ @param LogoFile File name of logo to display on the center of the screen.\r
+ @param ImageHandle The driver image handle of the caller. The parameter is used to\r
+ optimize the loading of the logo file so that the FV from which\r
+ the driver image is loaded will be tried first.\r
\r
- LogoFile - File name of logo to display on the center of the screen.\r
+ @retval EFI_SUCCESS ConsoleControl has been flipped to graphics and logo displayed.\r
+ @retval EFI_UNSUPPORTED Logo not found\r
\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EnableQuietBootEx (\r
+ IN EFI_GUID *LogoFile,\r
+ IN EFI_HANDLE ImageHandle\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
+ 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
---*/\r
-;\r
+ @retval EFI_SUCCESS UGA devices are back in text mode and synced up.\r
\r
+**/\r
EFI_STATUS\r
+EFIAPI\r
DisableQuietBoot (\r
VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+ );\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
+ 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
- EFI_SUCCESS - UGA devices are back in text mode and synced up.\r
- EFI_UNSUPPORTED - Logo not found\r
+ @param[in] Password Password used to lock ConIn device.\r
\r
---*/\r
-;\r
+ @retval EFI_SUCCESS ConsoleControl has been flipped to graphics and logo\r
+ displayed.\r
+ @retval EFI_UNSUPPORTED Password not found\r
\r
+**/\r
EFI_STATUS\r
+EFIAPI\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
\r
-Returns: \r
+/**\r
+ Print to graphics screen at the given X,Y coordinates of the graphics screen.\r
+ see definition of Print to find rules for constructing Fmt.\r
\r
- EFI_SUCCESS - ConsoleControl has been flipped to graphics and logo\r
- displayed.\r
- EFI_UNSUPPORTED - Logo not found\r
+ @param[in] X Row to start printing at\r
+ @param[in] Y Column to start printing at\r
+ @param[in] ForeGround Foreground color\r
+ @param[in] BackGround background color\r
+ @param[in] Fmt Print format sting. See definition of Print\r
+ @param[in] ... Argumnet stream defined by Fmt string\r
\r
---*/\r
-;\r
+ @return Number of Characters printed.\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 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
\r
#endif\r