예제 #1
0
파일: LCUI_Label.c 프로젝트: dwdcth/LCUI
/**************************** 私有函数 **********************************/
static void Label_Init(LCUI_Widget *widget)
/* 功能:初始化label部件数据 */
{
	LCUI_TextLayer *layer;
	
	layer = Widget_Create_PrivData( widget, sizeof(LCUI_Label) );
	TextLayer_Init( layer );
	widget->private_data = layer;
	Enable_Widget_Auto_Size( widget );
	TextLayer_Using_StyleTags( layer, TRUE );
}
예제 #2
0
/*---------------------------- Private -------------------------------*/
static void 
Label_Init(LCUI_Widget *widget)
/* 功能:初始化label部件数据 */
{
	LCUI_Label *label;
	/* label部件不需要焦点 */
	widget->focus = FALSE;
	label = Widget_Create_PrivData( widget, sizeof(LCUI_Label) );
	label->auto_size = TRUE;
	/* 初始化文本图层 */
	TextLayer_Init( &label->layer ); 
	/* 启用多行文本显示 */
	TextLayer_Multiline( &label->layer, TRUE );
	Widget_AutoSize( widget, FALSE, 0 );
	/* 启用样式标签的支持 */
	TextLayer_Using_StyleTags( &label->layer, TRUE );
}
예제 #3
0
파일: text_layer.c 프로젝트: dwdcth/LCUI
int
TextLayer_Text( LCUI_TextLayer *layer, char *new_text )
/* 设定整个文本图层中需显示的文本,原有选中文本被删除 */
{
	DEBUG_MSG("enter\n"); 
	uint_t i, rows;
	LCUI_TextLayer new_layer;

	TextLayer_Init( &new_layer );
	TextLayer_Text_Set_Default_Style( &new_layer, layer->default_data);
	TextLayer_Using_StyleTags( &new_layer, layer->using_style_tags );
	TextLayer_Text_Process( &new_layer, new_text );
	/* 合并两个文本图层,记录不同字所在区域,等待处理刷新 */
	TextLayer_Merge( layer, &new_layer ); 
	TextLayer_Text_GenerateBMP( layer ); 
	/* 更新每一行文本位图的尺寸 */
	rows = Queue_Get_Total( &layer->rows_data );
	for(i=0; i<rows; ++i) {
		TextLayer_Update_RowSize( layer, i );
	}
	Destroy_TextLayer( &new_layer );  
	DEBUG_MSG("quit\n");
	return 0;
}