OpenCore  1.0.4
OpenCore Bootloader
1.0.4
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
OcConsoleLibInternal.h
Go to the documentation of this file.
1
15#ifndef OC_CONSOLE_LIB_INTERNAL_H
16#define OC_CONSOLE_LIB_INTERNAL_H
17
20#include <Protocol/GraphicsOutput.h>
21#include <Protocol/SimpleTextOut.h>
22#include <Protocol/UgaDraw.h>
23
24#define DEFAULT_COLOUR_DEPTH 32
25#define DEFAULT_REFRESH_RATE 60
26
27#define ISO_FONT_MAX_PAGE 1
28
29typedef struct {
30 EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
31 EFI_UGA_DRAW_PROTOCOL Uga;
33
34typedef struct {
35 EFI_UGA_DRAW_PROTOCOL *Uga;
36 EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
38
39EFI_STATUS
41 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
42 IN UINT32 Width OPTIONAL,
43 IN UINT32 Height OPTIONAL,
44 IN UINT32 Bpp OPTIONAL
45 );
46
47EFI_STATUS
49 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut,
50 IN UINT32 Width,
51 IN UINT32 Height
52 );
53
54//
55// Note: OldMode remains unchanged if no native console control protocol implementation is found.
56//
57EFI_STATUS
59 IN EFI_CONSOLE_CONTROL_PROTOCOL *NewProtocol,
60 OUT EFI_CONSOLE_CONTROL_PROTOCOL *OldProtocol OPTIONAL,
61 IN OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *OldMode OPTIONAL
62 );
63
64EFI_STATUS
66 IN EFI_CONSOLE_CONTROL_PROTOCOL *OldProtocol
67 );
68
69EFI_STATUS
72 IN OC_STORAGE_CONTEXT *Storage OPTIONAL,
73 IN CONST CHAR8 *Font OPTIONAL,
75 IN UINT32 Width,
76 IN UINT32 Height
77 );
78
79EFI_STATUS
82 IN OC_CONSOLE_RENDERER Renderer,
83 IN BOOLEAN IgnoreTextOutput,
84 IN BOOLEAN SanitiseClearScreen,
85 IN BOOLEAN ClearScreenOnModeSwitch,
86 IN BOOLEAN ReplaceTabWithSpace
87 );
88
89EFI_STATUS
91 IN OC_STORAGE_CONTEXT *Storage,
92 IN CONST CHAR8 *FontName,
93 OUT OC_CONSOLE_FONT **Font
94 );
95
96BOOLEAN
98 IN OC_CONSOLE_FONT *ConsoleFont,
99 IN CHAR16 Char
100 );
101
102#endif // OC_CONSOLE_LIB_INTERNAL_H
EFI_CONSOLE_CONTROL_SCREEN_MODE
OC_CONSOLE_RENDERER
EFI_STATUS OcSetConsoleModeForProtocol(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut, IN UINT32 Width, IN UINT32 Height)
EFI_STATUS OcUseSystemTextOutput(IN EFI_CONSOLE_CONTROL_SCREEN_MODE InitialMode, IN OC_CONSOLE_RENDERER Renderer, IN BOOLEAN IgnoreTextOutput, IN BOOLEAN SanitiseClearScreen, IN BOOLEAN ClearScreenOnModeSwitch, IN BOOLEAN ReplaceTabWithSpace)
EFI_STATUS OcLoadConsoleFont(IN OC_STORAGE_CONTEXT *Storage, IN CONST CHAR8 *FontName, OUT OC_CONSOLE_FONT **Font)
EFI_STATUS OcSetConsoleResolutionForProtocol(IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput, IN UINT32 Width OPTIONAL, IN UINT32 Height OPTIONAL, IN UINT32 Bpp OPTIONAL)
BOOLEAN OcConsoleFontContainsChar(IN OC_CONSOLE_FONT *ConsoleFont, IN CHAR16 Char)
EFI_STATUS OcUseBuiltinTextOutput(IN EFI_CONSOLE_CONTROL_SCREEN_MODE InitialMode, IN OC_STORAGE_CONTEXT *Storage OPTIONAL, IN CONST CHAR8 *Font OPTIONAL, IN EFI_CONSOLE_CONTROL_SCREEN_MODE Mode, IN UINT32 Width, IN UINT32 Height)
EFI_STATUS OcConsoleControlInstallProtocol(IN EFI_CONSOLE_CONTROL_PROTOCOL *NewProtocol, OUT EFI_CONSOLE_CONTROL_PROTOCOL *OldProtocol OPTIONAL, IN OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *OldMode OPTIONAL)
EFI_STATUS OcConsoleControlRestoreProtocol(IN EFI_CONSOLE_CONTROL_PROTOCOL *OldProtocol)
EFI_UGA_DRAW_PROTOCOL * Uga
EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput
EFI_GRAPHICS_OUTPUT_PROTOCOL * GraphicsOutput
EFI_UGA_DRAW_PROTOCOL Uga