mcu_ab568x/userboot240328/app/platform/gui/components/components.h
2025-05-30 18:03:10 +08:00

73 lines
2.2 KiB
C

#ifndef _COMPONENTS_H
#define _COMPONENTS_H
enum COMPO_TYPE {
COMPO_TYPE_NONE,
COMPO_TYPE_FORM, //窗体
COMPO_TYPE_PICTUREBOX, //图像框
COMPO_TYPE_TEXTBOX, //文本框
COMPO_TYPE_SHAPE, //形状
COMPO_TYPE_BUTTON, //铵钮
COMPO_TYPE_NUMBER, //数字
COMPO_TYPE_DATETIME, //时间
COMPO_TYPE_MSGBOX, //对话框
COMPO_TYPE_LISTBOX, //列表框
COMPO_TYPE_ICONLIST, //图标集
COMPO_TYPE_ROTARY, //转盘
};
#define COMPO_STRUCT_COMMON \
u8 type; /*组件类型*/ \
u16 id; /*组件ID*/
typedef struct component_t_ {
COMPO_STRUCT_COMMON;
u8 content[0]; //组件详细内容
} component_t;
typedef struct compo_cb_t_ {
u8 *buf0; //组件Buffer
u32 buf0_size;
u32 buf0_pos;
u8 *buf1;
u32 buf1_size;
u32 buf1_pos;
u8 top_num;
//组件时间控制
u32 rtc_cnt;
u32 rtc_cnt2;
tm_t tm; //时间tm结构体
u16 mtime; //毫秒
bool rtc_update;
} compo_cb_t;
extern compo_cb_t compo_cb;
typedef struct compo_form_t_ compo_form_t;
void compos_init(void);
void *compo_pool_create(bool flag_top);
void compo_pool_clear(compo_form_t *compo);
compo_form_t *compo_pool_get_top(void);
compo_form_t *compo_pool_get_bottom(void);
void *compo_create(compo_form_t *parent, u8 type);
void compo_setid(void *compo, u16 id); //设置组件ID
void *compo_get_head(void);
component_t *compo_get_next(component_t *compo);
#include "component_func.h"
#include "compo_form.h"
#include "compo_picturebox.h"
#include "compo_textbox.h"
#include "compo_shape.h"
#include "compo_button.h"
#include "compo_number.h"
#include "compo_datetime.h"
#include "compo_msgbox.h"
#include "compo_listbox.h"
#include "compo_iconlist.h"
#include "compo_rotary.h"
#endif