1 /**
2  * @file lv_ime_pinyin_private.h
3  *
4  */
5 
6 #ifndef LV_IME_PINYIN_PRIVATE_H
7 #define LV_IME_PINYIN_PRIVATE_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../../core/lv_obj_private.h"
18 #include "lv_ime_pinyin.h"
19 
20 #if LV_USE_IME_PINYIN != 0
21 
22 /*********************
23  *      DEFINES
24  *********************/
25 
26 /**********************
27  *      TYPEDEFS
28  **********************/
29 
30 /*Data of lv_ime_pinyin*/
31 struct _lv_ime_pinyin_t {
32     lv_obj_t obj;
33     lv_obj_t * kb;
34     lv_obj_t * cand_panel;
35     const lv_pinyin_dict_t * dict;
36     lv_ll_t k9_legal_py_ll;
37     char * cand_str;            /* Candidate string */
38     char   input_char[16];      /* Input box character */
39 #if LV_IME_PINYIN_USE_K9_MODE
40     char   k9_input_str[LV_IME_PINYIN_K9_MAX_INPUT + 1]; /* 9-key input(k9) mode input string */
41     uint16_t k9_py_ll_pos;      /* Current pinyin map pages(k9) */
42     uint16_t k9_legal_py_count; /* Count of legal Pinyin numbers(k9) */
43     uint16_t k9_input_str_len;  /* 9-key input(k9) mode input string max len */
44 #endif
45     uint16_t ta_count;          /* The number of characters entered in the text box this time */
46     uint16_t cand_num;          /* Number of candidates */
47     uint16_t py_page;           /* Current pinyin map pages(k26) */
48     uint16_t py_num[26];        /* Number and length of Pinyin */
49     uint16_t py_pos[26];        /* Pinyin position */
50     lv_ime_pinyin_mode_t  mode; /* Set mode, 1: 26-key input(k26), 0: 9-key input(k9). Default: 1. */
51 };
52 
53 
54 /**********************
55  * GLOBAL PROTOTYPES
56  **********************/
57 
58 /**********************
59  *      MACROS
60  **********************/
61 
62 #endif /* LV_USE_IME_PINYIN != 0 */
63 
64 #ifdef __cplusplus
65 } /*extern "C"*/
66 #endif
67 
68 #endif /*LV_IME_PINYIN_PRIVATE_H*/
69