Merge beta branch to release Version 2.0

This commit is contained in:
Kiss-Vamosi Gabor 2016-12-22 21:42:12 +01:00
commit 0f5e5f6ed6
74 changed files with 9600 additions and 553 deletions

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
View 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
View 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
View 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*/

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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
View 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
View 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 */

View File

@ -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

View File

@ -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,
};

View File

@ -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

View File

@ -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;
}

View File

@ -3,8 +3,8 @@
*
*/
#ifndef _2D_H
#define _2D_H
#ifndef AREA_H
#define AREA_H
/*********************
* INCLUDES

View File

@ -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();

View File

@ -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

File diff suppressed because it is too large Load Diff

18
lv_misc/fonts/dejavu_10.h Normal file
View 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

View File

@ -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

File diff suppressed because it is too large Load Diff

18
lv_misc/fonts/dejavu_8.h Normal file
View 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

View File

@ -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

View File

@ -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);

View File

@ -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 ){

View File

@ -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

View File

@ -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*/
}

View File

@ -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);

View File

@ -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*/

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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*/

View File

@ -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);

View File

@ -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;

View File

@ -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));

View File

@ -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;
}

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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
View 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
View 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

View File

@ -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;

View File

@ -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;

View File

@ -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
**********************/

View File

@ -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

View File

@ -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*/

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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
View File

@ -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