]>
Commit | Line | Data |
---|---|---|
2442e62a | 1 | /** @file\r |
2 | Declares menubar interface functions.\r | |
3 | \r | |
4 | Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR>\r | |
5 | This program and the accompanying materials\r | |
6 | are licensed and made available under the terms and conditions of the BSD License\r | |
7 | which accompanies this distribution. The full text of the license may be found at\r | |
8 | http://opensource.org/licenses/bsd-license.php\r | |
9 | \r | |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
12 | \r | |
13 | **/\r | |
14 | \r | |
15 | #ifndef _LIB_MENU_BAR_H_\r | |
16 | #define _LIB_MENU_BAR_H_\r | |
17 | \r | |
5a2beb74 | 18 | #define SCAN_CONTROL_E 5\r |
19 | #define SCAN_CONTROL_F 6\r | |
20 | #define SCAN_CONTROL_G 7\r | |
21 | #define SCAN_CONTROL_K 11\r | |
22 | #define SCAN_CONTROL_O 15\r | |
23 | #define SCAN_CONTROL_Q 17\r | |
24 | #define SCAN_CONTROL_R 18\r | |
25 | #define SCAN_CONTROL_S 19\r | |
26 | #define SCAN_CONTROL_T 20\r | |
27 | #define SCAN_CONTROL_U 21\r | |
28 | #define SCAN_CONTROL_W 23\r | |
29 | #define SCAN_CONTROL_Z 26\r | |
30 | \r | |
31 | \r | |
2442e62a | 32 | typedef\r |
33 | EFI_STATUS\r | |
2b578de0 | 34 | (*MENU_ITEM_FUNCTION) (\r |
2442e62a | 35 | VOID\r |
36 | );\r | |
37 | \r | |
38 | typedef struct _EDITOR_MENU_ITEM {\r | |
39 | EFI_STRING_ID NameToken;\r | |
40 | CHAR16 FunctionKeyToken;\r | |
41 | MENU_ITEM_FUNCTION Function;\r | |
42 | } EDITOR_MENU_ITEM;\r | |
43 | \r | |
44 | /**\r | |
45 | Initializa the menu bar with the specified items.\r | |
46 | \r | |
47 | @param[in] Items The items to display and their functions.\r | |
48 | \r | |
49 | @retval EFI_SUCCESS The initialization was correct.\r | |
50 | @retval EFI_OUT_OF_RESOURCES A memory allocation failed.\r | |
51 | **/\r | |
52 | EFI_STATUS\r | |
2442e62a | 53 | MenuBarInit (\r |
54 | IN CONST EDITOR_MENU_ITEM *Items\r | |
55 | );\r | |
56 | \r | |
5a2beb74 | 57 | /**\r |
58 | Initialize the control hot-key with the specified items.\r | |
59 | \r | |
60 | @param[in] Items The hot-key functions.\r | |
61 | \r | |
62 | @retval EFI_SUCCESS The initialization was correct.\r | |
63 | **/\r | |
64 | EFI_STATUS\r | |
5a2beb74 | 65 | ControlHotKeyInit (\r |
66 | IN MENU_ITEM_FUNCTION *Items\r | |
67 | );\r | |
68 | \r | |
2442e62a | 69 | /**\r |
70 | Cleanup function for a menu bar. frees all allocated memory.\r | |
71 | **/\r | |
72 | VOID\r | |
2442e62a | 73 | MenuBarCleanup (\r |
74 | VOID\r | |
75 | );\r | |
76 | \r | |
77 | /**\r | |
78 | Refresh function for the menu bar.\r | |
79 | \r | |
80 | @param[in] LastRow The last printable row.\r | |
81 | @param[in] LastCol The last printable column.\r | |
82 | \r | |
83 | @retval EFI_SUCCESS The refresh was successful.\r | |
84 | **/\r | |
85 | EFI_STATUS\r | |
2442e62a | 86 | MenuBarRefresh (\r |
87 | IN CONST UINTN LastRow,\r | |
88 | IN CONST UINTN LastCol\r | |
89 | );\r | |
90 | \r | |
91 | /**\r | |
92 | Function to dispatch the correct function based on a function key (F1...)\r | |
93 | \r | |
94 | @param[in] Key The pressed key.\r | |
95 | \r | |
96 | @retval EFI_NOT_FOUND The key was not a valid function key \r | |
97 | (an error was sent to the status bar).\r | |
98 | @return The return value from the called dispatch function.\r | |
99 | **/\r | |
100 | EFI_STATUS\r | |
2442e62a | 101 | MenuBarDispatchFunctionKey (\r |
102 | IN CONST EFI_INPUT_KEY *Key\r | |
103 | );\r | |
104 | \r | |
5a2beb74 | 105 | /**\r |
106 | Function to dispatch the correct function based on a control-based key (ctrl+o...)\r | |
107 | \r | |
108 | @param[in] Key The pressed key.\r | |
109 | \r | |
110 | @retval EFI_NOT_FOUND The key was not a valid control-based key \r | |
111 | (an error was sent to the status bar).\r | |
112 | @return EFI_SUCCESS.\r | |
113 | **/\r | |
114 | EFI_STATUS\r | |
5a2beb74 | 115 | MenuBarDispatchControlHotKey (\r |
116 | IN CONST EFI_INPUT_KEY *Key\r | |
117 | );\r | |
118 | \r | |
2442e62a | 119 | #endif\r |