mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-14 06:42:58 +08:00
Improve compatibility with C++14 (#1843)
This commit is contained in:
parent
4d614e60ef
commit
cb5ad1e9d3
@ -213,12 +213,12 @@ enum {
|
||||
**********************/
|
||||
|
||||
typedef union {
|
||||
uint8_t full; /*must be declared first to set all bits of byte via initializer list */
|
||||
union {
|
||||
uint8_t blue : 1;
|
||||
uint8_t green : 1;
|
||||
uint8_t red : 1;
|
||||
} ch;
|
||||
uint8_t full;
|
||||
} lv_color1_t;
|
||||
|
||||
typedef union {
|
||||
@ -259,15 +259,19 @@ typedef union {
|
||||
#if LV_COLOR_DEPTH == 1
|
||||
typedef uint8_t lv_color_int_t;
|
||||
typedef lv_color1_t lv_color_t;
|
||||
#define _LV_COLOR_ZERO_INITIALIZER {0x00}
|
||||
#elif LV_COLOR_DEPTH == 8
|
||||
typedef uint8_t lv_color_int_t;
|
||||
typedef lv_color8_t lv_color_t;
|
||||
#define _LV_COLOR_ZERO_INITIALIZER {{0x00, 0x00, 0x00}}
|
||||
#elif LV_COLOR_DEPTH == 16
|
||||
typedef uint16_t lv_color_int_t;
|
||||
typedef lv_color16_t lv_color_t;
|
||||
#define _LV_COLOR_ZERO_INITIALIZER {{0x00, 0x00, 0x00}}
|
||||
#elif LV_COLOR_DEPTH == 32
|
||||
typedef uint32_t lv_color_int_t;
|
||||
typedef lv_color32_t lv_color_t;
|
||||
#define _LV_COLOR_ZERO_INITIALIZER {{0x00, 0x00, 0x00, 0x00}}
|
||||
#else
|
||||
#error "Invalid LV_COLOR_DEPTH in lv_conf.h! Set it to 1, 8, 16 or 32!"
|
||||
#endif
|
||||
@ -553,9 +557,9 @@ LV_ATTRIBUTE_FAST_MEM static inline void lv_color_mix_with_alpha(lv_color_t bg_c
|
||||
/*Save the parameters and the result. If they will be asked again don't compute again*/
|
||||
static lv_opa_t fg_opa_save = 0;
|
||||
static lv_opa_t bg_opa_save = 0;
|
||||
static lv_color_t fg_color_save = {.full = 0};
|
||||
static lv_color_t bg_color_save = {.full = 0};
|
||||
static lv_color_t res_color_saved = {.full = 0};
|
||||
static lv_color_t fg_color_save = _LV_COLOR_ZERO_INITIALIZER;
|
||||
static lv_color_t bg_color_save = _LV_COLOR_ZERO_INITIALIZER;
|
||||
static lv_color_t res_color_saved = _LV_COLOR_ZERO_INITIALIZER;
|
||||
static lv_opa_t res_opa_saved = 0;
|
||||
|
||||
if(fg_opa != fg_opa_save || bg_opa != bg_opa_save || fg_color.full != fg_color_save.full ||
|
||||
@ -600,7 +604,7 @@ static inline uint8_t lv_color_brightness(lv_color_t color)
|
||||
/**
|
||||
* MSVC compiler's definition of the __cplusplus indicating 199711L regardless to C++ standard version
|
||||
* see https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-cplusplus
|
||||
* so we use _MSC_VER macro unstead of __cplusplus
|
||||
* so we use _MSC_VER macro instead of __cplusplus
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER >= 1900 /* Visual Studio 2015 */
|
||||
@ -626,7 +630,7 @@ static inline uint8_t lv_color_brightness(lv_color_t color)
|
||||
|
||||
/* The most simple macro to create a color from R,G and B values */
|
||||
#if LV_COLOR_DEPTH == 1
|
||||
#define LV_COLOR_MAKE(r8, g8, b8) (_LV_COLOR_MAKE_TYPE_HELPER {{(b8 >> 7) | (g8 >> 7) | (r8 >> 7)}})
|
||||
#define LV_COLOR_MAKE(r8, g8, b8) (_LV_COLOR_MAKE_TYPE_HELPER{(uint8_t)((b8 >> 7) | (g8 >> 7) | (r8 >> 7))})
|
||||
#elif LV_COLOR_DEPTH == 8
|
||||
#define LV_COLOR_MAKE(r8, g8, b8) (_LV_COLOR_MAKE_TYPE_HELPER{{(uint8_t)((b8 >> 6) & 0x3U), (uint8_t)((g8 >> 5) & 0x7U), (uint8_t)((r8 >> 5) & 0x7U)}})
|
||||
#elif LV_COLOR_DEPTH == 16
|
||||
|
Loading…
x
Reference in New Issue
Block a user