/*************************** 基本的处理 *********************************/ void TextLayer_Init( LCUI_TextLayer *layer ) /* 初始化文本图层相关数据 */ { layer->using_code_mode = IS_FALSE; layer->using_style_tags = IS_FALSE; layer->enable_word_wrap = IS_FALSE; layer->enable_multiline = IS_FALSE; layer->have_select = IS_FALSE; layer->start = 0; layer->end = 0; Queue_Init( &layer->color_keyword, sizeof(Special_KeyWord), Destroy_Special_KeyWord ); /* 队列中使用链表储存这些数据 */ Queue_Init( &layer->text_source_data, sizeof(LCUI_CharData), Destroy_CharData ); Queue_Set_DataMode( &layer->text_source_data, QUEUE_DATA_MODE_LINKED_LIST ); Queue_Init( &layer->rows_data, sizeof(Text_RowData), Destroy_Text_RowData ); Queue_Init( &layer->tag_buff, sizeof(tag_style_data), destroy_tag_style_data ); Queue_Init( &layer->style_data, sizeof(LCUI_TextStyle), NULL ); RectQueue_Init( &layer->clear_area ); layer->default_data.pixel_size = 12; layer->current_src_pos = 0; layer->current_des_pos = Pos(0,0); layer->max_text_len = 5000; TextStyle_Init ( &layer->default_data ); //TextLayer_Text_Add_NewRow ( layer );/* 添加新行 */ }
void TextLayer_Init( LCUI_TextLayer *layer ) /* 初始化文本图层相关数据 */ { layer->read_only = FALSE; layer->using_code_mode = FALSE; layer->using_style_tags = FALSE; layer->enable_word_wrap = FALSE; layer->enable_multiline = FALSE; layer->need_proc_buff = FALSE; layer->need_scroll_layer = FALSE; layer->have_select = FALSE; layer->start = 0; layer->end = 0; layer->offset_pos = Pos(0,0); layer->old_offset_pos = Pos(0,0); Queue_Init( &layer->color_keyword, sizeof(Special_KeyWord), Destroy_Special_KeyWord ); /* 队列中使用链表储存这些数据 */ Queue_Init( &layer->text_source_data, sizeof(LCUI_CharData), Destroy_CharData ); Queue_Set_DataMode( &layer->text_source_data, QUEUE_DATA_MODE_LINKED_LIST ); Queue_Init( &layer->rows_data, sizeof(Text_RowData), Destroy_Text_RowData ); Queue_Init( &layer->tag_buff, sizeof(tag_style_data), destroy_tag_style_data ); Queue_Init( &layer->style_data, sizeof(LCUI_TextStyle), NULL ); RectQueue_Init( &layer->clear_area ); /* 初始化屏蔽符的数据 */ layer->password_char.display = TRUE; layer->password_char.need_update = FALSE; layer->password_char.data = NULL; layer->password_char.char_code = 0; FontBMP_Init( &layer->password_char.bitmap ); layer->default_data.pixel_size = 12; layer->current_src_pos = 0; layer->current_des_pos = Pos(0,0); layer->max_text_len = 5000; TextStyle_Init ( &layer->default_data ); String_Init( &layer->text_buff ); //TextLayer_Text_Add_NewRow ( layer );/* 添加新行 */ }