2 Library for performing video blt operations
4 Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
12 #include <Protocol/GraphicsOutput.h>
16 Configure the BltLib for a frame-buffer
18 @param[in] FrameBuffer Pointer to the start of the frame buffer
19 @param[in] FrameBufferInfo Describes the frame buffer characteristics
21 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
22 @retval EFI_SUCCESS - Blt operation success
29 IN EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
*FrameBufferInfo
34 Performs a UEFI Graphics Output Protocol Blt operation.
36 @param[in,out] BltBuffer - The data to transfer to screen
37 @param[in] BltOperation - The operation to perform
38 @param[in] SourceX - The X coordinate of the source for BltOperation
39 @param[in] SourceY - The Y coordinate of the source for BltOperation
40 @param[in] DestinationX - The X coordinate of the destination for BltOperation
41 @param[in] DestinationY - The Y coordinate of the destination for BltOperation
42 @param[in] Width - The width of a rectangle in the blt rectangle in pixels
43 @param[in] Height - The height of a rectangle in the blt rectangle in pixels
44 @param[in] Delta - Not used for EfiBltVideoFill and EfiBltVideoToVideo operation.
45 If a Delta of 0 is used, the entire BltBuffer will be operated on.
46 If a subrectangle of the BltBuffer is used, then Delta represents
47 the number of bytes in a row of the BltBuffer.
49 @retval EFI_DEVICE_ERROR - A hardware error occured
50 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
51 @retval EFI_SUCCESS - Blt operation success
57 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
, OPTIONAL
58 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation
,
61 IN UINTN DestinationX
,
62 IN UINTN DestinationY
,
70 Performs a UEFI Graphics Output Protocol Blt Video Fill.
72 @param[in] Color Color to fill the region with
73 @param[in] DestinationX X location to start fill operation
74 @param[in] DestinationY Y location to start fill operation
75 @param[in] Width Width (in pixels) to fill
76 @param[in] Height Height to fill
78 @retval EFI_DEVICE_ERROR - A hardware error occured
79 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
80 @retval EFI_SUCCESS - Blt operation success
86 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*Color
,
87 IN UINTN DestinationX
,
88 IN UINTN DestinationY
,
95 Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation.
97 @param[out] BltBuffer Output buffer for pixel color data
98 @param[in] SourceX X location within video
99 @param[in] SourceY Y location within video
100 @param[in] Width Width (in pixels)
101 @param[in] Height Height
103 @retval EFI_DEVICE_ERROR - A hardware error occured
104 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
105 @retval EFI_SUCCESS - Blt operation success
110 BltLibVideoToBltBuffer (
111 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
120 Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation
121 with extended parameters.
123 @param[out] BltBuffer Output buffer for pixel color data
124 @param[in] SourceX X location within video
125 @param[in] SourceY Y location within video
126 @param[in] DestinationX X location within BltBuffer
127 @param[in] DestinationY Y location within BltBuffer
128 @param[in] Width Width (in pixels)
129 @param[in] Height Height
130 @param[in] Delta Number of bytes in a row of BltBuffer
132 @retval EFI_DEVICE_ERROR - A hardware error occured
133 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
134 @retval EFI_SUCCESS - Blt operation success
139 BltLibVideoToBltBufferEx (
140 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
143 IN UINTN DestinationX
,
144 IN UINTN DestinationY
,
152 Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation.
154 @param[in] BltBuffer Output buffer for pixel color data
155 @param[in] DestinationX X location within video
156 @param[in] DestinationY Y location within video
157 @param[in] Width Width (in pixels)
158 @param[in] Height Height
160 @retval EFI_DEVICE_ERROR - A hardware error occured
161 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
162 @retval EFI_SUCCESS - Blt operation success
167 BltLibBufferToVideo (
168 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
169 IN UINTN DestinationX
,
170 IN UINTN DestinationY
,
177 Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation
178 with extended parameters.
180 @param[in] BltBuffer Output buffer for pixel color data
181 @param[in] SourceX X location within BltBuffer
182 @param[in] SourceY Y location within BltBuffer
183 @param[in] DestinationX X location within video
184 @param[in] DestinationY Y location within video
185 @param[in] Width Width (in pixels)
186 @param[in] Height Height
187 @param[in] Delta Number of bytes in a row of BltBuffer
189 @retval EFI_DEVICE_ERROR - A hardware error occured
190 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
191 @retval EFI_SUCCESS - Blt operation success
196 BltLibBufferToVideoEx (
197 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
200 IN UINTN DestinationX
,
201 IN UINTN DestinationY
,
209 Performs a UEFI Graphics Output Protocol Blt Video to Video operation
211 @param[in] SourceX X location within video
212 @param[in] SourceY Y location within video
213 @param[in] DestinationX X location within video
214 @param[in] DestinationY Y location within video
215 @param[in] Width Width (in pixels)
216 @param[in] Height Height
218 @retval EFI_DEVICE_ERROR - A hardware error occured
219 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
220 @retval EFI_SUCCESS - Blt operation success
228 IN UINTN DestinationX
,
229 IN UINTN DestinationY
,
236 Returns the sizes related to the video device
238 @param[out] Width Width (in pixels)
239 @param[out] Height Height (in pixels)
241 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
242 @retval EFI_SUCCESS - The sizes were returned
248 OUT UINTN
*Width
, OPTIONAL
249 OUT UINTN
*Height OPTIONAL