mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-14 06:42:58 +08:00
Merge pull request #1607 from jbamaral/fix-img-big-endian-pr
fix image demos on big endian systems
This commit is contained in:
commit
2ed6b4e2f5
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
## v7.1.0 (planned on 07.07.2020)
|
## v7.1.0 (planned on 07.07.2020)
|
||||||
*Available in the `master` branch*
|
*Available in the `master` branch*
|
||||||
- Change some lv_style_t methods to support big endian hardware.
|
|
||||||
|
|
||||||
### New features
|
### New features
|
||||||
- Add `focus_parent` attribute to `lv_obj`
|
- Add `focus_parent` attribute to `lv_obj`
|
||||||
@ -16,6 +15,8 @@
|
|||||||
### Bugfixes
|
### Bugfixes
|
||||||
- `lv_img` fix invalidation area when angle or zoom changes
|
- `lv_img` fix invalidation area when angle or zoom changes
|
||||||
- Update the style handling to support Big endian MCUs
|
- Update the style handling to support Big endian MCUs
|
||||||
|
- Change some methods to support big endian hardware.
|
||||||
|
- Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
|
||||||
|
|
||||||
## v7.0.2 (16.06.2020)
|
## v7.0.2 (16.06.2020)
|
||||||
|
|
||||||
|
@ -222,6 +222,10 @@ typedef void * lv_img_decoder_user_data_t;
|
|||||||
/*=====================
|
/*=====================
|
||||||
* Compiler settings
|
* Compiler settings
|
||||||
*====================*/
|
*====================*/
|
||||||
|
|
||||||
|
/* For big endian systems set to 1 */
|
||||||
|
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||||
|
|
||||||
/* Define a custom attribute to `lv_tick_inc` function */
|
/* Define a custom attribute to `lv_tick_inc` function */
|
||||||
#define LV_ATTRIBUTE_TICK_INC
|
#define LV_ATTRIBUTE_TICK_INC
|
||||||
|
|
||||||
|
@ -266,6 +266,11 @@
|
|||||||
#ifndef LV_USE_GPU_STM32_DMA2D
|
#ifndef LV_USE_GPU_STM32_DMA2D
|
||||||
#define LV_USE_GPU_STM32_DMA2D 0
|
#define LV_USE_GPU_STM32_DMA2D 0
|
||||||
#endif
|
#endif
|
||||||
|
/*If enabling LV_USE_GPU_STM32_DMA2D, LV_GPU_DMA2D_CMSIS_INCLUDE must be defined to include path of CMSIS header of target processor
|
||||||
|
e.g. "stm32f769xx.h" or "stm32f429xx.h" */
|
||||||
|
#ifndef LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||||
|
#define LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||||
|
#endif
|
||||||
|
|
||||||
/* 1: Enable file system (might be required for images */
|
/* 1: Enable file system (might be required for images */
|
||||||
#ifndef LV_USE_FILESYSTEM
|
#ifndef LV_USE_FILESYSTEM
|
||||||
@ -319,6 +324,12 @@
|
|||||||
/*=====================
|
/*=====================
|
||||||
* Compiler settings
|
* Compiler settings
|
||||||
*====================*/
|
*====================*/
|
||||||
|
|
||||||
|
/* For big endian systems set to 1 */
|
||||||
|
#ifndef LV_BIG_ENDIAN_SYSTEM
|
||||||
|
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Define a custom attribute to `lv_tick_inc` function */
|
/* Define a custom attribute to `lv_tick_inc` function */
|
||||||
#ifndef LV_ATTRIBUTE_TICK_INC
|
#ifndef LV_ATTRIBUTE_TICK_INC
|
||||||
#define LV_ATTRIBUTE_TICK_INC
|
#define LV_ATTRIBUTE_TICK_INC
|
||||||
@ -474,7 +485,7 @@
|
|||||||
|
|
||||||
/* The built-in fonts contains the ASCII range and some Symbols with 4 bit-per-pixel.
|
/* The built-in fonts contains the ASCII range and some Symbols with 4 bit-per-pixel.
|
||||||
* The symbols are available via `LV_SYMBOL_...` defines
|
* The symbols are available via `LV_SYMBOL_...` defines
|
||||||
* More info about fonts: https://docs.lvgl.com/#Fonts
|
* More info about fonts: https://docs.lvgl.io/v7/en/html/overview/font.html
|
||||||
* To create a new font go to: https://lvgl.com/ttf-font-to-c-array
|
* To create a new font go to: https://lvgl.com/ttf-font-to-c-array
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -684,7 +695,7 @@
|
|||||||
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* The control character to use for signaling text recoloring. */
|
/* The control character to use for signalling text recoloring. */
|
||||||
#ifndef LV_TXT_COLOR_CMD
|
#ifndef LV_TXT_COLOR_CMD
|
||||||
#define LV_TXT_COLOR_CMD "#"
|
#define LV_TXT_COLOR_CMD "#"
|
||||||
#endif
|
#endif
|
||||||
|
@ -102,10 +102,26 @@ typedef uint8_t lv_img_cf_t;
|
|||||||
/**
|
/**
|
||||||
* LVGL image header
|
* LVGL image header
|
||||||
*/
|
*/
|
||||||
|
/* The first 8 bit is very important to distinguish the different source types.
|
||||||
|
* For more info see `lv_img_get_src_type()` in lv_img.c
|
||||||
|
* On big endian systems the order is reversed so cf and always_zero must be at
|
||||||
|
* the end of the struct.
|
||||||
|
* */
|
||||||
|
#if LV_BIG_ENDIAN_SYSTEM
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
uint32_t h : 11; /*Height of the image map*/
|
||||||
|
uint32_t w : 11; /*Width of the image map*/
|
||||||
|
uint32_t reserved : 2; /*Reserved to be used later*/
|
||||||
|
uint32_t always_zero : 3; /*It the upper bits of the first byte. Always zero to look like a
|
||||||
|
non-printable character*/
|
||||||
|
uint32_t cf : 5; /* Color format: See `lv_img_color_format_t`*/
|
||||||
|
|
||||||
|
|
||||||
|
} lv_img_header_t;
|
||||||
|
#else
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
||||||
/* The first 8 bit is very important to distinguish the different source types.
|
|
||||||
* For more info see `lv_img_get_src_type()` in lv_img.c */
|
|
||||||
uint32_t cf : 5; /* Color format: See `lv_img_color_format_t`*/
|
uint32_t cf : 5; /* Color format: See `lv_img_color_format_t`*/
|
||||||
uint32_t always_zero : 3; /*It the upper bits of the first byte. Always zero to look like a
|
uint32_t always_zero : 3; /*It the upper bits of the first byte. Always zero to look like a
|
||||||
non-printable character*/
|
non-printable character*/
|
||||||
@ -115,7 +131,7 @@ typedef struct {
|
|||||||
uint32_t w : 11; /*Width of the image map*/
|
uint32_t w : 11; /*Width of the image map*/
|
||||||
uint32_t h : 11; /*Height of the image map*/
|
uint32_t h : 11; /*Height of the image map*/
|
||||||
} lv_img_header_t;
|
} lv_img_header_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Image header it is compatible with
|
/** Image header it is compatible with
|
||||||
* the result from image converter utility*/
|
* the result from image converter utility*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user