]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/GraphicsOutput.h
Formalize comments for Protocols and PPIs.
[mirror_edk2.git] / MdePkg / Include / Protocol / GraphicsOutput.h
index 1b4e1fca06f97df04073e9fc2d15965da288a803..8e701c21ca89a674a519f7c217c7cc4573b04fbd 100644 (file)
@@ -3,7 +3,7 @@
 \r
   Abstraction of a very simple graphics device.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
+  Copyright (c) 2006 - 2008, 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
@@ -12,8 +12,6 @@
   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
-  Module Name:  GraphicsOutput.h\r
-\r
 **/\r
 \r
 #ifndef __GRAPHICS_OUTPUT_H__\r
@@ -67,13 +65,12 @@ typedef struct {
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) (\r
+(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE)(\r
   IN  EFI_GRAPHICS_OUTPUT_PROTOCOL          *This,\r
   IN  UINT32                                ModeNumber,\r
   OUT UINTN                                 *SizeOfInfo,\r
   OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  **Info\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Return the current video mode information.\r
@@ -88,11 +85,10 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) (\r
+(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE)(\r
   IN  EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
   IN  UINT32                       ModeNumber\r
-  )\r
-;\r
+  );\r
 \r
 typedef struct {\r
   UINT8 Blue;\r
@@ -106,41 +102,53 @@ typedef union {
   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
@@ -160,7 +168,7 @@ typedef enum {
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) (\r
+(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT)(\r
   IN  EFI_GRAPHICS_OUTPUT_PROTOCOL            *This,\r
   IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer,   OPTIONAL\r
   IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,\r
@@ -182,10 +190,18 @@ typedef struct {
   UINTN                                  FrameBufferSize;\r
 } EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;\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