Files
99_7018_lmx/include_lib/system/ui/ui/ui_text.h
2025-10-29 13:10:02 +08:00

57 lines
1.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef UI_TEXT_H
#define UI_TEXT_H
#include "ui/ui_core.h"
#include "ui/control.h"
#include "font/font_all.h"
struct ui_text {
struct element elm;
struct ui_text_attrs attrs;
char source[8];
u16 timer;
u16 _str[UI_TEXT_LIST_MAX_NUM];
char _format[7];
u8 str_num;
u8 index;
// u8 str_num:4;
// u8 css_num:4;
// u32 css[2];
// u16 attr_color;
// u16 attr_highlight_color;
// struct ui_text_attrs attrs;
const struct ui_text_info *info;
const struct element_event_handler *handler;
};
void ui_text_enable();
void *new_ui_text(const void *_info, struct element *parent);
/*api of format 'ascii'*/
int ui_text_set_str(struct ui_text *text, const char *format, const char *str, int strlen, u32 flags);
int ui_text_set_str_by_id(int id, const char *format, const char *str);
/*api of format 'strpic'*/
int ui_text_set_index(struct ui_text *text, int index);
int ui_text_show_index_by_id(int id, int index);
/*api of format 'text'*/
void ui_text_set_text_attrs(struct ui_text *text, const char *str, int strlen, u8 encode, u8 endian, u32 flags);
int ui_text_set_text_by_id(int id, const char *str, int strlen, u32 flags);
int ui_text_set_textw_by_id(int id, const char *str, int strlen, int endian, u32 flags);
int ui_text_set_textu_by_id(int id, const char *str, int strlen, u32 flags);
void text_release(struct ui_text *text);
/*
* 注意:
* 1.store_buf必须是全局或者静态不能是局部,大小为index_num+1
* 2.index_buf表示当前文本控件字符串id的序号从0开始
* 3.index_num表示有多少个字符串id拼起来
* */
int ui_text_set_combine_index(struct ui_text *text, u16 *store_buf, u8 *index_buf, int index_num);
int ui_text_set_hide_by_id(int id, int hide);
#endif