如果不希望显示这些行可以参考下面的修改方法:
在当前的设计基础上,根据显示区域的判断,决定当前行是否需要显示出来,具体如下:
在gui_multi_line_inputs.c中修改gui_draw_multi_line_one_line()
gui_draw_multi_line_one_line()
{
......
UI_string_type default_text = NULL;
#if 1 // add start
S32 cx1, cy1, cx2, cy2;
#endif // add end
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_editor_line.cur_read = 0;
baseline = g_editor_line.line_ascent;
#if 1 // add start
gui_get_clip(&cx1, &cy1, &cx2, &cy2);//获取当前画editor时 clip区域。
if((bs->yty < cy1 )||(bs->yty + g_editor_line.line_height> (cy2+1)))
{
return; //判断当前行画的位置是否超出clip区域,如果超出就 直接return ,不画当前行。
//另外也可以自己调节判断条件是超出一部分才return.
}
#endif // add end
if (!(b->ext_flags & GUI_MULTI_LINE_INPUT_BOX_HIDE_TEXT_CONTENT))
......
}
在当前的设计基础上,根据显示区域的判断,决定当前行是否需要显示出来,具体如下:
在gui_multi_line_inputs.c中修改gui_draw_multi_line_one_line()
gui_draw_multi_line_one_line()
{
......
UI_string_type default_text = NULL;
#if 1 // add start
S32 cx1, cy1, cx2, cy2;
#endif // add end
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_editor_line.cur_read = 0;
baseline = g_editor_line.line_ascent;
#if 1 // add start
gui_get_clip(&cx1, &cy1, &cx2, &cy2);//获取当前画editor时 clip区域。
if((bs->yty < cy1 )||(bs->yty + g_editor_line.line_height> (cy2+1)))
{
return; //判断当前行画的位置是否超出clip区域,如果超出就 直接return ,不画当前行。
//另外也可以自己调节判断条件是超出一部分才return.
}
#endif // add end
if (!(b->ext_flags & GUI_MULTI_LINE_INPUT_BOX_HIDE_TEXT_CONTENT))
......
}