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