TianoCore EDK2 master
Loading...
Searching...
No Matches
HiiFont.h
Go to the documentation of this file.
1
12#ifndef __HII_FONT_H__
13#define __HII_FONT_H__
14
16#include <Protocol/HiiImage.h>
17
18#define EFI_HII_FONT_PROTOCOL_GUID \
19{ 0xe9ca4775, 0x8657, 0x47fc, { 0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x8, 0x43, 0x24 } }
20
22
23typedef VOID *EFI_FONT_HANDLE;
24
28typedef UINT32 EFI_HII_OUT_FLAGS;
29
30#define EFI_HII_OUT_FLAG_CLIP 0x00000001
31#define EFI_HII_OUT_FLAG_WRAP 0x00000002
32#define EFI_HII_OUT_FLAG_CLIP_CLEAN_Y 0x00000004
33#define EFI_HII_OUT_FLAG_CLIP_CLEAN_X 0x00000008
34#define EFI_HII_OUT_FLAG_TRANSPARENT 0x00000010
35#define EFI_HII_IGNORE_IF_NO_GLYPH 0x00000020
36#define EFI_HII_IGNORE_LINE_BREAK 0x00000040
37#define EFI_HII_DIRECT_TO_SCREEN 0x00000080
38
42typedef struct _EFI_HII_ROW_INFO {
54
60
65typedef UINT32 EFI_FONT_INFO_MASK;
66
67#define EFI_FONT_INFO_SYS_FONT 0x00000001
68#define EFI_FONT_INFO_SYS_SIZE 0x00000002
69#define EFI_FONT_INFO_SYS_STYLE 0x00000004
70#define EFI_FONT_INFO_SYS_FORE_COLOR 0x00000010
71#define EFI_FONT_INFO_SYS_BACK_COLOR 0x00000020
72#define EFI_FONT_INFO_RESIZE 0x00001000
73#define EFI_FONT_INFO_RESTYLE 0x00002000
74#define EFI_FONT_INFO_ANY_FONT 0x00010000
75#define EFI_FONT_INFO_ANY_SIZE 0x00020000
76#define EFI_FONT_INFO_ANY_STYLE 0x00040000
77
78//
79// EFI_FONT_INFO
80//
81typedef struct {
82 EFI_HII_FONT_STYLE FontStyle;
83 UINT16 FontSize;
84 CHAR16 FontName[1];
86
99typedef struct _EFI_FONT_DISPLAY_INFO {
100 EFI_GRAPHICS_OUTPUT_BLT_PIXEL ForegroundColor;
101 EFI_GRAPHICS_OUTPUT_BLT_PIXEL BackgroundColor;
102 EFI_FONT_INFO_MASK FontInfoMask;
103 EFI_FONT_INFO FontInfo;
105
210typedef
214 IN EFI_HII_OUT_FLAGS Flags,
215 IN CONST EFI_STRING String,
216 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
217 IN OUT EFI_IMAGE_OUTPUT **Blt,
218 IN UINTN BltX,
219 IN UINTN BltY,
220 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
221 OUT UINTN *RowInfoArraySize OPTIONAL,
222 OUT UINTN *ColumnInfoArray OPTIONAL
223 );
224
344typedef
348 IN EFI_HII_OUT_FLAGS Flags,
349 IN EFI_HII_HANDLE PackageList,
350 IN EFI_STRING_ID StringId,
351 IN CONST CHAR8 *Language,
353 IN OUT EFI_IMAGE_OUTPUT **Blt,
354 IN UINTN BltX,
355 IN UINTN BltY,
356 OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL,
357 OUT UINTN *RowInfoArraySize OPTIONAL,
358 OUT UINTN *ColumnInfoArray OPTIONAL
359 );
360
395typedef
397(EFIAPI *EFI_HII_GET_GLYPH)(
399 IN CONST CHAR16 Char,
400 IN CONST EFI_FONT_DISPLAY_INFO *StringInfo,
401 OUT EFI_IMAGE_OUTPUT **Blt,
402 OUT UINTN *Baseline OPTIONAL
403 );
404
442typedef
444(EFIAPI *EFI_HII_GET_FONT_INFO)(
446 IN OUT EFI_FONT_HANDLE *FontHandle,
448 OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
449 IN CONST EFI_STRING String OPTIONAL
450 );
451
456 EFI_HII_STRING_TO_IMAGE StringToImage;
457 EFI_HII_STRING_ID_TO_IMAGE StringIdToImage;
458 EFI_HII_GET_GLYPH GetGlyph;
459 EFI_HII_GET_FONT_INFO GetFontInfo;
460};
461
462extern EFI_GUID gEfiHiiFontProtocolGuid;
463
464#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
UINT32 EFI_FONT_INFO_MASK
Definition: HiiFont.h:65
struct _EFI_HII_ROW_INFO EFI_HII_ROW_INFO
EFI_STATUS(EFIAPI * EFI_HII_GET_GLYPH)(IN CONST EFI_HII_FONT_PROTOCOL *This, IN CONST CHAR16 Char, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo, OUT EFI_IMAGE_OUTPUT **Blt, OUT UINTN *Baseline OPTIONAL)
Definition: HiiFont.h:397
EFI_STATUS(EFIAPI * EFI_HII_GET_FONT_INFO)(IN CONST EFI_HII_FONT_PROTOCOL *This, IN OUT EFI_FONT_HANDLE *FontHandle, IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn OPTIONAL, OUT EFI_FONT_DISPLAY_INFO **StringInfoOut, IN CONST EFI_STRING String OPTIONAL)
Definition: HiiFont.h:444
struct _EFI_FONT_DISPLAY_INFO EFI_FONT_DISPLAY_INFO
EFI_STATUS(EFIAPI * EFI_HII_STRING_ID_TO_IMAGE)(IN CONST EFI_HII_FONT_PROTOCOL *This, IN EFI_HII_OUT_FLAGS Flags, IN EFI_HII_HANDLE PackageList, IN EFI_STRING_ID StringId, IN CONST CHAR8 *Language, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo OPTIONAL, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY, OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL, OUT UINTN *RowInfoArraySize OPTIONAL, OUT UINTN *ColumnInfoArray OPTIONAL)
Definition: HiiFont.h:346
UINT32 EFI_HII_OUT_FLAGS
Definition: HiiFont.h:28
EFI_STATUS(EFIAPI * EFI_HII_STRING_TO_IMAGE)(IN CONST EFI_HII_FONT_PROTOCOL *This, IN EFI_HII_OUT_FLAGS Flags, IN CONST EFI_STRING String, IN CONST EFI_FONT_DISPLAY_INFO *StringInfo, IN OUT EFI_IMAGE_OUTPUT **Blt, IN UINTN BltX, IN UINTN BltY, OUT EFI_HII_ROW_INFO **RowInfoArray OPTIONAL, OUT UINTN *RowInfoArraySize OPTIONAL, OUT UINTN *ColumnInfoArray OPTIONAL)
Definition: HiiFont.h:212
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HII_HANDLE
UINTN StartIndex
Definition: HiiFont.h:46
UINTN LineHeight
The height of the line, in pixels.
Definition: HiiFont.h:52
UINTN BaselineOffset
Definition: HiiFont.h:58
UINTN LineWidth
The width of the text on the line, in pixels.
Definition: HiiFont.h:53
UINTN EndIndex
Definition: HiiFont.h:51
UINT16 FontSize
character cell height in pixels
Definition: HiiFont.h:83
Definition: Base.h:213