73 lines
2.2 KiB
C
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
|