Updated MSA by putting Specification element at the end of the header section
[mirror_edk2.git] / EdkModulePkg / Universal / Console / GraphicsConsole / Dxe / GraphicsConsole.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 GraphicsConsole.h\r
15\r
16Abstract:\r
17\r
18 \r
19Revision History\r
20\r
21--*/\r
22\r
23#ifndef _GRAPHICS_CONSOLE_H\r
24#define _GRAPHICS_CONSOLE_H\r
25\r
26\r
27#include "ComponentName.h"\r
28\r
29//\r
30// Glyph database\r
31//\r
32#define GLYPH_WIDTH 8\r
33#define GLYPH_HEIGHT 19\r
34\r
35typedef union {\r
36 EFI_NARROW_GLYPH NarrowGlyph;\r
37 EFI_WIDE_GLYPH WideGlyph;\r
38} GLYPH_UNION;\r
39\r
40extern EFI_NARROW_GLYPH UsStdNarrowGlyphData[];\r
41extern EFI_WIDE_GLYPH UsStdWideGlyphData[];\r
42\r
43//\r
44// Device Structure\r
45//\r
46#define GRAPHICS_CONSOLE_DEV_SIGNATURE EFI_SIGNATURE_32 ('g', 's', 't', 'o')\r
47\r
48typedef struct {\r
49 UINTN Columns;\r
50 UINTN Rows;\r
51 INTN DeltaX;\r
52 INTN DeltaY;\r
53 UINT32 UgaWidth;\r
54 UINT32 UgaHeight;\r
55} GRAPHICS_CONSOLE_MODE_DATA;\r
56\r
57#define GRAPHICS_MAX_MODE 3\r
58\r
59typedef struct {\r
60 UINTN Signature;\r
61 EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
62 EFI_SIMPLE_TEXT_OUT_PROTOCOL SimpleTextOutput;\r
63 EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
64 GRAPHICS_CONSOLE_MODE_DATA ModeData[GRAPHICS_MAX_MODE];\r
65 EFI_UGA_PIXEL *LineBuffer;\r
66 EFI_HII_HANDLE HiiHandle;\r
67} GRAPHICS_CONSOLE_DEV;\r
68\r
69#define GRAPHICS_CONSOLE_CON_OUT_DEV_FROM_THIS(a) \\r
70 CR (a, GRAPHICS_CONSOLE_DEV, SimpleTextOutput, GRAPHICS_CONSOLE_DEV_SIGNATURE)\r
71\r
72//\r
73// Global Variables\r
74//\r
75extern EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding;\r
76\r
77//\r
78// Prototypes\r
79//\r
80UINTN\r
81ReturnNarrowFontSize (\r
82 VOID\r
83 );\r
84\r
85UINTN\r
86ReturnWideFontSize (\r
87 VOID\r
88 );\r
89\r
90EFI_STATUS\r
91EFIAPI\r
92GraphicsConsoleConOutReset (\r
93 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
94 IN BOOLEAN ExtendedVerification\r
95 );\r
96\r
97EFI_STATUS\r
98EFIAPI\r
99GraphicsConsoleConOutOutputString (\r
100 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
101 IN CHAR16 *WString\r
102 );\r
103\r
104EFI_STATUS\r
105EFIAPI\r
106GraphicsConsoleConOutTestString (\r
107 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
108 IN CHAR16 *WString\r
109 );\r
110\r
111EFI_STATUS\r
112EFIAPI\r
113GraphicsConsoleConOutQueryMode (\r
114 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
115 IN UINTN ModeNumber,\r
116 OUT UINTN *Columns,\r
117 OUT UINTN *Rows\r
118 );\r
119\r
120EFI_STATUS\r
121EFIAPI\r
122GraphicsConsoleConOutSetMode (\r
123 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
124 IN UINTN ModeNumber\r
125 );\r
126\r
127EFI_STATUS\r
128EFIAPI\r
129GraphicsConsoleConOutSetAttribute (\r
130 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
131 IN UINTN Attribute\r
132 );\r
133\r
134EFI_STATUS\r
135EFIAPI\r
136GraphicsConsoleConOutClearScreen (\r
137 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This\r
138 );\r
139\r
140EFI_STATUS\r
141EFIAPI\r
142GraphicsConsoleConOutSetCursorPosition (\r
143 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
144 IN UINTN Column,\r
145 IN UINTN Row\r
146 );\r
147\r
148EFI_STATUS\r
149EFIAPI\r
150GraphicsConsoleConOutEnableCursor (\r
151 IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
152 IN BOOLEAN Visible\r
153 );\r
154\r
155EFI_STATUS\r
156EfiLocateHiiProtocol (\r
157 VOID\r
158 );\r
159\r
160#endif\r