-//\r
-// User can define valid graphic resolution here\r
-// e.g. 640x480, 800x600, 1024x768...\r
-//\r
-#define CURRENT_HORIZONTAL_RESOLUTION 800\r
-#define CURRENT_VERTICAL_RESOLUTION 600\r
-\r
-typedef union {\r
- EFI_NARROW_GLYPH NarrowGlyph;\r
- EFI_WIDE_GLYPH WideGlyph;\r
-} GLYPH_UNION;\r
-\r
-extern EFI_NARROW_GLYPH UsStdNarrowGlyphData[];\r
-extern EFI_WIDE_GLYPH UsStdWideGlyphData[];\r
-\r
-//\r
-// Device Structure\r
-//\r
-#define GRAPHICS_CONSOLE_DEV_SIGNATURE EFI_SIGNATURE_32 ('g', 's', 't', 'o')\r
-\r
-typedef struct {\r
- UINTN Columns;\r
- UINTN Rows;\r
- INTN DeltaX;\r
- INTN DeltaY;\r
- UINT32 GopWidth;\r
- UINT32 GopHeight;\r
- UINT32 GopModeNumber;\r
-} GRAPHICS_CONSOLE_MODE_DATA;\r
-\r
-#define GRAPHICS_MAX_MODE 4\r
-\r
-typedef struct {\r
- UINTN Signature;\r
- EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
- EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
- EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOutput;\r
- EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
- GRAPHICS_CONSOLE_MODE_DATA ModeData[GRAPHICS_MAX_MODE];\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL *LineBuffer;\r
- EFI_HII_HANDLE HiiHandle;\r
-} GRAPHICS_CONSOLE_DEV;\r
-\r
-#define GRAPHICS_CONSOLE_CON_OUT_DEV_FROM_THIS(a) \\r
- CR (a, GRAPHICS_CONSOLE_DEV, SimpleTextOutput, GRAPHICS_CONSOLE_DEV_SIGNATURE)\r
-\r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding;\r