129 lines
3.4 KiB
C
129 lines
3.4 KiB
C
#include "include.h"
|
|
|
|
|
|
/**
|
|
* @brief 创建标签文本框
|
|
* @param[in] frm : 窗体句柄
|
|
* @param[in] max_word_cnt : 最大字数
|
|
* @return 返回标签句柄
|
|
**/
|
|
compo_label_t* compo_label_create(compo_form_t *frm, u16 max_word_cnt)
|
|
{
|
|
compo_label_t *label = compo_create(frm, COMPO_TYPE_LABEL);
|
|
|
|
//前景文本
|
|
void *txt = widget_text_create(frm->page_body, max_word_cnt);
|
|
widget_text_set_autosize(txt, true); //默认为自适应大小
|
|
label->txt = txt;
|
|
|
|
return label;
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签的文本框内容
|
|
* @param[in] label : 标签句柄
|
|
* @param[in] text : 文本内容 例:"遥遥领先"
|
|
**/
|
|
void compo_label_set(compo_label_t *label, const char *text)
|
|
{
|
|
widget_text_set(label->txt, text);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签字库资源地址
|
|
* @param[in] label : 标签句柄
|
|
* @param[in] font_res_addr : 设置字库资源地址, 0则表示用回系统字体
|
|
**/
|
|
void compo_label_set_font(compo_label_t *label, u32 font_res_addr)
|
|
{
|
|
widget_text_set_font(label->txt, font_res_addr);
|
|
}
|
|
|
|
/**
|
|
* @brief 获取标签文本框内容行数
|
|
* @param[in] label : 标签句柄
|
|
**/
|
|
u8 compo_label_get_line_cnt(compo_label_t *label)
|
|
{
|
|
return widget_text_get_line_cnt(label->txt);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框的坐标及大小
|
|
注意:文本框设置的坐标是以默认的中心点作为参考
|
|
* @param[in] label : 文本指针
|
|
* @param[in] x : x轴坐标
|
|
* @param[in] y : y轴坐标
|
|
* @param[in] width : 文本框宽度
|
|
* @param[in] height : 文本框高度
|
|
**/
|
|
void compo_label_set_location(compo_label_t *label, s16 x, s16 y, s16 width, s16 height)
|
|
{
|
|
widget_set_location(label->txt, x, y, width, height);
|
|
if (0 != width && 0 != height) {
|
|
widget_text_set_autosize(label->txt, false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框的坐标
|
|
注意:文本框设置的坐标是以默认的中心点作为参考
|
|
* @param[in] label : 文本指针
|
|
* @param[in] x : x轴坐标
|
|
* @param[in] y : y轴坐标
|
|
**/
|
|
void compo_label_set_pos(compo_label_t *label, s16 x, s16 y)
|
|
{
|
|
widget_set_pos(label->txt, x, y);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框是否自适应尺寸
|
|
* @param[in] label : 文本指针
|
|
* @param[in] autosize : 是否自适应尺寸
|
|
**/
|
|
void compo_label_set_autosize(compo_label_t *label, bool autosize)
|
|
{
|
|
widget_text_set_autosize(label->txt, autosize);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框是否居中
|
|
* @param[in] label : 文本指针
|
|
* @param[in] align_center : 是否居中
|
|
**/
|
|
void compo_label_set_align_center(compo_label_t *label, bool align_center)
|
|
{
|
|
widget_set_align_center(label->txt, align_center);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框文字的颜色
|
|
* @param[in] label : 文本指针
|
|
* @param[in] color : 颜色
|
|
**/
|
|
void compo_label_set_forecolor(compo_label_t *label, u16 color)
|
|
{
|
|
widget_text_set_color(label->txt, color);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框的透明度
|
|
* @param[in] label : 文本指针
|
|
* @param[in] alpha : 透明度
|
|
**/
|
|
void compo_label_set_alpha(compo_label_t *label, u8 alpha)
|
|
{
|
|
widget_set_alpha(label->txt, alpha);
|
|
}
|
|
|
|
/**
|
|
* @brief 设置标签文本框是否可见
|
|
* @param[in] label : 文本指针
|
|
* @param[in] visible : 是否可见
|
|
**/
|
|
void compo_label_set_visible(compo_label_t *label, bool visible)
|
|
{
|
|
widget_set_visible(label->txt, visible);
|
|
}
|