#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