Keyboard settings Blank screen issue fixed
[framework/uifw/ise-default.git] / res / mcfresource.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.tizenopensource.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #include "mcftypes.h"
19 #include "mcfconfig.h"
20 #include "mcfstructs.h"
21 #include "mcfkeydefines.h"
22 #include <Ecore_IMF.h>
23
24 /* This prevents "deprecated conversion" warnings.. */
25 #pragma GCC diagnostic ignored "-Wwrite-strings"
26
27 #ifndef __MCF_RESOURCE_H__
28 #define __MCF_RESOURCE_H__
29
30 #define FONT_PROPERTIES_FILE "fontprop.dat"
31
32 #define PORTRAIT_DEFAULT_BG_IMG "textinput_panel_bg.png"
33 #define LANDSCAPE_DEFAULT_BG_IMG "textinput_panel_land_bg.png"
34
35 #define POPUP_BG_IMG "B09_bg_Popup.png"
36
37 #define RESOURCE_DATA_LABEL_LEN 10
38 #define RESOURCE_DATA_IMG_PATH_LEN 50
39 #define RESOURCE_DATA_KEY_VALUE_LEN 8
40 #define RESOURCE_DATA_AUTOPOPUP_KEY_LEN 4
41
42 /* User defined key list */
43 typedef enum _MCFUserDefinedKey {
44         UD_MVK_START = (MVK_RESERVED_KEY + 1), /* KEY_TYPE_CONTROL */
45         /* Add here */
46         UD_MVK_OPTION,
47         UD_MVK_LANGUAGE,
48         UD_MVK_CHANGEISE,
49         UD_MVK_HIDE,
50         UD_MVK_SHIFT,
51         UD_MVK_OK,
52         UD_MVK_MORE,
53         UD_MVK_PREDICTION_ONOFF,
54         UD_MVK_ABC,
55         UD_MVK_123,
56         UD_MVK_SYM,
57         UD_MVK_PREVSYM,
58         UD_MVK_NEXTSYM,
59         UD_MVK_KEYPAD,
60         UD_MVK_KEYPAD_4X4,
61         UD_MVK_KEYPAD_QTY,
62         UD_MVK_COMPLETION_MUL_abc,
63         UD_MVK_COMPLETION_MUL_Abc,
64         UD_MVK_COMPLETION_MUL_ABC,
65         UD_MVK_IPv6,
66         UD_MVK_LANG_CHANGE,
67         UD_MVK_OPTION_WINDOW,
68 #ifdef SUPPORTS_VOICE_INPUT
69         UD_MVK_VOICE_WINDOW,
70 #endif
71         UD_MVK_END /* End of the user defined key value*/
72 }MCFUserDefinedKey;
73
74 /* Custom ID for setting private keys */
75 enum _MCFCustomID {
76         CUSTOMID_PREDICTION,
77         CUSTOMID_ENTER,
78         CUSTOMID_WWWCOM,
79         CUSTOMID_MAX
80 };
81
82 enum MCFSubLayoutID {
83         SUBLAYOUTID_NONE = -1,
84         SUBLAYOUTID_DEFAULT = 0,
85         SUBLAYOUTID_WITH_VOICE,
86         SUBLAYOUTID_URL,
87         SUBLAYOUTID_EMAIL,
88
89         SUBLAYOUTID_MAX
90 };
91
92 #define MAX_KEY 60
93
94 /**@brief  Layout definition */
95 typedef enum _MCFLayout {
96         /* base layout */
97         LYT_PORTRAIT_4X4_DEFAULT = 0,
98         LYT_PORTRAIT_4X4_SYM,
99         LYT_PORTRAIT_4X4_IPv6_123,
100         LYT_PORTRAIT_4X4_IPv6_ABC,
101         LYT_PORTRAIT_4X4_NUMONLY,
102         LYT_PORTRAIT_4X4_MONTH,
103         LYT_PORTRAIT_QTY_DEFAULT,
104         LYT_PORTRAIT_AZT_DEFAULT,
105         LYT_PORTRAIT_QTY_URL,
106         LYT_PORTRAIT_QTY_EMAIL,
107          /*russian layouts*/
108         LYT_PORTRAIT_QTY_RUSSIAN,
109         LYT_LANDSCAPE_QTY_RUSSIAN,
110         /*Landscape Layouts*/
111         LYT_LANDSCAPE_QTY_DEFAULT,
112         LYT_LANDSCAPE_AZT_FRENCH,
113         LYT_LANDSCAPE_QTY_URL,
114         LYT_LANDSCAPE_QTY_EMAIL,
115         LYT_LANDSCAPE_4X4_NUM,
116         LYT_LANDSCAPE_4X4_PASSWD,
117         LYT_LANDSCAPE_4X4_IPv6_123,
118         LYT_LANDSCAPE_4X4_IPv6_ABC,
119         LYT_LANDSCAPE_4X4_NUMONLY,
120
121         /* popup layout */
122         LYT_PORTRAIT_4X4_TEXTMODE_POPUP,
123
124         LYT_PUNCTUATION_POPUP,
125         LYT_EMOTICON_POPUP,
126         LYT_URL_POPUP,
127
128         MAX_LAYOUT
129 }MCFLayout;
130
131 extern McfLayout mcf_layout[MAX_LAYOUT];
132
133 /**@brief  Input Mode definition */
134 typedef enum _MCFInputMode {
135         /* base input mode */
136         INPUT_MODE_4X4_ENGLISH = 0,
137         INPUT_MODE_4X4_NUM,
138         INPUT_MODE_4X4_SYM_1,
139         INPUT_MODE_4X4_SYM_2,
140         INPUT_MODE_4X4_SYM_3,
141         INPUT_MODE_4X4_SYM_4,
142         INPUT_MODE_4X4_SYM_5,
143         INPUT_MODE_4X4_TELEPHONE,
144         INPUT_MODE_4X4_URL,
145         INPUT_MODE_4X4_EMAIL,
146         INPUT_MODE_4X4_PASSWD,
147         INPUT_MODE_4X4_IPv6_123,
148         INPUT_MODE_4X4_IPv6_ABC,
149         INPUT_MODE_4X4_NUMONLY,
150         INPUT_MODE_4X4_MONTH,
151
152         INPUT_MODE_4X4_FRENCH,
153         INPUT_MODE_4X4_SPANISH,
154         INPUT_MODE_4X4_ITALIAN,
155         INPUT_MODE_4X4_DUTCH,
156         INPUT_MODE_4X4_PORTUGUESE,
157         INPUT_MODE_4X4_GERMAN,
158
159         INPUT_MODE_4X4_TURKISH,
160         INPUT_MODE_4X4_GREEK,
161         INPUT_MODE_4X4_RUSSIAN,
162
163         INPUT_MODE_QTY_ENGLISH,
164         INPUT_MODE_QTY_URL,
165         INPUT_MODE_QTY_EMAIL,
166         INPUT_MODE_QTY_SYM_1,
167         INPUT_MODE_QTY_SYM_2,
168         INPUT_MODE_QTY_SYM_3,
169         INPUT_MODE_QTY_SYM_4,
170
171         INPUT_MODE_QTY_FRENCH,
172         /* Below 5 modes are equivalent to english mode */
173         INPUT_MODE_QTY_SPANISH,
174         INPUT_MODE_QTY_ITALIAN,
175         INPUT_MODE_QTY_DUTCH,
176         INPUT_MODE_QTY_PORTUGUESE,
177         INPUT_MODE_QTY_GERMAN,
178
179         INPUT_MODE_QTY_TURKISH,
180         INPUT_MODE_QTY_GREEK,
181         INPUT_MODE_QTY_RUSSIAN,
182
183         MAX_INPUT_MODE
184 }MCFInputMode;
185
186 extern McfInputModeConfigure mcf_input_mode_configure[MAX_INPUT_MODE];
187
188 typedef enum _MCFInputModePopup {
189         /* add popup input mode */
190         INPUT_MODE_4X4_TEXTMODE_POPUP,
191         INPUT_MODE_PUNCTUATION_POPUP,
192         INPUT_MODE_EMOTICON_POPUP,
193         INPUT_MODE_URL_POPUP,
194         INPUT_MODE_SCENETEXT_POPUP,
195         MAX_INPUT_MODE_POPUP
196 }MCFInputModePopup;
197
198 extern McfInputModePopupConfigure mcf_input_mode_popup_configure[MAX_INPUT_MODE_POPUP];
199 extern mcfboolean mcf_sublayout_support_table[MAX_INPUT_MODE][SUBLAYOUTID_MAX];
200
201 #define DEFAULT_FONT_NAME "SLP:style=medium"
202 #define DEFAULT_FONT_SIZE  40
203
204 typedef enum _MCFLabelProperties {
205         LABEL_PROPERTIES_4X4_DEFAULT_TYPE = 0,
206         LABEL_PROPERTIES_4X4_SIDE_BUTTON_TYPE,
207         LABEL_PROPERTIES_4X4_SIDE_UIITEM_TYPE,
208         LABEL_PROPERTIES_4X4_SOFTKEYBAR_TYPE,
209         LABEL_PROPERTIES_4X4_NUM_TYPE,
210         LABEL_PROPERTIES_4X4_SYM_PAGELABEL,
211         LABEL_PROPERTIES_QTY_DEFAULT_TYPE,
212         LABEL_PROPERTIES_QTY_BOTTOM_LINE_TYPE,
213         LABEL_PROPERTIES_QTY_BOTTOM_LINE_IMAGE_TYPE,
214         LABEL_PROPERTIES_TEXTMODE_POPUP_TYPE,
215         LABEL_PROPERTIES_4X4_ASTERISK_TYPE,
216         LABEL_PROPERTIES_QTY_WWW_TYPE,
217         LABEL_PROPERTIES_4x4_WWW_TYPE,
218         LABEL_PROPERTIES_LANGNAME,
219         LABEL_PROPERTIES_LAND_DEFAULT_TYPE,
220         LABEL_PROPERTIES_LAND_DEFAULT_IMAGE_TYPE,
221         LABEL_PROPERTIES_LAND_MODE_CHANGE_LABEL_TYPE,
222         LABEL_PROPERTIES_LAND_SYMBOL_LABEL_TYPE,
223         LABEL_PROPERTIES_LAND_WWW_TYPE,
224         LABEL_PROPERTIES_4X4_INDIC_TYPE,
225         LABEL_PROPERTIES_4x4_MONTH_TYPE,
226         LABEL_PROPERTIES_LAND_IP_ABC,
227         LABEL_PROPERTIES_LAND_MONTH,
228
229         LABEL_PROPERTIES_PUNTUATION_BUTTON_TYPE,
230         LABEL_PROPERTIES_QTY_SPACE_KEY_TYPE,
231         LABEL_PROPERTIES_QTY_DOT_BUTTON_TYPE,
232         LABEL_PROPERTIES_QTY_NUM_DEFAULT_TYPE,
233
234         MAX_LABEL_PROPERTIES
235 }MCFLabelProperties;
236
237 #define COLOR_1 { 255, 255, 255, 255}
238 #define COLOR_2 { 0, 0, 0 , 255}
239 #define COLOR_25 { 0, 186, 255 , 255}
240 #define COLOR_61 { 28, 31, 36 , 255}
241 #define COLOR_49 { 36, 36, 36 , 255}
242 #define COLOR_18 { 0, 161, 253 , 255}
243 #define COLOR_71 { 75, 75, 75, 255}
244
245 #define COLOR_242 { 255, 255, 255, 255}
246 #define COLOR_PRESSED { 226, 226, 226, 255}
247 #define COLOR_LIGHTGRAY { 150, 150, 150, 255}
248 #define COLOR_SPACE { 255, 255, 255, 255}
249
250 #define COLOR_LABEL_PRESSED { 120, 120, 120, 255 }
251 #define COLOR_LABEL_DISABLED { 96, 96, 96, 255 }
252
253 #define COLOR_NORMAL {40,40,40,255}
254 #define COLOR_NORMAL_LONGKEY {150,150,150,255}
255 #define COLOR_SHIFT_STATE_COLOR {255,180,0,255}
256 #define COLOR_FUNCTION { 255, 255, 255, 255}
257 #define COLOR_PHONENUMBER_TEXT { 150,150,150,255 }
258 #define COLOR_DISABLED { 178, 178, 178, 255 }
259
260 static McfLabelProperties mcf_key_label_properties[MAX_LABEL_PROPERTIES][MAX_SIZE_OF_LABEL_FOR_ONE] = {
261         /* fValid, fontName, fontSize, normalColor, activeColor, selectedColor, alignment, padding, shadowDistance, shadowDirection, shadowColor  */
262         /* LABEL_PROPERTIES_4X4_DEFAULT_TYPE */
263         {
264         {USED, DEFAULT_FONT_NAME, 30,
265                 {
266                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
267                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
268                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
269                 },
270         LABEL_ALIGN_CENTER_TOP, 0, 10},
271         {USED, DEFAULT_FONT_NAME, 21,
272                 {
273                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
274                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
275                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
276                 },LABEL_ALIGN_CENTER_TOP, 0, 42},
277                 {FALSE},
278         },
279         /* LABEL_PROPERTIES_4X4_SIDE_BUTTON_TYPE*/
280         {
281                 {USED, DEFAULT_FONT_NAME, 35,
282                 {
283                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
284                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
285                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
286                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
287                         {FALSE},
288         },
289         /* LABEL_PROPERTIES_4X4_SIDE_UIITEM_TYPE*/
290         {
291                 {USED, DEFAULT_FONT_NAME, 35,
292                 {
293                         {COLOR_DISABLED, COLOR_DISABLED, COLOR_DISABLED},
294                         {COLOR_DISABLED, COLOR_DISABLED, COLOR_DISABLED},
295                         {COLOR_DISABLED, COLOR_DISABLED, COLOR_DISABLED},
296                 },
297                 LABEL_ALIGN_CENTER_MIDDLE, 0},
298                 {FALSE},
299         },
300         /* LABEL_PROPERTIES_4X4_SOFTKEYBAR_TYPE*/
301         {
302                 {USED, DEFAULT_FONT_NAME, 24,
303                 {
304                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
305                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
306                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
307                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
308                 {FALSE},
309         },
310         /* LABEL_PROPERTIES_4X4_NUM_TYPE*/
311         {
312                 {USED, DEFAULT_FONT_NAME, 44,
313                 {
314                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
315                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
316                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
317                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
318                 {FALSE},
319         },
320         /* LABEL_PROPERTIES_4X4_SYM_PAGELABEL*/
321         {
322                 {USED, DEFAULT_FONT_NAME, 30,
323                 {
324                         {COLOR_242, COLOR_242, COLOR_LABEL_DISABLED},
325                         {COLOR_242, COLOR_242, COLOR_LABEL_DISABLED},
326                         {COLOR_242, COLOR_242, COLOR_LABEL_DISABLED},
327                         },LABEL_ALIGN_CENTER_MIDDLE, 0},
328                 {FALSE},
329         },
330         /* LABEL_PROPERTIES_QTY_DEFAULT_TYPE */
331         {
332         {USED, DEFAULT_FONT_NAME, 42,
333                 {
334                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
335                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
336                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
337                 },
338                 LABEL_ALIGN_CENTER_MIDDLE, 0},
339         {USED, DEFAULT_FONT_NAME, 23,
340                 {
341                         {COLOR_NORMAL_LONGKEY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
342                         {COLOR_NORMAL_LONGKEY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
343                         {COLOR_NORMAL_LONGKEY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
344                 },
345                 LABEL_ALIGN_RIGHT_TOP, 8, 2},
346                 {FALSE},
347         },
348         /* LABEL_PROPERTIES_QTY_BOTTOM_LINE_TYPE */
349         {
350         {USED, DEFAULT_FONT_NAME, 26,
351                 {
352                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
353                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
354                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
355                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
356         {USED, DEFAULT_FONT_NAME, 28,
357                 {
358                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
359                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
360                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
361                 },LABEL_ALIGN_CENTER_TOP, 0, 10},
362         {USED, DEFAULT_FONT_NAME, 42,
363                 {
364                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
365                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
366                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
367                 },LABEL_ALIGN_CENTER_BOTTOM, 0, 10},
368                 {FALSE},
369         },
370         /* LABEL_PROPERTIES_QTY_BOTTOM_LINE_IMAGE_TYPE */
371         {
372                 {USED, DEFAULT_FONT_NAME, 22,
373                 {
374                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
375                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
376                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
377                 },LABEL_ALIGN_CENTER_BOTTOM, 10, 6},
378                 {FALSE},
379         },
380         /* LABEL_PROPERTIES_TEXTMODE_POPUP_TYPE */
381         {
382         {USED, DEFAULT_FONT_NAME, 22,
383                 {
384                         {COLOR_49, COLOR_PRESSED, COLOR_LABEL_DISABLED},
385                         {COLOR_49, COLOR_PRESSED, COLOR_LABEL_DISABLED},
386                         {COLOR_49, COLOR_PRESSED, COLOR_LABEL_DISABLED},
387                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
388                 {FALSE},
389         },
390         /* LABEL_PROPERTIES_4X4_ASTERISK_TYPE */
391         {
392                 {USED, DEFAULT_FONT_NAME, 34,
393                 {
394                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
395                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
396                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
397                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
398         {USED, DEFAULT_FONT_NAME, 34,
399                 {
400                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
401                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
402                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
403                 },LABEL_ALIGN_LEFT_MIDDLE, 30, 5},
404         {USED, DEFAULT_FONT_NAME, 34,
405                 {
406                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
407                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
408                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
409                 },LABEL_ALIGN_CENTER_MIDDLE, 15, 0},
410                 {FALSE},
411         },
412         /* LABEL_PROPERTIES_QTY_WWW_TYPE */
413         {
414         {USED, DEFAULT_FONT_NAME, 32,
415                 {
416                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
417                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
418                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
419                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
420                 {FALSE},
421         },
422
423         /* LABEL_PROPERTIES_4x4_WWW_TYPE */
424         {
425         {USED, DEFAULT_FONT_NAME, 32,
426                 {
427                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
428                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
429                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
430                 },LABEL_ALIGN_CENTER_MIDDLE, 0},
431                 {FALSE},
432         },
433         /* LABEL_PROPERTIES_LANGNAME */
434         {
435         {USED, DEFAULT_FONT_NAME, 20,
436                 {
437                         {COLOR_LABEL_PRESSED, COLOR_PRESSED, COLOR_LABEL_DISABLED},
438                         {COLOR_LABEL_PRESSED, COLOR_PRESSED, COLOR_LABEL_DISABLED},
439                         {COLOR_LABEL_PRESSED, COLOR_PRESSED, COLOR_LABEL_DISABLED},
440                 },LABEL_ALIGN_LEFT_MIDDLE, 0},
441                 {FALSE},
442         },
443
444         /*LABEL_PROPERTIES_LAND_DEFAULT_TYPE*/
445         {
446         {USED, DEFAULT_FONT_NAME, 42,
447                 {
448                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
449                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
450                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
451                 }, LABEL_ALIGN_CENTER_MIDDLE, 0},
452         {USED, DEFAULT_FONT_NAME, 23,
453                 {
454                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
455                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
456                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
457                 },LABEL_ALIGN_RIGHT_TOP, 7, 2},
458                 {FALSE},
459         },
460
461
462         /*LABEL_PROPERTIES_LAND_DEFAULT_IMAGE_TYPE*/
463         {
464         {USED, DEFAULT_FONT_NAME, 26,
465                 {
466                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
467                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
468                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
469                 },LABEL_ALIGN_RIGHT_MIDDLE, 20, 10},
470         {FALSE},
471         },
472
473         /*LABEL_PROPERTIES_LAND_MODE_CHANGE_LABEL_TYPE*/
474         {
475         {USED, DEFAULT_FONT_NAME, 32,
476                 {
477                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
478                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
479                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
480                 }, LABEL_ALIGN_CENTER_MIDDLE, 0},
481         {FALSE},
482         },
483
484         /*LABEL_PROPERTIES_LAND_SYMBOL_LABEL_TYPE*/
485         {
486         {USED, DEFAULT_FONT_NAME, 42,
487                 {
488                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
489                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
490                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
491                 },LABEL_ALIGN_CENTER_BOTTOM, 0, 5},
492         {USED, DEFAULT_FONT_NAME, 28,
493                 {
494                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
495                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
496                         {COLOR_LIGHTGRAY, COLOR_PRESSED, COLOR_LABEL_DISABLED},
497                 },LABEL_ALIGN_CENTER_TOP, 0, 5},
498         {USED, DEFAULT_FONT_NAME, 42,
499                 {
500                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
501                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
502                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
503                 },LABEL_ALIGN_CENTER_BOTTOM, 0, 5},
504         {FALSE},
505
506         },
507         /* LABEL_PROPERTIES_LAND_WWW_TYPE */
508         {
509         {USED, DEFAULT_FONT_NAME, 30,
510                 {
511                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
512                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
513                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
514                 }, LABEL_ALIGN_CENTER_MIDDLE, 0},
515         {FALSE},
516         },
517         /* LABEL_PROPERTIES_4X4_INDIC_TYPE */
518         {
519         {USED, DEFAULT_FONT_NAME, 30,
520                 {
521                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
522                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
523                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
524                 },
525         LABEL_ALIGN_CENTER_TOP, 0, 10},
526         {USED, DEFAULT_FONT_NAME, 21,
527                 {
528                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
529                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
530                         {COLOR_PHONENUMBER_TEXT, COLOR_PRESSED, COLOR_LABEL_DISABLED},
531                 },LABEL_ALIGN_CENTER_TOP, 0, 42},
532         {FALSE},
533         },
534         /* LABEL_PROPERTIES_4X4_MONTH_TYPE */
535         {
536         {USED, DEFAULT_FONT_NAME, 32,
537                 {
538                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
539                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
540                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
541                 },
542         LABEL_ALIGN_CENTER_MIDDLE, 0},
543         {FALSE},
544         },
545         /* LABEL_PROPERTIES_LAND_IP_ABC */
546         {
547         {USED, DEFAULT_FONT_NAME, 44,
548                 {
549                         {COLOR_FUNCTION, COLOR_PRESSED, COLOR_LABEL_DISABLED},
550                         {COLOR_FUNCTION, COLOR_PRESSED, COLOR_LABEL_DISABLED},
551                         {COLOR_FUNCTION, COLOR_PRESSED, COLOR_LABEL_DISABLED},
552                 },
553         LABEL_ALIGN_CENTER_MIDDLE, 0},
554         {FALSE},
555         },
556         /* LABEL_PROPERTIES_LAND_MONTH */
557         {
558         {USED, DEFAULT_FONT_NAME, 32,
559                 {
560                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
561                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
562                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
563                 },
564         LABEL_ALIGN_CENTER_MIDDLE, 0},
565         {FALSE},
566         },
567         /* LABEL_PROPERTIES_PUNTUATION_BUTTON_TYPE*/
568         {
569         {USED, DEFAULT_FONT_NAME, 48,
570                 {
571                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
572                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
573                         {COLOR_242, COLOR_PRESSED, COLOR_LABEL_DISABLED},
574                 }, LABEL_ALIGN_CENTER_MIDDLE, 0},
575         {FALSE},
576         },
577         /* LABEL_PROPERTIES_QTY_SPACE_KEY_TYPE */
578         {
579         {TRUE, DEFAULT_FONT_NAME, 25,
580                 {
581                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
582                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
583                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
584                 },
585         LABEL_ALIGN_CENTER_MIDDLE, 0},
586         {TRUE, DEFAULT_FONT_NAME, 25,
587                 {
588                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
589                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
590                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
591                 },
592         LABEL_ALIGN_LEFT_TOP, 9, 0},
593         {TRUE, DEFAULT_FONT_NAME, 25,
594                 {
595                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
596                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
597                         {COLOR_SPACE, COLOR_PRESSED, COLOR_DISABLED},
598                 },
599         LABEL_ALIGN_RIGHT_TOP, 9, 0},
600         {FALSE},
601         },
602         /* LABEL_PROPERTIES_QTY_DOT_BUTTON_TYPE */
603         {
604         {USED, DEFAULT_FONT_NAME, 56,
605                 {
606                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
607                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
608                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
609                 },
610         LABEL_ALIGN_CENTER_BOTTOM, 0, 9},
611         {FALSE},
612         },
613         /* LABEL_PROPERTIES_QTY_NUM_DEFAULT_TYPE */
614         {
615         {USED, DEFAULT_FONT_NAME, 30,
616                 {
617                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
618                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
619                         {COLOR_NORMAL, COLOR_PRESSED, COLOR_LABEL_DISABLED},
620                 },
621         LABEL_ALIGN_CENTER_MIDDLE, 0},
622         {FALSE},
623         },
624 };
625
626 typedef enum _McfKeyset {
627         /* BASE */
628         KEYSET_PORTRAIT_4X4_ENGLISH = 0,
629         KEYSET_PORTRAIT_4X4_NUM,
630         KEYSET_PORTRAIT_4X4_SYM_1,
631         KEYSET_PORTRAIT_4X4_SYM_2,
632         KEYSET_PORTRAIT_4X4_SYM_3,
633         KEYSET_PORTRAIT_4X4_SYM_4,
634         KEYSET_PORTRAIT_4X4_SYM_5,
635         KEYSET_PORTRAIT_4x4_TELEPHONE,
636         KEYSET_PORTRAIT_4X4_URL,
637         KEYSET_PORTRAIT_4X4_EMAIL,
638         KEYSET_PORTRAIT_4X4_PASSWD,
639         KEYSET_PORTRAIT_4X4_IPv6_123,
640         KEYSET_PORTRAIT_4X4_IPv6_ABC,
641         KEYSET_PORTRAIT_4X4_NUMONLY,
642         KEYSET_PORTRAIT_4X4_MONTH,
643
644         KEYSET_PORTRAIT_4X4_FRENCH,
645         KEYSET_PORTRAIT_4X4_SPANISH,
646         KEYSET_PORTRAIT_4X4_ITALIAN,
647         KEYSET_PORTRAIT_4X4_DUTCH,
648         KEYSET_PORTRAIT_4X4_PORTUGUESE,
649         KEYSET_PORTRAIT_4X4_GERMAN,
650
651         KEYSET_PORTRAIT_4X4_TURKISH,
652         KEYSET_PORTRAIT_4X4_GREEK,
653         KEYSET_PORTRAIT_4X4_RUSSIAN,
654
655         KEYSET_PORTRAIT_QTY_ENGLISH,
656         KEYSET_PORTRAIT_QTY_URL,
657         KEYSET_PORTRAIT_QTY_EMAIL,
658         KEYSET_PORTRAIT_QTY_SYM_1,
659         KEYSET_PORTRAIT_QTY_SYM_2,
660         KEYSET_PORTRAIT_QTY_SYM_3,
661         KEYSET_PORTRAIT_QTY_SYM_4,
662
663         KEYSET_PORTRAIT_QTY_FRENCH,
664         KEYSET_PORTRAIT_QTY_SPANISH,
665         KEYSET_PORTRAIT_QTY_ITALIAN,
666         KEYSET_PORTRAIT_QTY_DUTCH,
667         KEYSET_PORTRAIT_QTY_PORTUGUESE,
668         KEYSET_PORTRAIT_QTY_GERMAN,
669
670         KEYSET_PORTRAIT_QTY_TURKISH,
671         KEYSET_PORTRAIT_QTY_GREEK,
672         KEYSET_PORTRAIT_QTY_RUSSIAN,
673
674         KEYSET_LANDSCAPE_QTY_ENGLISH,
675         KEYSET_LANDSCAPE_QTY_URL,
676         KEYSET_LANDSCAPE_QTY_EMAIL,
677
678         KEYSET_LANDSCAPE_QTY_FRENCH,
679         KEYSET_LANDSCAPE_QTY_SPANISH,
680         KEYSET_LANDSCAPE_QTY_ITALIAN,
681         KEYSET_LANDSCAPE_QTY_DUTCH,
682         KEYSET_LANDSCAPE_QTY_PORTUGUESE,
683         KEYSET_LANDSCAPE_QTY_GERMAN,
684
685         KEYSET_LANDSCAPE_QTY_TURKISH,
686         KEYSET_LANDSCAPE_QTY_GREEK,
687         KEYSET_LANDSCAPE_QTY_RUSSIAN,
688
689         KEYSET_LANDSCAPE_4X4_NUM,
690         KEYSET_LANDSCAPE_4X4_PASSWD,
691         KEYSET_LANDSCAPE_4X4_IPv6_123,
692         KEYSET_LANDSCAPE_4X4_IPv6_ABC,
693         KEYSET_LANDSCAPE_4X4_NUMONLY,
694         KEYSET_LANDSCAPE_4X4_MONTH,
695
696         KEYSET_EMOTICON_POPUP,
697         KEYSET_PUNCTUATION_POPUP,
698         KEYSET_URL_POPUP,
699         KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4,
700
701         MAX_KEYSET,
702 }McfKeyset;
703
704 static McfLayoutKeyset mcf_layout_keyset[] = {
705         /* BASE */
706         {INPUT_MODE_4X4_ENGLISH,                LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_ENGLISH},
707         {INPUT_MODE_4X4_NUM,                    LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_NUM},
708         {INPUT_MODE_4X4_SYM_1,                  LYT_PORTRAIT_4X4_SYM,                           KEYSET_PORTRAIT_4X4_SYM_1},
709         {INPUT_MODE_4X4_SYM_2,                  LYT_PORTRAIT_4X4_SYM,                           KEYSET_PORTRAIT_4X4_SYM_2},
710         {INPUT_MODE_4X4_SYM_3,                  LYT_PORTRAIT_4X4_SYM,                           KEYSET_PORTRAIT_4X4_SYM_3},
711         {INPUT_MODE_4X4_SYM_4,                  LYT_PORTRAIT_4X4_SYM,                           KEYSET_PORTRAIT_4X4_SYM_4},
712         {INPUT_MODE_4X4_SYM_5,                  LYT_PORTRAIT_4X4_SYM,                           KEYSET_PORTRAIT_4X4_SYM_5},
713         {INPUT_MODE_4X4_TELEPHONE,              LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4x4_TELEPHONE},
714         {INPUT_MODE_4X4_URL,                    LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_URL},
715         {INPUT_MODE_4X4_EMAIL,                  LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_EMAIL},
716         {INPUT_MODE_4X4_PASSWD,                 LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_PASSWD},
717         {INPUT_MODE_4X4_IPv6_123,               LYT_PORTRAIT_4X4_IPv6_123,                      KEYSET_PORTRAIT_4X4_IPv6_123},
718         {INPUT_MODE_4X4_IPv6_ABC,               LYT_PORTRAIT_4X4_IPv6_ABC,                      KEYSET_PORTRAIT_4X4_IPv6_ABC},
719         {INPUT_MODE_4X4_NUMONLY,                LYT_PORTRAIT_4X4_NUMONLY,                       KEYSET_PORTRAIT_4X4_NUMONLY},
720         {INPUT_MODE_4X4_MONTH,                  LYT_PORTRAIT_4X4_MONTH,                         KEYSET_PORTRAIT_4X4_MONTH},
721
722         {INPUT_MODE_4X4_FRENCH,                 LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_FRENCH},
723         {INPUT_MODE_4X4_SPANISH,                LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_SPANISH},
724         {INPUT_MODE_4X4_ITALIAN,                LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_ITALIAN},
725         {INPUT_MODE_4X4_DUTCH,                  LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_DUTCH},
726         {INPUT_MODE_4X4_PORTUGUESE,             LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_PORTUGUESE},
727         {INPUT_MODE_4X4_GERMAN,                 LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_GERMAN},
728
729         {INPUT_MODE_4X4_TURKISH,                LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_TURKISH},
730         {INPUT_MODE_4X4_GREEK,                  LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_GREEK},
731         {INPUT_MODE_4X4_RUSSIAN,                LYT_PORTRAIT_4X4_DEFAULT,                       KEYSET_PORTRAIT_4X4_RUSSIAN},
732
733
734         {INPUT_MODE_QTY_ENGLISH,                LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_ENGLISH},
735         {INPUT_MODE_QTY_URL,                    LYT_PORTRAIT_QTY_URL,                           KEYSET_PORTRAIT_QTY_URL},
736         {INPUT_MODE_QTY_EMAIL,                  LYT_PORTRAIT_QTY_EMAIL,                         KEYSET_PORTRAIT_QTY_EMAIL},
737         {INPUT_MODE_QTY_SYM_1,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_SYM_1},
738         {INPUT_MODE_QTY_SYM_2,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_SYM_2},
739         {INPUT_MODE_QTY_SYM_3,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_SYM_3},
740         {INPUT_MODE_QTY_SYM_4,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_SYM_4},
741
742         {INPUT_MODE_QTY_FRENCH,                 LYT_PORTRAIT_AZT_DEFAULT,                       KEYSET_PORTRAIT_QTY_FRENCH},
743         {INPUT_MODE_QTY_SPANISH,                LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_SPANISH},
744         {INPUT_MODE_QTY_ITALIAN,                LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_ITALIAN},
745         {INPUT_MODE_QTY_DUTCH,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_DUTCH},
746         {INPUT_MODE_QTY_PORTUGUESE,             LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_PORTUGUESE},
747         {INPUT_MODE_QTY_GERMAN,                 LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_GERMAN},
748
749         {INPUT_MODE_QTY_TURKISH,                LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_TURKISH},
750         {INPUT_MODE_QTY_GREEK,                  LYT_PORTRAIT_QTY_DEFAULT,                       KEYSET_PORTRAIT_QTY_GREEK},
751         {INPUT_MODE_QTY_RUSSIAN,                LYT_PORTRAIT_QTY_RUSSIAN,                       KEYSET_PORTRAIT_QTY_RUSSIAN},
752
753         /*Landscape*/
754         {INPUT_MODE_4X4_ENGLISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_ENGLISH},
755
756         {INPUT_MODE_4X4_FRENCH,                 LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_FRENCH},
757         {INPUT_MODE_4X4_SPANISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_SPANISH},
758         {INPUT_MODE_4X4_ITALIAN,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_ITALIAN},
759         {INPUT_MODE_4X4_DUTCH,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_DUTCH},
760         {INPUT_MODE_4X4_PORTUGUESE,             LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_PORTUGUESE},
761         {INPUT_MODE_4X4_GERMAN,                 LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_GERMAN},
762
763         {INPUT_MODE_4X4_TURKISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_TURKISH},
764         {INPUT_MODE_4X4_GREEK,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_GREEK},
765         {INPUT_MODE_4X4_RUSSIAN,                LYT_LANDSCAPE_QTY_RUSSIAN,                      KEYSET_LANDSCAPE_QTY_RUSSIAN},
766
767         {INPUT_MODE_4X4_NUM,                    LYT_LANDSCAPE_4X4_NUM,                          KEYSET_LANDSCAPE_4X4_NUM},
768         {INPUT_MODE_4X4_TELEPHONE,              LYT_LANDSCAPE_4X4_NUM,                          KEYSET_LANDSCAPE_4X4_NUM},
769
770         {INPUT_MODE_4X4_SYM_1,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
771         {INPUT_MODE_4X4_SYM_2,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
772         {INPUT_MODE_4X4_SYM_3,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
773         {INPUT_MODE_4X4_SYM_4,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
774         {INPUT_MODE_4X4_SYM_5,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
775
776         {INPUT_MODE_4X4_URL,                    LYT_LANDSCAPE_QTY_URL,                          KEYSET_LANDSCAPE_QTY_URL},
777         {INPUT_MODE_4X4_EMAIL,                  LYT_LANDSCAPE_QTY_URL,                          KEYSET_LANDSCAPE_QTY_EMAIL},
778         {INPUT_MODE_4X4_PASSWD,                 LYT_LANDSCAPE_4X4_PASSWD,                       KEYSET_LANDSCAPE_4X4_PASSWD},
779         {INPUT_MODE_4X4_IPv6_123,               LYT_LANDSCAPE_4X4_IPv6_123,                     KEYSET_LANDSCAPE_4X4_IPv6_123},
780         {INPUT_MODE_4X4_IPv6_ABC,               LYT_LANDSCAPE_4X4_IPv6_ABC,                     KEYSET_LANDSCAPE_4X4_IPv6_ABC},
781         {INPUT_MODE_4X4_NUMONLY,                LYT_LANDSCAPE_4X4_NUMONLY,                      KEYSET_LANDSCAPE_4X4_NUMONLY},
782         {INPUT_MODE_4X4_MONTH,                  LYT_LANDSCAPE_4X4_NUM,                          KEYSET_LANDSCAPE_4X4_MONTH},
783
784         {INPUT_MODE_QTY_ENGLISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_ENGLISH},
785         {INPUT_MODE_QTY_URL,                    LYT_LANDSCAPE_QTY_URL,                          KEYSET_LANDSCAPE_QTY_URL},
786         {INPUT_MODE_QTY_EMAIL,                  LYT_LANDSCAPE_QTY_EMAIL,                        KEYSET_LANDSCAPE_QTY_EMAIL},
787
788         {INPUT_MODE_QTY_FRENCH,                 LYT_LANDSCAPE_AZT_FRENCH,                       KEYSET_LANDSCAPE_QTY_FRENCH},
789         {INPUT_MODE_QTY_SPANISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_SPANISH},
790         {INPUT_MODE_QTY_ITALIAN,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_ITALIAN},
791         {INPUT_MODE_QTY_DUTCH,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_DUTCH},
792         {INPUT_MODE_QTY_PORTUGUESE,             LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_PORTUGUESE},
793         {INPUT_MODE_QTY_GERMAN,                 LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_GERMAN},
794
795         {INPUT_MODE_QTY_TURKISH,                LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_TURKISH},
796         {INPUT_MODE_QTY_GREEK,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_LANDSCAPE_QTY_GREEK},
797         {INPUT_MODE_QTY_RUSSIAN,                LYT_LANDSCAPE_QTY_RUSSIAN,                      KEYSET_LANDSCAPE_QTY_RUSSIAN},
798
799
800         {INPUT_MODE_QTY_SYM_1,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_1},
801         {INPUT_MODE_QTY_SYM_2,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_2},
802         {INPUT_MODE_QTY_SYM_3,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_3},
803         {INPUT_MODE_QTY_SYM_4,                  LYT_LANDSCAPE_QTY_DEFAULT,                      KEYSET_PORTRAIT_QTY_SYM_4},
804
805         /*Popup*/
806         {INPUT_MODE_4X4_ENGLISH,                LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
807
808         {INPUT_MODE_4X4_NUM,                    LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
809
810         {INPUT_MODE_4X4_FRENCH,                 LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
811         {INPUT_MODE_4X4_SPANISH,                LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
812         {INPUT_MODE_4X4_ITALIAN,                LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
813         {INPUT_MODE_4X4_DUTCH,                  LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
814         {INPUT_MODE_4X4_PORTUGUESE,             LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
815         {INPUT_MODE_4X4_GERMAN,                 LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
816
817         {INPUT_MODE_4X4_TURKISH,                LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
818         {INPUT_MODE_4X4_GREEK,                  LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
819         {INPUT_MODE_4X4_RUSSIAN,                LYT_PORTRAIT_4X4_TEXTMODE_POPUP,        KEYSET_PORTRAIT_TEXTMODEPOPUP_4X4},
820
821         {INPUT_MODE_QTY_ENGLISH,                LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
822         {INPUT_MODE_QTY_FRENCH,         LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
823         {INPUT_MODE_QTY_SPANISH,                LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
824         {INPUT_MODE_QTY_ITALIAN,                LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
825         {INPUT_MODE_QTY_DUTCH,          LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
826         {INPUT_MODE_QTY_PORTUGUESE,             LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
827         {INPUT_MODE_QTY_GERMAN,         LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
828         {INPUT_MODE_QTY_TURKISH,                LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
829         {INPUT_MODE_QTY_GREEK,          LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
830         {INPUT_MODE_QTY_RUSSIAN,                LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
831
832         {INPUT_MODE_QTY_ENGLISH,                LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
833         {INPUT_MODE_QTY_FRENCH,                 LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
834         {INPUT_MODE_QTY_SPANISH,                LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
835         {INPUT_MODE_QTY_ITALIAN,                LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
836         {INPUT_MODE_QTY_DUTCH,                  LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
837         {INPUT_MODE_QTY_PORTUGUESE,             LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
838         {INPUT_MODE_QTY_GERMAN,                 LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
839         {INPUT_MODE_QTY_TURKISH,                LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
840         {INPUT_MODE_QTY_GREEK,                  LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
841         {INPUT_MODE_QTY_RUSSIAN,                LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
842
843         {INPUT_MODE_QTY_URL,                    LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
844         {INPUT_MODE_QTY_EMAIL,                  LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
845         {INPUT_MODE_QTY_SYM_1,                  LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
846         {INPUT_MODE_QTY_SYM_2,                  LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
847         {INPUT_MODE_QTY_SYM_3,                  LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
848         {INPUT_MODE_QTY_SYM_4,                  LYT_PUNCTUATION_POPUP,                          KEYSET_PUNCTUATION_POPUP},
849
850         {INPUT_MODE_QTY_URL,                    LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
851         {INPUT_MODE_QTY_EMAIL,                  LYT_EMOTICON_POPUP,                             KEYSET_EMOTICON_POPUP},
852
853         {INPUT_MODE_QTY_URL,                    LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
854         {INPUT_MODE_QTY_EMAIL,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
855         {INPUT_MODE_QTY_ENGLISH,                LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
856         {INPUT_MODE_QTY_SYM_1,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
857         {INPUT_MODE_QTY_SYM_2,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
858         {INPUT_MODE_QTY_SYM_3,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
859         {INPUT_MODE_QTY_SYM_4,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
860         {INPUT_MODE_QTY_FRENCH,                 LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
861         {INPUT_MODE_QTY_SPANISH,                LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
862         {INPUT_MODE_QTY_ITALIAN,                LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
863         {INPUT_MODE_QTY_DUTCH,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
864         {INPUT_MODE_QTY_PORTUGUESE,             LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
865         {INPUT_MODE_QTY_GERMAN,                 LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
866         {INPUT_MODE_QTY_TURKISH,                LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
867         {INPUT_MODE_QTY_GREEK,                  LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
868         {INPUT_MODE_QTY_RUSSIAN,                LYT_URL_POPUP,                                  KEYSET_URL_POPUP},
869
870 };
871
872
873 static McfSWButtonStyle mcf_swbutton_style[] = {
874         {
875                 {5, 5},
876                 {{255, 255, 255},{255, 255, 255}},
877                 {{155, 155, 155},{255, 0, 0}},
878                 0,
879                 1.0
880         },
881 };
882
883 typedef enum _McfSWButtonStyleSet {
884         SW_BTN_STYLE_A,
885 }McfSWButtonStyleSet;
886
887 const McfDefaultConfigure mcf_default_configure = {
888         MCFDISPLAY_PORTRAIT,
889         INPUT_MODE_QTY_ENGLISH,
890         TRUE,
891         TRUE,
892         TRUE,
893         TRUE,
894         FALSE,
895         SW_BTN_STYLE_A,
896         {TOUCH_OFFSET_LEVEL_1,TOUCH_OFFSET_LEVEL_2},
897         {{0, -20},{0, -15}}
898 };
899
900 static McfLabelProperties CAND_LABEL_PROP = {
901         USED, DEFAULT_FONT_NAME, DEFAULT_FONT_SIZE, {{0 , 0, 0, 255}, {0, 0, 255, 255}}, LABEL_ALIGN_CENTER_MIDDLE
902 };
903
904 static McfLabelProperties ZOOMING_LABEL_PROP = {
905         USED, DEFAULT_FONT_NAME, 80, {{0 , 0, 0, 255}, {0, 0, 255, 255}}, LABEL_ALIGN_CENTER_MIDDLE
906 };
907
908 static McfLabelProperties AUTOPOPUP_LABEL_PROP = {
909         USED, DEFAULT_FONT_NAME, 54,     {
910                         {{255, 255, 255, 255}, COLOR_SHIFT_STATE_COLOR},
911                         {COLOR_SHIFT_STATE_COLOR, { 255, 255, 255, 255}},
912                         {COLOR_SHIFT_STATE_COLOR, { 255, 255, 255, 255}},
913         }, LABEL_ALIGN_CENTER_MIDDLE, 0, 0
914  };
915
916 extern McfAutoPopupConfigure mcf_autopopup_configure;
917 extern McfDimWndConfigure mcf_dim_window_configure;
918
919 #define MAX_PRELOAD_IMG_CNT 0
920 static const mcfchar* mcf_preload_image[MAX_PRELOAD_IMG_CNT] = {
921 };
922
923 static const McfNinePatchInfo mcf_nine_patch_info[] = {
924         {"textinput_moa_button1_nml.png", 3, 3, 3, 3},
925         {"textinput_moa_button1_function.png", 3, 3, 3, 3},
926         {"textinput_moa_button1_press.png", 3, 3, 3, 3},
927         {"textinput_moa_button1_press_drag.png", 3, 3, 3, 3},
928         {"textinput_moa_button1_press_drag_back.png", 3, 3, 3, 3},
929         {"textinput_moa_button1_press_drag_back_Diagonal.png", 3, 3, 3, 3},
930         {"textinput_moa_button2_nml.png", 3, 3, 3, 3},
931         {"textinput_moa_button2_press.png", 3, 3, 3, 3},
932         {"textinput_moa_button2_press_drag.png", 3, 3, 3, 3},
933         {"textinput_moa_button2_press_drag_back.png", 3, 3, 3, 3},
934         {"textinput_qwerty_button_nml.png", 3, 3, 3, 3},
935         {"textinput_qwerty_button_function.png", 3, 3, 3, 3},
936         {"textinput_qwerty_button_press.png", 3, 3, 3, 3},
937         {"textinput_qwerty_button_capslock_press.png", 3, 3, 3, 3},
938         {"textinput_bottom_button_nml.png", 3, 3, 3, 3},
939         {"textinput_bottom_button_function.png", 3, 3, 3, 3},
940         {"textinput_bottom_button_press.png", 3, 3, 3, 3},
941         {"textinput_popup_button_nml.png", 3, 3, 3, 3},
942         {"textinput_popup_button_press.png", 3, 3, 3, 3},
943         {"textinput_3x4_button_nml.png", 3, 3, 3, 3},
944         {"textinput_3x4_button_function.png", 3, 3, 3, 3},
945         {"textinput_3x4_button_press.png", 3, 3, 3, 3},
946         {"textinput_land_button_nml.png", 3, 3, 3, 3},
947         {"textinput_land_button_function.png", 3, 3, 3, 3},
948         {"textinput_land_button_press.png", 3, 3, 3, 3},
949         {"textinput_land_button_capslock_press.png", 3, 3, 3, 3},
950         {"textinput_land_button_press_drag.png", 3, 3, 3, 3},
951         {"textinput_land_button_press_drag_back.png", 3, 3, 3, 3},
952         {"B09_bg_Popup.png", 13, 13, 9, 9},
953         {"B09_bubble_bg.png", 7, 7, 9, 9},
954         {"B09_key_btn_01.png", 8, 8, 0, 0},
955         {"B09_key_btn_02.png",  8, 8, 0, 0},
956         {"B09_key_btn_press.png",  8, 8, 0, 0},
957         {"B09_Qwerty_btn_01.png", 8, 8, 0, 0},
958         {"B09_Qwerty_btn_02.png", 8, 8, 0, 0},
959         {"B09_Qwerty_btn_press.png", 8, 8, 0, 0},
960         {"B09_Qwerty_l_btn_01.png", 8, 8, 0, 0},
961         {"B09_Qwerty_l_btn_02.png", 8, 8, 0, 0},
962         {"B09_Qwerty_l_btn_press.png", 8, 8, 0, 0},
963 };
964
965 typedef enum _MCFModifierDecoration {
966         MODIFIER_DECORATION_NONE = 0, // The 0 value decoration will never be drawn
967         MODIFIER_DECORATION_NUM
968 }MCFModifierDecoration;
969
970 extern McfModifierDecoration mcf_modifier_decoration[MODIFIER_DECORATION_NUM];
971
972 const mcfdouble DEFAULT_SW_BTN_RECTANGLE_RADIUS = 10;
973
974
975 //MCF_END_DECLS
976 #endif