]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.h
Check in following modules,
[mirror_edk2.git] / MdeModulePkg / Universal / Console / GraphicsConsoleDxe / GraphicsConsole.h
CommitLineData
95276127 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//\r
28// Include common header file for this module.\r
29//\r
30#include "CommonHeader.h"\r
31\r
32#include "ComponentName.h"\r
33\r
34//\r
35// Glyph database\r
36//\r
37#define GLYPH_WIDTH 8\r
38#define GLYPH_HEIGHT 19\r
39\r
40typedef union {\r
41 EFI_NARROW_GLYPH NarrowGlyph;\r
42 EFI_WIDE_GLYPH WideGlyph;\r
43} GLYPH_UNION;\r
44\r
45extern EFI_NARROW_GLYPH UsStdNarrowGlyphData[];\r
46extern EFI_WIDE_GLYPH UsStdWideGlyphData[];\r
47\r
48//\r
49// Device Structure\r
50//\r
51#define GRAPHICS_CONSOLE_DEV_SIGNATURE EFI_SIGNATURE_32 ('g', 's', 't', 'o')\r
52\r
53typedef struct {\r
54 UINTN Columns;\r
55 UINTN Rows;\r
56 INTN DeltaX;\r
57 INTN DeltaY;\r
58 UINT32 GopWidth;\r
59 UINT32 GopHeight;\r
60 UINT32 GopModeNumber;\r
61} GRAPHICS_CONSOLE_MODE_DATA;\r
62\r
63#define GRAPHICS_MAX_MODE 3\r
64\r
65typedef struct {\r
66 UINTN Signature;\r
67 EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
68 EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
69 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOutput;\r
70 EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
71 GRAPHICS_CONSOLE_MODE_DATA ModeData[GRAPHICS_MAX_MODE];\r
72 EFI_GRAPHICS_OUTPUT_BLT_PIXEL *LineBuffer;\r
73 EFI_HII_HANDLE HiiHandle;\r
74} GRAPHICS_CONSOLE_DEV;\r
75\r
76#define GRAPHICS_CONSOLE_CON_OUT_DEV_FROM_THIS(a) \\r
77 CR (a, GRAPHICS_CONSOLE_DEV, SimpleTextOutput, GRAPHICS_CONSOLE_DEV_SIGNATURE)\r
78\r
79//\r
80// Global Variables\r
81//\r
82extern EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding;\r
83\r
84//\r
85// Prototypes\r
86//\r
87UINTN\r
88ReturnNarrowFontSize (\r
89 VOID\r
90 );\r
91\r
92UINTN\r
93ReturnWideFontSize (\r
94 VOID\r
95 );\r
96\r
97EFI_STATUS\r
98EFIAPI\r
99GraphicsConsoleConOutReset (\r
100 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
101 IN BOOLEAN ExtendedVerification\r
102 );\r
103\r
104EFI_STATUS\r
105EFIAPI\r
106GraphicsConsoleConOutOutputString (\r
107 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
108 IN CHAR16 *WString\r
109 );\r
110\r
111EFI_STATUS\r
112EFIAPI\r
113GraphicsConsoleConOutTestString (\r
114 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
115 IN CHAR16 *WString\r
116 );\r
117\r
118EFI_STATUS\r
119EFIAPI\r
120GraphicsConsoleConOutQueryMode (\r
121 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
122 IN UINTN ModeNumber,\r
123 OUT UINTN *Columns,\r
124 OUT UINTN *Rows\r
125 );\r
126\r
127EFI_STATUS\r
128EFIAPI\r
129GraphicsConsoleConOutSetMode (\r
130 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
131 IN UINTN ModeNumber\r
132 );\r
133\r
134EFI_STATUS\r
135EFIAPI\r
136GraphicsConsoleConOutSetAttribute (\r
137 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
138 IN UINTN Attribute\r
139 );\r
140\r
141EFI_STATUS\r
142EFIAPI\r
143GraphicsConsoleConOutClearScreen (\r
144 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This\r
145 );\r
146\r
147EFI_STATUS\r
148EFIAPI\r
149GraphicsConsoleConOutSetCursorPosition (\r
150 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
151 IN UINTN Column,\r
152 IN UINTN Row\r
153 );\r
154\r
155EFI_STATUS\r
156EFIAPI\r
157GraphicsConsoleConOutEnableCursor (\r
158 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
159 IN BOOLEAN Visible\r
160 );\r
161\r
162EFI_STATUS\r
163EfiLocateHiiProtocol (\r
164 VOID\r
165 );\r
166\r
167EFI_STATUS\r
168EFIAPI\r
169GraphicsConsoleControllerDriverSupported (\r
170 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
171 IN EFI_HANDLE Controller,\r
172 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
173 );\r
174\r
175EFI_STATUS\r
176EFIAPI\r
177GraphicsConsoleControllerDriverStart (\r
178 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
179 IN EFI_HANDLE Controller,\r
180 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
181 );\r
182\r
183EFI_STATUS\r
184EFIAPI\r
185GraphicsConsoleControllerDriverStop (\r
186 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
187 IN EFI_HANDLE Controller,\r
188 IN UINTN NumberOfChildren,\r
189 IN EFI_HANDLE *ChildHandleBuffer\r
190 );\r
191\r
192#endif\r