#ifndef __GRAPHICS_OUTPUT_H__\r
#define __GRAPHICS_OUTPUT_H__\r
\r
-#include <PiDxe.h>\r
-\r
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \\r
{ \\r
0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a } \\r
UINT32 Raw;\r
} EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION;\r
\r
+///\r
+/// actions for BltOperations\r
+///\r
typedef enum {\r
+ ///\r
+ /// Write data from the BltBuffer pixel (SourceX, SourceY) \r
+ /// directly to every pixel of the video display rectangle \r
+ /// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). \r
+ /// Only one pixel will be used from the BltBuffer. Delta is NOT used. \r
+ ///\r
EfiBltVideoFill,\r
+ \r
+ ///\r
+ /// Read data from the video display rectangle \r
+ /// (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in \r
+ /// the BltBuffer rectangle (DestinationX, DestinationY ) \r
+ /// (DestinationX + Width, DestinationY + Height). If DestinationX or \r
+ /// DestinationY is not zero then Delta must be set to the length in bytes \r
+ /// of a row in the BltBuffer. \r
+ ///\r
EfiBltVideoToBltBuffer,\r
+ \r
+ ///\r
+ /// Write data from the BltBuffer rectangle \r
+ /// (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the \r
+ /// video display rectangle (DestinationX, DestinationY) \r
+ /// (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is \r
+ /// not zero then Delta must be set to the length in bytes of a row in the \r
+ /// BltBuffer.\r
+ ///\r
EfiBltBufferToVideo, \r
+ \r
+ ///\r
+ /// Copy from the video display rectangle (SourceX, SourceY)\r
+ /// (SourceX + Width, SourceY + Height) .to the video display rectangle \r
+ /// (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). \r
+ /// The BltBuffer and Delta are not used in this mode.\r
+ /// EfiBltVideoToVideo,\r
+ ///\r
EfiBltVideoToVideo,\r
+ \r
EfiGraphicsOutputBltOperationMax\r
} EFI_GRAPHICS_OUTPUT_BLT_OPERATION;\r
\r
/**\r
- The following table defines actions for BltOperations:\r
-\r
- <B>EfiBltVideoFill</B> - Write data from the BltBuffer pixel (SourceX, SourceY) \r
- directly to every pixel of the video display rectangle \r
- (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). \r
- Only one pixel will be used from the BltBuffer. Delta is NOT used.\r
-\r
- <B>EfiBltVideoToBltBuffer</B> - Read data from the video display rectangle \r
- (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in \r
- the BltBuffer rectangle (DestinationX, DestinationY ) \r
- (DestinationX + Width, DestinationY + Height). If DestinationX or \r
- DestinationY is not zero then Delta must be set to the length in bytes \r
- of a row in the BltBuffer.\r
-\r
- <B>EfiBltBufferToVideo</B> - Write data from the BltBuffer rectangle \r
- (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the \r
- video display rectangle (DestinationX, DestinationY) \r
- (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is \r
- not zero then Delta must be set to the length in bytes of a row in the \r
- BltBuffer.\r
-\r
- <B>EfiBltVideoToVideo</B> - Copy from the video display rectangle (SourceX, SourceY)\r
- (SourceX + Width, SourceY + Height) .to the video display rectangle \r
- (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). \r
- The BltBuffer and Delta are not used in this mode.\r
-\r
+ Blt a rectangle of pixels on the graphics screen. Blt stands for BLock Transfer.\r
+ \r
@param This Protocol instance pointer.\r
@param BltBuffer Buffer containing data to blit into video buffer. This\r
buffer has a size of Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL)\r
UINTN FrameBufferSize;\r
} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;\r
\r
-/**\r
- @par Protocol Description:\r
- Provides a basic abstraction to set video modes and copy pixels to and from \r
- the graphics controller's frame buffer. The linear address of the hardware \r
- frame buffer is also exposed so software can write directly to the video hardware.\r
-\r
- @param QueryMode\r
- Returns information for an available graphics mode that the graphics device \r
- and the set of active video output devices supports.\r
- \r
- @param SetMode \r
- Set the video device into the specified mode and clears the visible portions \r
- of the output display to black.\r
- \r
- @param Blt\r
- Software abstraction to draw on the video device's frame buffer.\r
- \r
- @param Mode\r
- Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.\r
-\r
-**/\r
+///\r
+/// Provides a basic abstraction to set video modes and copy pixels to and from \r
+/// the graphics controller's frame buffer. The linear address of the hardware \r
+/// frame buffer is also exposed so software can write directly to the video hardware.\r
+///\r
struct _EFI_GRAPHICS_OUTPUT_PROTOCOL {\r
EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;\r
EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;\r
EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt;\r
+ ///\r
+ /// Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.\r
+ ///\r
EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode;\r
};\r
\r