mirror of
https://github.com/lvgl/lvgl.git
synced 2024-11-27 03:33:48 +08:00
Merge beta branch to release Version 2.0
This commit is contained in:
commit
0f5e5f6ed6
1048
lv_app/lv_app.c
Normal file
1048
lv_app/lv_app.c
Normal file
File diff suppressed because it is too large
Load Diff
123
lv_app/lv_app.h
Normal file
123
lv_app/lv_app.h
Normal file
@ -0,0 +1,123 @@
|
||||
/**
|
||||
* @file lv_app.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_APP_H
|
||||
#define LV_APP_H
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lvgl/lvgl.h"
|
||||
|
||||
#if LV_APP_ENABLE != 0
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
typedef enum
|
||||
{
|
||||
LV_APP_MODE_NONE = 0x0000,
|
||||
LV_APP_MODE_NOT_LIST = 0x0001, /*Do not list the application*/
|
||||
LV_APP_MODE_NO_SC_TITLE = 0x0002, /*No short cut title*/
|
||||
}lv_app_mode_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
LV_APP_COM_TYPE_STR, /*String data to process*/
|
||||
LV_APP_COM_TYPE_BIN, /*Binary data as 'int32_t' array*/
|
||||
LV_APP_COM_TYPE_SYS, /*System level event*/
|
||||
LV_APP_COM_TYPE_LOG, /*String about an event to log*/
|
||||
LV_APP_COM_TYPE_NOTE, /*String to display to the user as a notification*/
|
||||
LV_APP_COM_TYPE_TRIG, /*A trigger to do some specific action (data is ignored)*/
|
||||
}lv_app_com_type_t;
|
||||
|
||||
struct __LV_APP_DSC_T;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const struct __LV_APP_DSC_T * dsc;
|
||||
char * name;
|
||||
lv_obj_t * sc;
|
||||
lv_obj_t * sc_title;
|
||||
lv_obj_t * win;
|
||||
void * app_data;
|
||||
void * sc_data;
|
||||
void * win_data;
|
||||
}lv_app_inst_t;
|
||||
|
||||
typedef struct __LV_APP_DSC_T
|
||||
{
|
||||
const char * name;
|
||||
lv_app_mode_t mode;
|
||||
void (*app_run)(lv_app_inst_t *, const char *);
|
||||
void (*app_close) (lv_app_inst_t *);
|
||||
void (*com_rec) (lv_app_inst_t *, lv_app_inst_t *, lv_app_com_type_t, const void *, uint32_t);
|
||||
void (*sc_open) (lv_app_inst_t *, lv_obj_t *);
|
||||
void (*sc_close) (lv_app_inst_t *);
|
||||
void (*win_open) (lv_app_inst_t *, lv_obj_t *);
|
||||
void (*win_close) (lv_app_inst_t *);
|
||||
uint16_t app_data_size;
|
||||
uint16_t sc_data_size;
|
||||
uint16_t win_data_size;
|
||||
}lv_app_dsc_t;
|
||||
|
||||
typedef struct {
|
||||
lv_rects_t menu_style;
|
||||
lv_btns_t menu_btn_style;
|
||||
lv_labels_t menu_btn_label_style;
|
||||
lv_imgs_t menu_btn_img_style;
|
||||
lv_lists_t app_list_style;
|
||||
lv_pages_t sc_page_style;
|
||||
lv_wins_t win_style;
|
||||
lv_btns_t sc_style;
|
||||
lv_btns_t sc_send_style;
|
||||
lv_btns_t sc_rec_style;
|
||||
lv_labels_t sc_title_style;
|
||||
|
||||
opa_t menu_opa;
|
||||
opa_t menu_btn_opa;
|
||||
opa_t sc_opa;
|
||||
|
||||
cord_t menu_h;
|
||||
cord_t app_list_w;
|
||||
cord_t app_list_h;
|
||||
cord_t sc_title_margin;
|
||||
}lv_app_style_t;
|
||||
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_app_init(void);
|
||||
lv_app_inst_t * lv_app_run(const lv_app_dsc_t * app_dsc, const char * cstr);
|
||||
void lv_app_close(lv_app_inst_t * app);
|
||||
uint16_t lv_app_com_send(lv_app_inst_t * app_send, lv_app_com_type_t type , const void * data, uint32_t len);
|
||||
lv_obj_t * lv_app_sc_open(lv_app_inst_t * app);
|
||||
void lv_app_sc_close(lv_app_inst_t * app);
|
||||
lv_obj_t * lv_app_win_open(lv_app_inst_t * app);
|
||||
void lv_app_win_close(lv_app_inst_t * app);
|
||||
lv_obj_t * lv_app_win_get_from_obj(lv_obj_t * obj);
|
||||
const lv_app_dsc_t * lv_app_dsc_get(const char * name);
|
||||
|
||||
void lv_app_con_set(lv_app_inst_t * sender, lv_app_inst_t * receiver);
|
||||
lv_app_style_t * lv_app_get_style(void);
|
||||
void lv_app_rename(lv_app_inst_t * app, const char * name);
|
||||
void lv_app_refr_style(void);
|
||||
|
||||
lv_app_inst_t * lv_app_get_next(lv_app_inst_t * prev, lv_app_dsc_t * dsc);
|
||||
|
||||
const lv_app_dsc_t * lv_app_example_init(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif /*LV_APP_ENABLE != 0*/
|
||||
|
||||
#endif /*LV_APP_H*/
|
268
lv_app/lv_app_sup.c
Normal file
268
lv_app/lv_app_sup.c
Normal file
@ -0,0 +1,268 @@
|
||||
/**
|
||||
* @file lv_app_sup.c
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_app_sup.h"
|
||||
#if LV_APP_ENABLE != 0
|
||||
|
||||
#include "../lv_objx/lv_btnm.h"
|
||||
#include "../lv_objx/lv_ta.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static lv_action_res_t lv_app_kb_action(lv_obj_t * btnm, uint16_t i);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static lv_obj_t * kb_btnm;
|
||||
static lv_obj_t * kb_win;
|
||||
static lv_obj_t * kb_ta;
|
||||
static const char * kb_map_lc[] = {
|
||||
"\0051#", "\004q", "\004w", "\004e", "\004r", "\004t", "\004y", "\004u", "\004i", "\004o", "\004p", "\007Del", "\n",
|
||||
"\007ABC", "\004a", "\004s", "\004d", "\004f", "\004g", "\004h", "\004j", "\004k", "\004l", "\010Enter", "\n",
|
||||
"*", "-", "z", "x", "c", "v", "b", "n", "m", ".", ",", ";", "\n",
|
||||
"\002Hide", "\002Left", "\006 ", "\002Right", "\002Ok", ""
|
||||
};
|
||||
|
||||
static const char * kb_map_uc[] = {
|
||||
"\0051#", "\004Q", "\004W", "\004E", "\004R", "\004T", "\004Y", "\004U", "\004I", "\004O", "\004P", "\007Del", "\n",
|
||||
"\007abc", "\004A", "\004S", "\004D", "\004F", "\004G", "\004H", "\004J", "\004K", "\004L", "\010Enter", "\n",
|
||||
"*", "/", "Z", "X", "C", "V", "B", "N", "M", ".", ",", ";", "\n",
|
||||
"\002Hide", "\002Left", "\006 ", "\002Right", "\002Ok", ""
|
||||
};
|
||||
|
||||
static const char * kb_map_spec[] = {
|
||||
"0", "1", "2", "3", "4", "5", "6", "4", "8", "9", "\002Del", "\n",
|
||||
"\002abc", "+", "-", "=", "%", "!", "?", "#", "<", ">", "\002Enter", "\n",
|
||||
"\\", "@", "$", "_", "(", ")", "{", "}", "[", "]", ":", "\"", "'", "\n",
|
||||
"\002Hide", "\002Left", "\006 ", "\002Right", "\002Ok", ""
|
||||
};
|
||||
|
||||
static const char * kb_map_num[] = {
|
||||
"1", "2", "3", "\002Hide","\n",
|
||||
"4", "5", "6", "\002Ok", "\n",
|
||||
"7", "8", "9", "\002Del", "\n",
|
||||
"+/-", "0", ".", "Left", "Right", ""
|
||||
};
|
||||
|
||||
static cord_t kb_ta_ori_size;
|
||||
static uint8_t kb_mode;
|
||||
static bool kb_first;
|
||||
static void (*kb_close_action)(lv_obj_t *);
|
||||
static void (*kb_ok_action)(lv_obj_t *);
|
||||
static lv_btnms_t kb_btnms;
|
||||
static bool kb_inited;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Open a keyboard for a text area object
|
||||
* @param ta pointer to a text area object
|
||||
* @param mode 'OR'd values of 'lv_app_kb_mode_t' enum
|
||||
* @param close a function to call when the keyboard is closed
|
||||
* @param ok a function to called when the "Ok" button is pressed
|
||||
*/
|
||||
void lv_app_kb_open(lv_obj_t * ta, lv_app_kb_mode_t mode, void (*close)(lv_obj_t *), void (*ok)(lv_obj_t *))
|
||||
{
|
||||
/*Init the style*/
|
||||
if(kb_inited == false) {
|
||||
lv_btnms_get(LV_BTNMS_DEF, &kb_btnms);
|
||||
kb_btnms.rects.opad = 4 + LV_DOWNSCALE;
|
||||
kb_btnms.rects.vpad = 3 + LV_DOWNSCALE;
|
||||
kb_btnms.rects.hpad = 3 + LV_DOWNSCALE;
|
||||
kb_btnms.rects.round = 0;
|
||||
|
||||
kb_inited = true;
|
||||
}
|
||||
|
||||
/*Close the previous keyboard*/
|
||||
if(kb_btnm != NULL) {
|
||||
lv_app_kb_close(false);
|
||||
}
|
||||
|
||||
/*Save some parameters*/
|
||||
kb_ta = ta;
|
||||
kb_mode = mode;
|
||||
kb_close_action = close;
|
||||
kb_ok_action = ok;
|
||||
kb_first = false;
|
||||
|
||||
/*Create a button matrix for the keyboard */
|
||||
kb_btnm = lv_btnm_create(lv_scr_act(), NULL);
|
||||
lv_obj_set_size(kb_btnm, LV_HOR_RES, LV_VER_RES / 2);
|
||||
lv_obj_align(kb_btnm, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
|
||||
lv_btnm_set_cb(kb_btnm, lv_app_kb_action);
|
||||
if(mode & LV_APP_KB_MODE_TXT) {
|
||||
kb_btnms.labels.font = LV_APP_FONT_MEDIUM;
|
||||
lv_btnm_set_map(kb_btnm, kb_map_lc);
|
||||
}
|
||||
else if(mode & LV_APP_KB_MODE_NUM) {
|
||||
kb_btnms.labels.font = LV_APP_FONT_LARGE;
|
||||
lv_btnm_set_map(kb_btnm, kb_map_num);
|
||||
}
|
||||
lv_obj_set_style(kb_btnm, &kb_btnms);
|
||||
|
||||
/*Reduce teh size of the window and align it to the top*/
|
||||
kb_win = lv_app_win_get_from_obj(kb_ta);
|
||||
lv_obj_set_height(kb_win, LV_VER_RES / 2);
|
||||
lv_obj_set_y(kb_win, 0);
|
||||
|
||||
/*If the text area is higher then the new size of the window redus its size too*/
|
||||
lv_app_style_t * app_style = lv_app_get_style();
|
||||
cord_t win_cont_h = lv_obj_get_height(lv_win_get_content(kb_win)) - 2 * app_style->win_style.content.scrable_rects.vpad;
|
||||
kb_ta_ori_size = lv_obj_get_height(kb_ta);
|
||||
if(lv_obj_get_height(kb_ta) > win_cont_h) {
|
||||
lv_obj_set_height(kb_ta, win_cont_h);
|
||||
}
|
||||
|
||||
lv_ta_set_cursor_pos(kb_ta, LV_TA_CUR_LAST);
|
||||
|
||||
#if LV_APP_ANIM_LEVEL != 0
|
||||
lv_page_focus(lv_win_get_content(kb_win), kb_ta, true);
|
||||
#else
|
||||
lv_page_focus(lv_win_get_content(kb_win), kb_ta, false);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the keyboard
|
||||
* @param ok true: call the ok function, false: call the close function
|
||||
*/
|
||||
void lv_app_kb_close(bool ok)
|
||||
{
|
||||
if(kb_btnm == NULL) return;
|
||||
|
||||
if(ok == false) {
|
||||
if(kb_close_action != NULL) kb_close_action(kb_ta);
|
||||
} else {
|
||||
if(kb_ok_action != NULL) kb_ok_action(kb_ta);
|
||||
}
|
||||
|
||||
/*Reset the modified sizes*/
|
||||
|
||||
lv_obj_set_height(kb_ta, kb_ta_ori_size);
|
||||
|
||||
lv_obj_set_size(kb_win, LV_HOR_RES, LV_VER_RES);
|
||||
kb_win = NULL;
|
||||
|
||||
lv_obj_del(kb_btnm);
|
||||
kb_btnm = NULL;
|
||||
|
||||
kb_ta = NULL;
|
||||
}
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Called when a button of 'kb_btnm' is released
|
||||
* @param btnm pointer to 'kb_btnm'
|
||||
* @param i the index of the released button from the current btnm map
|
||||
* @return LV_ACTION_RES_INV if the btnm is deleted else LV_ACTION_RES_OK
|
||||
*/
|
||||
static lv_action_res_t lv_app_kb_action(lv_obj_t * btnm, uint16_t i)
|
||||
{
|
||||
const char ** map = lv_btnm_get_map(btnm);
|
||||
const char * txt = map[i];
|
||||
|
||||
/*Ignore the unit size number of the text*/
|
||||
if(txt[0] <= '\011') txt++;
|
||||
|
||||
/*Do the corresponding action according to the text of the button*/
|
||||
if(strcmp(txt, "abc") == 0) {
|
||||
lv_btnm_set_map(btnm, kb_map_lc);
|
||||
} else if(strcmp(txt, "ABC") == 0) {
|
||||
lv_btnm_set_map(btnm, kb_map_uc);
|
||||
} else if(strcmp(txt, "1#") == 0) {
|
||||
lv_btnm_set_map(btnm, kb_map_spec);
|
||||
} else if(strcmp(txt, "Enter") == 0) {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
lv_ta_add_char(kb_ta, '\n');
|
||||
} else if(strcmp(txt, "Left") == 0) {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
lv_ta_cursor_left(kb_ta);
|
||||
} else if(strcmp(txt, "Right") == 0) {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
lv_ta_cursor_right(kb_ta);
|
||||
} else if(strcmp(txt, "Del") == 0) {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
lv_ta_del(kb_ta);
|
||||
} else if(strcmp(txt, "+/-") == 0) {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
uint16_t cur = lv_ta_get_cursor_pos(kb_ta);
|
||||
const char * ta_txt = lv_ta_get_txt(kb_ta);
|
||||
if(ta_txt[0] == '-') {
|
||||
lv_ta_set_cursor_pos(kb_ta, 1);
|
||||
lv_ta_del(kb_ta);
|
||||
lv_ta_add_char(kb_ta, '+');
|
||||
lv_ta_set_cursor_pos(kb_ta, cur);
|
||||
} else if(ta_txt[0] == '+') {
|
||||
lv_ta_set_cursor_pos(kb_ta, 1);
|
||||
lv_ta_del(kb_ta);
|
||||
lv_ta_add_char(kb_ta, '-');
|
||||
lv_ta_set_cursor_pos(kb_ta, cur);
|
||||
} else {
|
||||
lv_ta_set_cursor_pos(kb_ta, 0);
|
||||
lv_ta_add_char(kb_ta, '-');
|
||||
lv_ta_set_cursor_pos(kb_ta, cur + 1);
|
||||
}
|
||||
} else if(strcmp(txt, "Hide") == 0) {
|
||||
lv_app_kb_close(false);
|
||||
return LV_ACTION_RES_INV;
|
||||
} else if(strcmp(txt, "Ok") == 0) {
|
||||
lv_app_kb_close(true);
|
||||
return LV_ACTION_RES_INV;
|
||||
} else {
|
||||
if((kb_mode & LV_APP_KB_MODE_CLR) != 0 && kb_first == false) {
|
||||
lv_ta_set_text(kb_ta, "");
|
||||
kb_first = true;
|
||||
}
|
||||
lv_ta_add_text(kb_ta, txt);
|
||||
}
|
||||
|
||||
#if LV_APP_ANIM_LEVEL != 0
|
||||
lv_page_focus(lv_win_get_content(kb_win), kb_ta, true);
|
||||
#else
|
||||
lv_page_focus(lv_win_get_content(kb_win), kb_ta, false);
|
||||
#endif
|
||||
return LV_ACTION_RES_OK;
|
||||
}
|
||||
|
||||
#endif /*LV_APP_ENABLE != 0*/
|
40
lv_app/lv_app_sup.h
Normal file
40
lv_app/lv_app_sup.h
Normal file
@ -0,0 +1,40 @@
|
||||
/**
|
||||
* @file lv_app_sup.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_APP_SUP_H
|
||||
#define LV_APP_SUP_H
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_app.h"
|
||||
#if LV_APP_ENABLE != 0
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
typedef enum
|
||||
{
|
||||
LV_APP_KB_MODE_TXT = 0x01,
|
||||
LV_APP_KB_MODE_NUM = 0x02,
|
||||
LV_APP_KB_MODE_CLR = 0x04, /*Clear when the first character is pressed*/
|
||||
}lv_app_kb_mode_t;
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_app_kb_open(lv_obj_t * ta, lv_app_kb_mode_t mode, void (*close)(lv_obj_t *), void (*ok)(lv_obj_t *));
|
||||
void lv_app_kb_close(bool ok);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
#endif /*LV_APP_ENABLE != 0*/
|
||||
|
||||
#endif /*LV_APP_SUP_H*/
|
53
lv_app/lv_icon/x2/img_add.c
Normal file
53
lv_app/lv_icon/x2/img_add.c
Normal file
@ -0,0 +1,53 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_ADD != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_add [] = { /*Width = 37, Height = 37*/
|
||||
37, /*Width*/
|
||||
37, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 14791, 14791, 14823, 14823, 14791, 12678, 25356, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 2113, 2145, 2145, 2145, 2113, 0, 14823, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 2016, 2016, 27469, 8452, 0, 0, 0, 0, 0, 0, 6339, 25356, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31695, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 27501, 14791, 14791, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 16904, 12678, 2145, 0, 0, 0, 0, 0, 0, 2145, 10597, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14791, 12678, 25356, 2016, 2016, 2016,
|
||||
2016, 2016, 19017, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 4226, 2145, 32, 0, 0, 0, 0, 0, 0, 0, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2113, 0, 14823, 2016, 2016, 2016,
|
||||
2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016,
|
||||
2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016,
|
||||
2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016,
|
||||
2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 2016,
|
||||
2016, 2016, 21162, 6339, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 8452, 8452, 6339, 2113, 0, 0, 0, 0, 0, 0, 32, 4258, 8452, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6339, 4226, 19017, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31695, 31695, 31695, 31695, 31695, 31695, 31695, 31695, 31727, 2016, 25388, 6371, 0, 0, 0, 0, 0, 0, 6339, 23275, 31727, 31727, 31727, 31727, 31695, 31695, 31695, 31695, 31695, 29582, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 6339, 6371, 6371, 6371, 6339, 4226, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 31695, 31695, 31695, 31695, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
34
lv_app/lv_icon/x2/img_battery_empty.c
Normal file
34
lv_app/lv_icon/x2/img_battery_empty.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_BATTERY_EMPTY != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_battery_empty [] = { /*Width = 32, Height = 18*/
|
||||
32, /*Width*/
|
||||
18, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 31727, 31695, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 31695, 2016, 2016, 2016,
|
||||
27469, 14823, 21130, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 21130, 12710, 25356, 2016, 2016,
|
||||
16904, 8452, 27469, 35953, 38066, 38066, 35953, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35921, 35953, 38034, 27501, 6371, 14823, 2016, 2016,
|
||||
10597, 6339, 35921, 48599, 42260, 42260, 46486, 48631, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48599, 48631, 52825, 38034, 6339, 8452, 2016, 2016,
|
||||
10597, 10565, 46518, 57051, 35921, 35921, 52857, 63390, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 61309, 63390, 65535, 48631, 12678, 2145, 21162, 2016,
|
||||
10597, 10597, 52857, 59164, 27469, 25388, 54970, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 6371, 25356,
|
||||
10597, 12678, 52857, 54938, 14823, 14791, 50712, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 0, 14823,
|
||||
10597, 12678, 52857, 52857, 10565, 8484, 48599, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 14823, 0, 0, 10565,
|
||||
10597, 12678, 52857, 52857, 10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 14823, 0, 0, 10597,
|
||||
10597, 12678, 52857, 52857, 12678, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 14823, 0, 0, 12678,
|
||||
10597, 12678, 52857, 52857, 12678, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 14823, 0, 0, 12678,
|
||||
10597, 12678, 52857, 52857, 10597, 10565, 48599, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 14823, 0, 0, 10597,
|
||||
10597, 12678, 52857, 52825, 8484, 8452, 48599, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 8484,
|
||||
10597, 12678, 52857, 57051, 19049, 19017, 52825, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 32, 19017,
|
||||
10597, 10597, 52857, 63422, 42260, 40179, 61277, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54970, 14791, 2145, 21130, 2016,
|
||||
10597, 8452, 42292, 54938, 44405, 44373, 52857, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 57083, 59164, 61277, 44405, 8484, 6339, 2016, 2016,
|
||||
10597, 32, 21162, 29614, 27501, 27501, 29614, 31695, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 31695, 33808, 23243, 32, 8452, 2016, 2016,
|
||||
21130, 8484, 19017, 23275, 25356, 25356, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 25356, 19017, 6371, 19017, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
34
lv_app/lv_icon/x2/img_battery_full.c
Normal file
34
lv_app/lv_icon/x2/img_battery_full.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_BATTERY_FULL != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_battery_full [] = { /*Width = 32, Height = 18*/
|
||||
32, /*Width*/
|
||||
18, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 31727, 31695, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 29614, 31695, 2016, 2016, 2016,
|
||||
27469, 14823, 21130, 23275, 23275, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 23275, 21130, 12710, 25356, 2016, 2016,
|
||||
16904, 8452, 27469, 35953, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 38066, 27501, 6371, 14791, 2016, 2016,
|
||||
10597, 6339, 35921, 48599, 42292, 40179, 40147, 40147, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40147, 40147, 42292, 50712, 38034, 6339, 8452, 2016, 2016,
|
||||
10597, 10565, 46518, 57051, 38034, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 27501, 27469, 35953, 59164, 50712, 12678, 2145, 21162, 2016,
|
||||
10597, 10597, 52857, 59196, 29614, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 16904, 14823, 12710, 27501, 59196, 54970, 14823, 0, 6371, 25356,
|
||||
10597, 12678, 52857, 57051, 19049, 2145, 2145, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 2113, 0, 16936, 54970, 54970, 16904, 0, 0, 14823,
|
||||
10597, 12678, 52857, 54938, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 52857, 54970, 16904, 0, 0, 10565,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 54938, 54970, 16904, 0, 0, 10597,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 54938, 54970, 16904, 0, 0, 12678,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 54938, 54970, 16904, 0, 0, 12678,
|
||||
10597, 12678, 52857, 54938, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 52857, 54970, 16904, 0, 0, 10597,
|
||||
10597, 12678, 52857, 54938, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 52857, 54970, 16904, 0, 0, 8484,
|
||||
10597, 12678, 52857, 57083, 23275, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 4258, 21130, 57083, 54970, 16904, 0, 32, 19017,
|
||||
10597, 10597, 52857, 63422, 44373, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 33840, 31727, 42292, 65503, 57051, 14791, 2145, 21130, 2016,
|
||||
10597, 8452, 42292, 54970, 46486, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40179, 40147, 44405, 57051, 44405, 8484, 6339, 2016, 2016,
|
||||
10597, 32, 21162, 29614, 27501, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 27469, 25388, 27501, 31727, 23243, 32, 8452, 2016, 2016,
|
||||
21130, 8484, 19017, 23275, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 25356, 19017, 6371, 19017, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
34
lv_app/lv_icon/x2/img_battery_half.c
Normal file
34
lv_app/lv_icon/x2/img_battery_half.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_BATTERY_HALF != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_battery_half [] = { /*Width = 32, Height = 18*/
|
||||
32, /*Width*/
|
||||
18, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 31695, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 2016, 2016, 2016,
|
||||
25388, 14791, 19049, 23243, 23243, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 19049, 12678, 23275, 2016, 2016,
|
||||
16904, 8452, 27469, 38034, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 40147, 38066, 38034, 35953, 35953, 35953, 35953, 38034, 38066, 29582, 6371, 14791, 2016, 2016,
|
||||
10597, 6339, 35953, 48631, 44373, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 44373, 48599, 50712, 50712, 50712, 50712, 50744, 52857, 38066, 6371, 8452, 2016, 2016,
|
||||
10597, 10565, 48599, 57083, 38034, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 27501, 38034, 54970, 63422, 63390, 63390, 63390, 63422, 65535, 48631, 12678, 2145, 21130, 2016,
|
||||
10597, 12678, 52857, 59196, 29582, 14791, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14791, 16904, 23275, 38034, 59196, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 6339, 23275,
|
||||
10597, 12678, 52857, 57051, 19049, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 4226, 2113, 0, 8452, 27501, 46486, 61309, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 16904, 0, 0, 14791,
|
||||
10597, 12678, 52857, 54938, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 38034, 54970, 63422, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 10565,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 21130, 50744, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 10597,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 16904, 35921, 59196, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 12678,
|
||||
10597, 12678, 52857, 54938, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 35921, 54938, 63422, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 12678,
|
||||
10597, 12678, 52857, 54938, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 16936, 48631, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 10597,
|
||||
10597, 12678, 52857, 54938, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 31727, 57051, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 16904, 0, 0, 8484,
|
||||
10597, 12678, 52857, 57083, 23275, 8452, 8452, 8484, 8484, 8484, 8484, 8452, 6371, 14791, 31695, 46518, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 32, 19017,
|
||||
10597, 12678, 52857, 65503, 46486, 35953, 35953, 35953, 35953, 35953, 35953, 35921, 33840, 40179, 52857, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54970, 14791, 4226, 21162, 2016,
|
||||
10597, 8452, 42260, 54970, 46486, 42260, 42260, 42260, 42260, 42260, 42260, 42260, 40179, 44405, 52857, 57083, 57051, 57051, 57051, 57051, 57051, 57051, 57051, 57051, 57051, 57083, 61277, 44405, 8484, 6371, 2016, 2016,
|
||||
10597, 32, 21130, 29582, 27469, 25388, 25388, 25388, 25388, 25388, 25388, 25388, 25356, 25388, 27501, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29614, 31695, 21162, 0, 8452, 2016, 2016,
|
||||
21162, 8484, 16936, 23243, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23275, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23275, 19017, 8452, 19017, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
46
lv_app/lv_icon/x2/img_bubble.c
Normal file
46
lv_app/lv_icon/x2/img_bubble.c
Normal file
@ -0,0 +1,46 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_BUBBLE != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_bubble [] = { /*Width = 32, Height = 30*/
|
||||
32, /*Width*/
|
||||
30, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 29582, 19017, 14823, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 12710, 12710, 14791, 16936, 27469, 2016, 2016,
|
||||
2016, 21162, 8484, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 6371, 14823, 31727,
|
||||
25356, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19017,
|
||||
19017, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597,
|
||||
23243, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16936,
|
||||
2016, 14823, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 29582,
|
||||
2016, 33808, 14823, 6371, 8452, 6339, 2113, 0, 0, 0, 0, 0, 0, 2113, 6339, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 6371, 14791, 27501, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 25388, 8452, 0, 0, 0, 0, 0, 32, 10565, 27469, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 4226, 14791, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 32, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 4226, 14791, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 14823, 2145, 14791, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 19017, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 31727, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
47
lv_app/lv_icon/x2/img_calendar.c
Normal file
47
lv_app/lv_icon/x2/img_calendar.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_CALENDAR != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_calendar [] = { /*Width = 32, Height = 31*/
|
||||
32, /*Width*/
|
||||
31, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 23275, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 23243, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 14791, 14791, 2016, 2016, 2016, 31695, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31695, 29614, 2016, 2016, 2016, 14791, 14791, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 25388, 29614, 2016, 2016, 10565, 10565, 2016, 2016, 27501, 12710, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 12678, 10565, 25388, 2016, 2016, 10565, 8484, 2016, 2016, 31695, 25388, 2016, 2016,
|
||||
2016, 21130, 4258, 16904, 2016, 2016, 8484, 8484, 2016, 2016, 19049, 2113, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2113, 0, 16904, 2016, 2016, 8484, 8484, 2016, 2016, 19049, 6339, 14823, 33808,
|
||||
25356, 4258, 0, 10565, 2016, 2016, 19049, 21130, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 19049, 21130, 2016, 2016, 12710, 0, 0, 19049,
|
||||
19017, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 12710,
|
||||
14823, 0, 0, 6339, 29582, 2016, 2016, 2016, 2016, 33808, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6339, 29582, 2016, 2016, 2016, 2016, 33808, 6371, 0, 0, 10597,
|
||||
16904, 0, 0, 0, 4258, 12710, 21162, 23243, 14823, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 12710, 21162, 23243, 14823, 6371, 0, 0, 0, 12678,
|
||||
14823, 0, 4258, 6371, 6339, 10565, 21130, 21130, 10597, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 6339, 10565, 21130, 21130, 10597, 6371, 8452, 4258, 0, 12678,
|
||||
12710, 4226, 23275, 33808, 33808, 33840, 35953, 35953, 33840, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 33808, 35953, 35953, 33840, 33808, 35921, 25356, 2145, 10597,
|
||||
12678, 8452, 38034, 52825, 52825, 50744, 50712, 50744, 52825, 52825, 52825, 52857, 52825, 52825, 52825, 50744, 52825, 52825, 52825, 52825, 52825, 52825, 52825, 50744, 50712, 50712, 50744, 52825, 54970, 40179, 8452, 10597,
|
||||
12678, 10565, 46486, 63422, 63422, 63390, 63390, 63422, 65503, 65535, 65535, 65535, 65535, 65503, 63422, 63390, 63390, 63422, 65503, 65535, 65535, 65535, 65503, 63422, 63390, 61309, 63390, 63422, 65535, 48631, 10597, 10565,
|
||||
10597, 10597, 50712, 65535, 65535, 65535, 65535, 63422, 59196, 57083, 57051, 57083, 59164, 61309, 65535, 65535, 65535, 65503, 61277, 57083, 57083, 59164, 61277, 63422, 65535, 65535, 65535, 65535, 65535, 52857, 12678, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 63390, 52825, 35921, 25388, 23275, 25388, 31695, 42292, 61309, 65535, 65503, 52857, 35953, 27501, 27501, 31727, 40147, 50712, 63390, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 61309, 50744, 33840, 25356, 25356, 23243, 19017, 29614, 57051, 63422, 54938, 42292, 31695, 27469, 29582, 29582, 25356, 35921, 59164, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 63422, 61277, 57051, 54970, 57083, 46518, 21162, 23243, 48631, 52857, 35921, 31727, 42292, 52825, 61277, 48631, 16936, 19049, 54938, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65503, 65535, 65535, 65535, 65535, 57083, 21162, 16936, 46486, 50744, 33840, 31695, 42292, 52857, 63422, 50744, 16904, 16936, 52857, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 57051, 19017, 14823, 46518, 59164, 50712, 40179, 29614, 29614, 40147, 38034, 23243, 29582, 57051, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 46518, 16936, 19017, 50712, 63390, 57051, 44373, 25356, 19049, 27469, 27501, 21162, 31695, 57083, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 44373, 29582, 19017, 27501, 57051, 65503, 52857, 40179, 25388, 21162, 27469, 25356, 14823, 25356, 54938, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 63422, 50744, 29582, 21162, 29614, 44373, 63390, 63390, 42292, 33808, 33840, 35953, 40147, 31727, 14823, 21162, 50744, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 65535, 63422, 46486, 31695, 19017, 25356, 50712, 65535, 65535, 54970, 23275, 21162, 48631, 63422, 65503, 50744, 23275, 23243, 46486, 61277, 65503, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65535, 61309, 48599, 27469, 14791, 12678, 23275, 48631, 63422, 65535, 54938, 21130, 19017, 48599, 63422, 65535, 52857, 25356, 23243, 46518, 61277, 65503, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 59196, 38066, 21130, 4258, 2113, 10565, 16936, 25356, 38066, 61277, 59164, 33808, 23275, 29614, 35953, 42260, 35953, 19017, 23275, 52825, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 59164, 33808, 16904, 6371, 8452, 16936, 21162, 19049, 31695, 57083, 63390, 48599, 38034, 31727, 31727, 35953, 35921, 27501, 35921, 59164, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 61277, 44373, 33840, 31727, 33808, 35921, 35953, 35921, 42292, 59196, 65535, 63390, 57083, 52825, 48631, 48631, 50744, 54938, 59164, 65503, 65535, 65535, 65535, 65535, 52825, 10597, 10565,
|
||||
10597, 10565, 48631, 65535, 65535, 65503, 54970, 50744, 52825, 52825, 52825, 50744, 50712, 54938, 63390, 65535, 65535, 65535, 65503, 61309, 59196, 61309, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52857, 10597, 10565,
|
||||
10597, 10597, 50744, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 10597, 10565,
|
||||
19017, 14823, 42292, 57051, 57051, 57083, 57083, 59164, 59164, 59164, 59164, 59164, 59164, 57083, 57083, 57051, 57051, 57051, 57083, 57083, 57083, 57083, 57051, 57051, 57051, 57051, 57051, 57083, 59196, 44405, 12710, 14823,
|
||||
33808, 21162, 25356, 27469, 29582, 29582, 29582, 29614, 29614, 29614, 29614, 29614, 29614, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 25388, 16936, 27501,
|
||||
2016, 2016, 27469, 21162, 21162, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 23243, 25388, 31695, 2016,
|
||||
};
|
||||
|
||||
#endif
|
47
lv_app/lv_icon/x2/img_clock.c
Normal file
47
lv_app/lv_icon/x2/img_clock.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_CLOCK != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_clock [] = { /*Width = 32, Height = 31*/
|
||||
32, /*Width*/
|
||||
31, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 21162, 19017, 16936, 16904, 19017, 21130, 25388, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 19049, 12678, 6371, 4258, 2145, 2113, 32, 32, 2113, 2145, 4226, 6371, 10597, 16936, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 12678, 32, 0, 0, 0, 2145, 4226, 4258, 4258, 4226, 2145, 32, 0, 0, 0, 10565, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 19017, 4258, 0, 0, 0, 2113, 12678, 21130, 25356, 27501, 27501, 25388, 21162, 14791, 4226, 0, 0, 0, 4226, 16904, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 21162, 2113, 0, 32, 6371, 12710, 21162, 31727, 40147, 44405, 48599, 46518, 44405, 40179, 33808, 23275, 14823, 8452, 2113, 0, 0, 16904, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16936, 2113, 0, 0, 12710, 29582, 46486, 54970, 57083, 61277, 63422, 63422, 63390, 61277, 59196, 59164, 57051, 48599, 31727, 16904, 32, 0, 0, 14823, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 27501, 4226, 0, 0, 12678, 31695, 48599, 63390, 65535, 65535, 65535, 61309, 61277, 65535, 65535, 65535, 65535, 65535, 65503, 50744, 33840, 14823, 2113, 0, 2113, 23243, 2016, 2016, 2016,
|
||||
2016, 2016, 27469, 8452, 0, 32, 14823, 31727, 52825, 63422, 65535, 65535, 65535, 59196, 40147, 38066, 59164, 65535, 65535, 65535, 65535, 65535, 63422, 54938, 38066, 21130, 2113, 0, 4226, 23243, 2016, 2016,
|
||||
2016, 2016, 14791, 0, 0, 8484, 31695, 50712, 65503, 65535, 65535, 65535, 65535, 54970, 23275, 23243, 52825, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54970, 38034, 10597, 0, 0, 10597, 2016, 2016,
|
||||
2016, 2016, 8452, 0, 32, 19017, 48631, 65503, 65535, 65535, 65535, 65535, 65535, 52857, 14791, 12710, 50712, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 23243, 4258, 0, 6339, 29614, 2016,
|
||||
2016, 23275, 4226, 0, 10565, 29614, 59164, 65535, 65535, 65535, 65535, 65535, 65535, 50744, 10565, 8484, 48599, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 61277, 35921, 16904, 2113, 2113, 19017, 2016,
|
||||
2016, 14791, 32, 4226, 23275, 44373, 61309, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 10597, 10565, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 48631, 29614, 6339, 0, 8484, 27501,
|
||||
27469, 8452, 0, 6371, 33840, 52857, 63422, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 10597, 10597, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 59196, 40179, 8484, 0, 2113, 21162,
|
||||
23243, 2145, 0, 8484, 42260, 61277, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 10597, 10597, 50744, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 48599, 10597, 0, 0, 16904,
|
||||
19049, 0, 0, 10565, 46486, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 10597, 8452, 42260, 57083, 57083, 57051, 57051, 59164, 63422, 65535, 65535, 65535, 65535, 52825, 12710, 0, 0, 12710,
|
||||
16936, 0, 0, 10597, 48599, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 10597, 32, 19049, 29582, 29582, 27501, 27469, 35953, 57083, 65535, 65535, 65535, 65535, 52857, 14791, 0, 0, 12678,
|
||||
16936, 0, 0, 10597, 46518, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 21162, 8484, 19017, 23243, 23243, 21162, 19049, 31695, 54970, 65535, 65535, 65535, 65535, 52825, 14791, 0, 0, 12678,
|
||||
21130, 32, 0, 10565, 44373, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 59196, 42260, 33808, 35921, 35953, 35953, 35953, 33840, 42292, 59164, 65535, 65535, 65535, 65535, 50712, 12678, 0, 0, 14823,
|
||||
25356, 4258, 0, 8452, 38066, 57083, 63422, 65535, 65535, 65535, 65535, 65535, 65535, 63422, 54970, 50744, 50712, 50712, 50712, 50712, 48631, 52857, 61309, 65535, 65535, 65535, 63390, 44405, 10565, 0, 0, 19049,
|
||||
31695, 10597, 0, 6339, 29614, 48631, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63422, 63390, 63390, 63390, 63390, 61309, 61309, 63390, 65503, 65535, 65535, 63422, 54938, 35921, 6371, 0, 6339, 25356,
|
||||
2016, 19049, 2113, 2113, 19017, 38034, 59196, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 61277, 42292, 23275, 4226, 32, 14791, 33808,
|
||||
2016, 29614, 4258, 0, 4226, 23243, 54970, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 57083, 27501, 8452, 0, 4226, 25356, 2016,
|
||||
2016, 2016, 10597, 0, 0, 12678, 42260, 59196, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 46486, 14823, 0, 0, 8484, 2016, 2016,
|
||||
2016, 2016, 21130, 2145, 0, 4226, 19049, 38066, 61277, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 44373, 25356, 6339, 0, 0, 16904, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 2113, 0, 4258, 21130, 44405, 59164, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63422, 59196, 46518, 25356, 8484, 0, 0, 10597, 29614, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 8484, 0, 0, 4258, 16904, 31695, 50712, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 52857, 33840, 19017, 6371, 0, 0, 6339, 33808, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 25388, 8452, 32, 0, 32, 10597, 29614, 44373, 52825, 57051, 57083, 57083, 57083, 57083, 57051, 52857, 46518, 33840, 14791, 2145, 0, 0, 6339, 23243, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 6339, 10597, 16936, 23275, 29582, 31695, 31695, 29582, 25356, 19017, 12678, 6339, 32, 0, 0, 8452, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29614, 14823, 8452, 2113, 0, 0, 0, 4226, 8484, 12678, 12678, 10565, 4258, 0, 0, 0, 32, 6371, 12678, 27469, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 19017, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 14823, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 16904, 10597, 8452, 6371, 6371, 6371, 6371, 8452, 10597, 14823, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
49
lv_app/lv_icon/x2/img_close.c
Normal file
49
lv_app/lv_icon/x2/img_close.c
Normal file
@ -0,0 +1,49 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_CLOSE != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_close [] = { /*Width = 35, Height = 33*/
|
||||
35, /*Width*/
|
||||
33, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 25356, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 23243, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 33808, 6371, 2145, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 4258, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 25388, 10565, 32, 0, 2145, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 4258, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 14791, 0, 0, 0, 0, 4226, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 6339, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 32, 0, 0, 0, 0, 4226, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 32, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31695, 14791, 4226, 0, 0, 0, 0, 2145, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 10597, 27501, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 2145, 16904, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 31727, 14791, 4226, 0, 0, 0, 0, 2145, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4258, 0, 0, 0, 0, 2145, 10597, 29582, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 2145, 16904, 2016, 2016, 2016, 2016, 19049, 4226, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 14791, 4226, 0, 0, 0, 0, 4226, 23275, 2016, 2016, 27501, 4258, 0, 0, 0, 0, 2113, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 32, 6339, 10565, 10597, 8452, 32, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 12710, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 10565, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12678, 2145, 0, 0, 0, 0, 0, 0, 2113, 8452, 25388, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 6371, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 6339, 0, 0, 0, 0, 0, 0, 4258, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 32, 0, 0, 0, 0, 0, 0, 0, 4226, 16904, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 4258, 0, 0, 0, 0, 32, 2113, 4226, 2145, 0, 0, 0, 0, 2145, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 6339, 0, 0, 0, 0, 2145, 12710, 19049, 21162, 16904, 4258, 0, 0, 0, 0, 4226, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 32, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 4226, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 10597, 29582, 2016, 2016, 2016, 2016, 31727, 14791, 4226, 0, 0, 0, 0, 2145, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 2145, 16904, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2113, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 14791, 4226, 0, 0, 0, 0, 2145, 21162, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 2113, 14823, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 12678, 0, 0, 0, 0, 2145, 10565, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 14791, 4226, 0, 0, 0, 0, 8484, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 23243, 6339, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 2113, 0, 0, 2113, 19049, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 21162, 6371, 4226, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 14823, 4258, 4258, 16936, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 21162, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 19049, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
36
lv_app/lv_icon/x2/img_down.c
Normal file
36
lv_app/lv_icon/x2/img_down.c
Normal file
@ -0,0 +1,36 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_DOWN != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_down [] = { /*Width = 29, Height = 20*/
|
||||
29, /*Width*/
|
||||
20, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 23243, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 4258, 6371, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 8452, 4226, 12678, 2016, 2016, 2016,
|
||||
2016, 2016, 16904, 2113, 0, 0, 6339, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 2113, 19017, 2016, 2016,
|
||||
33808, 16904, 4258, 0, 0, 0, 0, 6371, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 8452, 32, 0, 0, 0, 2113, 12710, 2016,
|
||||
19049, 2145, 0, 0, 0, 0, 0, 0, 6339, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 0, 0, 0, 0, 2145, 23243,
|
||||
16936, 32, 0, 0, 0, 0, 0, 0, 0, 6371, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 32, 0, 0, 0, 0, 0, 0, 2113, 19049,
|
||||
29582, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 4258, 19049, 2016, 2016, 2016, 2016, 2016, 31695, 6371, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29582,
|
||||
2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 25356, 8452, 32, 0, 0, 0, 0, 0, 0, 32, 12678, 29582, 2016,
|
||||
2016, 2016, 29614, 12710, 4226, 0, 0, 0, 0, 0, 0, 32, 8452, 19049, 2016, 2016, 8484, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 29614, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 0, 0, 32, 4226, 8484, 8452, 2113, 0, 0, 0, 0, 0, 0, 2113, 14791, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31695, 12710, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 31695, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12678, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 14791, 6371, 12678, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
45
lv_app/lv_icon/x2/img_driver.c
Normal file
45
lv_app/lv_icon/x2/img_driver.c
Normal file
@ -0,0 +1,45 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_DRIVER != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_driver [] = { /*Width = 32, Height = 29*/
|
||||
32, /*Width*/
|
||||
29, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 31695, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31695, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 23243, 10597, 12678, 12678, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12678, 10597, 21162, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 23275, 4226, 0, 4226, 6371, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6339, 6371, 4226, 0, 2145, 16936, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31727, 12678, 32, 4258, 25356, 35921, 33808, 33808, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 35921, 25388, 8452, 2113, 6371, 25356, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 21162, 4258, 2145, 14823, 42260, 54938, 52825, 50744, 50744, 50744, 50744, 50744, 50744, 50744, 50744, 50744, 50744, 52825, 54938, 44373, 19017, 4258, 32, 16904, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 12678, 0, 10565, 27501, 54938, 65535, 63422, 63390, 63390, 63390, 63390, 63390, 63390, 63390, 63390, 63390, 63390, 63422, 65535, 54970, 31695, 12710, 0, 10565, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 6339, 0, 19017, 40147, 61277, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 61309, 42292, 21162, 2113, 4258, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 25388, 2145, 4226, 29614, 50712, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63390, 50744, 31727, 4258, 32, 19049, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 14791, 0, 8484, 40179, 59196, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 59196, 40179, 8484, 0, 8484, 27501, 2016, 2016,
|
||||
2016, 2016, 21162, 4226, 0, 14791, 48631, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 48631, 12710, 0, 0, 16936, 2016, 2016,
|
||||
2016, 2016, 12710, 0, 2145, 21162, 54970, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 19049, 32, 0, 10565, 2016, 2016,
|
||||
2016, 2016, 8452, 0, 12710, 31727, 57083, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 57051, 29582, 8484, 0, 6371, 2016, 2016,
|
||||
2016, 29582, 4226, 2145, 25356, 44373, 61309, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 61277, 38066, 19049, 2113, 2145, 23243, 2016,
|
||||
2016, 16936, 32, 6371, 38034, 57083, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 50712, 29614, 6339, 0, 10597, 29614,
|
||||
27469, 6371, 0, 8452, 35953, 52857, 57051, 59164, 57083, 59196, 63422, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65503, 59196, 57083, 59164, 54970, 46518, 29614, 6371, 0, 2113, 21130,
|
||||
19017, 0, 0, 4258, 23243, 31727, 31727, 31727, 29614, 38066, 54970, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 59164, 38066, 29614, 31727, 31695, 29582, 19049, 4226, 0, 0, 14791,
|
||||
14823, 0, 0, 2145, 10597, 14823, 14791, 12710, 10597, 21130, 42260, 57051, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 61277, 46486, 23243, 10597, 12710, 14791, 14791, 10565, 2113, 0, 0, 10597,
|
||||
14823, 0, 0, 0, 2113, 2145, 2145, 2113, 32, 8452, 23275, 42260, 63390, 65535, 65535, 65535, 65535, 65535, 65535, 63422, 48599, 29582, 8484, 32, 2113, 2145, 2145, 2113, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 32, 10565, 25388, 50712, 61277, 59164, 57083, 57083, 59164, 61277, 50744, 31727, 14823, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 10565, 27469, 33840, 33808, 31727, 31727, 33808, 33840, 27501, 12710, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 14823, 14791, 14791, 14791, 14791, 14823, 10597, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597,
|
||||
12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484,
|
||||
23243, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 4226, 19017,
|
||||
2016, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 31695, 2016,
|
||||
};
|
||||
|
||||
#endif
|
43
lv_app/lv_icon/x2/img_eject.c
Normal file
43
lv_app/lv_icon/x2/img_eject.c
Normal file
@ -0,0 +1,43 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_EJECT != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_eject [] = { /*Width = 28, Height = 27*/
|
||||
28, /*Width*/
|
||||
27, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 14791, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 8484, 32, 6339, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 14823, 2113, 0, 0, 8452, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 32, 0, 0, 0, 2113, 10565, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 4226, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 4258, 0, 0, 0, 0, 0, 0, 0, 4226, 16904, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29614, 12678, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8452, 25356, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 21130, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 31727, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 23243, 6339, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 14823, 33808, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31727, 10565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 14791, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 31727, 14823, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 21162, 2016, 2016, 2016,
|
||||
2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14823, 2016, 2016,
|
||||
2016, 2016, 12710, 4226, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6339, 4226, 14791, 2016, 2016,
|
||||
2016, 2016, 2016, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 33808, 31727, 29614, 2016,
|
||||
27469, 12678, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 12678, 10565, 23275,
|
||||
19017, 2113, 2113, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2113, 0, 14791,
|
||||
14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565,
|
||||
12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484,
|
||||
23243, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 4226, 19017,
|
||||
2016, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 31695, 2016,
|
||||
};
|
||||
|
||||
#endif
|
44
lv_app/lv_icon/x2/img_folder.c
Normal file
44
lv_app/lv_icon/x2/img_folder.c
Normal file
@ -0,0 +1,44 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_FOLDER != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_folder [] = { /*Width = 34, Height = 28*/
|
||||
34, /*Width*/
|
||||
28, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 31727, 31727, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 25356, 16904, 12710, 12710, 12710, 12710, 14823, 21162, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27469, 12710, 6339, 4226, 2145, 2145, 2145, 2145, 2145, 4226, 10597, 27469, 2016, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31695, 29614, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 27469, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 14791, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 12710, 10597, 8484, 23243, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 23243, 6339, 8452, 8484, 8484, 8484, 8484, 8484, 8484, 8484, 8484, 8452, 8452, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6371, 6339, 2145, 19017, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 31695, 29582, 27501, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 29582, 27501, 29582, 29582, 2016, 2016,
|
||||
2016, 29582, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14823, 14791, 12678, 25388, 2016,
|
||||
2016, 25356, 8452, 4226, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 19049, 2016,
|
||||
2016, 25356, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19017, 2016,
|
||||
2016, 29582, 10597, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016,
|
||||
2016, 33808, 14823, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 8484, 27469, 2016,
|
||||
2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 12678, 31695, 2016,
|
||||
2016, 2016, 23243, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 16904, 2016, 2016,
|
||||
2016, 2016, 25388, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 19049, 2016, 2016,
|
||||
2016, 2016, 29614, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016, 2016,
|
||||
2016, 2016, 33808, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6339, 27469, 2016, 2016,
|
||||
2016, 2016, 2016, 8484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 31695, 2016, 2016,
|
||||
2016, 2016, 2016, 10565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 10565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 8484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 19049, 4226, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 4226, 16936, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31695, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 31695, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
43
lv_app/lv_icon/x2/img_image.c
Normal file
43
lv_app/lv_icon/x2/img_image.c
Normal file
@ -0,0 +1,43 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_IMAGE != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_image [] = { /*Width = 32, Height = 27*/
|
||||
32, /*Width*/
|
||||
27, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 19017, 14823, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 14791, 12710, 12710, 14791, 16936, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 8484, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 6371, 16904, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 23243, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 16936, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 25388, 10565, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 25356, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 29582, 19017, 16904, 10565, 2145, 0, 0, 0, 0, 0, 32, 2145, 4258, 6339, 6339, 6339, 4226, 2113, 0, 0, 0, 0, 0, 32, 10565, 14823, 16936, 27469, 2016, 2016,
|
||||
2016, 21162, 8484, 2145, 2145, 2113, 0, 0, 0, 0, 0, 0, 6339, 12710, 23243, 27501, 27501, 25356, 16936, 8484, 0, 0, 0, 0, 0, 0, 2113, 2145, 2145, 6371, 16904, 33808,
|
||||
25356, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 10597, 23243, 31727, 42260, 46518, 46518, 44373, 35953, 25388, 14791, 6339, 32, 0, 0, 0, 0, 0, 0, 0, 32, 19049,
|
||||
19017, 32, 0, 0, 0, 0, 0, 0, 0, 4226, 23243, 38066, 52825, 59196, 63390, 63422, 63422, 63390, 61277, 54938, 44405, 29582, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 14791,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 32, 14791, 40147, 57083, 65535, 65535, 65503, 63390, 61309, 63422, 65535, 65535, 63390, 46518, 19049, 4258, 32, 0, 0, 0, 0, 0, 0, 10597,
|
||||
14823, 0, 0, 0, 0, 0, 0, 2145, 12710, 31695, 54938, 65535, 65535, 63422, 50712, 42292, 42260, 48599, 61309, 65535, 65535, 57083, 40147, 21162, 4258, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 6339, 25388, 44405, 63390, 65535, 61277, 48631, 31727, 23275, 23243, 29582, 44373, 57051, 65535, 65535, 54938, 35921, 8452, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 8484, 38034, 57051, 65535, 61309, 42292, 25388, 10597, 4226, 4226, 8452, 16936, 33840, 59164, 65535, 65535, 46518, 12678, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 10597, 44405, 65503, 65535, 57083, 29614, 10565, 0, 0, 0, 0, 32, 19049, 54938, 65535, 65535, 52857, 14791, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 10597, 48599, 65535, 65535, 54970, 23243, 4226, 0, 0, 0, 0, 0, 12710, 52825, 65535, 65535, 54938, 16936, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 10597, 46518, 65535, 65535, 57051, 25388, 6371, 0, 0, 0, 0, 0, 16904, 52857, 65535, 65535, 52857, 16936, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 10565, 44373, 63390, 65535, 59196, 38034, 16936, 32, 0, 0, 0, 8452, 27501, 57051, 65535, 65535, 50744, 14791, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 8452, 33840, 52857, 65535, 65503, 50744, 33840, 16904, 6371, 6371, 12710, 27469, 42292, 61309, 65535, 63390, 44373, 10597, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 4258, 21130, 40147, 61309, 65535, 65503, 57051, 44405, 38066, 38034, 42260, 52857, 61309, 65535, 65503, 48631, 29614, 6371, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 2113, 8484, 25388, 50712, 65503, 65535, 65535, 63390, 59164, 57083, 61277, 65535, 65535, 65535, 54938, 33808, 16904, 4226, 0, 0, 0, 0, 0, 0, 12678,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 29614, 48631, 65503, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 54970, 38034, 14791, 2113, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 14791, 29582, 46518, 57051, 59164, 59196, 61277, 59196, 57083, 50712, 35953, 21130, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 8452, 14791, 23243, 31727, 35953, 38034, 33808, 25388, 16936, 10565, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597,
|
||||
23243, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 12678, 16936, 16936, 12710, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16936,
|
||||
2016, 14823, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 29582,
|
||||
2016, 33808, 14823, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 6371, 6339, 6339, 6339, 6339, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 6371, 14791, 27501, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 31727, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
46
lv_app/lv_icon/x2/img_left.c
Normal file
46
lv_app/lv_icon/x2/img_left.c
Normal file
@ -0,0 +1,46 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_LEFT != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_left [] = { /*Width = 19, Height = 30*/
|
||||
19, /*Width*/
|
||||
30, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 29582, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 14791, 10565, 21162, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 10565, 32, 0, 6371, 23243, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12678, 32, 0, 0, 0, 6371, 23243, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 10597, 32, 0, 0, 0, 0, 0, 8452, 25356,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 14791, 2113, 0, 0, 0, 0, 0, 0, 2145, 21130,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 10597, 2113, 0, 0, 0, 0, 0, 0, 0, 8452, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29582, 12678, 32, 0, 0, 0, 0, 0, 0, 32, 8452, 23275, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 29614, 10597, 32, 0, 0, 0, 0, 0, 0, 0, 8452, 31727, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 29614, 12710, 32, 0, 0, 0, 0, 0, 0, 32, 8452, 25356, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 29614, 10597, 32, 0, 0, 0, 0, 0, 0, 0, 8452, 31727, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 29614, 12710, 32, 0, 0, 0, 0, 0, 0, 2113, 8452, 25356, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 29614, 10597, 32, 0, 0, 0, 0, 0, 0, 0, 8452, 31727, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
29614, 12678, 32, 0, 0, 0, 0, 0, 0, 32, 8452, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
12678, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
8484, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
23243, 6339, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 21162, 6371, 0, 0, 0, 0, 0, 0, 0, 32, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 21162, 6371, 0, 0, 0, 0, 0, 0, 0, 4226, 12710, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 23243, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 0, 0, 0, 0, 2145, 12710, 29614, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 23243, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 0, 0, 0, 0, 2145, 12710, 29614, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 4258, 0, 0, 0, 0, 0, 0, 0, 4226, 19017,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 6371, 0, 0, 0, 0, 0, 0, 4258, 19049,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 0, 2113, 16904, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 8452, 0, 0, 4258, 16904, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 8452, 4258, 16904, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 21162, 31727, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
48
lv_app/lv_icon/x2/img_music.c
Normal file
48
lv_app/lv_icon/x2/img_music.c
Normal file
@ -0,0 +1,48 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_MUSIC != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_music [] = { /*Width = 33, Height = 32*/
|
||||
33, /*Width*/
|
||||
32, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 16904, 14791, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 12710, 12710, 12710, 12710, 27469, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2113, 0, 14823, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 32, 6339, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6339, 2113, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 6339, 25356, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 2016, 2016, 27469, 8452, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 10565, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 10565, 0, 0, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 29614, 21162, 19017, 19017, 21162, 16936, 4258, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 21162, 19017, 19017, 21162, 16936, 4258, 0, 0, 12678, 2016,
|
||||
2016, 2016, 23243, 8484, 6339, 4258, 4226, 4226, 4258, 4226, 32, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 8484, 6339, 4258, 4226, 4226, 4258, 4226, 32, 0, 0, 12678, 2016,
|
||||
2016, 31695, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 31695, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016,
|
||||
31695, 12710, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 31695, 12710, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016,
|
||||
21162, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 21162, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016,
|
||||
19049, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 19049, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016,
|
||||
27469, 8452, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016, 2016, 2016, 2016, 27469, 8452, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016,
|
||||
2016, 23243, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 23243, 2016, 2016,
|
||||
2016, 2016, 16904, 4258, 2145, 2113, 32, 32, 2113, 2145, 6339, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 4258, 2145, 2113, 32, 32, 2113, 2145, 6339, 19017, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31695, 19017, 10565, 6371, 6371, 10565, 19017, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 19017, 10565, 6371, 6371, 10565, 19017, 33808, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 27501, 25356, 25356, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 25356, 25356, 27501, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
47
lv_app/lv_icon/x2/img_ok.c
Normal file
47
lv_app/lv_icon/x2/img_ok.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_OK != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_ok [] = { /*Width = 34, Height = 31*/
|
||||
34, /*Width*/
|
||||
31, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 6339, 6371, 21130, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 6339, 29582, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 0, 0, 0, 32, 8452, 25388, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 4258, 0, 0, 0, 0, 2145, 10565, 29582, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 12678, 29582, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 12678, 29582, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 12678, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 4258, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 6339, 0, 0, 0, 0, 2145, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 25356, 10565, 6339, 14823, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 8484, 0, 0, 2113, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4226, 0, 0, 0, 0, 2145, 12678, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 31727, 12710, 2113, 0, 0, 0, 2145, 16936, 2016, 2016, 2016, 2016, 21130, 4258, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 33808, 14823, 4226, 0, 0, 0, 0, 4226, 25356, 2016, 2016, 29614, 6371, 0, 0, 0, 0, 2145, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 14791, 0, 0, 0, 0, 32, 6339, 10565, 12678, 8484, 2113, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31727, 14791, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 16904, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 16904, 4258, 0, 0, 0, 0, 0, 0, 2145, 12678, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 2113, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 4258, 0, 0, 2145, 12678, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 2113, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 19017, 16904, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
47
lv_app/lv_icon/x2/img_play.c
Normal file
47
lv_app/lv_icon/x2/img_play.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_PLAY != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_play [] = { /*Width = 23, Height = 31*/
|
||||
23, /*Width*/
|
||||
31, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 21162, 12710, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 12678, 0, 10597, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 0, 32, 8452, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 4226, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 4226, 10597, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 8484, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 32, 6339, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 10597, 25388, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 23275, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6371, 16904, 31727, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 16904, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 8484, 21130, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 16936, 33808, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 16904, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6339, 27469, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 8484, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 32, 12710, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 32, 6371, 16904, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 10565, 25388, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 16904, 0, 0, 0, 2145, 12678, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14823, 0, 0, 2145, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14823, 0, 6339, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14823, 8452, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27501, 25388, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
46
lv_app/lv_icon/x2/img_right.c
Normal file
46
lv_app/lv_icon/x2/img_right.c
Normal file
@ -0,0 +1,46 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_RIGHT != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_right [] = { /*Width = 19, Height = 30*/
|
||||
19, /*Width*/
|
||||
30, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 29582, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 21162, 10565, 14791, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 23243, 6371, 0, 32, 10565, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 23243, 6371, 0, 0, 0, 32, 12678, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
25356, 8452, 0, 0, 0, 0, 0, 32, 10597, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
21130, 2145, 0, 0, 0, 0, 0, 0, 2113, 14791, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 8452, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 23275, 8452, 32, 0, 0, 0, 0, 0, 0, 32, 12678, 29582, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 31727, 8452, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 25356, 8452, 32, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 25356, 8452, 2113, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 8452, 32, 0, 0, 0, 0, 0, 0, 32, 12678, 29614,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 8484,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 10597, 2113, 0, 0, 0, 0, 0, 0, 0, 6339, 23243,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 0, 0, 0, 6371, 21162, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 29614, 12710, 4226, 0, 0, 0, 0, 0, 0, 0, 6371, 21162, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 23243, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 23243, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
19017, 4226, 0, 0, 0, 0, 0, 0, 0, 4258, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
19049, 4258, 0, 0, 0, 0, 0, 0, 6371, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 16904, 2113, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 16904, 4258, 0, 0, 8452, 23243, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 4258, 8452, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31727, 21162, 25388, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
49
lv_app/lv_icon/x2/img_settings.c
Normal file
49
lv_app/lv_icon/x2/img_settings.c
Normal file
@ -0,0 +1,49 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_SETTINGS != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_settings [] = { /*Width = 32, Height = 33*/
|
||||
32, /*Width*/
|
||||
33, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 10597, 10565, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16936, 0, 0, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8484, 0, 0, 6371, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 21130, 23243, 2016, 2016, 29614, 19049, 12710, 6371, 2113, 0, 0, 32, 8452, 14823, 23275, 2016, 2016, 2016, 31727, 29614, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 16936, 2145, 4258, 25356, 27469, 10597, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 6339, 19017, 2016, 33808, 14791, 10597, 23275, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14823, 0, 0, 32, 6339, 6339, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4226, 8452, 8452, 2145, 32, 2113, 16904, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31727, 14791, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8452, 25388, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 29614, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 29614, 10597, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6339, 25356, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 21162, 4226, 32, 0, 0, 0, 0, 0, 2113, 4258, 8484, 10597, 10597, 8484, 4226, 32, 0, 0, 0, 0, 0, 0, 2113, 19017, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 2113, 8484, 21162, 38066, 46518, 46486, 35953, 19017, 6371, 32, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 31727, 6371, 0, 0, 0, 0, 0, 0, 6339, 23275, 40179, 57083, 65503, 65503, 54970, 35953, 19049, 4258, 0, 0, 0, 0, 0, 0, 6371, 31727, 2016, 2016, 2016,
|
||||
2016, 29582, 23275, 14823, 2145, 0, 0, 0, 0, 0, 0, 12710, 44373, 61309, 65503, 65535, 65535, 63422, 59164, 40179, 10565, 0, 0, 0, 0, 0, 0, 2145, 16904, 25356, 27501, 2016,
|
||||
27469, 10565, 6371, 4226, 32, 0, 0, 0, 0, 0, 0, 16936, 54970, 65535, 65535, 65535, 65535, 65535, 65535, 52825, 14791, 0, 0, 0, 0, 0, 0, 32, 4258, 6371, 8452, 23275,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 19049, 57051, 65535, 65535, 65535, 65535, 65535, 65535, 54938, 14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
21162, 4226, 2145, 2113, 0, 0, 0, 0, 0, 0, 32, 16936, 50744, 65535, 65535, 65535, 65535, 65535, 65535, 48631, 14791, 0, 0, 0, 0, 0, 0, 0, 2145, 4226, 2113, 16936,
|
||||
2016, 29582, 21162, 12678, 2145, 0, 0, 0, 0, 0, 0, 10597, 40147, 59164, 65535, 65535, 65535, 65535, 54938, 35921, 8484, 0, 0, 0, 0, 0, 0, 4226, 16936, 25388, 29582, 2016,
|
||||
2016, 2016, 2016, 23275, 4258, 0, 0, 0, 0, 0, 0, 4258, 25356, 40179, 52825, 59164, 59164, 50744, 35921, 21130, 4226, 0, 0, 0, 0, 0, 0, 6371, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 8452, 0, 0, 0, 0, 0, 0, 32, 4258, 12678, 23243, 27469, 27469, 21130, 10565, 4226, 32, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 8452, 6371, 4226, 0, 0, 0, 0, 0, 0, 0, 32, 4226, 23243, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27469, 8452, 2113, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 4258, 21162, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27501, 10565, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6339, 25388, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 19017, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 16904, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 0, 0, 0, 2113, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8452, 27469, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14823, 0, 0, 0, 10597, 12678, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 0, 0, 2145, 21130, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27501, 12710, 8484, 14791, 29582, 29614, 19017, 10597, 8452, 4226, 32, 0, 0, 0, 2113, 4226, 6339, 10597, 19017, 16936, 8452, 6371, 14791, 29614, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 21130, 4258, 0, 0, 2113, 8484, 19017, 29614, 2016, 2016, 2016, 29582, 27469, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8484, 0, 0, 4226, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 6371, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 4258, 2145, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
47
lv_app/lv_icon/x2/img_shut_down.c
Normal file
47
lv_app/lv_icon/x2/img_shut_down.c
Normal file
@ -0,0 +1,47 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_SHUT_DOWN != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_shut_down [] = { /*Width = 28, Height = 31*/
|
||||
28, /*Width*/
|
||||
31, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 10597, 10565, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 0, 0, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 21130, 23275, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 25356, 19049, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31695, 12710, 2113, 12710, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 16936, 2145, 10565, 27501, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 12710, 0, 0, 10597, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 16904, 0, 0, 10565, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 19017, 4226, 0, 0, 16936, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 23243, 4226, 0, 2113, 12710, 31727, 2016, 2016,
|
||||
2016, 2016, 21162, 4226, 0, 2113, 14823, 33808, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 19049, 4258, 0, 0, 16936, 2016, 2016,
|
||||
2016, 2016, 12678, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 10565, 2016, 2016,
|
||||
2016, 31695, 6339, 0, 4226, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 8452, 0, 4226, 25356, 2016,
|
||||
2016, 19017, 2113, 2113, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 4226, 0, 12678, 31695,
|
||||
29582, 10565, 0, 6339, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 4258, 2145, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8452, 0, 2145, 21162,
|
||||
25356, 4258, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 16904,
|
||||
21162, 2113, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 12710,
|
||||
19017, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 12678,
|
||||
16936, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 12710,
|
||||
21130, 32, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 14823,
|
||||
25388, 6339, 0, 8452, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8484, 0, 0, 19049,
|
||||
31727, 12710, 32, 4226, 25356, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 6339, 0, 8452, 27469,
|
||||
2016, 23275, 4226, 0, 12710, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 2113, 2113, 16936, 2016,
|
||||
2016, 2016, 6371, 0, 0, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 2145, 0, 4258, 29614, 2016,
|
||||
2016, 2016, 14823, 0, 0, 6339, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8452, 0, 0, 12710, 2016, 2016,
|
||||
2016, 2016, 29614, 10597, 0, 0, 6339, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 8484, 0, 0, 6371, 25356, 2016, 2016,
|
||||
2016, 2016, 2016, 27501, 10565, 0, 0, 2145, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 6339, 0, 0, 6371, 23243, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 25388, 8484, 0, 0, 2145, 8484, 14791, 21130, 27501, 31695, 31695, 27501, 23243, 16904, 10565, 4226, 0, 0, 4258, 21130, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 27469, 12678, 2145, 0, 0, 0, 32, 8452, 12678, 12678, 8484, 2113, 0, 0, 0, 2113, 10565, 23243, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 16904, 10597, 8452, 6371, 6339, 6339, 6371, 8452, 10565, 14791, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
49
lv_app/lv_icon/x2/img_star.c
Normal file
49
lv_app/lv_icon/x2/img_star.c
Normal file
@ -0,0 +1,49 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_STAR != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_star [] = { /*Width = 34, Height = 33*/
|
||||
34, /*Width*/
|
||||
33, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 16936, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 6371, 4226, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 6371, 0, 0, 6339, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 4226, 0, 0, 2145, 12710, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 8452, 32, 0, 0, 0, 2145, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 6371, 0, 0, 0, 0, 0, 0, 6339, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 25388, 21162, 14823, 8484, 2113, 0, 0, 0, 0, 0, 0, 32, 6371, 12710, 21130, 25388, 29582, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27469, 23275, 21130, 16904, 12678, 8452, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 6371, 10597, 14823, 19049, 23243, 25388, 33808, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 14791, 2145, 4226, 4226, 2145, 2113, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 2113, 2145, 4226, 4226, 2113, 12678, 33808, 2016, 2016,
|
||||
2016, 2016, 2016, 19017, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 14791, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 27501, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 23243, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 21162, 6339, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 19017, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29614, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 25356, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 6339, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4226, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 6371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8452, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 8452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 6371, 0, 0, 0, 0, 0, 0, 2113, 2145, 2113, 0, 0, 0, 0, 0, 6339, 25356, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 4258, 0, 0, 32, 4258, 10565, 16904, 21130, 21162, 19017, 10597, 4258, 2113, 0, 0, 4226, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19049, 2113, 0, 0, 6339, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 8484, 0, 0, 0, 12710, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 33808, 16904, 8452, 6371, 12710, 25356, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 14823, 8452, 6371, 10565, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 16904, 23243, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 10597, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
36
lv_app/lv_icon/x2/img_up.c
Normal file
36
lv_app/lv_icon/x2/img_up.c
Normal file
@ -0,0 +1,36 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_UP != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_up [] = { /*Width = 29, Height = 20*/
|
||||
29, /*Width*/
|
||||
20, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 14791, 6371, 12678, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 29614, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12678, 29614, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 31695, 12710, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 31695, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 14791, 32, 0, 0, 0, 0, 0, 0, 32, 4226, 8484, 8452, 2113, 0, 0, 0, 0, 0, 0, 2113, 14791, 31695, 2016, 2016, 2016,
|
||||
2016, 2016, 29614, 12710, 4226, 0, 0, 0, 0, 0, 0, 32, 8452, 19049, 2016, 2016, 8484, 0, 0, 0, 0, 0, 0, 0, 2113, 10597, 29614, 2016, 2016,
|
||||
2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 23243, 2016, 2016, 2016, 25356, 8452, 32, 0, 0, 0, 0, 0, 0, 32, 12678, 29582, 2016,
|
||||
29582, 12710, 2145, 0, 0, 0, 0, 0, 0, 0, 4258, 19049, 2016, 2016, 2016, 2016, 2016, 31695, 6371, 0, 0, 0, 0, 0, 0, 0, 32, 10597, 29582,
|
||||
16936, 32, 0, 0, 0, 0, 0, 0, 0, 6371, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 32, 0, 0, 0, 0, 0, 0, 2113, 19049,
|
||||
19049, 2145, 0, 0, 0, 0, 0, 0, 6339, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 0, 0, 0, 0, 2145, 23243,
|
||||
33808, 16904, 4258, 0, 0, 0, 0, 6371, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 8452, 32, 0, 0, 0, 2113, 12710, 2016,
|
||||
2016, 2016, 16904, 2113, 0, 0, 6339, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 8452, 0, 0, 2113, 19017, 2016, 2016,
|
||||
2016, 2016, 2016, 16904, 4258, 6371, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 8452, 4226, 12678, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 23243, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 31695, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
46
lv_app/lv_icon/x2/img_user.c
Normal file
46
lv_app/lv_icon/x2/img_user.c
Normal file
@ -0,0 +1,46 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_USER != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_user [] = { /*Width = 32, Height = 30*/
|
||||
32, /*Width*/
|
||||
30, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 21130, 16904, 16904, 21130, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 4258, 4226, 4226, 4226, 4226, 4258, 14791, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 19017, 2113, 0, 0, 0, 0, 0, 0, 32, 14823, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 21130, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 4258, 32, 0, 0, 0, 0, 0, 0, 0, 32, 19017, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 2145, 0, 0, 0, 0, 0, 0, 2113, 10597, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27501, 6339, 0, 0, 0, 0, 0, 0, 4258, 23275, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10565, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 16904, 0, 0, 0, 0, 0, 0, 14791, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 6371, 32, 0, 0, 32, 4258, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 8452, 2113, 0, 0, 32, 6339, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 14791, 8452, 4258, 2113, 0, 0, 0, 0, 32, 4226, 8452, 12710, 21130, 31727, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 14823, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 12710, 29614, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 27469, 14791, 6339, 2145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 6339, 12710, 25356, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 23275, 8484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6371, 19049, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 23243, 8484, 4258, 2113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 4226, 8452, 21130, 2016, 2016,
|
||||
2016, 27469, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 21162, 2016,
|
||||
25388, 6371, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 21130,
|
||||
19017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678,
|
||||
23243, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16904,
|
||||
2016, 19049, 10597, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 8484, 14791, 29614,
|
||||
2016, 2016, 2016, 31727, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 31727, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
37
lv_app/lv_icon/x2/img_video.c
Normal file
37
lv_app/lv_icon/x2/img_video.c
Normal file
@ -0,0 +1,37 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_VIDEO != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_video [] = { /*Width = 32, Height = 21*/
|
||||
32, /*Width*/
|
||||
21, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 33808, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 31727, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 29582, 19017, 14823, 12710, 12710, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 14791, 12710, 12710, 14791, 16936, 27469, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 21162, 8484, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 6371, 16904, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
25356, 6339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 19049, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
19017, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 21162,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 31727, 4258, 10565,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 23275, 6339, 0, 10597,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 31727, 6371, 0, 0, 10597,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 23275, 8452, 32, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8484, 2016, 2016, 8452, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4226, 16936, 16936, 2145, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 21130, 21130, 6371, 0, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 2016, 2016, 19049, 4258, 0, 0, 0, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12710, 2016, 2016, 2016, 19049, 6339, 0, 0, 10597,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 19049, 2145, 0, 10565,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 16936, 2113, 12678,
|
||||
16904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 16904,
|
||||
23243, 4226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16936, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 29614,
|
||||
2016, 14823, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10565, 29582, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 33808, 14823, 6371, 6371, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 8452, 6371, 6371, 14791, 27501, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 33808, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
42
lv_app/lv_icon/x2/img_volume.c
Normal file
42
lv_app/lv_icon/x2/img_volume.c
Normal file
@ -0,0 +1,42 @@
|
||||
#include "img_conf.h"
|
||||
#include "lv_conf.h"
|
||||
|
||||
#if USE_IMG_VOLUME != 0 || LV_APP_USE_INTERNAL_ICONS == 2
|
||||
|
||||
#include <stdint.h>
|
||||
#include "misc/others/color.h"
|
||||
|
||||
const color_int_t img_volume [] = { /*Width = 25, Height = 26*/
|
||||
25, /*Width*/
|
||||
26, /*Heigth*/
|
||||
16, /*Color depth = 16*/
|
||||
1, /*Flags: Transp = 1*/
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 21162, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 4226, 8484, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 8484, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 10597, 2145, 0, 0, 12678, 2016, 2016, 2016, 2016, 29614, 29614, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 10597, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 23243, 19017, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 12678, 2145, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 31727, 21130, 23275, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 12710, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 29614, 14791, 21162, 2016,
|
||||
2016, 31695, 31727, 31727, 33808, 29614, 23243, 14791, 4226, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 14791, 2016,
|
||||
27469, 12678, 12710, 14791, 14791, 12678, 4258, 32, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 21130, 14823, 2016,
|
||||
19017, 2113, 2113, 2145, 2145, 2113, 32, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 23275, 2016,
|
||||
14791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29582, 29614,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31695, 29582,
|
||||
14823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 29614, 29582,
|
||||
12710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25388, 31695,
|
||||
23243, 6371, 8452, 8484, 8484, 8452, 4258, 2113, 0, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 19049, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 33808, 21162, 10597, 32, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 14791, 12678, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 27469, 8484, 0, 0, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 12678, 14823, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 8484, 32, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 2016, 21162, 19049, 31695, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 25356, 8452, 0, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 25356, 16936, 31727, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 6371, 0, 0, 0, 12678, 2016, 2016, 2016, 2016, 29614, 27501, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23243, 8452, 0, 0, 10597, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 23275, 6371, 0, 10565, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 21162, 2145, 12678, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 14823, 16904, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 31727, 31695, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
|
||||
};
|
||||
|
||||
#endif
|
224
lv_appx/lv_app_example.c
Normal file
224
lv_appx/lv_app_example.c
Normal file
@ -0,0 +1,224 @@
|
||||
/**
|
||||
* @file lv_app_example.c
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_app_example.h"
|
||||
#if LV_APP_ENABLE != 0 && USE_LV_APP_EXAMPLE != 0
|
||||
|
||||
#include "../lv_app/lv_app_sup.h"
|
||||
#include "misc/os/ptask.h"
|
||||
#include <stdio.h>
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/*Application specific data for an instance of this application*/
|
||||
typedef struct
|
||||
{
|
||||
|
||||
}my_app_data_t;
|
||||
|
||||
/*Application specific data a window of this application*/
|
||||
typedef struct
|
||||
{
|
||||
|
||||
}my_win_data_t;
|
||||
|
||||
/*Application specific data for a shortcut of this application*/
|
||||
typedef struct
|
||||
{
|
||||
lv_obj_t * label;
|
||||
}my_sc_data_t;
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void my_app_run(lv_app_inst_t * app, const char * cstr);
|
||||
static void my_app_close(lv_app_inst_t * app);
|
||||
static void my_com_rec(lv_app_inst_t * app_send, lv_app_inst_t * app_rec, lv_app_com_type_t type , const void * data, uint32_t len);
|
||||
static void my_sc_open(lv_app_inst_t * app, lv_obj_t * sc);
|
||||
static void my_sc_close(lv_app_inst_t * app);
|
||||
static void my_win_open(lv_app_inst_t * app, lv_obj_t * win);
|
||||
static void my_win_close(lv_app_inst_t * app);
|
||||
|
||||
static lv_action_res_t ta_rel_action(lv_obj_t * ta, lv_dispi_t * dispi);
|
||||
static void kb_ok_action(lv_obj_t * ta);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static lv_app_dsc_t my_app_dsc =
|
||||
{
|
||||
.name = "Example",
|
||||
.mode = LV_APP_MODE_NONE,
|
||||
.app_run = my_app_run,
|
||||
.app_close = my_app_close,
|
||||
.com_rec = my_com_rec,
|
||||
.win_open = my_win_open,
|
||||
.win_close = my_win_close,
|
||||
.sc_open = my_sc_open,
|
||||
.sc_close = my_sc_close,
|
||||
.app_data_size = sizeof(my_app_data_t),
|
||||
.sc_data_size = sizeof(my_sc_data_t),
|
||||
.win_data_size = sizeof(my_win_data_t),
|
||||
};
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
const lv_app_dsc_t * lv_app_example_init(void)
|
||||
{
|
||||
return &my_app_dsc;
|
||||
}
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Run an application according to 'app_dsc'
|
||||
* @param app_dsc pointer to an application descriptor
|
||||
* @param cstr a Create STRing which can give initial parameters to the application (NULL or "" if unused)
|
||||
* @return pointer to the opened application or NULL if any error occurred
|
||||
*/
|
||||
static void my_app_run(lv_app_inst_t * app, const char * cstr)
|
||||
{
|
||||
/*Initialize the application*/
|
||||
if(cstr != NULL && cstr[0] != '\0') {
|
||||
char buf[256];
|
||||
sprintf(buf,"%s - %s", my_app_dsc.name, cstr);
|
||||
lv_app_rename(app, buf);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Close a running application.
|
||||
* Close the Window and the Shortcut too if opened.
|
||||
* Free all the allocated memory by this application.
|
||||
* @param app pointer to an application
|
||||
*/
|
||||
static void my_app_close(lv_app_inst_t * app)
|
||||
{
|
||||
/*No dynamically allocated data in 'my_app_data'*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the data have been sent to this application
|
||||
* @param app_send pointer to an application which sent the message
|
||||
* @param app_rec pointer to an application which is receiving the message
|
||||
* @param type type of data from 'lv_app_com_type_t' enum
|
||||
* @param data pointer to the sent data
|
||||
* @param len length of 'data' in bytes
|
||||
*/
|
||||
static void my_com_rec(lv_app_inst_t * app_send, lv_app_inst_t * app_rec,
|
||||
lv_app_com_type_t type , const void * data, uint32_t len)
|
||||
{
|
||||
if(type == LV_APP_COM_TYPE_STR) { /*data: string*/
|
||||
my_sc_data_t * sc_data = app_rec->sc_data;
|
||||
if (sc_data->label != NULL) {
|
||||
lv_label_set_text(sc_data->label, data);
|
||||
lv_obj_align(sc_data->label , NULL,LV_ALIGN_CENTER, 0, 0);
|
||||
}
|
||||
}
|
||||
else if(type == LV_APP_COM_TYPE_BIN) { /*data: array of 'int32_t' */
|
||||
|
||||
}
|
||||
else if(type == LV_APP_COM_TYPE_TRIG) { /*data: ignored' */
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Open a shortcut for an application
|
||||
* @param app pointer to an application
|
||||
* @param sc pointer to an object where the application
|
||||
* can create content of the shortcut
|
||||
*/
|
||||
static void my_sc_open(lv_app_inst_t * app, lv_obj_t * sc)
|
||||
{
|
||||
my_sc_data_t * sc_data = app->sc_data;
|
||||
|
||||
sc_data->label = lv_label_create(sc, NULL);
|
||||
lv_label_set_text(sc_data->label, "Empty");
|
||||
lv_obj_set_style(sc_data->label, lv_labels_get(LV_LABELS_DEF, NULL));
|
||||
lv_obj_align(sc_data->label, NULL, LV_ALIGN_CENTER, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the shortcut of an application
|
||||
* @param app pointer to an application
|
||||
*/
|
||||
static void my_sc_close(lv_app_inst_t * app)
|
||||
{
|
||||
/*No dynamically allocated data in 'my_sc_data'*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Open the application in a window
|
||||
* @param app pointer to an application
|
||||
* @param win pointer to a window object where
|
||||
* the application can create content
|
||||
*/
|
||||
static void my_win_open(lv_app_inst_t * app, lv_obj_t * win)
|
||||
{
|
||||
lv_obj_t * ta;
|
||||
ta = lv_ta_create(win, NULL);
|
||||
lv_obj_set_size_us(ta, 200, 100);
|
||||
lv_obj_set_pos_us(ta, 0, 0);
|
||||
lv_obj_set_free_p(ta, app);
|
||||
lv_page_set_rel_action(ta, ta_rel_action);
|
||||
lv_ta_set_text(ta, "Write a text to send to the other applications");
|
||||
}
|
||||
|
||||
/**
|
||||
* Close the window of an application
|
||||
* @param app pointer to an application
|
||||
*/
|
||||
static void my_win_close(lv_app_inst_t * app)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
* OTHER FUNCTIONS
|
||||
---------------------*/
|
||||
|
||||
/**
|
||||
* Called when the text area on the window is released to open the app. keyboard
|
||||
* @param ta pointer to the text area on the window
|
||||
* @param dispi pointer to the caller display input
|
||||
* @return LV_ACTION_RES_OK because the text area is not deleted
|
||||
*/
|
||||
static lv_action_res_t ta_rel_action(lv_obj_t * ta, lv_dispi_t * dispi)
|
||||
{
|
||||
lv_app_kb_open(ta, LV_APP_KB_MODE_TXT | LV_APP_KB_MODE_CLR, NULL, kb_ok_action);
|
||||
return LV_ACTION_RES_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the "Ok" button is pressed on the app. keyboard
|
||||
* @param ta pointer to the text area assigned to the app. kexboard
|
||||
*/
|
||||
static void kb_ok_action(lv_obj_t * ta)
|
||||
{
|
||||
lv_app_inst_t * app = lv_obj_get_free_p(ta);
|
||||
const char * txt = lv_ta_get_txt(ta);
|
||||
lv_app_com_send(app, LV_APP_COM_TYPE_STR, txt, strlen(txt) + 1);
|
||||
}
|
||||
|
||||
#endif /*LV_APP_ENABLE != 0 && USE_LV_APP_EXAMPLE != 0*/
|
38
lv_appx/lv_app_example.h
Normal file
38
lv_appx/lv_app_example.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file lv_app_example.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_APP_EXAMPLE_H
|
||||
#define LV_APP_EXAMPLE_H
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lvgl/lv_app/lv_app.h"
|
||||
|
||||
#if LV_APP_ENABLE != 0 && USE_LV_APP_EXAMPLE != 0
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
typedef struct
|
||||
{
|
||||
|
||||
}lv_app_example_conf_t;
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif /*LV_APP_ENABLE != 0 && USE_LV_APP_EXAMPLE != 0*/
|
||||
|
||||
#endif /* LV_APP_EXAMPLE */
|
@ -65,10 +65,15 @@
|
||||
/*==================
|
||||
* LV OBJ X USAGE
|
||||
* ================*/
|
||||
|
||||
#define USE_LV_RECT 1
|
||||
|
||||
#define USE_LV_LABEL 1
|
||||
#if USE_LV_LABEL != 0
|
||||
#define LV_LABEL_SCROLL_SPEED (25 * LV_DOWNSCALE) /*Hor, or ver. scroll speed (px/sec) in 'LV_LABEL_LONG_SCROLL' mode*/
|
||||
#define LV_LABEL_SCROLL_SPEED_VER (10 * LV_DOWNSCALE) /*Ver. scroll speed if hor. scroll is applied too*/
|
||||
#define LV_LABEL_SCROLL_PLAYBACK_PAUSE 500 /*Wait before the scroll turns back in ms*/
|
||||
#define LV_LABEL_SCROLL_REPEAT_PAUSE 500 /*Wait before the scroll begins again in ms*/
|
||||
#endif
|
||||
|
||||
#define USE_LV_BTN 1
|
||||
|
||||
@ -77,29 +82,48 @@
|
||||
#define USE_LV_IMG 1
|
||||
#if USE_LV_IMG != 0
|
||||
#define LV_IMG_COLOR_TRANSP COLOR_LIME
|
||||
#define LV_IMG_DEF_WALLPAPER img_bubbles_vflip
|
||||
#endif /*USE_LV_IMG*/
|
||||
|
||||
#define USE_LV_PAGE 1
|
||||
#if USE_LV_PAGE != 0
|
||||
#define LV_PAGE_ANIM_FOCUS_TIME 300 /*List focus animation time [ms] (0: turn off the animation)*/
|
||||
#endif
|
||||
|
||||
#define USE_LV_LIST 1
|
||||
#define USE_LV_LED 1
|
||||
|
||||
#define USE_LV_CB 1
|
||||
#define USE_LV_PB 1
|
||||
|
||||
#define USE_LV_PB 1
|
||||
#define USE_LV_CB 1
|
||||
|
||||
#define USE_LV_CHARTBG 1
|
||||
#define USE_LV_LIST 1
|
||||
|
||||
#define USE_LV_CHART 1
|
||||
#define USE_LV_BTNM 1
|
||||
|
||||
#define USE_LV_LED 1
|
||||
#define USE_LV_WIN 1
|
||||
|
||||
#define USE_LV_BTNM 1
|
||||
#define USE_LV_TA 1
|
||||
|
||||
#define USE_LV_TA 1
|
||||
#define USE_LV_MBOX 1
|
||||
|
||||
/*==================
|
||||
* LV APP SETTINGS
|
||||
* LV APP SETTINGS
|
||||
* =================*/
|
||||
#define LV_APP_SC_WIDTH (LV_HOR_RES / 4)
|
||||
#define LV_APP_SC_HEIGHT (LV_VER_RES / 3)
|
||||
|
||||
#define LV_APP_USE_INTERNAL_ICONS 1
|
||||
|
||||
#define LV_APP_ANIM_WIN_OPEN 300 /*Animation time in milliseconds (0: turn off animation)*/
|
||||
#define LV_APP_ANIM_WIN_OPEN_COMPLEX 1 /*1: Make more complex animation on window open*/
|
||||
#define LV_APP_ANIM_WIN_MINIM 300 /*Animation time in milliseconds (0: turn off animation)*/
|
||||
#define LV_APP_ANIM_WIN_CLOSE 300 /*Animation time in milliseconds (0: turn off animation)*/
|
||||
|
||||
/* If the internal icons are not used
|
||||
* set others */
|
||||
#if LV_APP_USE_INTERNAL_ICONS == 0
|
||||
|
||||
#endif
|
||||
|
||||
/*==================
|
||||
* LV APP X USAGE
|
||||
|
@ -53,13 +53,13 @@ static void (*map_fp)(const area_t * cords_p, const area_t * mask_p, const color
|
||||
|
||||
static lv_rects_t lv_img_no_pic_rects = {
|
||||
.objs.color = COLOR_BLACK, .gcolor = COLOR_BLACK,
|
||||
.bcolor = COLOR_RED, .bwidth = 2 * LV_STYLE_MULT, .bopa = 100,
|
||||
.bcolor = COLOR_RED, .bwidth = 2 * LV_DOWNSCALE, .bopa = 100,
|
||||
.round = 0, .empty = 0
|
||||
};
|
||||
|
||||
static lv_labels_t lv_img_no_pic_labels = {
|
||||
.font = LV_FONT_DEFAULT, .objs.color = COLOR_WHITE,
|
||||
.letter_space = 1 * LV_STYLE_MULT, .line_space = 1 * LV_STYLE_MULT,
|
||||
.letter_space = 1 * LV_DOWNSCALE, .line_space = 1 * LV_DOWNSCALE,
|
||||
.mid = 1,
|
||||
};
|
||||
|
||||
|
@ -23,10 +23,6 @@
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_put_vpx(point_t * point_p, const area_t * mask_p,
|
||||
color_t color, opa_t opa);
|
||||
|
||||
static bool lv_vletter_get_px(const font_t * font_p, uint8_t letter, cord_t x, cord_t y);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
@ -113,27 +109,63 @@ void lv_vletter(const point_t * pos_p, const area_t * mask_p,
|
||||
color_t color, opa_t opa)
|
||||
{
|
||||
if(font_p == NULL) return;
|
||||
|
||||
uint8_t w = font_get_width(font_p, letter);
|
||||
uint8_t h = font_get_height(font_p);
|
||||
|
||||
uint8_t letter_w = font_get_width(font_p, letter);
|
||||
uint8_t letter_h = font_get_height(font_p);
|
||||
|
||||
const uint8_t * map_p = font_get_bitmap(font_p, letter);
|
||||
|
||||
if(map_p == NULL) return;
|
||||
|
||||
/*If the letter is completely out of mask don't draw it */
|
||||
if(pos_p->x + w < mask_p->x1 || pos_p->x > mask_p->x2 ||
|
||||
pos_p->y + h < mask_p->y1 || pos_p->y > mask_p->y2) return;
|
||||
if(pos_p->x + letter_w < mask_p->x1 || pos_p->x > mask_p->x2 ||
|
||||
pos_p->y + letter_h < mask_p->y1 || pos_p->y > mask_p->y2) return;
|
||||
|
||||
lv_vdb_t * vdb_p = lv_vdb_get();
|
||||
cord_t vdb_width = area_get_width(&vdb_p->vdb_area);
|
||||
color_t * vdb_buf_tmp = vdb_p->buf;
|
||||
cord_t col, row;
|
||||
point_t act_point;
|
||||
uint8_t col_bit;
|
||||
uint8_t col_byte_cnt;
|
||||
|
||||
for(row = 0; row < h; row ++) {
|
||||
for(col = 0; col < w; col ++) {
|
||||
act_point.x = pos_p->x + col;
|
||||
act_point.y = pos_p->y + row;
|
||||
cord_t col_start = pos_p->x >= mask_p->x1 ? 0 : mask_p->x1 - pos_p->x;
|
||||
cord_t col_end = pos_p->x + letter_w <= mask_p->x2 ? letter_w : mask_p->x2 - pos_p->x + 1;
|
||||
cord_t row_start = pos_p->y >= mask_p->y1 ? 0 : mask_p->y1 - pos_p->y;
|
||||
cord_t row_end = pos_p->y + letter_h <= mask_p->y2 ? letter_h : mask_p->y2 - pos_p->y + 1;
|
||||
|
||||
if(lv_vletter_get_px(font_p, letter, col, row)) {
|
||||
lv_put_vpx(&act_point, mask_p, color, opa);
|
||||
/*Set a pointer on VDB to the first pixel of the letter*/
|
||||
vdb_buf_tmp += ((pos_p->y - vdb_p->vdb_area.y1) * vdb_width)
|
||||
+ pos_p->x - vdb_p->vdb_area.x1;
|
||||
|
||||
/*If the letter is partially out of mask the move there on VDB*/
|
||||
vdb_buf_tmp += (row_start * vdb_width) + col_start;
|
||||
|
||||
/*Move on the map too*/
|
||||
map_p += (row_start * font_p->width_byte) + (col_start>>3);
|
||||
|
||||
for(row = row_start; row < row_end; row ++) {
|
||||
col_byte_cnt = 0;
|
||||
col_bit = 7 - ((col_start / 2) % 8);
|
||||
for(col = col_start; col < col_end; col ++) {
|
||||
|
||||
if((*map_p & (1 << col_bit)) != 0) {
|
||||
if(opa == OPA_COVER) *vdb_buf_tmp = color;
|
||||
else *vdb_buf_tmp = color_mix(color, *vdb_buf_tmp, opa);
|
||||
}
|
||||
vdb_buf_tmp++;
|
||||
|
||||
/*Use a col. more times depending on LV_UPSCALE_FONT*/
|
||||
if(col_bit != 0) col_bit --;
|
||||
else {
|
||||
col_bit = 7;
|
||||
col_byte_cnt ++;
|
||||
map_p ++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
map_p += font_p->width_byte - col_byte_cnt;
|
||||
vdb_buf_tmp += vdb_width - (col_end - col_start); /*Next row in VDB*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -312,85 +344,6 @@ void lv_vmap(const area_t * cords_p, const area_t * mask_p,
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/**
|
||||
* Put a pixel into the Virtual Dispaly Buffer
|
||||
* @param x x coordinate of the pixel
|
||||
* @param y y coordinate of the pixel
|
||||
* @param mask_p the pixel will be drawn on this area
|
||||
* @param color color of the pixel
|
||||
* @param opa opacity of the pixel
|
||||
*/
|
||||
static void lv_put_vpx(point_t * point_p, const area_t * mask_p,
|
||||
color_t color, opa_t opa)
|
||||
{
|
||||
if(opa == OPA_TRANSP) return;
|
||||
|
||||
bool point_ok;
|
||||
lv_vdb_t * vdb_p = lv_vdb_get();
|
||||
|
||||
/*The point is on vdb?*/
|
||||
point_ok = area_is_point_on(mask_p, point_p);
|
||||
|
||||
/*If there are common part of the three area then draw to the vdb*/
|
||||
if(point_ok == false) return;
|
||||
point_t vdb_rel_point; /*Stores relative coordinates on vdb*/
|
||||
vdb_rel_point.x = point_p->x - vdb_p->vdb_area.x1;
|
||||
vdb_rel_point.y = point_p->y - vdb_p->vdb_area.y1;
|
||||
|
||||
color_t * vdb_buf_tmp = vdb_p->buf;
|
||||
uint32_t vdb_width = vdb_p->vdb_area.x2 - vdb_p->vdb_area.x1 + 1;
|
||||
|
||||
/*Move the vdb_tmp to the point*/
|
||||
vdb_buf_tmp += vdb_width * vdb_rel_point.y + vdb_rel_point.x;
|
||||
|
||||
if(opa == OPA_COVER) *vdb_buf_tmp = color;
|
||||
else *vdb_buf_tmp = color_mix(color, *vdb_buf_tmp, opa);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a pixel from a letter
|
||||
* @param font_p pointer to a font
|
||||
* @param letter a letter
|
||||
* @param x x coordinate of the pixel to get
|
||||
* @param y y coordinate of the pixel to get
|
||||
* @return true: pixel is set, false: pixel is clear
|
||||
*/
|
||||
static bool lv_vletter_get_px(const font_t * font_p, uint8_t letter, cord_t x, cord_t y)
|
||||
{
|
||||
uint8_t w = font_get_width(font_p, letter);
|
||||
uint8_t h = font_get_height(font_p);
|
||||
const uint8_t * map_p = font_get_bitmap(font_p, letter);
|
||||
|
||||
if(map_p == NULL) return NULL;
|
||||
|
||||
if(x < 0) x = 0;
|
||||
if(y < 0) x = 0;
|
||||
if(x >= w) x = w - 1;
|
||||
if(y >= h) y = h - 1;
|
||||
|
||||
#if LV_UPSCALE_FONT != 0
|
||||
#if LV_DOWNSCALE == 1
|
||||
/*Do nothing*/
|
||||
#elif LV_DOWNSCALE == 2
|
||||
x = x >> 1;
|
||||
y = y >> 1;
|
||||
#elif LV_DOWNSCALE == 4
|
||||
x = x >> 2;
|
||||
y = y >> 2;
|
||||
#else
|
||||
#error "LV: not supported LV_DOWNSCALE value"
|
||||
#endif
|
||||
#endif /*LV_UPSCALE_FONT == 0*/
|
||||
|
||||
map_p += (uint32_t)y * font_p->width_byte; /*Go to the corresponding row of the map*/
|
||||
map_p += (x >> 3); /*Go to he corresponding col of the map*/
|
||||
|
||||
/*Get the corresponding col within a byte*/
|
||||
uint8_t map_byte = *map_p;
|
||||
uint8_t col_sub = 7 - (x % 8);
|
||||
if((map_byte & (1 << col_sub)) == 0) return false;
|
||||
else return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -29,13 +29,14 @@
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void anim_task (void);
|
||||
static void anim_ready_handler(anim_t * a);
|
||||
static bool anim_ready_handler(anim_t * a);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static ll_dsc_t anim_ll;
|
||||
static uint32_t last_task_run;
|
||||
static bool anim_del_global_flag = false;
|
||||
|
||||
static anim_path_t anim_path_lin[] =
|
||||
{64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
@ -47,7 +48,7 @@ static anim_path_t anim_path_step[] =
|
||||
{64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
|
||||
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
|
||||
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
|
||||
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192,};
|
||||
64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192,};
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
@ -106,6 +107,7 @@ bool anim_del(void * var, anim_fp_t fp)
|
||||
ll_rem(&anim_ll, a);
|
||||
dm_free(a);
|
||||
del = true;
|
||||
anim_del_global_flag = true;
|
||||
}
|
||||
|
||||
a = a_next;
|
||||
@ -177,10 +179,10 @@ static void anim_task (void)
|
||||
|
||||
/* Get the index of the path array based on the elapsed time*/
|
||||
uint8_t path_i;
|
||||
if(a->time != 0) {
|
||||
path_i = a->act_time * (ANIM_PATH_LENGTH - 1) / a->time;
|
||||
if(a->time == a->act_time) {
|
||||
path_i = ANIM_PATH_LENGTH - 1; /*Use the last value id the time fully elapsed*/
|
||||
} else {
|
||||
path_i = ANIM_PATH_LENGTH - 1;
|
||||
path_i = a->act_time * (ANIM_PATH_LENGTH - 1) / a->time;
|
||||
}
|
||||
/* Get the new value which will be proportional to the current element of 'path_p'
|
||||
* and the 'start' and 'end' values*/
|
||||
@ -193,7 +195,11 @@ static void anim_task (void)
|
||||
|
||||
/*If the time is elapsed the animation is ready*/
|
||||
if(a->act_time >= a->time) {
|
||||
anim_ready_handler(a);
|
||||
bool invalid;
|
||||
invalid = anim_ready_handler(a);
|
||||
if(invalid != false) {
|
||||
a_next = ll_get_head(&anim_ll); /*a_next might be invalid if animation delete occurred*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -207,9 +213,12 @@ static void anim_task (void)
|
||||
* Called when an animation is ready to do the necessary thinks
|
||||
* e.g. repeat, play back, delete etc.
|
||||
* @param a pointer to an animation descriptor
|
||||
* @return true: animation delete occurred
|
||||
* */
|
||||
static void anim_ready_handler(anim_t * a)
|
||||
static bool anim_ready_handler(anim_t * a)
|
||||
{
|
||||
bool invalid = false;
|
||||
|
||||
/*Delete the animation if
|
||||
* - no repeat and no play back (simple one shot animation)
|
||||
* - no repeat, play back is enabled and play back is ready */
|
||||
@ -221,7 +230,11 @@ static void anim_ready_handler(anim_t * a)
|
||||
dm_free(a);
|
||||
|
||||
/*Call the callback function at the end*/
|
||||
/* Check if an animation is deleted in the cb function
|
||||
* if yes then the caller function has to know this*/
|
||||
anim_del_global_flag = false;
|
||||
if(cb != NULL) cb(p);
|
||||
invalid = anim_del_global_flag;
|
||||
}
|
||||
/*If the animation is not deleted then restart it*/
|
||||
else {
|
||||
@ -240,4 +253,6 @@ static void anim_ready_handler(anim_t * a)
|
||||
a->end = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
return invalid;
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _2D_H
|
||||
#define _2D_H
|
||||
#ifndef AREA_H
|
||||
#define AREA_H
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
|
@ -8,6 +8,8 @@
|
||||
*********************/
|
||||
#include <stddef.h>
|
||||
#include "font.h"
|
||||
#include "fonts/dejavu_8.h"
|
||||
#include "fonts/dejavu_10.h"
|
||||
#include "fonts/dejavu_14.h"
|
||||
#include "fonts/dejavu_20.h"
|
||||
#include "fonts/dejavu_30.h"
|
||||
@ -54,6 +56,16 @@ const font_t * font_get(font_types_t font_id)
|
||||
|
||||
switch(font_id)
|
||||
{
|
||||
#if USE_FONT_DEJAVU_8 != 0
|
||||
case FONT_DEJAVU_8:
|
||||
font_p = dejavu_8_get_dsc();
|
||||
break;
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_10 != 0
|
||||
case FONT_DEJAVU_10:
|
||||
font_p = dejavu_10_get_dsc();
|
||||
break;
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_14 != 0
|
||||
case FONT_DEJAVU_14:
|
||||
font_p = dejavu_14_get_dsc();
|
||||
|
@ -22,22 +22,28 @@
|
||||
|
||||
typedef enum
|
||||
{
|
||||
#if USE_FONT_DEJAVU_14
|
||||
#if USE_FONT_DEJAVU_8 != 0
|
||||
FONT_DEJAVU_8,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_10 != 0
|
||||
FONT_DEJAVU_10,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_14 != 0
|
||||
FONT_DEJAVU_14,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_20
|
||||
#if USE_FONT_DEJAVU_20 != 0
|
||||
FONT_DEJAVU_20,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_30
|
||||
#if USE_FONT_DEJAVU_30 != 0
|
||||
FONT_DEJAVU_30,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_40
|
||||
#if USE_FONT_DEJAVU_40 != 0
|
||||
FONT_DEJAVU_40,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_60
|
||||
#if USE_FONT_DEJAVU_60 != 0
|
||||
FONT_DEJAVU_60,
|
||||
#endif
|
||||
#if USE_FONT_DEJAVU_80
|
||||
#if USE_FONT_DEJAVU_80 != 0
|
||||
FONT_DEJAVU_80,
|
||||
#endif
|
||||
FONT_TYPE_NUM,
|
||||
@ -82,11 +88,7 @@ static inline const uint8_t * font_get_bitmap(const font_t * font_p, uint8_t let
|
||||
*/
|
||||
static inline uint8_t font_get_height(const font_t * font_p)
|
||||
{
|
||||
#if LV_DOWNSCALE > 1 && LV_UPSCALE_FONT != 0
|
||||
return font_p->height_row * LV_DOWNSCALE;
|
||||
#else
|
||||
return font_p->height_row;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,11 +108,7 @@ static inline uint8_t font_get_width(const font_t * font_p, uint8_t letter)
|
||||
font_p->width_bit_a[letter];
|
||||
}
|
||||
|
||||
#if LV_DOWNSCALE > 1 && LV_UPSCALE_FONT != 0
|
||||
return w * LV_DOWNSCALE;
|
||||
#else
|
||||
return w;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
2780
lv_misc/fonts/dejavu_10.c
Normal file
2780
lv_misc/fonts/dejavu_10.c
Normal file
File diff suppressed because it is too large
Load Diff
18
lv_misc/fonts/dejavu_10.h
Normal file
18
lv_misc/fonts/dejavu_10.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef DEJAVU_10_H
|
||||
#define DEJAVU_10_H
|
||||
|
||||
/*Use ISO8859-1 encoding in the IDE*/
|
||||
|
||||
#include "lv_conf.h"
|
||||
#if USE_FONT_DEJAVU_10 != 0
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include "../font.h"
|
||||
|
||||
|
||||
const font_t * dejavu_10_get_dsc(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -1138,8 +1138,8 @@ static const uint8_t dejavu_20_bitmaps[8960] =
|
||||
0xc0, 0x00, // OO-------.......
|
||||
0xc0, 0x00, // OO-------.......
|
||||
0x60, 0x00, // -OO------.......
|
||||
0x3b, 0x00, // --OOOO---.......
|
||||
0x0f, 0x00, // ----OOOO-.......
|
||||
0x3c, 0x00, // --OOOO---.......
|
||||
0x0e, 0x00, // ----OOO--.......
|
||||
0x03, 0x00, // ------OO-.......
|
||||
0x01, 0x00, // -------O-.......
|
||||
0x01, 0x00, // -------O-.......
|
||||
@ -1914,7 +1914,7 @@ static const uint8_t dejavu_20_bitmaps[8960] =
|
||||
0x14, 0x00, // ---O-O---.......
|
||||
0x1c, 0x00, // ---OOO---.......
|
||||
0x1c, 0x00, // ---OOO---.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x08, 0x00, // ----O----.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x00, 0x00, // ---------.......
|
||||
@ -1936,7 +1936,7 @@ static const uint8_t dejavu_20_bitmaps[8960] =
|
||||
0x39, 0xc0, // --OOO--OOO--....
|
||||
0x31, 0xc0, // --OO---OOO--....
|
||||
0x31, 0x80, // --OO---OO---....
|
||||
0x00, 0x00, // ------------....
|
||||
0x11, 0x00, // ---O---O----....
|
||||
0x00, 0x00, // ------------....
|
||||
0x00, 0x00, // ------------....
|
||||
0x00, 0x00, // ------------....
|
||||
@ -1958,7 +1958,7 @@ static const uint8_t dejavu_20_bitmaps[8960] =
|
||||
0x36, 0x00, // --OO-OO--.......
|
||||
0x22, 0x00, // --O---O--.......
|
||||
0x63, 0x00, // -OO---OO-.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x80, 0x10, // O-------O.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x00, 0x00, // ---------.......
|
||||
0x00, 0x00, // ---------.......
|
||||
@ -2000,13 +2000,13 @@ static const uint8_t dejavu_20_bitmaps[8960] =
|
||||
0x18, 0x00, // ---OO---........
|
||||
0x30, 0x00, // --OO----........
|
||||
0x60, 0x00, // -OO-----........
|
||||
0x40, 0x00, // -O------........
|
||||
0xc0, 0x00, // OO------........
|
||||
0x80, 0x00, // O-------........
|
||||
0xfe, 0x00, // OOOOOOO-........
|
||||
0x00, 0x00, // --------........
|
||||
0x00, 0x00, // --------........
|
||||
0x00, 0x00, // --------........
|
||||
0x00, 0x00, // --------........
|
||||
0x00, 0x00, // --------........
|
||||
|
||||
// ASCII: 123, char width: 9
|
||||
0x00, 0x00, // ---------.......
|
||||
|
2332
lv_misc/fonts/dejavu_8.c
Normal file
2332
lv_misc/fonts/dejavu_8.c
Normal file
File diff suppressed because it is too large
Load Diff
18
lv_misc/fonts/dejavu_8.h
Normal file
18
lv_misc/fonts/dejavu_8.h
Normal file
@ -0,0 +1,18 @@
|
||||
#ifndef DEJAVU_8_H
|
||||
#define DEJAVU_8_H
|
||||
|
||||
/*Use ISO8859-1 encoding in the IDE*/
|
||||
|
||||
#include "lv_conf.h"
|
||||
#if USE_FONT_DEJAVU_8 != 0
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include "../font.h"
|
||||
|
||||
|
||||
const font_t * dejavu_8_get_dsc(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -7,6 +7,7 @@
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "text.h"
|
||||
#include "misc/math/math_base.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
@ -34,6 +35,41 @@ static bool txt_is_break_char(char letter);
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
void txt_get_size(point_t * size_res, const char * text, const font_t * font,
|
||||
uint16_t letter_space, uint16_t line_space, cord_t max_width)
|
||||
{
|
||||
uint32_t line_start = 0;
|
||||
uint32_t new_line_start = 0;
|
||||
cord_t act_line_length;
|
||||
uint8_t letter_height = font_get_height(font);
|
||||
size_res->x = 0;
|
||||
size_res->y = 0;
|
||||
|
||||
/*Calc. the height and longest line*/
|
||||
while (text[line_start] != '\0')
|
||||
{
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, letter_space, max_width);
|
||||
size_res->y += letter_height;
|
||||
size_res->y += line_space;
|
||||
|
||||
/*Calculate the the longest line*/
|
||||
act_line_length = txt_get_width(&text[line_start], new_line_start - line_start,
|
||||
font, letter_space);
|
||||
|
||||
size_res->x = max(act_line_length, size_res->x);
|
||||
line_start = new_line_start;
|
||||
}
|
||||
|
||||
if(line_start != 0 && (text[line_start - 1] == '\n' || text[line_start - 1] == '\r')) {
|
||||
size_res->y += letter_height + line_space;
|
||||
}
|
||||
|
||||
/*Correction with the last line space or set the height manually if the text is empty*/
|
||||
if(size_res->y == 0) size_res->y = letter_height;
|
||||
else size_res->y -= line_space;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the next line of text. Check line length and break chars too.
|
||||
* @param txt a '\0' terminated string
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include <lvgl/lv_misc/area.h>
|
||||
#include <stdbool.h>
|
||||
#include "font.h"
|
||||
#include "area.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
@ -25,6 +26,8 @@
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void txt_get_size(point_t * size_res, const char * text, const font_t * font,
|
||||
uint16_t letter_space, uint16_t line_space, cord_t max_width);
|
||||
uint16_t txt_get_next_line(const char * txt, const font_t * font_p, uint16_t letter_space, cord_t max_l);
|
||||
cord_t txt_get_width(const char * txt, uint16_t char_num, const font_t * font_p, uint16_t letter_space);
|
||||
|
||||
|
@ -159,6 +159,7 @@ static void dispi_proc_point(lv_dispi_t * dispi_p, cord_t x, cord_t y)
|
||||
dispi_p->drag_in_prog = 0;
|
||||
dispi_p->long_press_sent = 0;
|
||||
dispi_p->press_time_stamp = 0;
|
||||
dispi_p->lpr_rep_time_stamp = 0;
|
||||
dispi_p->vect_sum.x = 0;
|
||||
dispi_p->vect_sum.y = 0;
|
||||
}
|
||||
@ -245,7 +246,7 @@ static void dispi_proc_press(lv_dispi_t * dispi_p)
|
||||
}
|
||||
}
|
||||
|
||||
/*The reset can be set in the signal function.
|
||||
/* The reset can be set in the signal function.
|
||||
* In case of reset query ignore the remaining parts.*/
|
||||
if(lv_dispi_reset_qry == false) {
|
||||
dispi_p->act_obj = pr_obj; /*Save the pressed object*/
|
||||
@ -257,6 +258,8 @@ static void dispi_proc_press(lv_dispi_t * dispi_p)
|
||||
|
||||
/*If there is active object and it can be dragged run the drag*/
|
||||
if(dispi_p->act_obj != NULL) {
|
||||
dispi_p->act_obj->signal_f(dispi_p->act_obj, LV_SIGNAL_PRESSING, dispi_p);
|
||||
|
||||
dispi_drag(dispi_p);
|
||||
|
||||
/*If there is no drag then check for long press time*/
|
||||
@ -266,9 +269,21 @@ static void dispi_proc_press(lv_dispi_t * dispi_p)
|
||||
pr_obj->signal_f(pr_obj, LV_SIGNAL_LONG_PRESS, dispi_p);
|
||||
|
||||
/*Mark the signal sending to do not send it again*/
|
||||
dispi_p->long_press_sent = 1;
|
||||
dispi_p->long_press_sent = 1;
|
||||
|
||||
/*Save the long press time stamp for the long press repeat handler*/
|
||||
dispi_p->lpr_rep_time_stamp = systick_get();
|
||||
}
|
||||
}
|
||||
/*Send long press repeated signal*/
|
||||
if(dispi_p->drag_in_prog == 0 && dispi_p->long_press_sent == 1) {
|
||||
/*Send a signal about the long press repeate if enough time elapsed*/
|
||||
if(systick_elaps(dispi_p->lpr_rep_time_stamp) > LV_DISPI_LONG_PRESS_REP_TIME) {
|
||||
pr_obj->signal_f(pr_obj, LV_SIGNAL_LONG_PRESS_REP, dispi_p);
|
||||
dispi_p->lpr_rep_time_stamp = systick_get();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -286,6 +301,7 @@ static void disi_proc_release(lv_dispi_t * dispi_p)
|
||||
|
||||
dispi_p->act_obj = NULL;
|
||||
dispi_p->press_time_stamp = 0;
|
||||
dispi_p->lpr_rep_time_stamp = 0;
|
||||
}
|
||||
|
||||
/*The reset can be set in the signal function.
|
||||
@ -342,12 +358,15 @@ static lv_obj_t * dispi_search_obj(const lv_dispi_t * dispi_p, lv_obj_t * obj)
|
||||
*/
|
||||
static void dispi_drag(lv_dispi_t * dispi_p)
|
||||
{
|
||||
lv_obj_t * par = lv_obj_get_parent(dispi_p->act_obj);
|
||||
lv_obj_t * drag_obj = dispi_p->act_obj;
|
||||
|
||||
if(lv_obj_get_drag_parent(dispi_p->act_obj) != false) {
|
||||
drag_obj = par;
|
||||
}
|
||||
/*If drag parent is active check recursively the drag_parent attribute*/
|
||||
while(lv_obj_get_drag_parent(drag_obj) != false &&
|
||||
drag_obj != NULL) {
|
||||
drag_obj = lv_obj_get_parent(drag_obj);
|
||||
}
|
||||
|
||||
if(drag_obj == NULL) return;
|
||||
|
||||
if(lv_obj_get_drag(drag_obj) == false) return;
|
||||
|
||||
@ -388,12 +407,16 @@ static void dispi_drag_throw(lv_dispi_t * dispi_p)
|
||||
if(dispi_p->drag_in_prog == 0) return;
|
||||
|
||||
/*Set new position if the vector is not zero*/
|
||||
lv_obj_t * par = lv_obj_get_parent(dispi_p->last_obj);
|
||||
lv_obj_t * drag_obj = dispi_p->last_obj;
|
||||
|
||||
if(lv_obj_get_drag_parent(dispi_p->last_obj) != false) {
|
||||
drag_obj = par;
|
||||
}
|
||||
/*If drag parent is active check recursively the drag_parent attribute*/
|
||||
|
||||
while(lv_obj_get_drag_parent(drag_obj) != false &&
|
||||
drag_obj != NULL) {
|
||||
drag_obj = lv_obj_get_parent(drag_obj);
|
||||
}
|
||||
|
||||
if(drag_obj == NULL) return;
|
||||
|
||||
/*Return if the drag throw is not enabled*/
|
||||
if(lv_obj_get_drag_throw(drag_obj) == false ){
|
||||
|
@ -28,12 +28,22 @@ typedef struct
|
||||
lv_obj_t * act_obj;
|
||||
lv_obj_t * last_obj;
|
||||
uint32_t press_time_stamp;
|
||||
uint32_t lpr_rep_time_stamp;
|
||||
|
||||
/*Flags*/
|
||||
uint8_t drag_in_prog :1;
|
||||
uint8_t long_press_sent :1;
|
||||
}lv_dispi_t;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
LV_ACTION_RES_INV = 0,
|
||||
LV_ACTION_RES_OK,
|
||||
}lv_action_res_t;
|
||||
|
||||
typedef lv_action_res_t ( * lv_action_t) (struct __LV_OBJ_T * obj, lv_dispi_t * dispi);
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
@ -47,4 +57,4 @@ void lv_dispi_get_vect(lv_dispi_t * dispi_p, point_t * point_p);
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
133
lv_obj/lv_obj.c
133
lv_obj/lv_obj.c
@ -6,13 +6,21 @@
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_obj.h"
|
||||
#include "../lv_draw/lv_draw_rbasic.h"
|
||||
#include "../lv_draw/lv_draw_vbasic.h"
|
||||
#include "../lv_misc/anim.h"
|
||||
#include "lv_dispi.h"
|
||||
#include "lv_refr.h"
|
||||
#include "misc/math/math_base.h"
|
||||
|
||||
#include <lv_conf.h>
|
||||
#include <lvgl/lv_draw/lv_draw_rbasic.h>
|
||||
#include <lvgl/lv_draw/lv_draw_vbasic.h>
|
||||
#include <lvgl/lv_misc/anim.h>
|
||||
#include <lvgl/lv_obj/lv_dispi.h>
|
||||
#include <lvgl/lv_obj/lv_obj.h>
|
||||
#include <lvgl/lv_obj/lv_refr.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef LV_IMG_DEF_WALLPAPER
|
||||
#include "../lv_objx/lv_img.h"
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
@ -27,18 +35,23 @@
|
||||
**********************/
|
||||
static void lv_obj_pos_child_refr(lv_obj_t * obj, cord_t x_diff, cord_t y_diff);
|
||||
static void lv_style_refr_core(void * style_p, lv_obj_t * obj);
|
||||
static void lv_obj_del_child(lv_obj_t * obj);
|
||||
static bool lv_obj_design(lv_obj_t * obj, const area_t * mask_p, lv_design_mode_t mode);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
lv_obj_t * def_scr = NULL;
|
||||
lv_obj_t * act_scr = NULL;
|
||||
ll_dsc_t scr_ll;
|
||||
static lv_obj_t * def_scr = NULL;
|
||||
static lv_obj_t * act_scr = NULL;
|
||||
static ll_dsc_t scr_ll;
|
||||
|
||||
lv_objs_t lv_objs_def = {.color = COLOR_MAKE(0xa0, 0xc0, 0xe0), .transp = 0};
|
||||
lv_objs_t lv_objs_scr = {.color = LV_OBJ_DEF_SCR_COLOR, .transp = 0};
|
||||
lv_objs_t lv_objs_transp = {.transp = 1};
|
||||
static lv_objs_t lv_objs_def = {.color = COLOR_MAKE(0xa0, 0xc0, 0xe0), .transp = 0};
|
||||
static lv_objs_t lv_objs_scr = {.color = LV_OBJ_DEF_SCR_COLOR, .transp = 0};
|
||||
static lv_objs_t lv_objs_transp = {.transp = 1};
|
||||
|
||||
#ifdef LV_IMG_DEF_WALLPAPER
|
||||
LV_IMG_DECLARE(LV_IMG_DEF_WALLPAPER);
|
||||
#endif
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
@ -66,7 +79,14 @@ void lv_init(void)
|
||||
|
||||
/*Create the default screen*/
|
||||
ll_init(&scr_ll, sizeof(lv_obj_t));
|
||||
#ifdef LV_IMG_DEF_WALLPAPER
|
||||
lv_img_create_file("def_wp", LV_IMG_DEF_WALLPAPER);
|
||||
def_scr = lv_img_create(NULL, NULL);
|
||||
lv_img_set_auto_size(def_scr, false);
|
||||
lv_img_set_file(def_scr, "U:/def_wp");
|
||||
#else
|
||||
def_scr = lv_obj_create(NULL, NULL);
|
||||
#endif
|
||||
act_scr = def_scr;
|
||||
|
||||
/*Refresh the screen*/
|
||||
@ -76,6 +96,12 @@ void lv_init(void)
|
||||
/*Init the display input handling*/
|
||||
lv_dispi_init();
|
||||
#endif
|
||||
|
||||
/*Initialize the application level*/
|
||||
#if LV_APP_ENABLE != 0
|
||||
lv_app_init();
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -87,7 +113,7 @@ void lv_obj_inv(lv_obj_t * obj)
|
||||
/*Invalidate the object only if it belongs to the 'act_scr'*/
|
||||
lv_obj_t * act_scr_p = lv_scr_act();
|
||||
if(lv_obj_get_scr(obj) == act_scr_p) {
|
||||
/*Truncate the recursively on the parents*/
|
||||
/*Truncate recursively to the parents*/
|
||||
area_t area_trunc;
|
||||
lv_obj_t * par = lv_obj_get_parent(obj);
|
||||
bool union_ok = true;
|
||||
@ -271,7 +297,7 @@ void lv_obj_del(lv_obj_t * obj)
|
||||
i_next = ll_get_next(&(obj->child_ll), i);
|
||||
|
||||
/*Call the recursive del to the child too*/
|
||||
lv_obj_del(i);
|
||||
lv_obj_del_child(i);
|
||||
|
||||
/*Set i to the next node*/
|
||||
i = i_next;
|
||||
@ -779,9 +805,11 @@ void lv_obj_set_ext_size(lv_obj_t * obj, cord_t ext_size)
|
||||
*/
|
||||
void lv_obj_set_style(lv_obj_t * obj, void * style)
|
||||
{
|
||||
lv_obj_inv(obj);
|
||||
|
||||
if(obj->style_iso != 0) {
|
||||
dm_free(obj->style_p);
|
||||
obj->style_iso = 0;
|
||||
}
|
||||
obj->style_p = style;
|
||||
|
||||
@ -837,7 +865,7 @@ void lv_obj_set_opar(lv_obj_t * obj, uint8_t opa)
|
||||
lv_obj_set_opar(i, opa);
|
||||
}
|
||||
|
||||
obj->opa = opa;
|
||||
if(obj->opa_protect == 0) obj->opa = opa;
|
||||
|
||||
lv_obj_inv(obj);
|
||||
}
|
||||
@ -914,6 +942,15 @@ void lv_obj_set_drag_parent(lv_obj_t * obj, bool en)
|
||||
obj->drag_parent = (en == true ? 1 : 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Do not let 'lv_obj_set_opar' to set the opacity
|
||||
* @param obj pointer to an object
|
||||
* @param en true: enable the 'opa_protect' for the object
|
||||
*/
|
||||
void lv_obj_set_opa_protect(lv_obj_t * obj, bool en)
|
||||
{
|
||||
obj->opa_protect = (en == true ? 1 : 0);
|
||||
}
|
||||
/**
|
||||
* Set the signal function of an object.
|
||||
* Always call the previous signal function in the new.
|
||||
@ -1136,6 +1173,21 @@ lv_obj_t * lv_obj_get_child(lv_obj_t * obj, lv_obj_t * child)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Count the children of an object (only children directly on 'obj')
|
||||
* @param obj pointer to an object
|
||||
* @return children number of 'obj'
|
||||
*/
|
||||
uint16_t lv_obj_get_child_num(lv_obj_t * obj)
|
||||
{
|
||||
lv_obj_t * i;
|
||||
uint16_t cnt = 0;
|
||||
|
||||
LL_READ(obj->child_ll, i) cnt++;
|
||||
|
||||
return cnt;
|
||||
}
|
||||
|
||||
/*---------------------
|
||||
* Coordinate get
|
||||
*--------------------*/
|
||||
@ -1297,6 +1349,16 @@ bool lv_obj_get_drag_parent(lv_obj_t * obj)
|
||||
return obj->drag_parent == 0 ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the opa_protect attribute of an object
|
||||
* @param obj pointer to an object
|
||||
* @return true: opa_protect is enabled
|
||||
*/
|
||||
bool lv_obj_get_opa_protect(lv_obj_t * obj)
|
||||
{
|
||||
return obj->opa_protect == 0 ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the signal function of an object
|
||||
* @param obj pointer to an object
|
||||
@ -1428,4 +1490,43 @@ static void lv_style_refr_core(void * style_p, lv_obj_t * obj)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called by 'lv_obj_del' to delete the children objects
|
||||
* @param obj pointer to an object (all of its children will be deleted)
|
||||
*/
|
||||
static void lv_obj_del_child(lv_obj_t * obj)
|
||||
{
|
||||
lv_obj_t * i;
|
||||
lv_obj_t * i_next;
|
||||
i = ll_get_head(&(obj->child_ll));
|
||||
while(i != NULL) {
|
||||
/*Get the next object before delete this*/
|
||||
i_next = ll_get_next(&(obj->child_ll), i);
|
||||
|
||||
/*Call the recursive del to the child too*/
|
||||
lv_obj_del_child(i);
|
||||
|
||||
/*Set i to the next node*/
|
||||
i = i_next;
|
||||
}
|
||||
|
||||
/*Remove the animations from this object*/
|
||||
anim_del(obj, NULL);
|
||||
|
||||
/*Remove the object from parent's children list*/
|
||||
lv_obj_t * par = lv_obj_get_parent(obj);
|
||||
|
||||
ll_rem(&(par->child_ll), obj);
|
||||
|
||||
/* All children deleted.
|
||||
* Now clean up the object specific data*/
|
||||
obj->signal_f(obj, LV_SIGNAL_CLEANUP, NULL);
|
||||
|
||||
/*Delete the base objects*/
|
||||
if(obj->ext != NULL) dm_free(obj->ext);
|
||||
if(obj->style_iso != 0) dm_free(obj->style_p);
|
||||
dm_free(obj); /*Free the object itself*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @file lv_base_obj.h
|
||||
* @file lv_obj.h
|
||||
*
|
||||
*/
|
||||
|
||||
@ -28,17 +28,11 @@
|
||||
#error "LV: LV_DOWNSCALE can be only 1, 2 or 4"
|
||||
#endif
|
||||
|
||||
#if LV_VDB_SIZE == 0 && (LV_DOWNSCALE != 1 || LV_UPSCALE_MAP != 0 || LV_UPSCALE_FONT != 0 || LV_UPSCALE_STYLE != 0)
|
||||
#error "LV: If LV_VDB_SIZE == 0 then LV_DOWNSCALE must be 1, LV_UPSCALE_MAP 0, LV_UPSCALE_FONT 0, LV_UPSCALE_STYLE 0"
|
||||
#if LV_VDB_SIZE == 0 && (LV_DOWNSCALE != 1 || LV_UPSCALE_MAP != 0 || LV_UPSCALE_STYLE != 0)
|
||||
#error "LV: If LV_VDB_SIZE == 0 then LV_DOWNSCALE must be 1, LV_UPSCALE_MAP 0, LV_UPSCALE_STYLE 0"
|
||||
#endif
|
||||
|
||||
/*New defines*/
|
||||
#if LV_UPSCALE_SYTLE != 0
|
||||
#define LV_STYLE_MULT LV_DOWNSCALE
|
||||
#else
|
||||
#define LV_STYLE_MULT 1
|
||||
#endif
|
||||
|
||||
#define LV_OBJ_DEF_WIDTH (80 * LV_DOWNSCALE)
|
||||
#define LV_OBJ_DEF_HEIGHT (60 * LV_DOWNSCALE)
|
||||
|
||||
@ -65,9 +59,11 @@ typedef enum
|
||||
{
|
||||
LV_SIGNAL_CLEANUP,
|
||||
LV_SIGNAL_PRESSED,
|
||||
LV_SIGNAL_PRESSING,
|
||||
LV_SIGNAL_PRESS_LOST,
|
||||
LV_SIGNAL_RELEASED,
|
||||
LV_SIGNAL_LONG_PRESS,
|
||||
LV_SIGNAL_LONG_PRESS_REP,
|
||||
LV_SIGNAL_DRAG_BEGIN,
|
||||
LV_SIGNAL_DRAG_END,
|
||||
LV_SIGNAL_CHILD_CHG,
|
||||
@ -96,15 +92,15 @@ typedef struct __LV_OBJ_T
|
||||
#endif
|
||||
|
||||
/*Attributes and states*/
|
||||
uint8_t click_en :1; /*1: can be pressed by a display input device*/
|
||||
uint8_t drag_en :1; /*1: enable the dragging*/
|
||||
uint8_t drag_throw_en:1; /*1: Enable throwing with drag*/
|
||||
uint8_t drag_parent :1; /*1. Parent will be dragged instead*/
|
||||
uint8_t style_iso :1; /*1: The object has got an own style*/
|
||||
uint8_t hidden :1; /*1: Object is hidden*/
|
||||
uint8_t top_en :1; /*1: If the object or its children is clicked it goes to the foreground*/
|
||||
uint8_t child_chg_off:1; /*1: Disable the child change signal. Used by the library*/
|
||||
|
||||
uint16_t click_en :1; /*1: can be pressed by a display input device*/
|
||||
uint16_t drag_en :1; /*1: enable the dragging*/
|
||||
uint16_t drag_throw_en:1; /*1: Enable throwing with drag*/
|
||||
uint16_t drag_parent :1; /*1. Parent will be dragged instead*/
|
||||
uint16_t style_iso :1; /*1: The object has got an own style*/
|
||||
uint16_t hidden :1; /*1: Object is hidden*/
|
||||
uint16_t top_en :1; /*1: If the object or its children is clicked it goes to the foreground*/
|
||||
uint16_t child_chg_off:1; /*1: Disable the child change signal. Used by the library*/
|
||||
uint16_t opa_protect :1; /*1: Do not let 'lv_obj_set_opar' to set the opacity*/
|
||||
cord_t ext_size; /*EXTtend the size of the object in every direction. Used to draw shadow, shine etc.*/
|
||||
|
||||
uint8_t free_num; /*Application specific identifier (set it freely)*/
|
||||
@ -208,9 +204,10 @@ void lv_obj_set_top(lv_obj_t * obj, bool en);
|
||||
void lv_obj_set_drag(lv_obj_t * obj, bool en);
|
||||
void lv_obj_set_drag_throw(lv_obj_t * obj, bool en);
|
||||
void lv_obj_set_drag_parent(lv_obj_t * obj, bool en);
|
||||
void lv_obj_set_opa_protect(lv_obj_t * obj, bool en);
|
||||
/*Other set*/
|
||||
void lv_obj_set_signal_f(lv_obj_t * obj, lv_signal_f_t fp);
|
||||
void lv_obj_set_design_f(lv_obj_t * obj, lv_design_f_t fp);
|
||||
/*Other set*/
|
||||
void * lv_obj_alloc_ext(lv_obj_t * obj, uint16_t ext_size);
|
||||
void lv_obj_refr_ext_size(lv_obj_t * obj);
|
||||
void lv_obj_set_style(lv_obj_t * obj, void * style);
|
||||
@ -227,6 +224,8 @@ void lv_scr_load(lv_obj_t * scr);
|
||||
lv_obj_t * lv_obj_get_scr(lv_obj_t * obj);
|
||||
lv_obj_t * lv_obj_get_parent(lv_obj_t * obj);
|
||||
lv_obj_t * lv_obj_get_child(lv_obj_t * obj, lv_obj_t * child);
|
||||
uint16_t lv_obj_get_child_num(lv_obj_t * obj);
|
||||
|
||||
/*Coordinate get*/
|
||||
void lv_obj_get_cords(lv_obj_t * obj, area_t * cords_p);
|
||||
cord_t lv_obj_get_x(lv_obj_t * obj);
|
||||
@ -242,6 +241,7 @@ bool lv_obj_get_top(lv_obj_t * obj);
|
||||
bool lv_obj_get_drag(lv_obj_t * obj);
|
||||
bool lv_obj_get_drag_throw(lv_obj_t * obj);
|
||||
bool lv_obj_get_drag_parent(lv_obj_t * obj);
|
||||
bool lv_obj_get_opa_potect(lv_obj_t * obj);
|
||||
|
||||
/*Virtual functions get*/
|
||||
lv_design_f_t lv_obj_get_design_f(lv_obj_t * obj);
|
||||
@ -250,6 +250,7 @@ lv_signal_f_t lv_obj_get_signal_f(lv_obj_t * obj);
|
||||
void * lv_obj_get_ext(lv_obj_t * obj);
|
||||
void * lv_obj_get_style(lv_obj_t * obj);
|
||||
uint8_t lv_obj_get_free_num(lv_obj_t * obj);
|
||||
void * lv_obj_get_free_p(lv_obj_t * obj);
|
||||
|
||||
lv_objs_t * lv_objs_get(lv_objs_builtin_t style, lv_objs_t * copy_p);
|
||||
|
||||
|
111
lv_obj/lv_refr.c
111
lv_obj/lv_refr.c
@ -30,8 +30,8 @@ typedef struct
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
static void lv_refr_task(void);
|
||||
static void lv_refr_join_area(lv_join_t * area_a, uint32_t inv_num);
|
||||
static void lv_refr_areas(lv_join_t * area_a, uint32_t area_num);
|
||||
static void lv_refr_join_area(void);
|
||||
static void lv_refr_areas(void);
|
||||
#if LV_VDB_SIZE == 0
|
||||
static void lv_refr_area_no_vdb(const area_t * area_p);
|
||||
#else
|
||||
@ -45,8 +45,8 @@ static void lv_refr_obj(lv_obj_t * obj, const area_t * mask_ori_p);
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
fifo_t fifo_inv;
|
||||
area_t fifo_inv_buf[LV_INV_FIFO_SIZE];
|
||||
lv_join_t inv_buf[LV_INV_FIFO_SIZE];
|
||||
uint16_t inv_buf_p;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
@ -61,8 +61,9 @@ area_t fifo_inv_buf[LV_INV_FIFO_SIZE];
|
||||
*/
|
||||
void lv_refr_init(void)
|
||||
{
|
||||
fifo_init(&fifo_inv, fifo_inv_buf, sizeof(area_t), LV_INV_FIFO_SIZE);
|
||||
|
||||
inv_buf_p = 0;
|
||||
memset(inv_buf, 0, sizeof(inv_buf));
|
||||
|
||||
ptask_t* task;
|
||||
task = ptask_create(lv_refr_task, LV_REFR_PERIOD, PTASK_PRIO_MID);
|
||||
dm_assert(task);
|
||||
@ -101,16 +102,22 @@ void lv_inv_area(const area_t * area_p)
|
||||
com_area.x2 = com_area.x2 | 0x3;
|
||||
com_area.y2 = com_area.y2 | 0x3;
|
||||
#endif
|
||||
/*Save the area*/
|
||||
suc = fifo_push(&fifo_inv, &com_area);
|
||||
|
||||
/* There is no place for the new area
|
||||
* clear the fifo and add the whole screen*/
|
||||
if(suc == false)
|
||||
{
|
||||
fifo_clear(&fifo_inv);
|
||||
fifo_push(&fifo_inv, &scr_area);
|
||||
/*Save only if this area is not in one of the saved areas*/
|
||||
uint16_t i;
|
||||
for(i = 0; i < inv_buf_p; i++) {
|
||||
if(area_is_in(&com_area, &inv_buf[i].area) != false) return;
|
||||
}
|
||||
|
||||
|
||||
/*Save the area*/
|
||||
if(inv_buf_p < LV_INV_FIFO_SIZE) {
|
||||
area_cpy(&inv_buf[inv_buf_p].area,&com_area);
|
||||
} else {/*If no place for the area add the screen*/
|
||||
inv_buf_p = 0;
|
||||
area_cpy(&inv_buf[inv_buf_p].area,&scr_area);
|
||||
}
|
||||
inv_buf_p ++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,66 +130,50 @@ void lv_inv_area(const area_t * area_p)
|
||||
*/
|
||||
static void lv_refr_task(void)
|
||||
{
|
||||
lv_join_t area_tmp[LV_INV_FIFO_SIZE];
|
||||
lv_refr_join_area();
|
||||
|
||||
memset(area_tmp, 0, sizeof(area_tmp));
|
||||
|
||||
/*Read all data from the fifo_inv*/
|
||||
uint32_t inv_num;
|
||||
bool suc;
|
||||
for(inv_num = 0; inv_num < LV_INV_FIFO_SIZE; inv_num++)
|
||||
{
|
||||
suc = fifo_pop(&fifo_inv, &area_tmp[inv_num].area);
|
||||
|
||||
if(suc == false) /*Break id the fifo is empty*/
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
lv_refr_join_area(area_tmp, inv_num);
|
||||
|
||||
lv_refr_areas(area_tmp, inv_num);
|
||||
lv_refr_areas();
|
||||
|
||||
memset(inv_buf, 0, sizeof(inv_buf));
|
||||
inv_buf_p = 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Join the areas which has got common parts
|
||||
* @param join_a an array of areas to join
|
||||
* @param inv_num item number of the array
|
||||
*/
|
||||
static void lv_refr_join_area(lv_join_t * area_a, uint32_t area_num)
|
||||
static void lv_refr_join_area(void)
|
||||
{
|
||||
uint32_t join_from;
|
||||
uint32_t join_in;
|
||||
area_t joined_area;
|
||||
for(join_in = 0; join_in < area_num; join_in++) {
|
||||
if(area_a[join_in].joined != 0) continue;
|
||||
for(join_in = 0; join_in < inv_buf_p; join_in++) {
|
||||
if(inv_buf[join_in].joined != 0) continue;
|
||||
|
||||
/*Check all areas to join them in 'join_in'*/
|
||||
for(join_from = 0; join_from < area_num; join_from++) {
|
||||
for(join_from = 0; join_from < inv_buf_p; join_from++) {
|
||||
/*Handle only unjoined areas and ignore itself*/
|
||||
if(area_a[join_from].joined != 0 || join_in == join_from) {
|
||||
if(inv_buf[join_from].joined != 0 || join_in == join_from) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/*Check if the areas are on each other*/
|
||||
if(area_is_on(&area_a[join_in].area,
|
||||
&area_a[join_from].area) == false)
|
||||
if(area_is_on(&inv_buf[join_in].area,
|
||||
&inv_buf[join_from].area) == false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
area_join(&joined_area, &area_a[join_in].area,
|
||||
&area_a[join_from].area);
|
||||
area_join(&joined_area, &inv_buf[join_in].area,
|
||||
&inv_buf[join_from].area);
|
||||
|
||||
/*Join two area only if the joined area size is smaller*/
|
||||
if(area_get_size(&joined_area) <
|
||||
(area_get_size(&area_a[join_in].area) + area_get_size(&area_a[join_from].area))) {
|
||||
area_cpy(&area_a[join_in].area, &joined_area);
|
||||
(area_get_size(&inv_buf[join_in].area) + area_get_size(&inv_buf[join_from].area))) {
|
||||
area_cpy(&inv_buf[join_in].area, &joined_area);
|
||||
|
||||
/*Mark 'join_form' is joined into 'join_in'*/
|
||||
area_a[join_from].joined = 1;
|
||||
inv_buf[join_from].joined = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -190,22 +181,20 @@ static void lv_refr_join_area(lv_join_t * area_a, uint32_t area_num)
|
||||
|
||||
/**
|
||||
* Refresh the joined areas
|
||||
* @param area_a array of joined invalid areas
|
||||
* @param area_num item number of the array
|
||||
*/
|
||||
static void lv_refr_areas(lv_join_t * area_a, uint32_t area_num)
|
||||
static void lv_refr_areas(void)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
for(i = 0; i < area_num; i++) {
|
||||
for(i = 0; i < inv_buf_p; i++) {
|
||||
/*Refresh the unjoined areas*/
|
||||
if(area_a[i].joined == 0) {
|
||||
if(inv_buf[i].joined == 0) {
|
||||
/*If there is no VDB do simple drawing*/
|
||||
#if LV_VDB_SIZE == 0
|
||||
lv_refr_area_no_vdb(&area_a[i].area);
|
||||
lv_refr_area_no_vdb(&inv_buf[i].area);
|
||||
#else
|
||||
/*If VDB is used...*/
|
||||
lv_refr_area_with_vdb(&area_a[i].area);
|
||||
lv_refr_area_with_vdb(&inv_buf[i].area);
|
||||
#endif
|
||||
|
||||
}
|
||||
@ -314,10 +303,7 @@ static lv_obj_t * lv_refr_get_top_obj(const area_t * area_p, lv_obj_t * obj)
|
||||
lv_obj_t * found_p = NULL;
|
||||
|
||||
/*If this object is fully cover the draw area check the children too */
|
||||
if(obj->opa == OPA_COVER &&
|
||||
obj->hidden == 0 &&
|
||||
LV_SA(obj, lv_objs_t)->transp == 0 &&
|
||||
obj->design_f(obj, area_p, LV_DESIGN_COVER_CHK) != false)
|
||||
if(area_is_in(area_p, &obj->cords) && obj->hidden == 0)
|
||||
{
|
||||
LL_READ(obj->child_ll, i) {
|
||||
found_p = lv_refr_get_top_obj(area_p, i);
|
||||
@ -328,9 +314,13 @@ static lv_obj_t * lv_refr_get_top_obj(const area_t * area_p, lv_obj_t * obj)
|
||||
}
|
||||
}
|
||||
|
||||
/*If there is no better children use this object*/
|
||||
/*If no better children check this object*/
|
||||
if(found_p == NULL) {
|
||||
found_p = obj;
|
||||
if(obj->opa == OPA_COVER &&
|
||||
LV_SA(obj, lv_objs_t)->transp == 0 &&
|
||||
obj->design_f(obj, area_p, LV_DESIGN_COVER_CHK) != false) {
|
||||
found_p = obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -408,6 +398,7 @@ static void lv_refr_obj(lv_obj_t * obj, const area_t * mask_ori_p)
|
||||
/* Redraw the object */
|
||||
if(obj->opa != OPA_TRANSP && LV_SA(obj, lv_objs_t)->transp == 0) {
|
||||
obj->design_f(obj, &obj_ext_mask, LV_DESIGN_DRAW_MAIN);
|
||||
/* tick_wait_ms(100); */ /*DEBUG: Wait after every object draw to see the order of drawing*/
|
||||
}
|
||||
|
||||
/*Create a new 'obj_mask' without 'ext_size' because the children can't be visible there*/
|
||||
|
136
lv_objx/lv_btn.c
136
lv_objx/lv_btn.c
@ -120,7 +120,7 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
lv_btn_ext_t * ext = lv_obj_get_ext(btn);
|
||||
bool tgl = lv_btn_get_tgl(btn);
|
||||
|
||||
switch (sign){
|
||||
switch (sign) {
|
||||
case LV_SIGNAL_PRESSED:
|
||||
/*Refresh the state*/
|
||||
if(ext->state == LV_BTN_STATE_REL) {
|
||||
@ -128,7 +128,6 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_REL) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_PR);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
|
||||
ext->lpr_exec = 0;
|
||||
/*Call the press action, here 'param' is the caller dispi*/
|
||||
@ -143,8 +142,7 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_REL);
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_PR) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
}lv_obj_inv(btn);
|
||||
break;
|
||||
|
||||
case LV_SIGNAL_RELEASED:
|
||||
@ -161,7 +159,6 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_REL);
|
||||
}
|
||||
|
||||
|
||||
if(ext->rel_action != NULL && state != LV_BTN_STATE_INA) {
|
||||
valid = ext->rel_action(btn, param);
|
||||
}
|
||||
@ -171,9 +168,9 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_PR) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
}
|
||||
|
||||
lv_obj_inv(btn);
|
||||
break;
|
||||
case LV_SIGNAL_LONG_PRESS:
|
||||
/*Call the long press action, here 'param' is the caller dispi*/
|
||||
@ -182,6 +179,12 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
valid = ext->lpr_action(btn, param);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_LONG_PRESS_REP:
|
||||
/*Call the release action, here 'param' is the caller dispi*/
|
||||
if(ext->lpr_rep_action != NULL && state != LV_BTN_STATE_INA) {
|
||||
valid = ext->lpr_rep_action(btn, param);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/*Do nothing*/
|
||||
break;
|
||||
@ -225,7 +228,7 @@ void lv_btn_set_state(lv_obj_t * btn, lv_btn_state_t state)
|
||||
* @param btn pointer to a button object
|
||||
* @param pr_action pointer to function
|
||||
*/
|
||||
void lv_btn_set_pr_action(lv_obj_t * btn, bool (*pr_action)(lv_obj_t *, lv_dispi_t *))
|
||||
void lv_btn_set_pr_action(lv_obj_t * btn, lv_action_t pr_action)
|
||||
{
|
||||
lv_btn_ext_t * ext = lv_obj_get_ext(btn);
|
||||
|
||||
@ -235,9 +238,9 @@ void lv_btn_set_pr_action(lv_obj_t * btn, bool (*pr_action)(lv_obj_t *, lv_dispi
|
||||
/**
|
||||
* Set a function to call when the button is released
|
||||
* @param btn pointer to a button object
|
||||
* @param pr_action pointer to function
|
||||
* @param rel_action pointer to functionREL
|
||||
*/
|
||||
void lv_btn_set_rel_action(lv_obj_t * btn, bool (*rel_action)(lv_obj_t *, lv_dispi_t *))
|
||||
void lv_btn_set_rel_action(lv_obj_t * btn, lv_action_t rel_action)
|
||||
{
|
||||
lv_btn_ext_t * btn_p = lv_obj_get_ext(btn);
|
||||
|
||||
@ -247,15 +250,26 @@ void lv_btn_set_rel_action(lv_obj_t * btn, bool (*rel_action)(lv_obj_t *, lv_dis
|
||||
/**
|
||||
* Set a function to call when the button is long pressed
|
||||
* @param btn pointer to a button object
|
||||
* @param pr_action pointer to function
|
||||
* @param lpr_action pointer to function
|
||||
*/
|
||||
void lv_btn_set_lpr_action(lv_obj_t * btn, bool (*lpr_action)(lv_obj_t *, lv_dispi_t *))
|
||||
void lv_btn_set_lpr_action(lv_obj_t * btn, lv_action_t lpr_action)
|
||||
{
|
||||
lv_btn_ext_t * ext = lv_obj_get_ext(btn);
|
||||
|
||||
ext->lpr_action = lpr_action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a function to called periodically after long press.
|
||||
* @param btn pointer to a button object
|
||||
* @param lpr_rep_action pointer to function
|
||||
*/
|
||||
void lv_btn_set_lpr_rep_action(lv_obj_t * btn, lv_action_t lpr_rep_action)
|
||||
{
|
||||
lv_btn_ext_t * ext = lv_obj_get_ext(btn);
|
||||
|
||||
ext->lpr_rep_action = lpr_rep_action;
|
||||
}
|
||||
/*=====================
|
||||
* Getter functions
|
||||
*====================*/
|
||||
@ -340,13 +354,21 @@ lv_btns_t * lv_btns_get(lv_btns_builtin_t style, lv_btns_t * copy)
|
||||
*/
|
||||
static bool lv_btn_design(lv_obj_t * btn, const area_t * mask, lv_design_mode_t mode)
|
||||
{
|
||||
lv_btns_t * btns_p = lv_obj_get_style(btn);
|
||||
|
||||
/* Because of the radius it is not sure the area is covered*/
|
||||
if(mode == LV_DESIGN_COVER_CHK) {
|
||||
return ancestor_design_f(btn, mask, mode);
|
||||
/*Temporally set a rectangle style for the button to look like as rectangle*/
|
||||
lv_rects_t rects_tmp;
|
||||
lv_btns_t * btns_tmp = lv_obj_get_style(btn);
|
||||
bool ret = false;
|
||||
lv_btn_style_load(btn, &rects_tmp);
|
||||
if(rects_tmp.objs.transp == 0) {
|
||||
btn->style_p = &rects_tmp;
|
||||
ret = ancestor_design_f(btn, mask, mode); /*Draw the rectangle*/
|
||||
btn->style_p = btns_tmp; /*Reload the original button style*/
|
||||
}
|
||||
return ret;
|
||||
} else if(mode == LV_DESIGN_DRAW_MAIN) {
|
||||
opa_t opa = lv_obj_get_opa(btn);
|
||||
area_t area;
|
||||
lv_obj_get_cords(btn, &area);
|
||||
|
||||
@ -354,9 +376,11 @@ static bool lv_btn_design(lv_obj_t * btn, const area_t * mask, lv_design_mode_t
|
||||
lv_rects_t rects_tmp;
|
||||
lv_btns_t * btns_tmp = lv_obj_get_style(btn);
|
||||
lv_btn_style_load(btn, &rects_tmp);
|
||||
btn->style_p = &rects_tmp;
|
||||
ancestor_design_f(btn, mask, mode); /*Draw the rectangle*/
|
||||
btn->style_p = btns_tmp; /*Reload the origial butto style*/
|
||||
if(rects_tmp.objs.transp == 0) {
|
||||
btn->style_p = &rects_tmp;
|
||||
ancestor_design_f(btn, mask, mode); /*Draw the rectangle*/
|
||||
btn->style_p = btns_tmp; /*Reload the original button style*/
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -377,11 +401,12 @@ static void lv_btn_style_load(lv_obj_t * btn, lv_rects_t * new_rects)
|
||||
new_rects->gcolor = style->gcolor[state];
|
||||
new_rects->bcolor = style->bcolor[state];
|
||||
new_rects->lcolor = style->lcolor[state];
|
||||
if(style->light_en[state] != 0) {
|
||||
new_rects->light = style->rects.light;
|
||||
} else {
|
||||
new_rects->light = 0;
|
||||
}
|
||||
new_rects->empty = style->flags[state].empty;
|
||||
new_rects->objs.transp = style->flags[state].transp;
|
||||
|
||||
if(style->flags[state].light_en != 0) new_rects->light = style->rects.light;
|
||||
else new_rects->light = 0;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -394,46 +419,69 @@ static void lv_btns_init(void)
|
||||
lv_btns_def.gcolor[LV_BTN_STATE_REL] = COLOR_BLACK;
|
||||
lv_btns_def.bcolor[LV_BTN_STATE_REL] = COLOR_WHITE;
|
||||
lv_btns_def.lcolor[LV_BTN_STATE_REL] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_btns_def.light_en[LV_BTN_STATE_REL] = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_REL].light_en = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_REL].transp = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_REL].empty = 0;
|
||||
|
||||
lv_btns_def.mcolor[LV_BTN_STATE_PR] = COLOR_MAKE(0x60, 0x80, 0xa0);
|
||||
lv_btns_def.gcolor[LV_BTN_STATE_PR] = COLOR_MAKE(0x20, 0x30, 0x40);
|
||||
lv_btns_def.bcolor[LV_BTN_STATE_PR] = COLOR_WHITE;
|
||||
lv_btns_def.lcolor[LV_BTN_STATE_PR] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_btns_def.light_en[LV_BTN_STATE_PR] = 1;
|
||||
lv_btns_def.flags[LV_BTN_STATE_PR].light_en = 1;
|
||||
lv_btns_def.flags[LV_BTN_STATE_PR].transp = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_PR].empty = 0;
|
||||
|
||||
lv_btns_def.mcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x80, 0x00, 0x00);
|
||||
lv_btns_def.gcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x20, 0x20, 0x20);
|
||||
lv_btns_def.bcolor[LV_BTN_STATE_TGL_REL] = COLOR_WHITE;
|
||||
lv_btns_def.lcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_btns_def.light_en[LV_BTN_STATE_TGL_REL] = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_REL].light_en = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_REL].transp = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_REL].empty = 0;
|
||||
|
||||
lv_btns_def.mcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0xf0, 0x26, 0x26);
|
||||
lv_btns_def.gcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x40, 0x40, 0x40);
|
||||
lv_btns_def.bcolor[LV_BTN_STATE_TGL_PR] = COLOR_WHITE;
|
||||
lv_btns_def.lcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_btns_def.light_en[LV_BTN_STATE_TGL_PR] = 1;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_PR].light_en = 1;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_PR].transp = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_TGL_PR].empty = 0;
|
||||
|
||||
lv_btns_def.mcolor[LV_BTN_STATE_INA] = COLOR_SILVER;
|
||||
lv_btns_def.gcolor[LV_BTN_STATE_INA] = COLOR_GRAY;
|
||||
lv_btns_def.bcolor[LV_BTN_STATE_INA] = COLOR_WHITE;
|
||||
lv_btns_def.lcolor[LV_BTN_STATE_INA] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_btns_def.light_en[LV_BTN_STATE_INA] = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_INA].light_en = 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_INA].transp= 0;
|
||||
lv_btns_def.flags[LV_BTN_STATE_INA].empty = 0;
|
||||
|
||||
lv_btns_def.rects.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.bopa = 50;
|
||||
lv_btns_def.rects.light = 8 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.objs.color = lv_btns_def.mcolor[LV_BTN_STATE_REL];
|
||||
lv_btns_def.rects.gcolor = lv_btns_def.gcolor[LV_BTN_STATE_REL];
|
||||
lv_btns_def.rects.bcolor = lv_btns_def.bcolor[LV_BTN_STATE_REL];
|
||||
lv_btns_def.rects.objs.transp = 0;
|
||||
lv_btns_def.rects.empty = 0;
|
||||
lv_btns_def.rects.round = 4 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.hpad = 10 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.vpad = 15 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.opad = 5 * LV_STYLE_MULT;
|
||||
lv_btns_def.rects.light = 0;
|
||||
lv_btns_def.rects.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_btns_def.rects.bopa = 50;
|
||||
lv_btns_def.rects.empty = 0;
|
||||
lv_btns_def.rects.round = 4 * LV_DOWNSCALE;
|
||||
lv_btns_def.rects.hpad = 10 * LV_DOWNSCALE;
|
||||
lv_btns_def.rects.vpad = 15 * LV_DOWNSCALE;
|
||||
lv_btns_def.rects.opad = 5 * LV_DOWNSCALE;
|
||||
|
||||
/*Transparent style*/
|
||||
memcpy(&lv_btns_transp, &lv_btns_def, sizeof(lv_btns_t));
|
||||
lv_btns_transp.rects.objs.transp = 1;
|
||||
lv_btns_transp.rects.bwidth = 0;
|
||||
lv_btns_transp.rects.empty = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_REL].transp = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_REL].empty = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_PR].transp = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_PR].empty = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_TGL_REL].transp = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_TGL_REL].empty = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_TGL_PR].transp = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_TGL_PR].empty = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_INA].transp = 1;
|
||||
lv_btns_transp.flags[LV_BTN_STATE_INA].empty = 1;
|
||||
|
||||
|
||||
/*Border style*/
|
||||
@ -443,13 +491,17 @@ static void lv_btns_init(void)
|
||||
lv_btns_border.bcolor[LV_BTN_STATE_TGL_REL] = COLOR_BLACK;
|
||||
lv_btns_border.bcolor[LV_BTN_STATE_TGL_PR] = COLOR_BLACK;
|
||||
lv_btns_border.bcolor[LV_BTN_STATE_INA] = COLOR_GRAY;
|
||||
lv_btns_border.rects.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_btns_border.rects.empty = 1;
|
||||
lv_btns_border.flags[LV_BTN_STATE_REL].empty = 1;
|
||||
lv_btns_border.flags[LV_BTN_STATE_PR].empty = 1;
|
||||
lv_btns_border.flags[LV_BTN_STATE_TGL_REL].empty = 1;
|
||||
lv_btns_border.flags[LV_BTN_STATE_TGL_PR].empty = 1;
|
||||
lv_btns_border.flags[LV_BTN_STATE_INA].empty = 1;
|
||||
lv_btns_border.rects.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_btns_border.rects.bopa = 50;
|
||||
lv_btns_border.rects.round = 4 * LV_STYLE_MULT;
|
||||
lv_btns_border.rects.hpad = 10 * LV_STYLE_MULT;
|
||||
lv_btns_border.rects.vpad = 10 * LV_STYLE_MULT;
|
||||
lv_btns_border.rects.vpad = 5 * LV_STYLE_MULT;
|
||||
lv_btns_border.rects.round = 4 * LV_DOWNSCALE;
|
||||
lv_btns_border.rects.hpad = 10 * LV_DOWNSCALE;
|
||||
lv_btns_border.rects.vpad = 10 * LV_DOWNSCALE;
|
||||
lv_btns_border.rects.vpad = 5 * LV_DOWNSCALE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -33,6 +33,13 @@ typedef enum
|
||||
LV_BTN_STATE_NUM,
|
||||
}lv_btn_state_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t light_en :1;
|
||||
uint8_t transp :1;
|
||||
uint8_t empty :1;
|
||||
}lv_btns_bits_t;
|
||||
|
||||
/*Style of button*/
|
||||
typedef struct
|
||||
{
|
||||
@ -42,7 +49,7 @@ typedef struct
|
||||
color_t gcolor[LV_BTN_STATE_NUM];
|
||||
color_t bcolor[LV_BTN_STATE_NUM];
|
||||
color_t lcolor[LV_BTN_STATE_NUM];
|
||||
uint8_t light_en[LV_BTN_STATE_NUM];
|
||||
lv_btns_bits_t flags[LV_BTN_STATE_NUM];
|
||||
}lv_btns_t;
|
||||
|
||||
/*Built-in styles of button*/
|
||||
@ -58,9 +65,10 @@ typedef struct
|
||||
{
|
||||
lv_rect_ext_t rect_ext; /*Ext. of ancestor*/
|
||||
/*New data for this type */
|
||||
bool (*pr_action)(lv_obj_t *, lv_dispi_t *);
|
||||
bool (*rel_action)(lv_obj_t *, lv_dispi_t *);
|
||||
bool (*lpr_action)(lv_obj_t *, lv_dispi_t *);
|
||||
lv_action_t pr_action;
|
||||
lv_action_t rel_action;
|
||||
lv_action_t lpr_action;
|
||||
lv_action_t lpr_rep_action;
|
||||
|
||||
lv_btn_state_t state;
|
||||
uint8_t tgl :1; /*1: Toggle enabled*/
|
||||
@ -78,9 +86,10 @@ lv_btns_t * lv_btns_get(lv_btns_builtin_t style, lv_btns_t * copy);
|
||||
|
||||
void lv_btn_set_tgl(lv_obj_t * btn, bool tgl);
|
||||
void lv_btn_set_state(lv_obj_t * btn, lv_btn_state_t state);
|
||||
void lv_btn_set_pr_action(lv_obj_t * btn, bool (*pr_action)(lv_obj_t *, lv_dispi_t *));
|
||||
void lv_btn_set_rel_action(lv_obj_t * btn, bool (*rel_action)(lv_obj_t *, lv_dispi_t *));
|
||||
void lv_btn_set_lpr_action(lv_obj_t * btn, bool (*lpr_action)(lv_obj_t *, lv_dispi_t *));
|
||||
void lv_btn_set_pr_action(lv_obj_t * btn, lv_action_t pr_action);
|
||||
void lv_btn_set_rel_action(lv_obj_t * btn, lv_action_t rel_action);
|
||||
void lv_btn_set_lpr_action(lv_obj_t * btn, lv_action_t lpr_action);
|
||||
void lv_btn_set_lpr_rep_action(lv_obj_t * btn, lv_action_t lpr_rep_action);
|
||||
|
||||
bool lv_btn_get_tgl(lv_obj_t * btn);
|
||||
lv_btn_state_t lv_btn_get_state(lv_obj_t * btn);
|
||||
|
@ -10,10 +10,13 @@
|
||||
#if USE_LV_BTNM != 0
|
||||
|
||||
#include "lv_btnm.h"
|
||||
#include "../lv_draw/lv_draw.h"
|
||||
#include "../lv_misc/text.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define LV_BTNM_BTN_PR_INVALID 0xFFFF
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
@ -23,12 +26,9 @@
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
|
||||
#if 0 /*Not necessary*/
|
||||
static bool lv_btnm_design(lv_obj_t * btnm, const area_t * mask, lv_design_mode_t mode);
|
||||
#endif
|
||||
static uint8_t lv_btnm_get_width_unit(const char * btn_str);
|
||||
static void lv_btnm_create_btns(lv_obj_t * btnm, const char ** map);
|
||||
static bool lv_btnm_btn_release_action(lv_obj_t * btnm, lv_dispi_t * dispi);
|
||||
static void lv_btnms_init(void);
|
||||
|
||||
/**********************
|
||||
@ -39,6 +39,8 @@ static lv_btnms_t lv_btnms_def;
|
||||
static const char * lv_btnm_def_map[] = {"Btn1","Btn2", "Btn3","\n",
|
||||
"\002Btn4","Btn5", ""};
|
||||
|
||||
static lv_design_f_t ancestor_design_f;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
@ -67,10 +69,13 @@ lv_obj_t * lv_btnm_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
lv_btnm_ext_t * ext = lv_obj_alloc_ext(new_btnm, sizeof(lv_btnm_ext_t));
|
||||
dm_assert(ext);
|
||||
|
||||
lv_obj_set_signal_f(new_btnm, lv_btnm_signal);
|
||||
if(ancestor_design_f == NULL) ancestor_design_f = lv_obj_get_design_f(new_btnm);
|
||||
|
||||
/* Keep the rectangle design function
|
||||
* lv_obj_set_design_f(new_obj, lv_btnm_design); */
|
||||
lv_obj_set_signal_f(new_btnm, lv_btnm_signal);
|
||||
lv_obj_set_design_f(new_btnm, lv_btnm_design);
|
||||
|
||||
ext->btn_cnt = 0;
|
||||
ext->btn_pr = LV_BTNM_BTN_PR_INVALID;
|
||||
|
||||
/*Init the new button matrix object*/
|
||||
if(copy == NULL) {
|
||||
@ -103,14 +108,55 @@ bool lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param)
|
||||
/* The object can be deleted so check its validity and then
|
||||
* make the object specific signal handling */
|
||||
if(valid != false) {
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext(btnm);
|
||||
uint16_t i;
|
||||
point_t p;
|
||||
area_t btn_area;
|
||||
area_t btnm_cords;
|
||||
switch(sign) {
|
||||
case LV_SIGNAL_CLEANUP:
|
||||
/*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/
|
||||
dm_free(ext->btn_areas);
|
||||
break;
|
||||
case LV_SIGNAL_STYLE_CHG:
|
||||
case LV_SIGNAL_CORD_CHG:
|
||||
lv_btnm_set_map(btnm, LV_EA(btnm, lv_btnm_ext_t)->map_p);
|
||||
break;
|
||||
case LV_SIGNAL_PRESSING:
|
||||
/*Search the pressed area*/
|
||||
ext->btn_pr = LV_BTNM_BTN_PR_INVALID;
|
||||
lv_dispi_get_point(param, &p);
|
||||
lv_obj_get_cords(btnm, &btnm_cords);
|
||||
for(i = 0; i < ext->btn_cnt; i++) {
|
||||
area_cpy(&btn_area, &ext->btn_areas[i]);
|
||||
btn_area.x1 += btnm_cords.x1;
|
||||
btn_area.y1 += btnm_cords.y1;
|
||||
btn_area.x2 += btnm_cords.x1;
|
||||
btn_area.y2 += btnm_cords.y1;
|
||||
if(area_is_point_on(&btn_area, &p) != false) {
|
||||
ext->btn_pr = i;
|
||||
lv_obj_inv(btnm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_RELEASED:
|
||||
case LV_SIGNAL_LONG_PRESS_REP:
|
||||
if(ext->cb != NULL &&
|
||||
ext->btn_pr != LV_BTNM_BTN_PR_INVALID) {
|
||||
uint16_t txt_i = 0;
|
||||
uint16_t btn_i = 0;
|
||||
/*Search the next valid text in the map*/
|
||||
while(btn_i != ext->btn_pr) {
|
||||
btn_i ++;
|
||||
txt_i ++;
|
||||
if(strcmp(ext->map_p[txt_i], "\n") == 0) txt_i ++;
|
||||
}
|
||||
|
||||
ext->cb(btnm, txt_i);
|
||||
}
|
||||
if(sign == LV_SIGNAL_RELEASED) ext->btn_pr = LV_BTNM_BTN_PR_INVALID;
|
||||
lv_obj_inv(btnm);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -131,6 +177,7 @@ bool lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param)
|
||||
* Use octal numbers (e.g. "\003") to set the relative
|
||||
* width of a button. (max. 9 -> \011)
|
||||
* (e.g. const char * str[] = {"a", "b", "\n", "\004c", "d", ""}).
|
||||
* The button do not copy the array so it can not be a local variable.
|
||||
*/
|
||||
void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
||||
{
|
||||
@ -162,9 +209,9 @@ void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
||||
uint16_t unit_cnt;
|
||||
uint16_t btn_cnt; /*Number of buttons in a row*/
|
||||
uint16_t i_tot = 0; /*Act. index in the str map*/
|
||||
uint16_t btn_i = 0; /*Act. index of button areas*/
|
||||
const char ** map_p_tmp = map;
|
||||
lv_obj_t * btn;
|
||||
btn = ll_get_head(&btnm->child_ll);
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext(btnm);
|
||||
|
||||
/*Count the units and the buttons in a line*/
|
||||
while(1) {
|
||||
@ -179,27 +226,27 @@ void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
||||
|
||||
/*Only deal with the non empty lines*/
|
||||
if(btn_cnt != 0) {
|
||||
/*Calculate the unit width*/
|
||||
cord_t unit_w = max_w - ((btn_cnt-1) * btnms->rects.opad);
|
||||
unit_w = unit_w / unit_cnt;
|
||||
/*Calculate the width of all units*/
|
||||
cord_t all_unit_w = max_w - ((btn_cnt-1) * btnms->rects.opad);
|
||||
|
||||
/*Set the button size and positions and set the texts*/
|
||||
uint16_t i;
|
||||
lv_obj_t * label;
|
||||
cord_t act_x = btnms->rects.hpad;
|
||||
cord_t act_unit_w;
|
||||
for(i = 0; i < btn_cnt; i++) {
|
||||
lv_obj_set_size(btn, unit_w * lv_btnm_get_width_unit(map_p_tmp[i]), btn_h);
|
||||
lv_obj_align(btn, NULL, LV_ALIGN_IN_TOP_LEFT, act_x, act_y);
|
||||
lv_obj_set_free_num(btn, i_tot);
|
||||
lv_obj_set_style(btn, &btnms->btns);
|
||||
act_x += lv_obj_get_width(btn) + btnms->rects.opad;
|
||||
/* one_unit_w = all_unit_w / unit_cnt
|
||||
* act_unit_w = one_unit_w * button_width
|
||||
* do this two operation but the multiplications first to divide a greater number */
|
||||
act_unit_w = (all_unit_w * lv_btnm_get_width_unit(map_p_tmp[i])) / unit_cnt;
|
||||
area_set(&ext->btn_areas[btn_i], act_x,
|
||||
act_y,
|
||||
act_x + act_unit_w,
|
||||
act_y + btn_h);
|
||||
|
||||
label = lv_obj_get_child(btn, NULL); /*Get the label on the button (the only child)*/
|
||||
lv_obj_set_style(label, &btnms->labels);
|
||||
lv_label_set_text(label, map_p_tmp[i]);
|
||||
act_x += act_unit_w + btnms->rects.opad;
|
||||
|
||||
btn = ll_get_next(&btnm->child_ll, btn); /*Go to the next button*/
|
||||
i_tot++;
|
||||
i_tot ++;
|
||||
btn_i ++;
|
||||
}
|
||||
}
|
||||
act_y += btn_h + btnms->rects.opad;
|
||||
@ -208,6 +255,8 @@ void lv_btnm_set_map(lv_obj_t * btnm, const char ** map)
|
||||
i_tot ++; /*Skip the '\n'*/
|
||||
}
|
||||
|
||||
lv_obj_inv(btnm);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -283,10 +332,9 @@ lv_btnms_t * lv_btnms_get(lv_btnms_builtin_t style, lv_btnms_t * copy)
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
#if 0 /*Not necessary*/
|
||||
/**
|
||||
* Handle the drawing related tasks of the button matrixs
|
||||
* @param obj pointer to an object
|
||||
* @param btnm pointer to a button matrix object
|
||||
* @param mask the object will be drawn only in this area
|
||||
* @param mode LV_DESIGN_COVER_CHK: only check if the object fully covers the 'mask_p' area
|
||||
* (return 'true' if yes)
|
||||
@ -294,18 +342,77 @@ lv_btnms_t * lv_btnms_get(lv_btnms_builtin_t style, lv_btnms_t * copy)
|
||||
* LV_DESIGN_DRAW_POST: drawing after every children are drawn
|
||||
* @param return true/false, depends on 'mode'
|
||||
*/
|
||||
static bool lv_btnm_design(lv_obj_t * obj, const area_t * mask, lv_design_mode_t mode)
|
||||
static bool lv_btnm_design(lv_obj_t * btnm, const area_t * mask, lv_design_mode_t mode)
|
||||
{
|
||||
if(mode == LV_DESIGN_COVER_CHK) {
|
||||
return ancestor_design_f(btnm, mask, mode);
|
||||
/*Return false if the object is not covers the mask_p area*/
|
||||
return false;
|
||||
}
|
||||
/*Draw the object*/
|
||||
else if (mode == LV_DESIGN_DRAW_MAIN) {
|
||||
ancestor_design_f(btnm, mask, mode);
|
||||
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext(btnm);
|
||||
lv_btnms_t * style = lv_obj_get_style(btnm);
|
||||
|
||||
area_t area_btnm;
|
||||
area_t area_tmp;
|
||||
cord_t btn_w;
|
||||
cord_t btn_h;
|
||||
|
||||
uint16_t btn_i = 0;
|
||||
uint16_t txt_i = 0;
|
||||
for(btn_i = 0; btn_i < ext->btn_cnt; btn_i ++) {
|
||||
lv_obj_get_cords(btnm, &area_btnm);
|
||||
|
||||
area_cpy(&area_tmp, &ext->btn_areas[btn_i]);
|
||||
area_tmp.x1 += area_btnm.x1;
|
||||
area_tmp.y1 += area_btnm.y1;
|
||||
area_tmp.x2 += area_btnm.x1;
|
||||
area_tmp.y2 += area_btnm.y1;
|
||||
|
||||
btn_w = area_get_width(&area_tmp);
|
||||
btn_h = area_get_height(&area_tmp);
|
||||
|
||||
/*Load the style*/
|
||||
lv_rects_t new_rects;
|
||||
lv_btn_state_t state;
|
||||
state = ext->btn_pr == btn_i ? LV_BTN_STATE_PR : LV_BTN_STATE_REL;
|
||||
memcpy(&new_rects, &style->rects, sizeof(lv_rects_t));
|
||||
new_rects.objs.color = style->btns.mcolor[state];
|
||||
new_rects.gcolor = style->btns.gcolor[state];
|
||||
new_rects.bcolor = style->btns.bcolor[state];
|
||||
new_rects.lcolor = style->btns.lcolor[state];
|
||||
new_rects.empty = style->btns.flags[state].empty;
|
||||
new_rects.objs.transp = style->btns.flags[state].transp;
|
||||
|
||||
if(style->btns.flags[state].light_en != 0) new_rects.light = style->rects.light;
|
||||
else new_rects.light = 0;
|
||||
|
||||
lv_draw_rect(&area_tmp, mask, &new_rects, OPA_COVER);
|
||||
|
||||
/*Search the next valid text in the map*/
|
||||
while(strcmp(ext->map_p[txt_i], "\n") == 0) txt_i ++;
|
||||
|
||||
/*Calculate the size of the text*/
|
||||
const font_t * font = font_get(style->labels.font);
|
||||
point_t txt_size;
|
||||
txt_get_size(&txt_size, ext->map_p[txt_i], font,
|
||||
style->labels.letter_space, style->labels.line_space, area_get_width(&area_btnm));
|
||||
|
||||
area_tmp.x1 += (btn_w - txt_size.x) / 2;
|
||||
area_tmp.y1 += (btn_h - txt_size.y) / 2;
|
||||
area_tmp.x2 = area_tmp.x1 + txt_size.x;
|
||||
area_tmp.y2 = area_tmp.y1 + txt_size.y;
|
||||
|
||||
lv_draw_label(&area_tmp, mask, &style->labels, OPA_COVER, ext->map_p[txt_i]);
|
||||
txt_i ++;
|
||||
}
|
||||
}
|
||||
|
||||
/*Draw the object*/
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
@ -330,33 +437,20 @@ static void lv_btnm_create_btns(lv_obj_t * btnm, const char ** map)
|
||||
uint16_t btn_cnt = 0;
|
||||
uint16_t i = 0;
|
||||
while(strlen(map[i]) != 0) {
|
||||
if(strcmp(map[i], "\n") != 0) { /*Not count line breaks*/
|
||||
if(strcmp(map[i], "\n") != 0) { /*Do not count line breaks*/
|
||||
btn_cnt ++;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
/*Get the current number of children of the button matrix*/
|
||||
uint16_t child_cnt = 0;
|
||||
lv_obj_t * child = NULL;
|
||||
while(1) {
|
||||
child = lv_obj_get_child(btnm, child);
|
||||
if(child != NULL) child_cnt ++;
|
||||
else break;
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext(btnm);
|
||||
|
||||
if(ext->btn_areas != NULL) {
|
||||
dm_free(ext->btn_areas);
|
||||
}
|
||||
|
||||
/*Create or delete buttons to finally get 'btn_cnt' children*/
|
||||
if(child_cnt < btn_cnt) { /*Create buttons*/
|
||||
for(i = 0; i < btn_cnt - child_cnt; i++) {
|
||||
lv_obj_t * btn = lv_btn_create(btnm, NULL);
|
||||
lv_btn_set_rel_action(btn, lv_btnm_btn_release_action);
|
||||
lv_label_create(btn, NULL);
|
||||
}
|
||||
} else if(child_cnt > btn_cnt) { /*Delete buttons*/
|
||||
for(i = 0; i < child_cnt - btn_cnt; i++) {
|
||||
lv_obj_del(lv_obj_get_child(btnm, NULL));
|
||||
}
|
||||
}
|
||||
ext->btn_areas = dm_alloc(sizeof(area_t) * btn_cnt);
|
||||
ext->btn_cnt = btn_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -373,23 +467,4 @@ static uint8_t lv_btnm_get_width_unit(const char * btn_str)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called when button is released
|
||||
* @param btn pointer to the released button of the button matrix
|
||||
* @param dispi pointer to the caller display input.
|
||||
* @return true: if the button remains valid (the button matrix or the button is not deleted)
|
||||
*/
|
||||
static bool lv_btnm_btn_release_action(lv_obj_t * btn, lv_dispi_t * dispi)
|
||||
{
|
||||
lv_obj_t * btnm = lv_obj_get_parent(btn);
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext(btnm);
|
||||
uint8_t id = lv_obj_get_free_num(btn);
|
||||
bool ret;
|
||||
if(ext->cb != NULL) {
|
||||
ret = ext->cb(btnm, btn, id); /*Call the set callback function*/
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -42,9 +42,9 @@ typedef enum
|
||||
}lv_btnms_builtin_t;
|
||||
|
||||
/* Type of callback function which is called when a button is released
|
||||
* Parameters: button matrix, released object, button index in the map string
|
||||
* Parameters: button matrix, released button index in the map string
|
||||
* return false: the released button or the button matrix is deleted else true*/
|
||||
typedef bool (*lv_btnm_callback_t) (lv_obj_t *, lv_obj_t *, uint8_t);
|
||||
typedef lv_action_res_t (*lv_btnm_callback_t) (lv_obj_t *, uint16_t);
|
||||
|
||||
/*Data of button matrix*/
|
||||
typedef struct
|
||||
@ -52,6 +52,9 @@ typedef struct
|
||||
lv_rect_ext_t rect; /*Ext. of ancestor*/
|
||||
/*New data for this type */
|
||||
const char ** map_p; /*Pointer to the current map*/
|
||||
area_t * btn_areas;
|
||||
uint16_t btn_cnt;
|
||||
uint16_t btn_pr;
|
||||
lv_btnm_callback_t cb;
|
||||
}lv_btnm_ext_t;
|
||||
|
||||
@ -71,6 +74,6 @@ lv_btnm_callback_t lv_btnm_get_cb(lv_obj_t * btnm);
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif
|
||||
#endif /*USE_LV_BTNM*/
|
||||
|
||||
#endif
|
||||
#endif /*LV_BTNM_H*/
|
||||
|
@ -30,9 +30,7 @@ static void lv_cbs_init(void);
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static lv_cbs_t lv_cbs_def =
|
||||
{
|
||||
};
|
||||
static lv_cbs_t lv_cbs_def;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
@ -233,9 +231,9 @@ static void lv_cbs_init(void)
|
||||
|
||||
/*Bg style*/
|
||||
lv_btns_get(LV_RECTS_TRANSP, &lv_cbs_def.bg);
|
||||
lv_cbs_def.bg.rects.hpad = 0 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bg.rects.vpad = 0 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bg.rects.opad = 5 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bg.rects.hpad = 0 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bg.rects.vpad = 0 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bg.rects.opad = 5 * LV_DOWNSCALE;
|
||||
|
||||
/*Bullet style*/
|
||||
lv_btns_get(LV_BTNS_DEF, &lv_cbs_def.bullet);
|
||||
@ -243,35 +241,35 @@ static void lv_cbs_init(void)
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_REL] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_REL] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_REL] = COLOR_BLACK;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_REL] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_REL].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_PR] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_PR] = COLOR_GRAY;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_PR] = COLOR_BLACK;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_PR] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_PR].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x20, 0x30, 0x40);
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x10, 0x20, 0x30);
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_TGL_REL] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_TGL_REL] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_TGL_REL].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x50, 0x70, 0x90);
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x20, 0x30, 0x40);
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_TGL_PR] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_TGL_PR] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_TGL_PR].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_INA] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_INA] = COLOR_GRAY;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_INA] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_INA] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_INA].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.rects.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bullet.rects.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bullet.rects.bopa = 70;
|
||||
lv_cbs_def.bullet.rects.empty = 0;
|
||||
lv_cbs_def.bullet.rects.round = LV_OBJ_DEF_WIDTH / 3 / 4;
|
||||
lv_cbs_def.bullet.rects.hpad = 0 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bullet.rects.vpad = 0 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bullet.rects.opad = 0 * LV_STYLE_MULT;
|
||||
lv_cbs_def.bullet.rects.hpad = 0 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bullet.rects.vpad = 0 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bullet.rects.opad = 0 * LV_DOWNSCALE;
|
||||
|
||||
/*Label*/
|
||||
lv_labels_get(LV_LABELS_TXT, &lv_cbs_def.label);
|
||||
|
@ -582,12 +582,12 @@ static void lv_charts_init(void)
|
||||
|
||||
/* Div. line */
|
||||
lv_lines_get(LV_LINES_DECOR, &lv_charts_def.div_lines);
|
||||
lv_charts_def.div_lines.width = 1 * LV_STYLE_MULT;
|
||||
lv_charts_def.div_lines.width = 1 * LV_DOWNSCALE;
|
||||
lv_charts_def.div_lines.objs.color = COLOR_BLACK;
|
||||
lv_charts_def.div_line_opa = OPA_COVER;
|
||||
|
||||
/*Data lines*/
|
||||
lv_charts_def.width = 3 * LV_STYLE_MULT;
|
||||
lv_charts_def.width = 3 * LV_DOWNSCALE;
|
||||
lv_charts_def.data_opa = 100;
|
||||
lv_charts_def.dark_eff = 150;
|
||||
lv_charts_def.color[0] = COLOR_RED;
|
||||
|
@ -219,6 +219,8 @@ void lv_img_set_file(lv_obj_t * img, const char * fn)
|
||||
if(lv_img_get_auto_size(img) != false) {
|
||||
lv_obj_set_size(img, ext->w, ext->h);
|
||||
}
|
||||
|
||||
lv_obj_inv(img);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,7 +310,7 @@ static void lv_imgs_init(void)
|
||||
|
||||
/*Dark style*/
|
||||
memcpy(&lv_imgs_dark, &lv_imgs_def, sizeof(lv_imgs_t));
|
||||
lv_imgs_dark.objs.color = COLOR_WHITE; lv_imgs_dark.recolor_opa = OPA_50;
|
||||
lv_imgs_dark.objs.color = COLOR_BLACK; lv_imgs_dark.recolor_opa = OPA_50;
|
||||
|
||||
/*Light style*/
|
||||
memcpy(&lv_imgs_light, &lv_imgs_dark, sizeof(lv_imgs_t));
|
||||
|
@ -22,10 +22,6 @@
|
||||
*********************/
|
||||
#define LV_LABEL_DOT_NUM 3
|
||||
#define LV_LABEL_DOT_END_INV 0xFFFF
|
||||
#define LV_LABEL_SCROLL_SPEED (50 * LV_DOWNSCALE) /*Hor, or ver. scroll speed (px/sec) in 'LV_LABEL_LONG_SCROLL' mode*/
|
||||
#define LV_LABEL_SCROLL_SPEED_VER (10 * LV_DOWNSCALE) /*Ver. scroll speed if hor. scroll is applied too*/
|
||||
#define LV_LABEL_SCROLL_PLAYBACK_PAUSE 300 /*Wait before the scroll turns back in ms*/
|
||||
#define LV_LABEL_SCROLL_REPEAT_PAUSE 600 /*Wait before the scroll begins again in ms*/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
@ -163,45 +159,24 @@ void lv_label_set_text(lv_obj_t * label, const char * text)
|
||||
/*If 'text" still NULL then nothing to do: return*/
|
||||
if(text == NULL) return;
|
||||
|
||||
uint32_t line_start = 0;
|
||||
uint32_t new_line_start = 0;
|
||||
cord_t max_length = lv_obj_get_width(label);
|
||||
lv_labels_t * labels = lv_obj_get_style(label);
|
||||
const font_t * font = font_get(labels->font);
|
||||
uint8_t letter_height = font_get_height(font);
|
||||
cord_t new_height = 0;
|
||||
cord_t longest_line = 0;
|
||||
cord_t act_line_length;
|
||||
cord_t max_w = lv_obj_get_width(label);
|
||||
lv_labels_t * style = lv_obj_get_style(label);
|
||||
const font_t * font = font_get(style->font);
|
||||
|
||||
ext->dot_end = LV_LABEL_DOT_END_INV; /*Initialize the dot end index*/
|
||||
|
||||
/*If the width will be expanded set the max length to very big */
|
||||
if(ext->long_mode == LV_LABEL_LONG_EXPAND || ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
max_length = LV_CORD_MAX;
|
||||
max_w = LV_CORD_MAX;
|
||||
}
|
||||
|
||||
/*Calc. the height and longest line*/
|
||||
while (text[line_start] != '\0')
|
||||
{
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, labels->letter_space, max_length);
|
||||
new_height += letter_height;
|
||||
new_height += labels->line_space;
|
||||
|
||||
/*Calculate the the longest line if the width will be expanded*/
|
||||
if(ext->long_mode == LV_LABEL_LONG_EXPAND || ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
act_line_length = txt_get_width(&text[line_start], new_line_start - line_start,
|
||||
font, labels->letter_space);
|
||||
longest_line = max(act_line_length, longest_line);
|
||||
}
|
||||
|
||||
line_start = new_line_start;
|
||||
}
|
||||
point_t size;
|
||||
txt_get_size(&size, ext->txt, font, style->letter_space, style->line_space, max_w);
|
||||
|
||||
/*Correction with the last line space*/
|
||||
new_height -= labels->line_space;
|
||||
/*Refresh the full size in expand mode*/
|
||||
if(ext->long_mode == LV_LABEL_LONG_EXPAND || ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
lv_obj_set_size(label, longest_line, new_height);
|
||||
lv_obj_set_size(label, size.x, size.y);
|
||||
|
||||
/*Start scrolling if the label is greater then its parent*/
|
||||
if(ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
@ -248,7 +223,7 @@ void lv_label_set_text(lv_obj_t * label, const char * text)
|
||||
}
|
||||
/*In break mode only the height can change*/
|
||||
else if (ext->long_mode == LV_LABEL_LONG_BREAK) {
|
||||
lv_obj_set_height(label, new_height);
|
||||
lv_obj_set_height(label, size.y);
|
||||
}
|
||||
/*Replace the last 'LV_LABEL_DOT_NUM' characters with dots
|
||||
* and save these characters*/
|
||||
@ -355,7 +330,7 @@ void lv_label_get_letter_pos(lv_obj_t * label, uint16_t index, point_t * pos)
|
||||
lv_label_ext_t * ext = lv_obj_get_ext(label);
|
||||
uint32_t line_start = 0;
|
||||
uint32_t new_line_start = 0;
|
||||
cord_t max_length = lv_obj_get_width(label);
|
||||
cord_t max_w = lv_obj_get_width(label);
|
||||
lv_labels_t * labels = lv_obj_get_style(label);
|
||||
const font_t * font = font_get(labels->font);
|
||||
uint8_t letter_height = font_get_height(font);
|
||||
@ -363,18 +338,23 @@ void lv_label_get_letter_pos(lv_obj_t * label, uint16_t index, point_t * pos)
|
||||
|
||||
/*If the width will be expanded the set the max length to very big */
|
||||
if(ext->long_mode == LV_LABEL_LONG_EXPAND || ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
max_length = LV_CORD_MAX;
|
||||
max_w = LV_CORD_MAX;
|
||||
}
|
||||
|
||||
/*Search the line of the index letter */;
|
||||
while (text[new_line_start] != '\0') {
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, labels->letter_space, max_length);
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, labels->letter_space, max_w);
|
||||
if(index < new_line_start || text[new_line_start] == '\0') break; /*The line of 'index' letter begins at 'line_start'*/
|
||||
|
||||
y += letter_height + labels->line_space;
|
||||
line_start = new_line_start;
|
||||
}
|
||||
|
||||
if((text[index - 1] == '\n' || text[index - 1] == '\r') && text[index] == '\0') {
|
||||
y += letter_height + labels->line_space;
|
||||
line_start = index;
|
||||
}
|
||||
|
||||
/*Calculate the x coordinate*/
|
||||
cord_t x = 0;
|
||||
uint32_t i;
|
||||
@ -406,37 +386,37 @@ uint16_t lv_label_get_letter_on(lv_obj_t * label, point_t * pos)
|
||||
lv_label_ext_t * ext = lv_obj_get_ext(label);
|
||||
uint32_t line_start = 0;
|
||||
uint32_t new_line_start = 0;
|
||||
cord_t max_length = lv_obj_get_width(label);
|
||||
lv_labels_t * labels = lv_obj_get_style(label);
|
||||
const font_t * font = font_get(labels->font);
|
||||
cord_t max_w = lv_obj_get_width(label);
|
||||
lv_labels_t * style = lv_obj_get_style(label);
|
||||
const font_t * font = font_get(style->font);
|
||||
uint8_t letter_height = font_get_height(font);
|
||||
cord_t y = 0;
|
||||
|
||||
/*If the width will be expanded set the max length to very big */
|
||||
if(ext->long_mode == LV_LABEL_LONG_EXPAND || ext->long_mode == LV_LABEL_LONG_SCROLL) {
|
||||
max_length = LV_CORD_MAX;
|
||||
max_w = LV_CORD_MAX;
|
||||
}
|
||||
|
||||
/*Search the line of the index letter */;
|
||||
while (text[line_start] != '\0') {
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, labels->letter_space, max_length);
|
||||
if(pos->y <= y + letter_height + labels->line_space) break; /*The line is found ('line_start')*/
|
||||
y += letter_height + labels->line_space;
|
||||
new_line_start += txt_get_next_line(&text[line_start], font, style->letter_space, max_w);
|
||||
if(pos->y <= y + letter_height + style->line_space) break; /*The line is found ('line_start')*/
|
||||
y += letter_height + style->line_space;
|
||||
line_start = new_line_start;
|
||||
}
|
||||
|
||||
/*Calculate the x coordinate*/
|
||||
cord_t x = 0;
|
||||
if(labels->mid != 0) {
|
||||
if(style->mid != 0) {
|
||||
cord_t line_w;
|
||||
line_w = txt_get_width(&text[line_start], new_line_start - line_start,
|
||||
font, labels->letter_space);
|
||||
font, style->letter_space);
|
||||
x += lv_obj_get_width(label) / 2 - line_w / 2;
|
||||
}
|
||||
|
||||
uint16_t i;
|
||||
for(i = line_start; i < new_line_start-1; i++) {
|
||||
x += font_get_width(font, text[i]) + labels->letter_space;
|
||||
x += font_get_width(font, text[i]) + style->letter_space;
|
||||
if(pos->x < x) break;
|
||||
}
|
||||
|
||||
@ -531,8 +511,8 @@ static void lv_labels_init(void)
|
||||
/*Default style*/
|
||||
lv_labels_def.font = LV_FONT_DEFAULT;
|
||||
lv_labels_def.objs.color = COLOR_MAKE(0x10, 0x18, 0x20);
|
||||
lv_labels_def.letter_space = 2 * LV_STYLE_MULT;
|
||||
lv_labels_def.line_space = 2 * LV_STYLE_MULT;
|
||||
lv_labels_def.letter_space = 2 * LV_DOWNSCALE;
|
||||
lv_labels_def.line_space = 2 * LV_DOWNSCALE;
|
||||
lv_labels_def.mid = 0;
|
||||
|
||||
memcpy(&lv_labels_btn, &lv_labels_def, sizeof(lv_labels_t));
|
||||
@ -541,15 +521,14 @@ static void lv_labels_init(void)
|
||||
|
||||
memcpy(&lv_labels_title, &lv_labels_def, sizeof(lv_labels_t));
|
||||
lv_labels_title.objs.color = COLOR_MAKE(0x10, 0x20, 0x30);
|
||||
lv_labels_title.letter_space = 4 * LV_STYLE_MULT;
|
||||
lv_labels_title.line_space = 4 * LV_STYLE_MULT;
|
||||
lv_labels_title.letter_space = 4 * LV_DOWNSCALE;
|
||||
lv_labels_title.line_space = 4 * LV_DOWNSCALE;
|
||||
lv_labels_title.mid = 0;
|
||||
|
||||
|
||||
memcpy(&lv_labels_txt, &lv_labels_def, sizeof(lv_labels_t));
|
||||
lv_labels_txt.objs.color = COLOR_MAKE(0x16, 0x23, 0x34);
|
||||
lv_labels_txt.letter_space = 1 * LV_STYLE_MULT;
|
||||
lv_labels_txt.line_space = 2 * LV_STYLE_MULT;
|
||||
lv_labels_txt.letter_space = 0 * LV_DOWNSCALE;
|
||||
lv_labels_txt.line_space = 1 * LV_DOWNSCALE;
|
||||
lv_labels_txt.mid = 0;
|
||||
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ static void lv_leds_init(void)
|
||||
lv_leds_def.bg_rect.objs.color = COLOR_RED;
|
||||
lv_leds_def.bg_rect.gcolor = COLOR_MARRON,
|
||||
lv_leds_def.bg_rect.bcolor = COLOR_WHITE;
|
||||
lv_leds_def.bg_rect.bwidth = 4 * LV_STYLE_MULT;
|
||||
lv_leds_def.bg_rect.bwidth = 4 * LV_DOWNSCALE;
|
||||
lv_leds_def.bg_rect.bopa = 50;
|
||||
lv_leds_def.bg_rect.round = LV_RECT_CIRCLE;
|
||||
lv_leds_def.bg_rect.hpad = 0;
|
||||
|
@ -343,18 +343,18 @@ static bool lv_line_design(lv_obj_t * line, const area_t * mask, lv_design_mode_
|
||||
static void lv_lines_init(void)
|
||||
{
|
||||
/*Default style*/
|
||||
lv_lines_def.width = 2 * LV_STYLE_MULT;
|
||||
lv_lines_def.width = 2 * LV_DOWNSCALE;
|
||||
lv_lines_def.objs.color = COLOR_RED;
|
||||
lv_lines_def.objs.transp = 0;
|
||||
|
||||
/*Decoration line style*/
|
||||
memcpy(&lv_lines_decor, &lv_lines_def, sizeof(lv_lines_t));
|
||||
lv_lines_decor.width = 1 * LV_STYLE_MULT;
|
||||
lv_lines_decor.width = 1 * LV_DOWNSCALE;
|
||||
lv_lines_decor.objs.color = COLOR_GRAY;
|
||||
|
||||
/*Chart line style*/
|
||||
memcpy(&lv_lines_chart, &lv_lines_def, sizeof(lv_lines_t));
|
||||
lv_lines_chart.width = 3 * LV_STYLE_MULT;
|
||||
lv_lines_chart.width = 3 * LV_DOWNSCALE;
|
||||
lv_lines_chart.objs.color = COLOR_RED;
|
||||
}
|
||||
#endif
|
||||
|
@ -110,7 +110,7 @@ bool lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param)
|
||||
* @param rel_action pointer to release action function (like with lv_btn)
|
||||
* @return pointer to the new list element which can be customized (a button)
|
||||
*/
|
||||
lv_obj_t * lv_list_add(lv_obj_t * list, const char * img_fn, const char * txt, bool (*rel_action)(lv_obj_t *, lv_dispi_t *))
|
||||
lv_obj_t * lv_list_add(lv_obj_t * list, const char * img_fn, const char * txt, lv_action_t rel_action)
|
||||
{
|
||||
lv_lists_t * lists = lv_obj_get_style(list);
|
||||
lv_list_ext_t * ext = lv_obj_get_ext(list);
|
||||
@ -217,6 +217,7 @@ void lv_list_down(lv_obj_t * list)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*=====================
|
||||
* Setter functions
|
||||
*====================*/
|
||||
@ -323,13 +324,13 @@ static void lv_lists_init(void)
|
||||
{
|
||||
/*Default style*/
|
||||
lv_pages_get(LV_PAGES_TRANSP, &lv_lists_def.bg_pages);
|
||||
lv_lists_def.bg_pages.bg_rects.vpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.bg_rects.hpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.bg_rects.opad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.bg_rects.vpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_def.bg_pages.bg_rects.hpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_def.bg_pages.bg_rects.opad = 0 * LV_DOWNSCALE;
|
||||
|
||||
lv_lists_def.bg_pages.scrable_rects.vpad = 10 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.scrable_rects.hpad = 10 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.scrable_rects.opad = 5 * LV_STYLE_MULT;
|
||||
lv_lists_def.bg_pages.scrable_rects.vpad = 10 * LV_DOWNSCALE;
|
||||
lv_lists_def.bg_pages.scrable_rects.hpad = 10 * LV_DOWNSCALE;
|
||||
lv_lists_def.bg_pages.scrable_rects.opad = 5 * LV_DOWNSCALE;
|
||||
|
||||
lv_btns_get(LV_BTNS_DEF, &lv_lists_def.liste_btns); /*List element button style*/
|
||||
|
||||
@ -341,13 +342,13 @@ static void lv_lists_init(void)
|
||||
lv_lists_def.liste_layout = LV_RECT_LAYOUT_ROW_M;
|
||||
|
||||
memcpy(&lv_lists_tight, &lv_lists_def, sizeof(lv_lists_t));
|
||||
lv_lists_tight.bg_pages.bg_rects.vpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.bg_rects.hpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.bg_rects.opad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.bg_rects.vpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_tight.bg_pages.bg_rects.hpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_tight.bg_pages.bg_rects.opad = 0 * LV_DOWNSCALE;
|
||||
|
||||
lv_lists_tight.bg_pages.scrable_rects.vpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.scrable_rects.hpad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.scrable_rects.opad = 0 * LV_STYLE_MULT;
|
||||
lv_lists_tight.bg_pages.scrable_rects.vpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_tight.bg_pages.scrable_rects.hpad = 0 * LV_DOWNSCALE;
|
||||
lv_lists_tight.bg_pages.scrable_rects.opad = 0 * LV_DOWNSCALE;
|
||||
|
||||
}
|
||||
#endif
|
||||
|
@ -65,7 +65,7 @@ typedef struct
|
||||
**********************/
|
||||
lv_obj_t * lv_list_create(lv_obj_t * par, lv_obj_t * copy);
|
||||
bool lv_list_signal(lv_obj_t * list, lv_signal_t sign, void * param);
|
||||
lv_obj_t * lv_list_add(lv_obj_t * list, const char * img_fn, const char * txt, bool (*rel_action)(lv_obj_t *, lv_dispi_t *));
|
||||
lv_obj_t * lv_list_add(lv_obj_t * list, const char * img_fn, const char * txt, lv_action_t rel_action);
|
||||
lv_lists_t * lv_lists_get(lv_lists_builtin_t style, lv_lists_t * copy);
|
||||
|
||||
void lv_list_down(lv_obj_t * list);
|
||||
|
412
lv_objx/lv_mbox.c
Normal file
412
lv_objx/lv_mbox.c
Normal file
@ -0,0 +1,412 @@
|
||||
/**
|
||||
* @file lv_mbox.c
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_conf.h"
|
||||
#if USE_LV_MBOX != 0
|
||||
|
||||
#include "lv_mbox.h"
|
||||
#include "../lv_misc/anim.h"
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define LV_MBOX_CLOSE_FADE_TIME 750 /*ms*/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* STATIC PROTOTYPES
|
||||
**********************/
|
||||
#if 0 /*Unused*/
|
||||
static bool lv_mbox_design(lv_obj_t * mbox, const area_t * mask, lv_design_mode_t mode);
|
||||
#endif
|
||||
static void lv_temps_init(void);
|
||||
static void lv_mbox_realign(lv_obj_t * mbox);
|
||||
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static lv_mboxs_t lv_mboxs_def; /*Default message box style*/
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL FUNCTIONS
|
||||
**********************/
|
||||
|
||||
/*-----------------
|
||||
* Create function
|
||||
*-----------------*/
|
||||
|
||||
/**
|
||||
* Create a message box objects
|
||||
* @param par pointer to an object, it will be the parent of the new message box
|
||||
* @param copy pointer to a message box object, if not NULL then the new object will be copied from it
|
||||
* @return pointer to the created message box
|
||||
*/
|
||||
lv_obj_t * lv_mbox_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
{
|
||||
/*Create the ancestor message box*/
|
||||
lv_obj_t * new_mbox = lv_rect_create(par, copy);
|
||||
dm_assert(new_mbox);
|
||||
|
||||
/*Allocate the message box type specific extended data*/
|
||||
lv_mbox_ext_t * ext = lv_obj_alloc_ext(new_mbox, sizeof(lv_mbox_ext_t));
|
||||
dm_assert(ext);
|
||||
|
||||
/*The signal and design functions are not copied so set them here*/
|
||||
lv_obj_set_signal_f(new_mbox, lv_mbox_signal);
|
||||
|
||||
/* Let the design function of rect
|
||||
lv_obj_set_design_f(new_mbox, lv_mbox_design); */
|
||||
|
||||
/*Init the new message box message box*/
|
||||
if(copy == NULL) {
|
||||
lv_rect_set_layout(new_mbox, LV_RECT_LAYOUT_COL_L);
|
||||
lv_rect_set_fit(new_mbox, true, true);
|
||||
|
||||
ext->title = lv_label_create(new_mbox, NULL);
|
||||
lv_label_set_text(ext->title, "MESSAGE BOX");
|
||||
|
||||
ext->txt = lv_label_create(new_mbox, NULL);
|
||||
lv_label_set_text(ext->txt, "Text of the message box");
|
||||
|
||||
ext->btnh = lv_rect_create(new_mbox, NULL);
|
||||
lv_rect_set_fit(ext->btnh, false, true);
|
||||
lv_rect_set_layout(ext->btnh, LV_RECT_LAYOUT_PRETTY);
|
||||
|
||||
lv_obj_set_style(new_mbox, lv_mboxs_get(LV_MBOXS_DEF, NULL));
|
||||
|
||||
lv_mbox_realign(new_mbox);
|
||||
}
|
||||
/*Copy an existing message box*/
|
||||
else {
|
||||
// lv_mbox_ext_t * copy_ext = lv_obj_get_ext(copy);
|
||||
/*TODO*/
|
||||
}
|
||||
|
||||
return new_mbox;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signal function of the message box
|
||||
* @param mbox pointer to a message box object
|
||||
* @param sign a signal type from lv_signal_t enum
|
||||
* @param param pointer to a signal specific variable
|
||||
* @return true: the object is still valid (not deleted), false: the object become invalid
|
||||
*/
|
||||
bool lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param)
|
||||
{
|
||||
bool valid;
|
||||
|
||||
/* Include the ancient signal function */
|
||||
valid = lv_rect_signal(mbox, sign, param);
|
||||
|
||||
/* The object can be deleted so check its validity and then
|
||||
* make the object specific signal handling */
|
||||
if(valid != false) {
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
lv_mboxs_t * style = lv_obj_get_style(mbox);
|
||||
lv_obj_t * btn;
|
||||
|
||||
switch(sign) {
|
||||
case LV_SIGNAL_CLEANUP:
|
||||
/*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/
|
||||
break;
|
||||
case LV_SIGNAL_CORD_CHG:
|
||||
/*If the size is changed refresh the message box*/
|
||||
if(area_get_width(param) != lv_obj_get_width(mbox) ||
|
||||
area_get_height(param) != lv_obj_get_height(mbox)) {
|
||||
lv_mbox_realign(mbox);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_STYLE_CHG:
|
||||
lv_obj_set_style(ext->title, &style->title);
|
||||
lv_obj_set_style(ext->txt, &style->txt);
|
||||
lv_obj_set_style(ext->btnh, &style->btnh);
|
||||
|
||||
/*Refresh all the buttons*/
|
||||
btn = lv_obj_get_child(ext->btnh, NULL);
|
||||
while(btn != NULL) {
|
||||
/*Refresh the next button's style*/
|
||||
lv_obj_set_style(btn, &style->btn);
|
||||
lv_obj_set_size(btn, style->btn_w, style->btn_h);
|
||||
|
||||
/*Refresh the button label too*/
|
||||
lv_obj_set_style(lv_obj_get_child(btn, NULL), &style->btn_label);
|
||||
btn = lv_obj_get_child(ext->btnh, NULL);
|
||||
}
|
||||
|
||||
/*Hide the title and/or buttons*/
|
||||
lv_obj_set_hidden(ext->title, style->hide_title == 0 ? false : true);
|
||||
|
||||
if(style->hide_btns != 0 || lv_obj_get_child_num(ext->btnh) != 0) {
|
||||
lv_obj_set_hidden(ext->btnh, true);
|
||||
} else {
|
||||
lv_obj_set_hidden(ext->btnh, false);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
/*=====================
|
||||
* Setter functions
|
||||
*====================*/
|
||||
|
||||
/**
|
||||
* Add a button to the message box
|
||||
* @param mbox pointer to message box object
|
||||
* @param btn_txt the text of the button
|
||||
* @param rel_action a function which will be called when the button is relesed
|
||||
* @return pointer to the created button (lv_btn)
|
||||
*/
|
||||
lv_obj_t * lv_mbox_add_btn(lv_obj_t * mbox, const char * btn_txt, lv_action_t rel_action)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
lv_mboxs_t * style = lv_obj_get_style(mbox);
|
||||
|
||||
lv_obj_t * btn;
|
||||
btn = lv_btn_create(ext->btnh, NULL);
|
||||
lv_btn_set_rel_action(btn, rel_action);
|
||||
lv_obj_set_style(btn, &style->btn);
|
||||
lv_obj_set_size(btn, style->btn_w, style->btn_h);
|
||||
|
||||
lv_obj_t * label;
|
||||
label = lv_label_create(btn, NULL);
|
||||
lv_obj_set_style(label, &style->btn_label);
|
||||
lv_label_set_text(label, btn_txt);
|
||||
|
||||
/*With 1 button set center layout but from 3 set grid*/
|
||||
uint16_t child_num = lv_obj_get_child_num(ext->btnh);
|
||||
if(child_num == 1) {
|
||||
lv_rect_set_layout(ext->btnh, LV_RECT_LAYOUT_CENTER);
|
||||
} else if (child_num == 2) {
|
||||
lv_rect_set_layout(ext->btnh, LV_RECT_LAYOUT_PRETTY);
|
||||
}
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
/**
|
||||
* A release action which can be assigned to a message box button to close it
|
||||
* @param btn pointer to the released button
|
||||
* @param dispi pointer to the caller display input
|
||||
* @return always false because the button is deleted with the mesage box
|
||||
*/
|
||||
bool lv_mbox_close_action(lv_obj_t * btn, lv_dispi_t * dispi)
|
||||
{
|
||||
lv_obj_t * mbox = lv_mbox_get_from_btn(btn);
|
||||
|
||||
lv_obj_del(mbox);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Automatically delete the message box after a given time
|
||||
* @param mbox pointer to a message box object
|
||||
* @param tout a time (in milliseconds) to wait before delete the message box
|
||||
*/
|
||||
void lv_mbox_auto_close(lv_obj_t * mbox, uint16_t tout)
|
||||
{
|
||||
|
||||
lv_obj_anim(mbox, LV_ANIM_FADE | ANIM_OUT, LV_MBOX_CLOSE_FADE_TIME, tout, lv_obj_del);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the title of the message box
|
||||
* @param mbox pointer to a message box
|
||||
* @param title a '\0' terminated character string which will be the message box title
|
||||
*/
|
||||
void lv_mbox_set_title(lv_obj_t * mbox, const char * title)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
|
||||
lv_label_set_text(ext->title, title);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text of the message box
|
||||
* @param mbox pointer to a message box
|
||||
* @param txt a '\0' terminated character string which will be the message box text
|
||||
*/
|
||||
void lv_mbox_set_txt(lv_obj_t * mbox, const char * txt)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
|
||||
lv_label_set_text(ext->txt, txt);
|
||||
}
|
||||
|
||||
|
||||
/*=====================
|
||||
* Getter functions
|
||||
*====================*/
|
||||
|
||||
/**
|
||||
* get the title of the message box
|
||||
* @param mbox pointer to a message box object
|
||||
* @return pointer to the title of the message box
|
||||
*/
|
||||
const char * lv_mbox_get_title(lv_obj_t * mbox)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
|
||||
return lv_label_get_text(ext->title);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the text of the message box
|
||||
* @param mbox pointer to a message box object
|
||||
* @return pointer to the text of the message box
|
||||
*/
|
||||
const char * lv_mbox_get_txt(lv_obj_t * mbox)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
|
||||
return lv_label_get_text(ext->txt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the message box object from one of its button.
|
||||
* It is useful in the button release actions where only the button is known
|
||||
* @param btn pointer to a button of a message box
|
||||
* @return pointer to the button's message box
|
||||
*/
|
||||
lv_obj_t * lv_mbox_get_from_btn(lv_obj_t * btn)
|
||||
{
|
||||
lv_obj_t * btnh = lv_obj_get_parent(btn);
|
||||
lv_obj_t * mbox = lv_obj_get_parent(btnh);
|
||||
|
||||
return mbox;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return with a pointer to a built-in style and/or copy it to a variable
|
||||
* @param style a style name from lv_mboxs_builtin_t enum
|
||||
* @param copy copy the style to this variable. (NULL if unused)
|
||||
* @return pointer to an lv_mboxs_t style
|
||||
*/
|
||||
lv_mboxs_t * lv_mboxs_get(lv_mboxs_builtin_t style, lv_mboxs_t * copy)
|
||||
{
|
||||
static bool style_inited = false;
|
||||
|
||||
/*Make the style initialization if it is not done yet*/
|
||||
if(style_inited == false) {
|
||||
lv_temps_init();
|
||||
style_inited = true;
|
||||
}
|
||||
|
||||
lv_mboxs_t *style_p;
|
||||
|
||||
switch(style) {
|
||||
case LV_MBOXS_DEF:
|
||||
case LV_MBOXS_INFO:
|
||||
case LV_MBOXS_WARN:
|
||||
case LV_MBOXS_ERR:
|
||||
case LV_MBOXS_BUBBLE:
|
||||
style_p = &lv_mboxs_def;
|
||||
break;
|
||||
default:
|
||||
style_p = &lv_mboxs_def;
|
||||
}
|
||||
|
||||
if(copy != NULL) {
|
||||
if(style_p != NULL) memcpy(copy, style_p, sizeof(lv_mboxs_t));
|
||||
else memcpy(copy, &lv_mboxs_def, sizeof(lv_mboxs_t));
|
||||
}
|
||||
|
||||
return style_p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* STATIC FUNCTIONS
|
||||
**********************/
|
||||
|
||||
#if 0 /*Not used*/
|
||||
/**
|
||||
* Handle the drawing related tasks of the message boxs
|
||||
* @param mbox pointer to an object
|
||||
* @param mask the object will be drawn only in this area
|
||||
* @param mode LV_DESIGN_COVER_CHK: only check if the object fully covers the 'mask_p' area
|
||||
* (return 'true' if yes)
|
||||
* LV_DESIGN_DRAW: draw the object (always return 'true')
|
||||
* LV_DESIGN_DRAW_POST: drawing after every children are drawn
|
||||
* @param return true/false, depends on 'mode'
|
||||
*/
|
||||
static bool lv_mbox_design(lv_obj_t * mbox, const area_t * mask, lv_design_mode_t mode)
|
||||
{
|
||||
if(mode == LV_DESIGN_COVER_CHK) {
|
||||
/*Return false if the object is not covers the mask_p area*/
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/*Draw the object*/
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Initialize the message box styles
|
||||
*/
|
||||
static void lv_temps_init(void)
|
||||
{
|
||||
/*Default style*/
|
||||
lv_rects_get(LV_RECTS_DEF, &lv_mboxs_def.bg);
|
||||
lv_mboxs_def.bg.light = 10 * LV_DOWNSCALE;
|
||||
|
||||
lv_btns_get(LV_BTNS_DEF, &lv_mboxs_def.btn);
|
||||
lv_mboxs_def.btn.flags[LV_BTN_STATE_PR].light_en = 0;
|
||||
lv_mboxs_def.btn.flags[LV_BTN_STATE_REL].light_en = 0;
|
||||
lv_labels_get(LV_LABELS_TITLE, &lv_mboxs_def.title);
|
||||
lv_labels_get(LV_LABELS_TXT, &lv_mboxs_def.txt);
|
||||
lv_labels_get(LV_LABELS_BTN, &lv_mboxs_def.btn_label);
|
||||
lv_rects_get(LV_RECTS_TRANSP, &lv_mboxs_def.btnh);
|
||||
lv_mboxs_def.btnh.hpad = 0;
|
||||
lv_mboxs_def.btnh.vpad = 0;
|
||||
|
||||
lv_mboxs_def.btn_w = 80 * LV_DOWNSCALE;
|
||||
lv_mboxs_def.btn_h = 50 * LV_DOWNSCALE;
|
||||
lv_mboxs_def.hide_btns = 0;
|
||||
lv_mboxs_def.hide_title = 0;
|
||||
|
||||
/*TODO add further styles*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Realign the elements of the message box
|
||||
* @param mbox pointer to message box object
|
||||
*/
|
||||
static void lv_mbox_realign(lv_obj_t * mbox)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext(mbox);
|
||||
lv_mboxs_t * style = lv_obj_get_style(mbox);
|
||||
|
||||
if(ext->btnh == NULL || ext->title == NULL || ext->txt == NULL) return;
|
||||
|
||||
lv_obj_set_width(ext->btnh, lv_obj_get_width(mbox) - 2 * style->bg.hpad);
|
||||
|
||||
lv_obj_align(mbox, NULL, LV_ALIGN_CENTER, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
88
lv_objx/lv_mbox.h
Normal file
88
lv_objx/lv_mbox.h
Normal file
@ -0,0 +1,88 @@
|
||||
/**
|
||||
* @file lv_mbox.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_MBOX_H
|
||||
#define LV_MBOX_H
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
#include "lv_conf.h"
|
||||
#if USE_LV_MBOX != 0
|
||||
|
||||
#include "../lv_obj/lv_obj.h"
|
||||
#include "lv_rect.h"
|
||||
#include "lv_btn.h"
|
||||
#include "lv_label.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/*Style of message box*/
|
||||
typedef struct
|
||||
{
|
||||
lv_rects_t bg; /*Style of ancestor*/
|
||||
/*New style element for this type */
|
||||
lv_labels_t title;
|
||||
lv_labels_t txt;
|
||||
lv_rects_t btnh;
|
||||
lv_btns_t btn;
|
||||
lv_labels_t btn_label;
|
||||
cord_t btn_w;
|
||||
cord_t btn_h;
|
||||
uint8_t hide_title :1;
|
||||
uint8_t hide_btns :1;
|
||||
}lv_mboxs_t;
|
||||
|
||||
/*Built-in styles of message box*/
|
||||
typedef enum
|
||||
{
|
||||
LV_MBOXS_DEF,
|
||||
LV_MBOXS_INFO,
|
||||
LV_MBOXS_WARN,
|
||||
LV_MBOXS_ERR,
|
||||
LV_MBOXS_BUBBLE,
|
||||
}lv_mboxs_builtin_t;
|
||||
|
||||
/*Data of message box*/
|
||||
typedef struct
|
||||
{
|
||||
lv_rect_ext_t rect; /*Ext. of ancestor*/
|
||||
/*New data for this type */
|
||||
lv_obj_t * title;
|
||||
lv_obj_t * txt;
|
||||
lv_obj_t * btnh;
|
||||
}lv_mbox_ext_t;
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
lv_obj_t * lv_mbox_create(lv_obj_t * par, lv_obj_t * copy);
|
||||
bool lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param);
|
||||
lv_mboxs_t * lv_mboxs_get(lv_mboxs_builtin_t style, lv_mboxs_t * copy);
|
||||
|
||||
lv_obj_t * lv_mbox_add_btn(lv_obj_t * mbox, const char * btn_txt, lv_action_t rel_action);
|
||||
bool lv_mbox_close_action (lv_obj_t * mbox, lv_dispi_t *dispi);
|
||||
void lv_mbox_auto_close(lv_obj_t * mbox, uint16_t tout);
|
||||
void lv_mbox_set_title(lv_obj_t * mbox, const char * title);
|
||||
void lv_mbox_set_txt(lv_obj_t * mbox, const char * txt);
|
||||
|
||||
const char * lv_mbox_get_title(lv_obj_t * mbox);
|
||||
const char * lv_mbox_get_txt(lv_obj_t * mbox);
|
||||
lv_obj_t * lv_mbox_get_from_btn(lv_obj_t * btn);
|
||||
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -56,25 +56,26 @@ static lv_templs_t lv_templs_def; /*Default template style*/
|
||||
*/
|
||||
lv_obj_t * lv_templ_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
{
|
||||
/*Create the ancestor templect*/
|
||||
lv_templ_t * new_templ = lv_templ_create(par, copy);
|
||||
/*Create the ancestor template*/
|
||||
/*TODO modify it to the ancestor create function */
|
||||
lv_obj_t * new_templ = lv_obj_create(par, copy);
|
||||
dm_assert(new_templ);
|
||||
|
||||
/*Allocate the templect type specific extended data*/
|
||||
lv_templ_ext_t * ext = lv_templ_alloc_ext(new_templ, sizeof(lv_templ_ext_t));
|
||||
/*Allocate the template type specific extended data*/
|
||||
lv_templ_ext_t * ext = lv_obj_alloc_ext(new_templ, sizeof(lv_templ_ext_t));
|
||||
dm_assert(ext);
|
||||
|
||||
/*The signal and design functions are not copied so set them here*/
|
||||
lv_templ_set_signal_f(new_templ, lv_templ_signal);
|
||||
lv_templ_set_design_f(new_templ, lv_templ_design);
|
||||
lv_obj_set_signal_f(new_templ, lv_templ_signal);
|
||||
lv_obj_set_design_f(new_templ, lv_templ_design);
|
||||
|
||||
/*Init the new template templect*/
|
||||
/*Init the new template template*/
|
||||
if(copy == NULL) {
|
||||
|
||||
}
|
||||
/*Copy an existing templect*/
|
||||
/*Copy an existing template*/
|
||||
else {
|
||||
lv_templ_ext_t * copy_ext = lv_templ_get_ext(copy);
|
||||
lv_templ_ext_t * copy_ext = lv_obj_get_ext(copy);
|
||||
}
|
||||
|
||||
return new_templ;
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "../lv_objx/lv_rect.h"
|
||||
#include "../lv_draw/lv_draw.h"
|
||||
#include "../lv_obj/lv_refr.h"
|
||||
#include "../lv_misc/anim.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
@ -153,8 +154,23 @@ bool lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param)
|
||||
break;
|
||||
|
||||
case LV_SIGNAL_CORD_CHG:
|
||||
lv_page_sb_refresh(page);
|
||||
if(ext->scrolling != NULL) {
|
||||
ext->scrolling->signal_f(ext->scrolling, LV_SIGNAL_CORD_CHG, &ext->scrolling->cords);
|
||||
lv_page_sb_refresh(page);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_PRESSED:
|
||||
if(ext->pr_action != NULL) {
|
||||
ext->pr_action(page, param);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_RELEASED:
|
||||
if(lv_dispi_is_dragging(param) == false) {
|
||||
if(ext->rel_action != NULL) {
|
||||
ext->rel_action(page, param);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -263,6 +279,18 @@ static bool lv_scrolling_signal(lv_obj_t * scrolling, lv_signal_t sign, void* pa
|
||||
lv_inv_area(&page_ext->sbv);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_PRESSED:
|
||||
if(page_ext->pr_action != NULL) {
|
||||
page_ext->pr_action(page, param);
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_RELEASED:
|
||||
if(lv_dispi_is_dragging(param) == false) {
|
||||
if(page_ext->rel_action != NULL) {
|
||||
page_ext->rel_action(page, param);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -277,21 +305,121 @@ static bool lv_scrolling_signal(lv_obj_t * scrolling, lv_signal_t sign, void* pa
|
||||
*====================*/
|
||||
|
||||
/**
|
||||
* Glue the object to the page. After it the page can be moved (dragged) with this object too.
|
||||
* @param page pointer to an object on a page
|
||||
* @param glue true: enable glue, false: disable glue
|
||||
* Set a release action for the page
|
||||
* @param page pointer to a page object
|
||||
* @param rel_action a function to call when the page is released
|
||||
*/
|
||||
void lv_page_glue_obj(lv_obj_t * page, bool glue)
|
||||
void lv_page_set_rel_action(lv_obj_t * page, lv_action_t rel_action)
|
||||
{
|
||||
lv_obj_set_drag_parent(page, glue);
|
||||
lv_obj_set_drag(page, glue);
|
||||
lv_page_ext_t * ext = lv_obj_get_ext(page);
|
||||
ext->rel_action = rel_action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a press action for the page
|
||||
* @param page pointer to a page object
|
||||
* @param pr_action a function to call when the page is pressed
|
||||
*/
|
||||
void lv_page_set_pr_action(lv_obj_t * page, lv_action_t pr_action)
|
||||
{
|
||||
lv_page_ext_t * ext = lv_obj_get_ext(page);
|
||||
ext->pr_action = pr_action;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Glue the object to the page. After it the page can be moved (dragged) with this object too.
|
||||
* @param obj pointer to an object on a page
|
||||
* @param glue true: enable glue, false: disable glue
|
||||
*/
|
||||
void lv_page_glue_obj(lv_obj_t * obj, bool glue)
|
||||
{
|
||||
lv_obj_set_drag_parent(obj, glue);
|
||||
lv_obj_set_drag(obj, glue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Focus on an object. It ensures that the object will be visible on the page.
|
||||
* @param page pointer to a page object
|
||||
* @param obj pointer to an object to focus (must be on the page)
|
||||
* @param anim_en true: scroll with animation
|
||||
*/
|
||||
void lv_page_focus(lv_obj_t * page, lv_obj_t * obj, bool anim_en)
|
||||
{
|
||||
|
||||
lv_page_ext_t * ext = lv_obj_get_ext(page);
|
||||
lv_pages_t * style = lv_obj_get_style(page);
|
||||
|
||||
cord_t obj_y = lv_obj_get_y(obj);
|
||||
cord_t obj_h = lv_obj_get_height(obj);
|
||||
cord_t scrlable_y = lv_obj_get_y(ext->scrolling);
|
||||
cord_t page_h = lv_obj_get_height(page);
|
||||
|
||||
bool refr = false;
|
||||
|
||||
cord_t top_err = -(scrlable_y + obj_y);
|
||||
cord_t bot_err = scrlable_y + obj_y + obj_h - page_h;
|
||||
|
||||
/*If obj is higher then the page focus where the "error" is smaller*/
|
||||
/*Out of the page on the top*/
|
||||
if((obj_h <= page_h && top_err > 0) ||
|
||||
(obj_h > page_h && top_err >= bot_err)) {
|
||||
/*Calculate a new position and to let scrable_rects.vpad space above*/
|
||||
scrlable_y = -(obj_y - style->scrable_rects.vpad - style->bg_rects.vpad);
|
||||
scrlable_y += style->scrable_rects.vpad;
|
||||
refr = true;
|
||||
}
|
||||
/*Out of the page on the bottom*/
|
||||
else if((obj_h <= page_h && bot_err > 0) ||
|
||||
(obj_h > page_h && top_err < bot_err)) {
|
||||
/*Calculate a new position and to let scrable_rects.vpad space below*/
|
||||
scrlable_y = -obj_y;
|
||||
scrlable_y += page_h - obj_h;
|
||||
scrlable_y -= style->scrable_rects.vpad;
|
||||
refr = true;
|
||||
}
|
||||
|
||||
if(refr != false) {
|
||||
#if LV_PAGE_ANIM_FOCUS_TIME == 0
|
||||
lv_obj_set_y(ext->scrolling, scrlable_y);
|
||||
#else
|
||||
if(anim_en == false) {
|
||||
lv_obj_set_y(ext->scrolling, scrlable_y);
|
||||
} else {
|
||||
anim_t a;
|
||||
a.act_time = 0;
|
||||
a.start = lv_obj_get_y(ext->scrolling);
|
||||
a.end = scrlable_y;
|
||||
a.time = LV_PAGE_ANIM_FOCUS_TIME;//anim_speed_to_time(LV_PAGE_ANIM_SPEED, a.start, a.end);
|
||||
a.end_cb = NULL;
|
||||
a.playback = 0;
|
||||
a.repeat = 0;
|
||||
a.var = ext->scrolling;
|
||||
a.path = anim_get_path(ANIM_PATH_LIN);
|
||||
|
||||
a.fp = (anim_fp_t) lv_obj_set_y;
|
||||
anim_create(&a);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*=====================
|
||||
* Getter functions
|
||||
*====================*/
|
||||
|
||||
/**
|
||||
* Get the scrollable object of a page-
|
||||
* @param page pointer to page object
|
||||
* @return pointer to rectangle which is the scrollable part of the page
|
||||
*/
|
||||
lv_obj_t * lv_page_get_scrable(lv_obj_t * page)
|
||||
{
|
||||
lv_page_ext_t * ext = lv_obj_get_ext(page);
|
||||
|
||||
return ext->scrolling;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return with a pointer to a built-in style and/or copy it to a variable
|
||||
* @param style a style name from lv_pages_builtin_t enum
|
||||
@ -388,8 +516,12 @@ static void lv_page_sb_refresh(lv_obj_t * page)
|
||||
cord_t page_x0 = page->cords.x1;
|
||||
cord_t page_y0 = page->cords.y1;
|
||||
|
||||
lv_inv_area(&page_ext->sbh);
|
||||
lv_inv_area(&page_ext->sbv);
|
||||
|
||||
if(pages->sb_mode == LV_PAGE_SB_MODE_OFF) return;
|
||||
|
||||
/*Invalidate the current (old) scrollbar areas*/
|
||||
if(page_ext->sbh_draw != 0) lv_inv_area(&page_ext->sbh);
|
||||
if(page_ext->sbv_draw != 0) lv_inv_area(&page_ext->sbv);
|
||||
|
||||
/*Horizontal scrollbar*/
|
||||
if(scrolling_w <= obj_w - 2 * hpad) { /*Full sized scroll bar*/
|
||||
@ -424,9 +556,10 @@ static void lv_page_sb_refresh(lv_obj_t * page)
|
||||
(-(lv_obj_get_y(scrolling) - vpad) * (obj_h - size_tmp - pages->sb_width)) /
|
||||
(scrolling_h - obj_h + 2 * vpad));
|
||||
}
|
||||
|
||||
lv_inv_area(&page_ext->sbh);
|
||||
lv_inv_area(&page_ext->sbv);
|
||||
|
||||
/*Invalidate the new scrollbar areas*/
|
||||
if(page_ext->sbh_draw != 0) lv_inv_area(&page_ext->sbh);
|
||||
if(page_ext->sbv_draw != 0) lv_inv_area(&page_ext->sbv);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -446,10 +579,10 @@ static void lv_pages_init(void)
|
||||
lv_pages_def.sb_rects.objs.color = COLOR_BLACK;
|
||||
lv_pages_def.sb_rects.gcolor = COLOR_BLACK;
|
||||
lv_pages_def.sb_rects.bcolor = COLOR_WHITE;
|
||||
lv_pages_def.sb_rects.bwidth = 1 * LV_STYLE_MULT;
|
||||
lv_pages_def.sb_rects.round = 5 * LV_STYLE_MULT;
|
||||
lv_pages_def.sb_rects.bwidth = 1 * LV_DOWNSCALE;
|
||||
lv_pages_def.sb_rects.round = 5 * LV_DOWNSCALE;
|
||||
|
||||
lv_pages_def.sb_width= 8 * LV_STYLE_MULT;
|
||||
lv_pages_def.sb_width= 8 * LV_DOWNSCALE;
|
||||
lv_pages_def.sb_opa=50;
|
||||
lv_pages_def.sb_mode = LV_PAGE_SB_MODE_AUTO;
|
||||
|
||||
|
@ -29,6 +29,7 @@ typedef enum
|
||||
LV_PAGE_SB_MODE_AUTO,
|
||||
}lv_page_sb_mode_t;
|
||||
|
||||
|
||||
/*Style of page*/
|
||||
typedef struct
|
||||
{
|
||||
@ -54,6 +55,8 @@ typedef struct
|
||||
lv_rect_ext_t rect_ext; /*Ext. of ancestor*/
|
||||
/*New data for this type */
|
||||
lv_obj_t * scrolling; /*The scrollable object on the background*/
|
||||
lv_action_t rel_action;
|
||||
lv_action_t pr_action;
|
||||
area_t sbh; /*Horizontal scrollbar*/
|
||||
area_t sbv; /*Vertical scrollbar*/
|
||||
uint8_t sbh_draw :1; /*1: horizontal scrollbar is visible now*/
|
||||
@ -61,16 +64,20 @@ typedef struct
|
||||
}lv_page_ext_t;
|
||||
|
||||
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
/*Create function*/
|
||||
lv_obj_t * lv_page_create(lv_obj_t * par, lv_obj_t * copy);
|
||||
void lv_page_glue_obj(lv_obj_t * page, bool glue);
|
||||
lv_pages_t * lv_pages_get(lv_pages_builtin_t style, lv_pages_t * copy);
|
||||
bool lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param);
|
||||
|
||||
void lv_page_set_rel_action(lv_obj_t * page, lv_action_t rel_action);
|
||||
void lv_page_set_pr_action(lv_obj_t * page, lv_action_t pr_action);
|
||||
void lv_page_glue_obj(lv_obj_t * page, bool glue);
|
||||
void lv_page_focus(lv_obj_t * page, lv_obj_t * obj, bool anim_en);
|
||||
lv_obj_t * lv_page_get_scrable(lv_obj_t * page);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
@ -41,6 +41,7 @@ static void lv_rect_refr_layout(lv_obj_t * rect);
|
||||
static void lv_rect_layout_col(lv_obj_t * rect);
|
||||
static void lv_rect_layout_row(lv_obj_t * rect);
|
||||
static void lv_rect_layout_center(lv_obj_t * rect);
|
||||
static void lv_rect_layout_pretty(lv_obj_t * rect);
|
||||
static void lv_rect_layout_grid(lv_obj_t * rect);
|
||||
static void lv_rect_refr_autofit(lv_obj_t * rect);
|
||||
static void lv_rects_init(void);
|
||||
@ -364,6 +365,9 @@ static void lv_rect_refr_layout(lv_obj_t * rect)
|
||||
{
|
||||
lv_rect_layout_t type = lv_rect_get_layout(rect);
|
||||
|
||||
/*'rect' has to be at least 1 child*/
|
||||
if(lv_obj_get_child(rect, NULL) == NULL) return;
|
||||
|
||||
if(type == LV_RECT_LAYOUT_OFF) return;
|
||||
|
||||
if(type == LV_RECT_LAYOUT_CENTER) {
|
||||
@ -372,7 +376,9 @@ static void lv_rect_refr_layout(lv_obj_t * rect)
|
||||
lv_rect_layout_col(rect);
|
||||
} else if(type == LV_RECT_LAYOUT_ROW_T || type == LV_RECT_LAYOUT_ROW_M || type == LV_RECT_LAYOUT_ROW_B) {
|
||||
lv_rect_layout_row(rect);
|
||||
} else if(type == LV_RECT_LAYOUT_GRID) {
|
||||
} else if(type == LV_RECT_LAYOUT_PRETTY) {
|
||||
lv_rect_layout_pretty(rect);
|
||||
} else if(type == LV_RECT_LAYOUT_GRID) {
|
||||
lv_rect_layout_grid(rect);
|
||||
}
|
||||
}
|
||||
@ -405,6 +411,7 @@ static void lv_rect_layout_col(lv_obj_t * rect)
|
||||
align = LV_ALIGN_IN_TOP_RIGHT;
|
||||
break;
|
||||
default:
|
||||
hpad_corr = 0;
|
||||
align = LV_ALIGN_IN_TOP_LEFT;
|
||||
break;
|
||||
}
|
||||
@ -510,11 +517,11 @@ static void lv_rect_layout_center(lv_obj_t * rect)
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the grid layout. Put as many object as possible in row
|
||||
* Handle the pretty layout. Put as many object as possible in row
|
||||
* then begin a new row
|
||||
* @param rect pointer to an object which layout should be handled
|
||||
*/
|
||||
static void lv_rect_layout_grid(lv_obj_t * rect)
|
||||
static void lv_rect_layout_pretty(lv_obj_t * rect)
|
||||
{
|
||||
lv_obj_t * child_rs; /* Row starter child */
|
||||
lv_obj_t * child_rc; /* Row closer child */
|
||||
@ -585,6 +592,56 @@ static void lv_rect_layout_grid(lv_obj_t * rect)
|
||||
rect->child_chg_off = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the grid layout. Align same-sized objects in a grid
|
||||
* @param rect pointer to an object which layout should be handled
|
||||
*/
|
||||
static void lv_rect_layout_grid(lv_obj_t * rect)
|
||||
{
|
||||
lv_obj_t * child;
|
||||
lv_rects_t * style = lv_obj_get_style(rect);
|
||||
cord_t w_tot = lv_obj_get_width(rect);
|
||||
cord_t w_obj = lv_obj_get_width(lv_obj_get_child(rect, NULL));
|
||||
cord_t h_obj = lv_obj_get_height(lv_obj_get_child(rect, NULL));
|
||||
uint16_t obj_row = (w_tot - (2 * style->hpad)) / (w_obj + style->opad); /*Obj. num. in a row*/
|
||||
cord_t x_ofs;
|
||||
if(obj_row > 1) {
|
||||
x_ofs = w_obj + (w_tot - (2 * style->hpad) - (obj_row * w_obj)) / (obj_row - 1);
|
||||
} else {
|
||||
x_ofs = w_tot / 2 - w_obj / 2;
|
||||
}
|
||||
cord_t y_ofs = h_obj + style->opad;
|
||||
|
||||
/* Disable child change action because the children will be moved a lot
|
||||
* an unnecessary child change signals could be sent*/
|
||||
rect->child_chg_off = 1;
|
||||
|
||||
/* Align the children */
|
||||
cord_t act_x = style->hpad;
|
||||
cord_t act_y = style->vpad;
|
||||
uint16_t obj_cnt = 0;
|
||||
LL_READ_BACK(rect->child_ll, child) {
|
||||
if(lv_obj_get_hidden(child) != false) continue;
|
||||
|
||||
if(obj_row > 1) {
|
||||
lv_obj_set_pos(child, act_x, act_y);
|
||||
act_x += x_ofs;
|
||||
} else {
|
||||
lv_obj_set_pos(child, x_ofs, act_y);
|
||||
}
|
||||
obj_cnt ++;
|
||||
|
||||
if(obj_cnt >= obj_row) {
|
||||
obj_cnt = 0;
|
||||
act_x = style->hpad;
|
||||
act_y += y_ofs;
|
||||
}
|
||||
}
|
||||
|
||||
rect->child_chg_off = 0;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle auto fit. Set the size of the object to involve all children.
|
||||
* @param rect pointer to an object which size will be modified
|
||||
@ -598,7 +655,7 @@ void lv_rect_refr_autofit(lv_obj_t * rect)
|
||||
return;
|
||||
}
|
||||
|
||||
area_t rect_cords;
|
||||
area_t new_cords;
|
||||
area_t ori;
|
||||
lv_rects_t * style = lv_obj_get_style(rect);
|
||||
lv_obj_t * i;
|
||||
@ -607,48 +664,55 @@ void lv_rect_refr_autofit(lv_obj_t * rect)
|
||||
|
||||
/*Search the side coordinates of the children*/
|
||||
lv_obj_get_cords(rect, &ori);
|
||||
lv_obj_get_cords(rect, &rect_cords);
|
||||
lv_obj_get_cords(rect, &new_cords);
|
||||
|
||||
rect_cords.x1 = LV_CORD_MAX;
|
||||
rect_cords.y1 = LV_CORD_MAX;
|
||||
rect_cords.x2 = LV_CORD_MIN;
|
||||
rect_cords.y2 = LV_CORD_MIN;
|
||||
new_cords.x1 = LV_CORD_MAX;
|
||||
new_cords.y1 = LV_CORD_MAX;
|
||||
new_cords.x2 = LV_CORD_MIN;
|
||||
new_cords.y2 = LV_CORD_MIN;
|
||||
|
||||
LL_READ(rect->child_ll, i) {
|
||||
if(lv_obj_get_hidden(i) != false) continue;
|
||||
rect_cords.x1 = min(rect_cords.x1, i->cords.x1);
|
||||
rect_cords.y1 = min(rect_cords.y1, i->cords.y1);
|
||||
rect_cords.x2 = max(rect_cords.x2, i->cords.x2);
|
||||
rect_cords.y2 = max(rect_cords.y2, i->cords.y2);
|
||||
new_cords.x1 = min(new_cords.x1, i->cords.x1);
|
||||
new_cords.y1 = min(new_cords.y1, i->cords.y1);
|
||||
new_cords.x2 = max(new_cords.x2, i->cords.x2);
|
||||
new_cords.y2 = max(new_cords.y2, i->cords.y2);
|
||||
}
|
||||
|
||||
/*If the value is not the init value then the page has >=1 child.*/
|
||||
if(rect_cords.x1 != LV_CORD_MAX) {
|
||||
if(new_cords.x1 != LV_CORD_MAX) {
|
||||
if(ext->hfit_en != 0) {
|
||||
rect_cords.x1 -= hpad;
|
||||
rect_cords.x2 += hpad;
|
||||
new_cords.x1 -= hpad;
|
||||
new_cords.x2 += hpad;
|
||||
} else {
|
||||
rect_cords.x1 = rect->cords.x1;
|
||||
rect_cords.x2 = rect->cords.x2;
|
||||
new_cords.x1 = rect->cords.x1;
|
||||
new_cords.x2 = rect->cords.x2;
|
||||
}
|
||||
if(ext->vfit_en != 0) {
|
||||
rect_cords.y1 -= vpad;
|
||||
rect_cords.y2 += vpad;
|
||||
new_cords.y1 -= vpad;
|
||||
new_cords.y2 += vpad;
|
||||
} else {
|
||||
rect_cords.y1 = rect->cords.y1;
|
||||
rect_cords.y2 = rect->cords.y2;
|
||||
new_cords.y1 = rect->cords.y1;
|
||||
new_cords.y2 = rect->cords.y2;
|
||||
}
|
||||
|
||||
lv_obj_inv(rect);
|
||||
area_cpy(&rect->cords, &rect_cords);
|
||||
lv_obj_inv(rect);
|
||||
/*Do nothing if the coordinates are not changed*/
|
||||
if(rect->cords.x1 != new_cords.x1 ||
|
||||
rect->cords.y1 != new_cords.y1 ||
|
||||
rect->cords.x2 != new_cords.x2 ||
|
||||
rect->cords.y2 != new_cords.y2) {
|
||||
|
||||
/*Notify the object about its new coordinates*/
|
||||
rect->signal_f(rect, LV_SIGNAL_CORD_CHG, &ori);
|
||||
lv_obj_inv(rect);
|
||||
area_cpy(&rect->cords, &new_cords);
|
||||
lv_obj_inv(rect);
|
||||
|
||||
/*Inform the parent about the new coordinates*/
|
||||
lv_obj_t * par = lv_obj_get_parent(rect);
|
||||
par->signal_f(par, LV_SIGNAL_CHILD_CHG, rect);
|
||||
/*Notify the object about its new coordinates*/
|
||||
rect->signal_f(rect, LV_SIGNAL_CORD_CHG, &ori);
|
||||
|
||||
/*Inform the parent about the new coordinates*/
|
||||
lv_obj_t * par = lv_obj_get_parent(rect);
|
||||
par->signal_f(par, LV_SIGNAL_CHILD_CHG, rect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -661,13 +725,13 @@ static void lv_rects_init(void)
|
||||
lv_rects_def.objs.color = COLOR_MAKE(0x50, 0x70, 0x90);
|
||||
lv_rects_def.gcolor = COLOR_MAKE(0x70, 0xA0, 0xC0);
|
||||
lv_rects_def.bcolor = COLOR_WHITE;
|
||||
lv_rects_def.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_rects_def.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_rects_def.bopa = 50;
|
||||
lv_rects_def.round = 4 * LV_STYLE_MULT;
|
||||
lv_rects_def.round = 4 * LV_DOWNSCALE;
|
||||
lv_rects_def.empty = 0;
|
||||
lv_rects_def.hpad = 10 * LV_STYLE_MULT;
|
||||
lv_rects_def.vpad = 10 * LV_STYLE_MULT;
|
||||
lv_rects_def.opad = 10 * LV_STYLE_MULT;
|
||||
lv_rects_def.hpad = 10 * LV_DOWNSCALE;
|
||||
lv_rects_def.vpad = 10 * LV_DOWNSCALE;
|
||||
lv_rects_def.opad = 10 * LV_DOWNSCALE;
|
||||
lv_rects_def.light = 0;
|
||||
lv_rects_def.lcolor = COLOR_MAKE(0x60, 0x60, 0x60);
|
||||
|
||||
@ -680,9 +744,9 @@ static void lv_rects_init(void)
|
||||
/*Border style*/
|
||||
memcpy(&lv_rects_border, &lv_rects_def, sizeof(lv_rects_t));
|
||||
lv_rects_border.bcolor = COLOR_BLACK;
|
||||
lv_rects_border.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_rects_border.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_rects_border.bopa = 100;
|
||||
lv_rects_border.round = 4 * LV_STYLE_MULT;
|
||||
lv_rects_border.round = 4 * LV_DOWNSCALE;
|
||||
lv_rects_border.empty = 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -34,7 +34,8 @@ typedef enum
|
||||
LV_RECT_LAYOUT_ROW_T, /*Row left align*/
|
||||
LV_RECT_LAYOUT_ROW_M, /*Row middle align*/
|
||||
LV_RECT_LAYOUT_ROW_B, /*Row right align*/
|
||||
LV_RECT_LAYOUT_GRID, /*Put as many object as possible in row and begin a new row*/
|
||||
LV_RECT_LAYOUT_PRETTY, /*Put as many object as possible in row and begin a new row*/
|
||||
LV_RECT_LAYOUT_GRID, /*Align same-sized object into a grid*/
|
||||
}lv_rect_layout_t;
|
||||
|
||||
/*Style of rectangle*/
|
||||
|
@ -17,10 +17,6 @@
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define LV_TA_MAX_LENGTH 512
|
||||
#define LV_TA_DEF_WIDTH 120
|
||||
#define LV_TA_DEF_HEIGHT 80
|
||||
#define LV_TA_CUR_BLINK_TIME 400 /*ms*/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
@ -93,7 +89,7 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
lv_label_set_long_mode(ext->label, LV_LABEL_LONG_BREAK);
|
||||
lv_label_set_text(ext->label, "Text area");
|
||||
lv_page_glue_obj(ext->label, true);
|
||||
lv_obj_set_click(ext->label, true);
|
||||
lv_obj_set_click(ext->label, false);
|
||||
lv_obj_set_style(new_ta, lv_tas_get(LV_TAS_DEF, NULL));
|
||||
lv_obj_set_size_us(new_ta, LV_TA_DEF_WIDTH, LV_TA_DEF_HEIGHT);
|
||||
}
|
||||
@ -115,6 +111,8 @@ lv_obj_t * lv_ta_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
a.time = LV_TA_CUR_BLINK_TIME;
|
||||
a.act_time = 0;
|
||||
a.end_cb = NULL;
|
||||
a.start = 0;
|
||||
a.end= 1;
|
||||
a.repeat = 1;
|
||||
a.repeat_pause = 0;
|
||||
a.playback = 1;
|
||||
@ -230,7 +228,7 @@ void lv_ta_add_text(lv_obj_t * ta, const char * txt)
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text os a text area
|
||||
* Set the text of a text area
|
||||
* @param ta pointer to a text area
|
||||
* @param txt pointer to the text
|
||||
*/
|
||||
@ -539,10 +537,10 @@ static bool lv_ta_scrling_design(lv_obj_t * scrling, const area_t * mask, lv_des
|
||||
static void lv_ta_hide_cursor(lv_obj_t * ta, uint8_t hide)
|
||||
{
|
||||
lv_ta_ext_t * ta_ext = lv_obj_get_ext(ta);
|
||||
ta_ext->cur_hide = hide == 0 ? 0 : 1;
|
||||
|
||||
lv_obj_inv(ta);
|
||||
|
||||
if(hide != ta_ext->cur_hide) {
|
||||
ta_ext->cur_hide = hide == 0 ? 0 : 1;
|
||||
lv_obj_inv(ta);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -569,7 +567,7 @@ static void lv_tas_init(void)
|
||||
lv_tas_def.labels.objs.color = COLOR_MAKE(0x20, 0x20, 0x20);
|
||||
|
||||
lv_tas_def.cursor_color = COLOR_MAKE(0x10, 0x10, 0x10);
|
||||
lv_tas_def.cursor_width = 1 * LV_STYLE_MULT; /*>=1 px for visible cursor*/
|
||||
lv_tas_def.cursor_width = 1 * LV_DOWNSCALE; /*>=1 px for visible cursor*/
|
||||
lv_tas_def.cursor_show = 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -64,6 +64,7 @@ void lv_ta_add_char(lv_obj_t * ta, char c);
|
||||
void lv_ta_add_text(lv_obj_t * ta, const char * txt);
|
||||
void lv_ta_set_text(lv_obj_t * ta, const char * txt);
|
||||
void lv_ta_del(lv_obj_t * ta);
|
||||
|
||||
void lv_ta_set_cursor_pos(lv_obj_t * ta, int16_t pos);
|
||||
void lv_ta_cursor_right (lv_obj_t * ta);
|
||||
void lv_ta_cursor_left(lv_obj_t * taj);
|
||||
|
102
lv_objx/lv_win.c
102
lv_objx/lv_win.c
@ -14,8 +14,6 @@
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define LV_WIN_CTRL_BTN_DEF_W (30 * LV_DOWNSCALE)
|
||||
#define LV_WIN_CTRL_BTN_DEF_H (30 * LV_DOWNSCALE)
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
@ -50,7 +48,10 @@ static lv_wins_t lv_wins_def;
|
||||
/**
|
||||
* Create a window objects
|
||||
* @param par pointer to an object, it will be the parent of the new window
|
||||
* @param copy pointer to a window object, if not NULL then the new object will be copied from it
|
||||
* @param copy pointer to a window object, if not NULL then
|
||||
lv_win_add_ctrl_btn(app->win, "U:/close", lv_app_win_close_action);
|
||||
lv_win_add_ctrl_btn(app->win, "U:/close", lv_app_win_close_action);
|
||||
lv_win_add_ctrl_btn(app->win, "U:/close", lv_app_win_close_action);the new object will be copied from it
|
||||
* @return pointer to the created window
|
||||
*/
|
||||
lv_obj_t * lv_win_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
@ -72,6 +73,9 @@ lv_obj_t * lv_win_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
|
||||
/*Init the new window object*/
|
||||
if(copy == NULL) {
|
||||
/*Create a page for the content*/
|
||||
ext->content = lv_page_create(new_win, NULL);
|
||||
|
||||
/*Create a holder for the header*/
|
||||
ext->header = lv_rect_create(new_win, NULL);
|
||||
lv_rect_set_fit(ext->header, false, true);
|
||||
@ -85,9 +89,6 @@ lv_obj_t * lv_win_create(lv_obj_t * par, lv_obj_t * copy)
|
||||
lv_rect_set_fit(ext->ctrl_holder, true, false);
|
||||
lv_rect_set_layout(ext->ctrl_holder, LV_RECT_LAYOUT_ROW_M);
|
||||
|
||||
/*Create a page for the content*/
|
||||
ext->content = lv_page_create(new_win, NULL);
|
||||
|
||||
lv_obj_set_style(new_win, lv_wins_get(LV_WINS_DEF, NULL));
|
||||
|
||||
lv_win_realign(new_win);
|
||||
@ -149,15 +150,31 @@ bool lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param)
|
||||
lv_obj_set_style(ext->ctrl_holder, &style->ctrl_holder);
|
||||
lv_obj_set_style(ext->title, &style->title);
|
||||
lv_obj_set_style(ext->header, &style->header);
|
||||
lv_obj_set_opa(ext->header, style->header_opa);
|
||||
|
||||
if(style->header_opa == OPA_COVER || style->header_opa == OPA_TRANSP) {
|
||||
lv_obj_set_opa_protect(ext->header, false);
|
||||
} else {
|
||||
lv_obj_set_opa_protect(ext->header, true);
|
||||
}
|
||||
|
||||
/*Refresh the style of all control buttons*/
|
||||
child = lv_obj_get_child(ext->ctrl_holder, NULL);
|
||||
while(child != NULL) {
|
||||
lv_obj_set_style(child, &style->ctrl_btn);
|
||||
lv_obj_set_opa(child, style->ctrl_btn_opa);
|
||||
if(style->ctrl_btn_opa == OPA_COVER || style->ctrl_btn_opa == OPA_TRANSP) {
|
||||
lv_obj_set_opa_protect(child, false);
|
||||
} else {
|
||||
lv_obj_set_opa_protect(child, true);
|
||||
}
|
||||
/*Refresh the image style too*/
|
||||
lv_obj_set_style(lv_obj_get_child(child, NULL), &style->ctrl_img);
|
||||
child = lv_obj_get_child(ext->ctrl_holder, child);
|
||||
}
|
||||
|
||||
lv_win_realign(win);
|
||||
|
||||
break;
|
||||
case LV_SIGNAL_CHILD_CHG:
|
||||
/*If a child added move it to the 'content' object*/
|
||||
@ -170,6 +187,7 @@ bool lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param)
|
||||
}
|
||||
break;
|
||||
case LV_SIGNAL_CORD_CHG:
|
||||
/*If the size is changed refresh the window*/
|
||||
if(area_get_width(param) != lv_obj_get_width(win) ||
|
||||
area_get_height(param) != lv_obj_get_height(win)) {
|
||||
lv_win_realign(win);
|
||||
@ -194,15 +212,23 @@ bool lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param)
|
||||
* @param rel_action a function pointer to call when the button is released
|
||||
* @return pointer to the created button object
|
||||
*/
|
||||
lv_obj_t * lv_win_add_ctrl_btn(lv_obj_t * win, const char * img_path, bool (*rel_action)(lv_obj_t *, lv_dispi_t *))
|
||||
lv_obj_t * lv_win_add_ctrl_btn(lv_obj_t * win, const char * img_path, lv_action_t rel_action)
|
||||
{
|
||||
lv_win_ext_t * ext = lv_obj_get_ext(win);
|
||||
lv_wins_t * style = lv_obj_get_style(win);
|
||||
|
||||
lv_obj_t * btn = lv_btn_create(ext->ctrl_holder, NULL);
|
||||
lv_obj_set_style(btn, &style->ctrl_btn);
|
||||
lv_obj_set_opa(btn, style->ctrl_btn_opa);
|
||||
lv_obj_set_size(btn, style->ctrl_btn_w, style->ctrl_btn_h);
|
||||
lv_btn_set_rel_action(btn, rel_action);
|
||||
|
||||
if(style->ctrl_btn_opa == OPA_COVER || style->ctrl_btn_opa == OPA_TRANSP) {
|
||||
lv_obj_set_opa_protect(btn, false);
|
||||
} else {
|
||||
lv_obj_set_opa_protect(btn, true);
|
||||
}
|
||||
|
||||
lv_obj_t * img = lv_img_create(btn, NULL);
|
||||
lv_obj_set_click(img, false);
|
||||
lv_obj_set_style(img, &style->ctrl_img);
|
||||
@ -213,6 +239,21 @@ lv_obj_t * lv_win_add_ctrl_btn(lv_obj_t * win, const char * img_path, bool (*rel
|
||||
return btn;
|
||||
}
|
||||
|
||||
/**
|
||||
* A release action which can be assigned to a window control button to close it
|
||||
* @param btn pointer to the released button
|
||||
* @param dispi pointer to the caller display input
|
||||
* @return always false because the button is deleted with the window
|
||||
*/
|
||||
bool lv_win_close_action(lv_obj_t * btn, lv_dispi_t * dispi)
|
||||
{
|
||||
lv_obj_t * win = lv_win_get_from_ctrl_btn(btn);
|
||||
|
||||
lv_obj_del(win);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the title of a window
|
||||
* @param win pointer to a window object
|
||||
@ -238,7 +279,19 @@ const char * lv_win_get_title(lv_obj_t * win)
|
||||
{
|
||||
lv_win_ext_t * ext = lv_obj_get_ext(win);
|
||||
|
||||
return ext->title;
|
||||
return lv_label_get_text(ext->title);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the content object (lv_page type) of a window
|
||||
* @param win pointer to a window object
|
||||
* @return pointer to the content page object of a window
|
||||
*/
|
||||
lv_obj_t * lv_win_get_content(lv_obj_t * win)
|
||||
{
|
||||
lv_win_ext_t * ext = lv_obj_get_ext(win);
|
||||
|
||||
return ext->content;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -332,19 +385,21 @@ static void lv_wins_init(void)
|
||||
/*Transparent background. It will be always covered*/
|
||||
lv_objs_get(LV_OBJS_TRANSP, &lv_wins_def.bg);
|
||||
|
||||
/*Style for the content*/
|
||||
lv_pages_get(LV_PAGES_DEF, &lv_wins_def.content);
|
||||
lv_wins_def.content.bg_rects.objs.color = COLOR_WHITE;
|
||||
lv_wins_def.content.bg_rects.gcolor = COLOR_WHITE;
|
||||
lv_wins_def.content.bg_rects.bwidth = 1 * LV_STYLE_MULT;
|
||||
lv_wins_def.content.bg_rects.bwidth = 1 * LV_DOWNSCALE;
|
||||
lv_wins_def.content.bg_rects.bcolor = COLOR_GRAY;
|
||||
lv_wins_def.content.bg_rects.round = 0;
|
||||
lv_wins_def.content.bg_rects.hpad = 0;
|
||||
lv_wins_def.content.bg_rects.vpad = 0;
|
||||
lv_wins_def.header_on_content = 0;
|
||||
|
||||
/*Styles for the header*/
|
||||
lv_rects_get(LV_RECTS_DEF, &lv_wins_def.header);
|
||||
lv_wins_def.header.hpad = 5 * LV_STYLE_MULT;
|
||||
lv_wins_def.header.vpad = 5 * LV_STYLE_MULT;
|
||||
lv_wins_def.header.hpad = 5 * LV_DOWNSCALE;
|
||||
lv_wins_def.header.vpad = 5 * LV_DOWNSCALE;
|
||||
lv_wins_def.header.objs.color = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_wins_def.header.gcolor = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_wins_def.header.bwidth = 0;
|
||||
@ -353,14 +408,14 @@ static void lv_wins_init(void)
|
||||
lv_rects_get(LV_RECTS_TRANSP, &lv_wins_def.ctrl_holder);
|
||||
lv_wins_def.ctrl_holder.hpad = 0;
|
||||
lv_wins_def.ctrl_holder.vpad = 0;
|
||||
lv_wins_def.ctrl_holder.opad = 10 * LV_STYLE_MULT;
|
||||
lv_wins_def.ctrl_holder.opad = 10 * LV_DOWNSCALE;
|
||||
|
||||
lv_btns_get(LV_BTNS_DEF, &lv_wins_def.ctrl_btn);
|
||||
lv_wins_def.ctrl_btn.bcolor[LV_BTN_STATE_REL] = COLOR_MAKE(0xD0, 0xE0, 0xF0);
|
||||
lv_wins_def.ctrl_btn.mcolor[LV_BTN_STATE_REL] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_wins_def.ctrl_btn.gcolor[LV_BTN_STATE_REL] = COLOR_MAKE(0x30, 0x40, 0x50);
|
||||
lv_wins_def.ctrl_btn.rects.bopa = 70;
|
||||
lv_wins_def.ctrl_btn.rects.bwidth = 2 * LV_STYLE_MULT;
|
||||
lv_wins_def.ctrl_btn.rects.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_wins_def.ctrl_btn.rects.round = LV_RECT_CIRCLE;
|
||||
|
||||
lv_imgs_get(LV_IMGS_DEF, &lv_wins_def.ctrl_img);
|
||||
@ -369,11 +424,14 @@ static void lv_wins_init(void)
|
||||
|
||||
lv_labels_get(LV_LABELS_TITLE, &lv_wins_def.title);
|
||||
lv_wins_def.title.objs.color = COLOR_MAKE(0xD0, 0xE0, 0xF0);
|
||||
lv_wins_def.title.letter_space = 1 * LV_STYLE_MULT;
|
||||
lv_wins_def.title.line_space = 1 * LV_STYLE_MULT;
|
||||
lv_wins_def.title.letter_space = 1 * LV_DOWNSCALE;
|
||||
lv_wins_def.title.line_space = 1 * LV_DOWNSCALE;
|
||||
|
||||
lv_wins_def.ctrl_btn_w = LV_WIN_CTRL_BTN_DEF_W;
|
||||
lv_wins_def.ctrl_btn_h = LV_WIN_CTRL_BTN_DEF_H;
|
||||
lv_wins_def.ctrl_btn_w = 30 * LV_DOWNSCALE;
|
||||
lv_wins_def.ctrl_btn_h = 30 * LV_DOWNSCALE;
|
||||
|
||||
lv_wins_def.header_opa = OPA_COVER;
|
||||
lv_wins_def.ctrl_btn_opa = OPA_COVER;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -397,7 +455,6 @@ static void lv_win_realign(lv_obj_t * win)
|
||||
|
||||
lv_obj_set_height(ext->ctrl_holder, style->ctrl_btn_h + 2 * style->ctrl_holder.vpad * 2);
|
||||
lv_obj_set_width(ext->header, lv_obj_get_width(win));
|
||||
lv_obj_set_size(ext->content, lv_obj_get_width(win), lv_obj_get_height(win) - lv_obj_get_height(ext->header));
|
||||
|
||||
/*Align the higher object first to make the correct header size first*/
|
||||
if(lv_obj_get_height(ext->title) > lv_obj_get_height(ext->ctrl_holder)) {
|
||||
@ -409,7 +466,14 @@ static void lv_win_realign(lv_obj_t * win)
|
||||
}
|
||||
|
||||
lv_obj_set_pos_us(ext->header, 0, 0);
|
||||
lv_obj_align_us(ext->content, ext->header, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 0);
|
||||
|
||||
if(style->header_on_content == 0) {
|
||||
lv_obj_set_size(ext->content, lv_obj_get_width(win), lv_obj_get_height(win) - lv_obj_get_height(ext->header));
|
||||
lv_obj_align_us(ext->content, ext->header, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 0);
|
||||
} else {
|
||||
lv_obj_set_size(ext->content, lv_obj_get_width(win), lv_obj_get_height(win));
|
||||
lv_obj_set_pos(ext->content, 0, 0);
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
@ -40,8 +40,11 @@ typedef struct
|
||||
lv_imgs_t ctrl_img;
|
||||
cord_t ctrl_btn_w;
|
||||
cord_t ctrl_btn_h;
|
||||
opa_t ctrl_btn_opa;
|
||||
opa_t header_opa;
|
||||
/*Content settings*/
|
||||
lv_pages_t content;
|
||||
uint8_t header_on_content:1;
|
||||
}lv_wins_t;
|
||||
|
||||
/*Built-in styles of window*/
|
||||
@ -68,15 +71,17 @@ lv_obj_t * lv_win_create(lv_obj_t * par, lv_obj_t * copy);
|
||||
bool lv_win_signal(lv_obj_t * win, lv_signal_t sign, void * param);
|
||||
lv_wins_t * lv_wins_get(lv_wins_builtin_t style, lv_wins_t * copy);
|
||||
|
||||
lv_obj_t * lv_win_add_ctrl_btn(lv_obj_t * win, const char * img, bool (*rel_action)(lv_obj_t *, lv_dispi_t *));
|
||||
lv_obj_t * lv_win_add_ctrl_btn(lv_obj_t * win, const char * img, lv_action_t rel_action);
|
||||
bool lv_win_close_action(lv_obj_t * btn, lv_dispi_t * dispi);
|
||||
void lv_win_set_title(lv_obj_t * win, const char * title);
|
||||
|
||||
const char * lv_win_get_title(lv_obj_t * win);
|
||||
lv_obj_t * lv_win_get_content(lv_obj_t * win);
|
||||
lv_obj_t * lv_win_get_from_ctrl_btn(lv_obj_t * ctrl_btn);
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#endif
|
||||
#endif /*USE_LV_WIN*/
|
||||
|
||||
#endif
|
||||
#endif /*LV_WIN_H*/
|
||||
|
9
lvgl.h
9
lvgl.h
@ -24,13 +24,16 @@
|
||||
#include "lv_objx/lv_btnm.h"
|
||||
#include "lv_objx/lv_ta.h"
|
||||
#include "lv_objx/lv_win.h"
|
||||
#include "lv_objx/lv_mbox.h"
|
||||
|
||||
#include "lv_app/lv_app.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
#define LVGL_VERSION_MAJOR 1
|
||||
#define LVGL_VERSION_MINOR 3
|
||||
#define LVGL_VERSION_BUGFIX 1
|
||||
#define LVGL_VERSION_MAJOR 2
|
||||
#define LVGL_VERSION_MINOR 0
|
||||
#define LVGL_VERSION_BUGFIX 0
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
|
Loading…
Reference in New Issue
Block a user