aboutsummaryrefslogtreecommitdiffstats
path: root/Library/UefiShellUfmCommandLib/dialog-box.h
blob: d6d6e43cfd0046e0de655d9dfcc05ab25e93a2af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef UFM_DIALOG_BOX_H
#define UFM_DIALOG_BOX_H

#include <Uefi.h>
#include "widget/input.h"

struct dbox_ctx {
	struct window *wbg;
	struct widget_input *in;
	struct window *wok, *wcl;
};

/*
 * Creates a dialog box with given parameters. Appears exactly in the
 * middle of the screen
 *
 * scr: the information of the screen
 * title: the pointer to title string
 * label: the pointer to label string
 * wid_input: TRUE if the dialog box needs an input widget. FALSE if not 
 * input_text: the pointer to initial string in the input widget. If
               wid_input is false, the variable is ignored
 *
 * return: A pointer to the allocated structure or NULL if allocation fails
*/
struct dbox_ctx *dbox_alloc(struct screen *scr, CONST CHAR16 *title,
	CONST CHAR16 *label, BOOLEAN wid_input, CONST CHAR16 *input_text);

/*
 * Deletes the dialog box, frees the structure
 *
 * dbox: the dialog box on which to operate
 *
 * return: VOID
*/
VOID dbox_release(struct dbox_ctx *dbox);

/*
 * Does the output of dialog box to the terminal
 *
 * dbox: the dialog box on which to operate
 *
 * return: VOID
*/
VOID dbox_refresh(struct dbox_ctx *dbox);

#endif /* UFM_DIALOG_BOX_H */