初版
This commit is contained in:
@@ -0,0 +1,186 @@
|
||||
/* Copyright(C) 2010- , JIELI TECHNOLOGY, Inc.
|
||||
* All right reserved.
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/*
|
||||
* @file ui_progress_multi.h
|
||||
*
|
||||
* @brief 多重圆弧进度条控件API接口头文件
|
||||
*
|
||||
* @author
|
||||
*
|
||||
* @version V201
|
||||
*
|
||||
* @date 2022-12-15
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __UI_PROGRESS_MULTI_WIDGET_H__
|
||||
#define __UI_PROGRESS_MULTI_WIDGET_H__
|
||||
|
||||
|
||||
#include "jlui/control.h"
|
||||
#include "jlui/ui_core.h"
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief 多重圆弧进度条控件子控件数量定义
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
#define MULTIPROGRESS_CHILD_NUM (CTRL_MULTIPROGRESS_CHILD_END - CTRL_MULTIPROGRESS_CHILD_BEGIN)
|
||||
|
||||
|
||||
struct multiprogress_highlight_info {
|
||||
struct ui_ctrl_info_head head;
|
||||
u16 number;
|
||||
|
||||
s16 center_x; // 圆环中心
|
||||
s16 center_y;
|
||||
|
||||
u16 radius0_big; // 第一圈圆环大、小半径,颜色
|
||||
u16 radius0_small;
|
||||
u16 color0;
|
||||
|
||||
u16 radius1_big; // 第二圈圆环大、小半径、颜色
|
||||
u16 radius1_small;
|
||||
u16 color1;
|
||||
|
||||
u16 radius2_big; // 第三圈圆环大、小半径、颜色
|
||||
u16 radius2_small;
|
||||
u16 color2;
|
||||
|
||||
u16 angle_begin; // 开始、结束角度
|
||||
u16 angle_end;
|
||||
struct ui_image_list *img;
|
||||
};
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief 多重圆弧进度条控件句柄结构定义
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
struct ui_multiprogress {
|
||||
struct element elm;
|
||||
struct element child_elm[MULTIPROGRESS_CHILD_NUM]; // 子控件元素 1
|
||||
char source[9]; // 数据源
|
||||
|
||||
s16 center_x; // 中心x坐标
|
||||
s16 center_y; // 中心y坐标
|
||||
|
||||
u16 angle_begin; // 进度条的起始角度
|
||||
u16 angle_end; // 进度条的结束角度
|
||||
|
||||
u16 radius; // 半径
|
||||
|
||||
u8 ctrl_num; // 控件数量,从flash读进来
|
||||
char percent[3]; // 百分比(三个进度条)
|
||||
|
||||
const struct layout_info *info;
|
||||
const struct multiprogress_highlight_info *pic_info[MULTIPROGRESS_CHILD_NUM];
|
||||
const struct element_event_handler *handler;
|
||||
}; // 164byte
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief 通过ID获取多重圆弧进度条控件句柄
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
#define ui_multiprogress_for_id(id) \
|
||||
ui_element_for_id(id, struct ui_multiprogress)
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_enable 多重进度条控件使能(内部调用)
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
void ui_multiprogress_enable();
|
||||
int ui_multiprogress_set_persent_by_id(int id, int persent);
|
||||
int ui_multiprogress_set_second_persent_by_id(int id, int percent);
|
||||
int ui_multiprogress_set_third_persent_by_id(int id, int percent);
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_persent_by_id 设置第一个进度条的百分比(待redraw)
|
||||
*
|
||||
* @param id 多重进度条控件ID
|
||||
* @param persent 第一个进度条显示的百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_persent_by_id(int id, int persent); // 第一个进度条
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_second_persent_by_id 设置第二个进度条的百分比(待redraw)
|
||||
*
|
||||
* @param id 多重进度条控件ID
|
||||
* @param persent 第二个进度条显示的百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_second_persent_by_id(int id, int percent); // 第二个进度条
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_third_persent_by_id 设置第三个进度条的百分比(待redraw)
|
||||
*
|
||||
* @param id 多重进度条控件ID
|
||||
* @param persent 第三个进度条显示的百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_third_persent_by_id(int id, int percent); // 第三个进度条
|
||||
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_persent 设置多重圆弧进度条第一个的百分比(不带redraw)
|
||||
*
|
||||
* @param multiprogress 多重圆弧进度条句柄
|
||||
* @param percent 第一个圆弧进度条百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_persent(struct ui_multiprogress *multiprogress, int percent);
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_second_persent 设置多重圆弧进度条第二个的百分比(不带redraw)
|
||||
*
|
||||
* @param multiprogress 多重圆弧进度条句柄
|
||||
* @param percent 第二个圆弧进度条百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_second_persent(struct ui_multiprogress *multiprogress, int percent);
|
||||
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief ui_multiprogress_set_third_persent 设置多重圆弧进度条第三个的百分比(不带redraw)
|
||||
*
|
||||
* @param multiprogress 多重圆弧进度条句柄
|
||||
* @param percent 第三个圆弧进度条百分比
|
||||
*
|
||||
* @return 0 正常,-22 控件不存在
|
||||
*/
|
||||
/* ------------------------------------------------------------------------------------*/
|
||||
int ui_multiprogress_set_third_persent(struct ui_multiprogress *multiprogress, int percent);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user