1/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 *
5 * Display functions used in kernel selection.
6 */
7
8#ifndef VBOOT_REFERENCE_VBOOT_DISPLAY_H_
9#define VBOOT_REFERENCE_VBOOT_DISPLAY_H_
10
11#include "bmpblk_font.h"
12#include "vboot_api.h"
13#include "vboot_nvstorage.h"
14
15VbError_t VbDisplayScreenFromGBB(VbCommonParams *cparams, uint32_t screen,
16                                 VbNvContext *vncptr);
17VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen, int force,
18                          VbNvContext *vncptr);
19VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr);
20VbError_t VbCheckDisplayKey(VbCommonParams *cparams, uint32_t key,
21                            VbNvContext *vncptr);
22
23/* Internal functions, for unit testing */
24
25typedef FontArrayHeader VbFont_t;
26
27VbFont_t *VbInternalizeFontData(FontArrayHeader *fonthdr);
28
29void VbDoneWithFontForNow(VbFont_t *ptr);
30
31ImageInfo *VbFindFontGlyph(VbFont_t *font, uint32_t ascii,
32			   void **bufferptr, uint32_t *buffersize);
33
34/**
35 * Try to display the specified text at a particular position.
36 */
37void VbRenderTextAtPos(const char *text, int right_to_left,
38		       uint32_t x, uint32_t y, VbFont_t *font);
39
40/**
41 * Return a description of the recovery reason code.
42 */
43const char *RecoveryReasonString(uint8_t code);
44
45/**
46 * Get the number of localizations in the GBB bitmap data.
47 */
48VbError_t VbGetLocalizationCount(VbCommonParams *cparams, uint32_t *count);
49
50#endif /* VBOOT_REFERENCE_VBOOT_DISPLAY_H_ */
51
52