ESP32 LVGL library from v8.3.6 to v8.3.7 (no functional change) (#18573)

* ESP32 LVGL library from v8.3.7 to v8.3.7 (no functional change)

* Fix version
This commit is contained in:
s-hadinger 2023-05-03 21:18:26 +02:00 committed by GitHub
parent 0cbe2fc587
commit fe1bc615f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 77 additions and 25 deletions

View File

@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file.
### Changed ### Changed
- ESP32 Framework (Core) from v2.0.7 to v2.0.8 - ESP32 Framework (Core) from v2.0.7 to v2.0.8
- Refactored Zero Cross Dimmer (#18481) - Refactored Zero Cross Dimmer (#18481)
- ESP32 LVGL library from v8.3.6 to v8.3.7 (no functional change)
### Fixed ### Fixed
- ESP8266 Energy Export Active no update regression from v12.3.1.3 - ESP8266 Energy Export Active no update regression from v12.3.1.3

View File

@ -1,6 +1,6 @@
{ {
"name": "lvgl", "name": "lvgl",
"version": "8.3.6", "version": "8.3.7",
"keywords": "graphics, gui, embedded, tft, lvgl", "keywords": "graphics, gui, embedded, tft, lvgl",
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
"repository": { "repository": {

View File

@ -1,5 +1,5 @@
name=lvgl name=lvgl
version=8.3.6 version=8.3.7
author=kisvegabor author=kisvegabor
maintainer=kisvegabor,embeddedt,pete-pjb maintainer=kisvegabor,embeddedt,pete-pjb
sentence=Full-featured Graphics Library for Embedded Systems sentence=Full-featured Graphics Library for Embedded Systems

View File

@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v8.3.6 * Configuration file for v8.3.7
*/ */
/* /*

View File

@ -15,7 +15,7 @@ extern "C" {
***************************/ ***************************/
#define LVGL_VERSION_MAJOR 8 #define LVGL_VERSION_MAJOR 8
#define LVGL_VERSION_MINOR 3 #define LVGL_VERSION_MINOR 3
#define LVGL_VERSION_PATCH 6 #define LVGL_VERSION_PATCH 7
#define LVGL_VERSION_INFO "" #define LVGL_VERSION_INFO ""
/********************* /*********************

View File

@ -281,12 +281,13 @@ static lv_obj_t * find_scroll_obj(_lv_indev_proc_t * proc)
while(obj_act) { while(obj_act) {
/*Get the transformed scroll_sum with this object*/ /*Get the transformed scroll_sum with this object*/
int16_t angle = 0; int16_t angle = 0;
int16_t zoom = 256; int32_t zoom = 256;
lv_point_t pivot = { 0, 0 }; lv_point_t pivot = { 0, 0 };
lv_obj_t * parent = obj_act; lv_obj_t * parent = obj_act;
while(parent) { while(parent) {
angle += lv_obj_get_style_transform_angle(parent, 0); angle += lv_obj_get_style_transform_angle(parent, 0);
zoom *= (lv_obj_get_style_transform_zoom(parent, 0) / 256); int32_t zoom_act = lv_obj_get_style_transform_zoom(parent, 0);
zoom = (zoom * zoom_act) >> 8;
parent = lv_obj_get_parent(parent); parent = lv_obj_get_parent(parent);
} }

View File

@ -749,6 +749,7 @@ static void trans_anim_cb(void * _tr, int32_t v)
else value_final.ptr = tr->end_value.ptr; else value_final.ptr = tr->end_value.ptr;
break; break;
case LV_STYLE_BG_COLOR: case LV_STYLE_BG_COLOR:
case LV_STYLE_BG_GRAD_COLOR:
case LV_STYLE_BORDER_COLOR: case LV_STYLE_BORDER_COLOR:
case LV_STYLE_TEXT_COLOR: case LV_STYLE_TEXT_COLOR:
case LV_STYLE_SHADOW_COLOR: case LV_STYLE_SHADOW_COLOR:

View File

@ -3,6 +3,24 @@
* *
*/ */
/*
* Copyright (C) 2010-2023 Arm Limited or its affiliates. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/********************* /*********************
* INCLUDES * INCLUDES
*********************/ *********************/
@ -94,6 +112,8 @@
arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare
#define arm_2d_tile_transform_with_opacity_prepare \ #define arm_2d_tile_transform_with_opacity_prepare \
arm_2dp_rgb565_tile_transform_with_opacity_prepare arm_2dp_rgb565_tile_transform_with_opacity_prepare
#define arm_2d_tile_transform_only_with_opacity_prepare \
arm_2dp_rgb565_tile_transform_only_with_opacity_prepare
#define arm_2d_tile_transform_prepare \ #define arm_2d_tile_transform_prepare \
arm_2dp_rgb565_tile_transform_prepare arm_2dp_rgb565_tile_transform_prepare
@ -131,6 +151,8 @@
arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare
#define arm_2d_tile_transform_with_opacity_prepare \ #define arm_2d_tile_transform_with_opacity_prepare \
arm_2dp_cccn888_tile_transform_with_opacity_prepare arm_2dp_cccn888_tile_transform_with_opacity_prepare
#define arm_2d_tile_transform_only_with_opacity_prepare \
arm_2dp_cccn888_tile_transform_only_with_opacity_prepare
#define arm_2d_tile_transform_prepare \ #define arm_2d_tile_transform_prepare \
arm_2dp_cccn888_tile_transform_prepare arm_2dp_cccn888_tile_transform_prepare
@ -345,7 +367,7 @@
#define __RECOLOUR_END() \ #define __RECOLOUR_END() \
} while(0); \ } while(0); \
if (NULL != rgb_tmp_buf) { \ if (NULL != rgb_tmp_buf) { \
lv_free(rgb_tmp_buf); \ lv_mem_buf_release(rgb_tmp_buf); \
} \ } \
} while(0); \ } while(0); \
src_buf = src_buf_org; src_buf = src_buf_org;
@ -1270,8 +1292,7 @@ static void lv_draw_arm2d_img_decoded(struct _lv_draw_ctx_t * draw_ctx,
source_center.iX = draw_dsc->pivot.x; source_center.iX = draw_dsc->pivot.x;
source_center.iY = draw_dsc->pivot.y; source_center.iY = draw_dsc->pivot.y;
if((LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED == cf) || if(LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED == cf) {
(LV_IMG_CF_TRUE_COLOR == cf)) {
__ARM_2D_PREPARE_TRANS_AND_TARGET_REGION( __ARM_2D_PREPARE_TRANS_AND_TARGET_REGION(
arm_2d_tile_transform_with_opacity_prepare, arm_2d_tile_transform_with_opacity_prepare,
@ -1289,6 +1310,24 @@ static void lv_draw_arm2d_img_decoded(struct _lv_draw_ctx_t * draw_ctx,
); );
is_accelerated = true; is_accelerated = true;
} }
#if ARM_2D_VERISON >= 10103
else if (LV_IMG_CF_TRUE_COLOR == cf) {
__ARM_2D_PREPARE_TRANS_AND_TARGET_REGION(
arm_2d_tile_transform_only_with_opacity_prepare,
&source_tile,
source_center,
ARM_2D_ANGLE((draw_dsc->angle / 10.0f)),
draw_dsc->zoom / 256.0f,
blend_dsc.opa);
arm_2d_tile_transform(
&target_tile,
&target_region,
NULL
);
is_accelerated = true;
}
#endif
else if (LV_IMG_CF_RGB565A8 == cf) { else if (LV_IMG_CF_RGB565A8 == cf) {
static arm_2d_tile_t mask_tile; static arm_2d_tile_t mask_tile;
mask_tile = source_tile; mask_tile = source_tile;

View File

@ -195,6 +195,11 @@ void lv_menu_set_page(lv_obj_t * obj, lv_obj_t * page)
lv_menu_t * menu = (lv_menu_t *)obj; lv_menu_t * menu = (lv_menu_t *)obj;
/* Guard against setting the same page again */
if(menu->main_page == page) {
return;
}
/* Hide previous page */ /* Hide previous page */
if(menu->main_page != NULL) { if(menu->main_page != NULL) {
lv_obj_set_parent(menu->main_page, menu->storage); lv_obj_set_parent(menu->main_page, menu->storage);

View File

@ -434,9 +434,6 @@ static void lv_spinbox_event(const lv_obj_class_t * class_p, lv_event_t * e)
else if(c == LV_KEY_DOWN) { else if(c == LV_KEY_DOWN) {
lv_spinbox_decrement(obj); lv_spinbox_decrement(obj);
} }
else {
lv_textarea_add_char(obj, c);
}
} }
} }

View File

@ -440,7 +440,11 @@ LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_co
{ {
lv_color_t ret; lv_color_t ret;
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0 && LV_COLOR_MIX_ROUND_OFS == 0 #if LV_COLOR_DEPTH == 16 && LV_COLOR_MIX_ROUND_OFS == 0
#if LV_COLOR_16_SWAP == 1
c1.full = c1.full << 8 | c1.full >> 8;
c2.full = c2.full << 8 | c2.full >> 8;
#endif
/*Source: https://stackoverflow.com/a/50012418/1999969*/ /*Source: https://stackoverflow.com/a/50012418/1999969*/
mix = (uint32_t)((uint32_t)mix + 4) >> 3; mix = (uint32_t)((uint32_t)mix + 4) >> 3;
uint32_t bg = (uint32_t)((uint32_t)c2.full | ((uint32_t)c2.full << 16)) & uint32_t bg = (uint32_t)((uint32_t)c2.full | ((uint32_t)c2.full << 16)) &
@ -448,6 +452,9 @@ LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_co
uint32_t fg = (uint32_t)((uint32_t)c1.full | ((uint32_t)c1.full << 16)) & 0x7E0F81F; uint32_t fg = (uint32_t)((uint32_t)c1.full | ((uint32_t)c1.full << 16)) & 0x7E0F81F;
uint32_t result = ((((fg - bg) * mix) >> 5) + bg) & 0x7E0F81F; uint32_t result = ((((fg - bg) * mix) >> 5) + bg) & 0x7E0F81F;
ret.full = (uint16_t)((result >> 16) | result); ret.full = (uint16_t)((result >> 16) | result);
#if LV_COLOR_16_SWAP == 1
ret.full = ret.full << 8 | ret.full >> 8;
#endif
#elif LV_COLOR_DEPTH != 1 #elif LV_COLOR_DEPTH != 1
/*LV_COLOR_DEPTH == 8, 16 or 32*/ /*LV_COLOR_DEPTH == 8, 16 or 32*/
LV_COLOR_SET_R(ret, LV_UDIV255((uint16_t)LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * LV_COLOR_SET_R(ret, LV_UDIV255((uint16_t)LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) *

View File

@ -32,18 +32,19 @@ LV_EXPORT_CONST_INT(LV_BTNMATRIX_BTN_NONE);
/** Type to store button control bits (disabled, hidden etc.) /** Type to store button control bits (disabled, hidden etc.)
* The first 3 bits are used to store the width*/ * The first 3 bits are used to store the width*/
enum { enum {
_LV_BTNMATRIX_WIDTH = 0x0007, /**< Reserved to stire the size units*/ _LV_BTNMATRIX_WIDTH = 0x000F, /**< Reserved to store the size units*/
LV_BTNMATRIX_CTRL_HIDDEN = 0x0008, /**< Button hidden*/ LV_BTNMATRIX_CTRL_HIDDEN = 0x0010, /**< Button hidden*/
LV_BTNMATRIX_CTRL_NO_REPEAT = 0x0010, /**< Do not repeat press this button.*/ LV_BTNMATRIX_CTRL_NO_REPEAT = 0x0020, /**< Do not repeat press this button.*/
LV_BTNMATRIX_CTRL_DISABLED = 0x0020, /**< Disable this button.*/ LV_BTNMATRIX_CTRL_DISABLED = 0x0040, /**< Disable this button.*/
LV_BTNMATRIX_CTRL_CHECKABLE = 0x0040, /**< The button can be toggled.*/ LV_BTNMATRIX_CTRL_CHECKABLE = 0x0080, /**< The button can be toggled.*/
LV_BTNMATRIX_CTRL_CHECKED = 0x0080, /**< Button is currently toggled (e.g. checked).*/ LV_BTNMATRIX_CTRL_CHECKED = 0x0100, /**< Button is currently toggled (e.g. checked).*/
LV_BTNMATRIX_CTRL_CLICK_TRIG = 0x0100, /**< 1: Send LV_EVENT_VALUE_CHANGE on CLICK, 0: Send LV_EVENT_VALUE_CHANGE on PRESS*/ LV_BTNMATRIX_CTRL_CLICK_TRIG = 0x0200, /**< 1: Send LV_EVENT_VALUE_CHANGE on CLICK, 0: Send LV_EVENT_VALUE_CHANGE on PRESS*/
LV_BTNMATRIX_CTRL_POPOVER = 0x0200, /**< Show a popover when pressing this key*/ LV_BTNMATRIX_CTRL_POPOVER = 0x0400, /**< Show a popover when pressing this key*/
LV_BTNMATRIX_CTRL_RECOLOR = 0x1000, /**< Enable text recoloring with `#color`*/ LV_BTNMATRIX_CTRL_RECOLOR = 0x0800, /**< Enable text recoloring with `#color`*/
_LV_BTNMATRIX_CTRL_RESERVED = 0x2000, /**< Reserved for later use*/ _LV_BTNMATRIX_CTRL_RESERVED_1 = 0x1000, /**< Reserved for later use*/
LV_BTNMATRIX_CTRL_CUSTOM_1 = 0x4000, /**< Custom free to use flag*/ _LV_BTNMATRIX_CTRL_RESERVED_2 = 0x2000, /**< Reserved for later use*/
LV_BTNMATRIX_CTRL_CUSTOM_2 = 0x8000, /**< Custom free to use flag*/ LV_BTNMATRIX_CTRL_CUSTOM_1 = 0x4000, /**< Custom free to use flag*/
LV_BTNMATRIX_CTRL_CUSTOM_2 = 0x8000, /**< Custom free to use flag*/
}; };
typedef uint16_t lv_btnmatrix_ctrl_t; typedef uint16_t lv_btnmatrix_ctrl_t;