mrp_localui.h
5.88 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
#ifndef __MRP_PAL_LOCALUI_H__
#define __MRP_PAL_LOCALUI_H__
/**
* \brief 通过platEx 创建Menu的参数结构
*
* \sa PlatEx code(1)
*/
typedef struct
{
char *title;
int16 itemNum;
int16 listType;
}T_LISTBOXWIN;
/**
* \brief 通过platEx设置Menu Item的参数结构
*
* \sa PlatEx code(2)
*/
typedef struct
{
int32 menu;
char *text;
int32 index;
int32 selected;
}T_LISTBOXITEM;
/**
* \brief 高亮选择项
*/
typedef struct
{
int32 menu;
int32 hilite;
}T_LISTBOXFOCUS;
/* 用来表示是否内部窗口覆盖 */
extern MR_BOOL internalCovered;
/**
* \brief 本地UI模块初始化
*
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_localui_initialize(void);
/**
* \brief 本地UI模块释放
*
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_localui_terminate(void);
/**
* \brief 释放全部本地UI节点
*
* \return void
*/
void mr_localui_free_all_screen(void);
/**
* \brief 分配一个screen id
*
* \return 新的screen id
*/
int32 dsmAllocScrId(void);
/**
* \brief 释放全部的screen id
*/
void dsmFreeScrIdAll(void);
/**
* \brief 创建一个menu对象
*
* \param title [in]菜单的标题(_大端模式的unicode)
* \param num [in]菜单项的个数
* \param listtype [in]菜单类型,普通,RADIO, CHECKBOX?
* \return 创建好的菜单的句柄, 失败返回MR_FAILED
*/
int32 mr_menuCreateEx(const char * title, int16 num,int16 listtype);
/**
* \brief 创建一个普通的菜单窗口
*
* \param title [in]菜单的标题(_大端模式的unicode)
* \param num [in]菜单项的个数
* \return 创建好的菜单的句柄, 失败返回MR_FAILED
*/
int32 mr_menuCreate(const char * title, int16 num);
/**
* \brief 改变当前focus的菜单项
*
* \param menu [in]菜单句柄
* \param index [in]选中项的index
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuSetFocus(int32 menu, int32 index);
/**
* \brief 初始化每一个菜单项
*
* \param menu [in] 菜单句柄
* \param text [in] 菜单项的名字(大端unicode)
* \param index [in] 要初始化的菜单项的索引
* \param select [in] 是否选中
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuSetItemEx(int32 menu, const char *text, int32 index,int32 select);
/**
* \brief 设置普通菜单项
*
* \param menu [in] 菜单句柄
* \param text [in] 菜单项的名字(大端unicode)
* \param index [in] 要初始化的菜单项的索引
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuSetItem(int32 menu, const char *text, int32 index);
/**
* \brief 绘制菜单
*
* \param menu [in]菜单句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuShow(int32 menu);
/**
* \brief 重绘菜单的函数(但是一般mmi架构会自动完成,实现成空就可以了啊)
*
* \param menu [in]要重绘的菜单的句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuRefresh(int32 menu);
/**
* \brief 销毁菜单
*
* \param menu [in] 要销毁的菜单句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_menuRelease(int32 menu);
/**
* \brief 创建一个dialog对象
*
* \param title [in]对话框的标题
* \param text [in]对话框要显示的询问的内容
* \param type [in]对话框按键的类型
* \return 创建好的对话框的句柄, 失败返回MR_FAILED
*/
int32 mr_dialogCreate(const char * title, const char * text, int32 type);
/**
* \brief 销毁一个对话框
*
* \param dialog [in] 对话框句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_dialogRelease(int32 dialog);
/**
* \brief 重画dialog
*
* \param dialog [in]对话框句柄
* \param title [in]对话框标题
* \param text [in]对话框要显示的询问的内容
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_dialogRefresh(int32 dialog, const char * title, const char * text, int32 type);
/**
* \brief 创建一个文本显示框对象
*
* \param title [in]文本显示框的标题
* \param text [in]文本显示框要显示的内容
* \param type [in]左右软件显示的类型
* \return 创建好的文本显示框的句柄, 失败返回MR_FAILED
*/
int32 mr_textCreate(const char * title, const char * text, int32 type);
/**
* \brief 重画文本显示框
*
* \param textid [in]文本显示框的句柄
* \param title [in]文本显示框的标题
* \param text [in]文本显示框的内容
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_textRefresh(int32 textid, const char * title, const char * text);
/**
* \brief 销毁一个文本显示框
*
* \param text [in]文本显示框的句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_textRelease(int32 text);
/**
* \brief 创建一个编辑框对象
*
* \param title [in]编辑框的标题
* \param text [in]编辑框默认的编辑内容
* \param type [in]编辑框编辑的内容的类型
* \param max_size [in]编辑框编辑的最大个数
* \return 创建成功的EDIT的句柄, 失败返回MR_FAILED
*/
int32 mr_editCreate(const char * title, const char * text, int32 type, int32 max_size);
/**
* \brief 销毁一个编辑框对象
*
* \param edit [in]要销毁的编辑框的对象
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_editRelease(int32 edit);
/**
* \brief 取得编辑框编辑的内容
*
* \param edit [in] 编辑框的句柄
* \return 编辑框的内容
*/
const char* mr_editGetText(int32 edit);
/**
* \brief 创建一个空的界面
*
* \return 创建好的界面的句柄, 失败返回MR_FAILED
*/
int32 mr_winCreate(void);
/**
* \brief 销毁一个空界面
*
* \param win [in]窗口的句柄
* \return 成功返回MR_SUCCESS, 失败返回MR_FAILED
*/
int32 mr_winRelease(int32 win);
/**
* \brief 设置标题
*
* \param pTitle [in] 新标题
* \return void
*/
void dsm_set_title(U16 **pTitle);
int32 mr_localui_menu_create_ex(uint8* input, int32 input_len, uint8** output, int32* output_len, MR_PLAT_EX_CB *cb);
int32 mr_localui_menu_set_menuitem_ex(uint8* input, int32 input_len, uint8** output, int32* output_len, MR_PLAT_EX_CB *cb);
int32 mr_localui_menu_set_focus(uint8* input, int32 input_len, uint8** output, int32* output_len, MR_PLAT_EX_CB *cb);
#endif