MdeModulePkg: Add BootLogoLib to provide interfaces about logo display.
[mirror_edk2.git] / MdeModulePkg / Include / Library / BootLogoLib.h
1 /** @file
2 This library is only intended to be used by PlatformBootManagerLib
3 to show progress bar and LOGO.
4
5 Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _BOOT_LOGO_LIB_H_
17 #define _BOOT_LOGO_LIB_H_
18
19 #include <Protocol/PlatformLogo.h>
20
21 /**
22 Show LOGO on all consoles.
23
24 @param[in] ImageFormat Format of the image file.
25 @param[in] LogoFile The file name of logo to display.
26 @param[in] Attribute The display attributes of the image returned.
27 @param[in] CoordinateX The X coordinate of the image.
28 @param[in] CoordinateY The Y coordinate of the image.
29
30 @retval EFI_SUCCESS Logo was displayed.
31 @retval EFI_UNSUPPORTED Logo was not found or cannot be displayed.
32 **/
33 EFI_STATUS
34 EFIAPI
35 BootLogoEnableLogo (
36 IN IMAGE_FORMAT ImageFormat,
37 IN EFI_GUID *Logo,
38 IN EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute,
39 IN UINTN CoordinateX,
40 IN UINTN CoordinateY
41 );
42
43
44 /**
45 Use SystemTable ConOut to turn on video based Simple Text Out consoles. The
46 Simple Text Out screens will now be synced up with all non-video output devices.
47
48 @retval EFI_SUCCESS UGA devices are back in text mode and synced up.
49
50 **/
51 EFI_STATUS
52 EFIAPI
53 BootLogoDisableLogo (
54 VOID
55 );
56
57 /**
58
59 Update progress bar with title above it. It only works in Graphics mode.
60
61 @param TitleForeground Foreground color for Title.
62 @param TitleBackground Background color for Title.
63 @param Title Title above progress bar.
64 @param ProgressColor Progress bar color.
65 @param Progress Progress (0-100)
66 @param PreviousValue The previous value of the progress.
67
68 @retval EFI_STATUS Successly update the progress bar
69
70 **/
71 EFI_STATUS
72 EFIAPI
73 BootLogoUpdateProgress (
74 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,
75 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,
76 IN CHAR16 *Title,
77 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,
78 IN UINTN Progress,
79 IN UINTN PreviousValue
80 );
81
82 #endif