天天看點

MTK:IDLE輸入超長号碼顯示變化

1.MMI_key_input_handler()

2.dialer_inputbox_handle_key_down()

3.dialer_inputbox_direct_input()

3-1.gui_dialer_input_box_insert_character()

(1)       把輸入的字元添加進去

(2)       b->validation_callback(b->text, b->current_text_p, (b->text_length >> 1) - 1);

(3)       b->change_callback(); 即:dialer_input_box_change_callback()

(3-1)gui_show_dialer_input_box()

gui_show_dialer_input_box_ext() 第一次SHOW撥号框,隻SHOW第一行。在SHOW時首先擷取字元高度:character_height = gui_get_character_height();即擷取:gpCurrentFont->nHeight。

如果一行顯示不下(通過if ((text_x - (character_width + text_gap)) < x1 + 2)來判斷),就讓MMI_dialer_inputbox->n_lines++,然後直接退出。

(3-2)通過for (i = 0; i < text_length; i++)循環,如果長度超過一行,就重新設定字型MMI_dialer_inputbox.text_font = (&wgui_dialer_box_f2); size:4—>1。

(3-3)dial_text_on_change()(需要搜尋下是在哪裡設定的此函數)