2 Library for performing video blt operations
4 Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 #include <Protocol/GraphicsOutput.h>
22 Configure the BltLib for a frame-buffer
24 @param[in] FrameBuffer Pointer to the start of the frame buffer
25 @param[in] FrameBufferInfo Describes the frame buffer characteristics
27 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
28 @retval EFI_SUCCESS - Blt operation success
35 IN EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
*FrameBufferInfo
40 Performs a UEFI Graphics Output Protocol Blt operation.
42 @param[in,out] BltBuffer - The data to transfer to screen
43 @param[in] BltOperation - The operation to perform
44 @param[in] SourceX - The X coordinate of the source for BltOperation
45 @param[in] SourceY - The Y coordinate of the source for BltOperation
46 @param[in] DestinationX - The X coordinate of the destination for BltOperation
47 @param[in] DestinationY - The Y coordinate of the destination for BltOperation
48 @param[in] Width - The width of a rectangle in the blt rectangle in pixels
49 @param[in] Height - The height of a rectangle in the blt rectangle in pixels
50 @param[in] Delta - Not used for EfiBltVideoFill and EfiBltVideoToVideo operation.
51 If a Delta of 0 is used, the entire BltBuffer will be operated on.
52 If a subrectangle of the BltBuffer is used, then Delta represents
53 the number of bytes in a row of the BltBuffer.
55 @retval EFI_DEVICE_ERROR - A hardware error occured
56 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
57 @retval EFI_SUCCESS - Blt operation success
63 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
, OPTIONAL
64 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation
,
67 IN UINTN DestinationX
,
68 IN UINTN DestinationY
,
76 Performs a UEFI Graphics Output Protocol Blt Video Fill.
78 @param[in] Color Color to fill the region with
79 @param[in] DestinationX X location to start fill operation
80 @param[in] DestinationY Y location to start fill operation
81 @param[in] Width Width (in pixels) to fill
82 @param[in] Height Height to fill
84 @retval EFI_DEVICE_ERROR - A hardware error occured
85 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
86 @retval EFI_SUCCESS - Blt operation success
92 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*Color
,
93 IN UINTN DestinationX
,
94 IN UINTN DestinationY
,
101 Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation.
103 @param[out] BltBuffer Output buffer for pixel color data
104 @param[in] SourceX X location within video
105 @param[in] SourceY Y location within video
106 @param[in] Width Width (in pixels)
107 @param[in] Height Height
109 @retval EFI_DEVICE_ERROR - A hardware error occured
110 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
111 @retval EFI_SUCCESS - Blt operation success
116 BltLibVideoToBltBuffer (
117 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
126 Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation
127 with extended parameters.
129 @param[out] BltBuffer Output buffer for pixel color data
130 @param[in] SourceX X location within video
131 @param[in] SourceY Y location within video
132 @param[in] DestinationX X location within BltBuffer
133 @param[in] DestinationY Y location within BltBuffer
134 @param[in] Width Width (in pixels)
135 @param[in] Height Height
136 @param[in] Delta Number of bytes in a row of BltBuffer
138 @retval EFI_DEVICE_ERROR - A hardware error occured
139 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
140 @retval EFI_SUCCESS - Blt operation success
145 BltLibVideoToBltBufferEx (
146 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
149 IN UINTN DestinationX
,
150 IN UINTN DestinationY
,
158 Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation.
160 @param[in] BltBuffer Output buffer for pixel color data
161 @param[in] DestinationX X location within video
162 @param[in] DestinationY Y location within video
163 @param[in] Width Width (in pixels)
164 @param[in] Height Height
166 @retval EFI_DEVICE_ERROR - A hardware error occured
167 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
168 @retval EFI_SUCCESS - Blt operation success
173 BltLibBufferToVideo (
174 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
175 IN UINTN DestinationX
,
176 IN UINTN DestinationY
,
183 Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation
184 with extended parameters.
186 @param[in] BltBuffer Output buffer for pixel color data
187 @param[in] SourceX X location within BltBuffer
188 @param[in] SourceY Y location within BltBuffer
189 @param[in] DestinationX X location within video
190 @param[in] DestinationY Y location within video
191 @param[in] Width Width (in pixels)
192 @param[in] Height Height
193 @param[in] Delta Number of bytes in a row of BltBuffer
195 @retval EFI_DEVICE_ERROR - A hardware error occured
196 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
197 @retval EFI_SUCCESS - Blt operation success
202 BltLibBufferToVideoEx (
203 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL
*BltBuffer
,
206 IN UINTN DestinationX
,
207 IN UINTN DestinationY
,
215 Performs a UEFI Graphics Output Protocol Blt Video to Video operation
217 @param[in] SourceX X location within video
218 @param[in] SourceY Y location within video
219 @param[in] DestinationX X location within video
220 @param[in] DestinationY Y location within video
221 @param[in] Width Width (in pixels)
222 @param[in] Height Height
224 @retval EFI_DEVICE_ERROR - A hardware error occured
225 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
226 @retval EFI_SUCCESS - Blt operation success
234 IN UINTN DestinationX
,
235 IN UINTN DestinationY
,
242 Returns the sizes related to the video device
244 @param[out] Width Width (in pixels)
245 @param[out] Height Height (in pixels)
247 @retval EFI_INVALID_PARAMETER - Invalid parameter passed in
248 @retval EFI_SUCCESS - The sizes were returned
254 OUT UINTN
*Width
, OPTIONAL
255 OUT UINTN
*Height OPTIONAL