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