64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
#ifndef _COMPO_QRCODEBOX_H
|
|
#define _COMPO_QRCODEBOX_H
|
|
|
|
#define QR_LEVEL_L 0 //7%的字码可被修正
|
|
#define QR_LEVEL_M 1 //15%的字码可被修正
|
|
#define QR_LEVEL_Q 2 //25%的字码可被修正
|
|
#define QR_LEVEL_H 3 //30%的字码可被修正
|
|
|
|
typedef struct compo_qrcodebox_t_ {
|
|
COMPO_STRUCT_COMMON;
|
|
widget_rect_t *bg;
|
|
widget_qrcode_t *qrcode;
|
|
} compo_qrcodebox_t;
|
|
|
|
/**
|
|
* @brief 创建一个码
|
|
* @param[in] frm : 窗体指针
|
|
* @param[in] qr_type : 二维码或条形码
|
|
* @param[in] max_ch_cnt : 最大字符长度
|
|
* @return 返回码
|
|
**/
|
|
compo_qrcodebox_t *compo_qrcodebox_create(compo_form_t *frm, u8 qr_type, u16 max_ch_cnt);
|
|
|
|
/**
|
|
* @brief 创建一个码-高度调整
|
|
* @param[in] frm : 窗体指针
|
|
* @param[in] qr_type : 二维码或条形码
|
|
* @param[in] max_ch_cnt : 最大字符长度
|
|
* @return 返回码
|
|
**/
|
|
compo_qrcodebox_t *compo_qrcodebox_y_create(compo_form_t *frm, u8 qr_type, u16 max_ch_cnt,s16 y);
|
|
|
|
/**
|
|
* @brief 设置码的内容
|
|
* @param[in] qrcodebox : 码指针
|
|
* @param[in] str : 字符内容
|
|
**/
|
|
void compo_qrcodebox_set(compo_qrcodebox_t *qrcodebox, const char *str);
|
|
|
|
/**
|
|
* @brief 设置最小单位宽度
|
|
* @param[in] qrcodebox : 码指针
|
|
* @param[in] bit_wid : 最小宽度
|
|
**/
|
|
void compo_qrcodebox_set_bitwid(compo_qrcodebox_t *qrcodebox, u16 qr_wid);
|
|
|
|
/**
|
|
* @brief 设置最小单位宽度
|
|
* @param[in] qrcodebox : 码指针
|
|
* @param[in] bit_wid : 设置要显示宽度(高度=宽度)
|
|
**/
|
|
void compo_qrcodebox_set_bitwid_by_qrwid(compo_qrcodebox_t *qrcodebox, u16 qr_wid);
|
|
|
|
/**
|
|
* @brief 设置码的内容
|
|
* @param[in] qrcodebox : 码指针
|
|
* @param[in] level: 纠错等级
|
|
**/
|
|
void compo_qrcodebox_set_level(compo_qrcodebox_t *qrcodebox, u8 level);
|
|
|
|
void compo_qrcodebox_pos(compo_qrcodebox_t *qrcodebox, s16 x, s16 y);
|
|
void compo_qrcodebox_set_rect_size(compo_qrcodebox_t *qrcodebox, u16 wid, u16 hei);
|
|
#endif
|