diff --git a/docs/overview/style-props.md b/docs/overview/style-props.md
index 6811e491f..696624a26 100644
--- a/docs/overview/style-props.md
+++ b/docs/overview/style-props.md
@@ -253,7 +253,7 @@ Sets the padding between the columns. Used by the layouts.
Properties to describe spacing around an object. Very similar to the margin properties in HTML.
### margin_top
-Sets the margin on the top. The object will keep this space from its siblings in layouts.
+Sets the margin on the top. The object will keep this space from its siblings in layouts.
- Default 0
- Inherited No
@@ -469,7 +469,7 @@ Sets whether the border should be drawn before or after the children are drawn.
Properties to describe the outline. It's like a border but drawn outside of the rectangles.
### outline_width
-Set the width of the outline in pixels.
+Set the width of the outline in pixels.
- Default 0
- Inherited No
@@ -517,7 +517,7 @@ Set the width of the shadow in pixels. The value should be >= 0.
### shadow_offset_x
-Set an offset on the shadow in pixels in X direction.
+Set an offset on the shadow in pixels in X direction.
- Default 0
- Inherited No
@@ -526,7 +526,7 @@ Set an offset on the shadow in pixels in X direction.
### shadow_offset_y
-Set an offset on the shadow in pixels in Y direction.
+Set an offset on the shadow in pixels in Y direction.
- Default 0
- Inherited No
@@ -622,7 +622,7 @@ Set the gap between dashes in pixel. Note that dash works only on horizontal and
### line_rounded
-Make the end points of the lines rounded. `true`: rounded, `false`: perpendicular line ending
+Make the end points of the lines rounded. `true`: rounded, `false`: perpendicular line ending
- Default 0
- Inherited No
@@ -661,7 +661,7 @@ Set the width (thickness) of the arcs in pixel.
### arc_rounded
-Make the end points of the arcs rounded. `true`: rounded, `false`: perpendicular line ending
+Make the end points of the arcs rounded. `true`: rounded, `false`: perpendicular line ending
- Default 0
- Inherited No
@@ -718,7 +718,7 @@ Set the opacity of the text. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully
### text_font
-Set the font of the text (a pointer `lv_font_t *`).
+Set the font of the text (a pointer `lv_font_t *`).
- Default `LV_FONT_DEFAULT`
- Inherited Yes
diff --git a/examples/get_started/lv_example_get_started_2.c b/examples/get_started/lv_example_get_started_2.c
index e48401212..9edac9f03 100644
--- a/examples/get_started/lv_example_get_started_2.c
+++ b/examples/get_started/lv_example_get_started_2.c
@@ -31,4 +31,3 @@ void lv_example_get_started_2(void)
}
#endif
-
diff --git a/examples/get_started/lv_example_get_started_4.c b/examples/get_started/lv_example_get_started_4.c
index 4995ad1d5..e6f3b97e2 100644
--- a/examples/get_started/lv_example_get_started_4.c
+++ b/examples/get_started/lv_example_get_started_4.c
@@ -30,4 +30,3 @@ void lv_example_get_started_4(void)
}
#endif
-
diff --git a/examples/layouts/grid/lv_example_grid_5.c b/examples/layouts/grid/lv_example_grid_5.c
index 2a45e94d0..f5b1a5842 100644
--- a/examples/layouts/grid/lv_example_grid_5.c
+++ b/examples/layouts/grid/lv_example_grid_5.c
@@ -60,4 +60,3 @@ void lv_example_grid_5(void)
}
#endif
-
diff --git a/examples/styles/lv_example_style_4.c b/examples/styles/lv_example_style_4.c
index 3276a85ca..a69be3927 100644
--- a/examples/styles/lv_example_style_4.c
+++ b/examples/styles/lv_example_style_4.c
@@ -26,4 +26,3 @@ void lv_example_style_4(void)
}
#endif
-
diff --git a/examples/styles/lv_example_style_7.c b/examples/styles/lv_example_style_7.c
index ff342c7a9..146fd9844 100644
--- a/examples/styles/lv_example_style_7.c
+++ b/examples/styles/lv_example_style_7.c
@@ -18,4 +18,3 @@ void lv_example_style_7(void)
lv_obj_center(obj);
}
#endif
-
diff --git a/examples/widgets/menu/lv_example_menu_4.c b/examples/widgets/menu/lv_example_menu_4.c
index 2cd1d932c..3cd7165de 100644
--- a/examples/widgets/menu/lv_example_menu_4.c
+++ b/examples/widgets/menu/lv_example_menu_4.c
@@ -67,4 +67,3 @@ void lv_example_menu_4(void)
}
#endif
-
diff --git a/examples/widgets/menu/lv_example_menu_5.c b/examples/widgets/menu/lv_example_menu_5.c
index ee0cc377d..86ffc9b99 100644
--- a/examples/widgets/menu/lv_example_menu_5.c
+++ b/examples/widgets/menu/lv_example_menu_5.c
@@ -200,4 +200,3 @@ static lv_obj_t * create_switch(lv_obj_t * parent, const char * icon, const char
}
#endif
-
diff --git a/scripts/style_api_gen.py b/scripts/style_api_gen.py
index 037adec2c..e54768d3d 100755
--- a/scripts/style_api_gen.py
+++ b/scripts/style_api_gen.py
@@ -519,7 +519,7 @@ def style_set_h(p):
if 'section' in p: return
print("void lv_style_set_" + p['name'].lower() +"(lv_style_t * style, "+ p['var_type'] +" value);")
- print("extern const lv_style_prop_t _lv_style_const_prop_id_" + p['name'] + ";")
+ print("LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_" + p['name'] + ";")
def local_style_set_c(p):
diff --git a/src/core/lv_group.c b/src/core/lv_group.c
index 218698d81..f7a7cbb14 100644
--- a/src/core/lv_group.c
+++ b/src/core/lv_group.c
@@ -515,4 +515,3 @@ static lv_indev_t * get_indev(const lv_group_t * g)
return indev_guess;
}
-
diff --git a/src/core/lv_obj_style_gen.c b/src/core/lv_obj_style_gen.c
index 71c6f76e7..966fbd953 100644
--- a/src/core/lv_obj_style_gen.c
+++ b/src/core/lv_obj_style_gen.c
@@ -6,8 +6,10 @@
**********************************************************************
*/
+
#include "lv_obj.h"
+
void lv_obj_set_style_width(lv_obj_t * obj, int32_t value, lv_style_selector_t selector)
{
lv_style_value_t v = {
@@ -688,8 +690,7 @@ void lv_obj_set_style_opa_layered(lv_obj_t * obj, lv_opa_t value, lv_style_selec
lv_obj_set_local_style_prop(obj, LV_STYLE_OPA_LAYERED, v, selector);
}
-void lv_obj_set_style_color_filter_dsc(lv_obj_t * obj, const lv_color_filter_dsc_t * value,
- lv_style_selector_t selector)
+void lv_obj_set_style_color_filter_dsc(lv_obj_t * obj, const lv_color_filter_dsc_t * value, lv_style_selector_t selector)
{
lv_style_value_t v = {
.ptr = value
@@ -754,6 +755,7 @@ void lv_obj_set_style_base_dir(lv_obj_t * obj, lv_base_dir_t value, lv_style_sel
}
#if LV_USE_FLEX
+
void lv_obj_set_style_flex_flow(lv_obj_t * obj, lv_flex_flow_t value, lv_style_selector_t selector)
{
lv_style_value_t v = {
@@ -797,6 +799,7 @@ void lv_obj_set_style_flex_grow(lv_obj_t * obj, uint8_t value, lv_style_selector
#if LV_USE_GRID
+
void lv_obj_set_style_grid_column_dsc_array(lv_obj_t * obj, const int32_t * value, lv_style_selector_t selector)
{
lv_style_value_t v = {
@@ -877,3 +880,4 @@ void lv_obj_set_style_grid_cell_row_span(lv_obj_t * obj, int32_t value, lv_style
lv_obj_set_local_style_prop(obj, LV_STYLE_GRID_CELL_ROW_SPAN, v, selector);
}
#endif /*LV_USE_GRID*/
+
diff --git a/src/core/lv_obj_style_gen.h b/src/core/lv_obj_style_gen.h
index 72989430e..1bb64abdb 100644
--- a/src/core/lv_obj_style_gen.h
+++ b/src/core/lv_obj_style_gen.h
@@ -6,6 +6,7 @@
**********************************************************************
*/
+
#ifndef LV_OBJ_STYLE_GEN_H
#define LV_OBJ_STYLE_GEN_H
@@ -225,8 +226,7 @@ static inline lv_color_t lv_obj_get_style_bg_grad_color(const lv_obj_t * obj, ui
static inline lv_color_t lv_obj_get_style_bg_grad_color_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_BG_GRAD_COLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_BG_GRAD_COLOR));
return v.color;
}
@@ -286,8 +286,7 @@ static inline lv_color_t lv_obj_get_style_bg_image_recolor(const lv_obj_t * obj,
static inline lv_color_t lv_obj_get_style_bg_image_recolor_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_BG_IMAGE_RECOLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_BG_IMAGE_RECOLOR));
return v.color;
}
@@ -311,8 +310,7 @@ static inline lv_color_t lv_obj_get_style_border_color(const lv_obj_t * obj, uin
static inline lv_color_t lv_obj_get_style_border_color_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_BORDER_COLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_BORDER_COLOR));
return v.color;
}
@@ -354,8 +352,7 @@ static inline lv_color_t lv_obj_get_style_outline_color(const lv_obj_t * obj, ui
static inline lv_color_t lv_obj_get_style_outline_color_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_OUTLINE_COLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_OUTLINE_COLOR));
return v.color;
}
@@ -403,8 +400,7 @@ static inline lv_color_t lv_obj_get_style_shadow_color(const lv_obj_t * obj, uin
static inline lv_color_t lv_obj_get_style_shadow_color_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_SHADOW_COLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_SHADOW_COLOR));
return v.color;
}
@@ -428,8 +424,7 @@ static inline lv_color_t lv_obj_get_style_image_recolor(const lv_obj_t * obj, ui
static inline lv_color_t lv_obj_get_style_image_recolor_filtered(const lv_obj_t * obj, uint32_t part)
{
- lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part,
- LV_STYLE_IMAGE_RECOLOR));
+ lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_IMAGE_RECOLOR));
return v.color;
}
@@ -820,8 +815,7 @@ void lv_obj_set_style_radius(lv_obj_t * obj, int32_t value, lv_style_selector_t
void lv_obj_set_style_clip_corner(lv_obj_t * obj, bool value, lv_style_selector_t selector);
void lv_obj_set_style_opa(lv_obj_t * obj, lv_opa_t value, lv_style_selector_t selector);
void lv_obj_set_style_opa_layered(lv_obj_t * obj, lv_opa_t value, lv_style_selector_t selector);
-void lv_obj_set_style_color_filter_dsc(lv_obj_t * obj, const lv_color_filter_dsc_t * value,
- lv_style_selector_t selector);
+void lv_obj_set_style_color_filter_dsc(lv_obj_t * obj, const lv_color_filter_dsc_t * value, lv_style_selector_t selector);
void lv_obj_set_style_color_filter_opa(lv_obj_t * obj, lv_opa_t value, lv_style_selector_t selector);
void lv_obj_set_style_anim(lv_obj_t * obj, const lv_anim_t * value, lv_style_selector_t selector);
void lv_obj_set_style_anim_time(lv_obj_t * obj, uint32_t value, lv_style_selector_t selector);
@@ -831,25 +825,26 @@ void lv_obj_set_style_layout(lv_obj_t * obj, uint16_t value, lv_style_selector_t
void lv_obj_set_style_base_dir(lv_obj_t * obj, lv_base_dir_t value, lv_style_selector_t selector);
#if LV_USE_FLEX
- void lv_obj_set_style_flex_flow(lv_obj_t * obj, lv_flex_flow_t value, lv_style_selector_t selector);
- void lv_obj_set_style_flex_main_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_flex_cross_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_flex_track_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_flex_grow(lv_obj_t * obj, uint8_t value, lv_style_selector_t selector);
+void lv_obj_set_style_flex_flow(lv_obj_t * obj, lv_flex_flow_t value, lv_style_selector_t selector);
+void lv_obj_set_style_flex_main_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_flex_cross_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_flex_track_place(lv_obj_t * obj, lv_flex_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_flex_grow(lv_obj_t * obj, uint8_t value, lv_style_selector_t selector);
#endif /*LV_USE_FLEX*/
#if LV_USE_GRID
- void lv_obj_set_style_grid_column_dsc_array(lv_obj_t * obj, const int32_t * value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_column_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_row_dsc_array(lv_obj_t * obj, const int32_t * value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_row_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_column_pos(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_x_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_column_span(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_row_pos(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_y_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
- void lv_obj_set_style_grid_cell_row_span(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_column_dsc_array(lv_obj_t * obj, const int32_t * value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_column_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_row_dsc_array(lv_obj_t * obj, const int32_t * value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_row_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_column_pos(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_x_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_column_span(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_row_pos(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_y_align(lv_obj_t * obj, lv_grid_align_t value, lv_style_selector_t selector);
+void lv_obj_set_style_grid_cell_row_span(lv_obj_t * obj, int32_t value, lv_style_selector_t selector);
#endif /*LV_USE_GRID*/
+
#endif /* LV_OBJ_STYLE_GEN_H */
diff --git a/src/dev/display/st7796/lv_st7796.c b/src/dev/display/st7796/lv_st7796.c
index ef5be00fd..985b39f01 100644
--- a/src/dev/display/st7796/lv_st7796.c
+++ b/src/dev/display/st7796/lv_st7796.c
@@ -119,4 +119,3 @@ void lv_st7796_send_cmd_list(lv_display_t * disp, const uint8_t * cmd_list)
**********************/
#endif /*LV_USE_ST7796*/
-
diff --git a/src/dev/sdl/lv_sdl_mousewheel.c b/src/dev/sdl/lv_sdl_mousewheel.c
index 6ce29a168..c75fbc4ee 100644
--- a/src/dev/sdl/lv_sdl_mousewheel.c
+++ b/src/dev/sdl/lv_sdl_mousewheel.c
@@ -140,4 +140,3 @@ void _lv_sdl_mousewheel_handler(SDL_Event * event)
}
#endif /*LV_USE_SDL*/
-
diff --git a/src/indev/lv_indev.c b/src/indev/lv_indev.c
index 4948b97a0..338fd376d 100644
--- a/src/indev/lv_indev.c
+++ b/src/indev/lv_indev.c
@@ -1588,4 +1588,3 @@ static void indev_scroll_throw_anim_start(lv_indev_t * indev)
indev->scroll_throw_anim = lv_anim_start(&a);
}
-
diff --git a/src/libs/barcode/lv_barcode.h b/src/libs/barcode/lv_barcode.h
index 864eafd0e..ecd01eb78 100644
--- a/src/libs/barcode/lv_barcode.h
+++ b/src/libs/barcode/lv_barcode.h
@@ -33,7 +33,7 @@ typedef struct {
lv_dir_t direction;
} lv_barcode_t;
-extern const lv_obj_class_t lv_barcode_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_barcode_class;
/**********************
* GLOBAL PROTOTYPES
diff --git a/src/libs/ffmpeg/lv_ffmpeg.h b/src/libs/ffmpeg/lv_ffmpeg.h
index 56b80c91b..6c1730609 100644
--- a/src/libs/ffmpeg/lv_ffmpeg.h
+++ b/src/libs/ffmpeg/lv_ffmpeg.h
@@ -24,7 +24,7 @@ extern "C" {
**********************/
struct ffmpeg_context_s;
-extern const lv_obj_class_t lv_ffmpeg_player_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_ffmpeg_player_class;
typedef struct {
lv_image_t img;
diff --git a/src/libs/fsdrv/lv_fs_fatfs.c b/src/libs/fsdrv/lv_fs_fatfs.c
index 0bbbbca44..383551a89 100644
--- a/src/libs/fsdrv/lv_fs_fatfs.c
+++ b/src/libs/fsdrv/lv_fs_fatfs.c
@@ -288,4 +288,3 @@ static lv_fs_res_t fs_dir_close(lv_fs_drv_t * drv, void * dir_p)
#endif
#endif /*LV_USE_FS_POSIX*/
-
diff --git a/src/libs/fsdrv/lv_fsdrv.h b/src/libs/fsdrv/lv_fsdrv.h
index 0add9efa8..fcf5bd79e 100644
--- a/src/libs/fsdrv/lv_fsdrv.h
+++ b/src/libs/fsdrv/lv_fsdrv.h
@@ -56,4 +56,3 @@ void lv_fs_memfs_init(void);
#endif
#endif /*LV_FSDRV_H*/
-
diff --git a/src/libs/gif/lv_gif.h b/src/libs/gif/lv_gif.h
index 574118811..9a7ca7a8e 100644
--- a/src/libs/gif/lv_gif.h
+++ b/src/libs/gif/lv_gif.h
@@ -35,7 +35,7 @@ typedef struct {
uint32_t last_call;
} lv_gif_t;
-extern const lv_obj_class_t lv_gif_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_gif_class;
/**********************
* GLOBAL PROTOTYPES
diff --git a/src/libs/lodepng/lodepng.h b/src/libs/lodepng/lodepng.h
index 31cc61fe1..b23c25a68 100644
--- a/src/libs/lodepng/lodepng.h
+++ b/src/libs/lodepng/lodepng.h
@@ -30,7 +30,7 @@ freely, subject to the following restrictions:
#include "../../../lvgl.h"
#if LV_USE_LODEPNG
-extern const char * LODEPNG_VERSION_STRING;
+LV_ATTRIBUTE_EXTERN_DATA extern const char * LODEPNG_VERSION_STRING;
/*
The following #defines are used to create code sections. They can be disabled
@@ -295,7 +295,7 @@ struct _LodePNGDecompressSettings {
const void * custom_context; /*optional custom settings for custom functions*/
};
-extern const LodePNGDecompressSettings lodepng_default_decompress_settings;
+LV_ATTRIBUTE_EXTERN_DATA extern const LodePNGDecompressSettings lodepng_default_decompress_settings;
void lodepng_decompress_settings_init(LodePNGDecompressSettings * settings);
#endif /*LODEPNG_COMPILE_DECODER*/
@@ -328,7 +328,7 @@ struct _LodePNGCompressSettings { /*deflate = compress*/
const void * custom_context; /*optional custom settings for custom functions*/
};
-extern const LodePNGCompressSettings lodepng_default_compress_settings;
+LV_ATTRIBUTE_EXTERN_DATA extern const LodePNGCompressSettings lodepng_default_compress_settings;
void lodepng_compress_settings_init(LodePNGCompressSettings * settings);
#endif /*LODEPNG_COMPILE_ENCODER*/
diff --git a/src/libs/qrcode/lv_qrcode.h b/src/libs/qrcode/lv_qrcode.h
index 703469b0a..36de2b384 100644
--- a/src/libs/qrcode/lv_qrcode.h
+++ b/src/libs/qrcode/lv_qrcode.h
@@ -31,7 +31,7 @@ typedef struct {
lv_color_t light_color;
} lv_qrcode_t;
-extern const lv_obj_class_t lv_qrcode_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_qrcode_class;
/**********************
* GLOBAL PROTOTYPES
diff --git a/src/libs/rlottie/lv_rlottie.h b/src/libs/rlottie/lv_rlottie.h
index 0cc7c92ba..652a1a9aa 100644
--- a/src/libs/rlottie/lv_rlottie.h
+++ b/src/libs/rlottie/lv_rlottie.h
@@ -48,7 +48,7 @@ typedef struct {
size_t dest_frame;
} lv_rlottie_t;
-extern const lv_obj_class_t lv_rlottie_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_rlottie_class;
/**********************
* GLOBAL PROTOTYPES
diff --git a/src/misc/lv_color_op.c b/src/misc/lv_color_op.c
index 247310ded..5e2fb3455 100644
--- a/src/misc/lv_color_op.c
+++ b/src/misc/lv_color_op.c
@@ -33,4 +33,3 @@
/**********************
* GLOBAL FUNCTIONS
**********************/
-
diff --git a/src/misc/lv_style.h b/src/misc/lv_style.h
index 6b6154cc8..ecad5fe6a 100644
--- a/src/misc/lv_style.h
+++ b/src/misc/lv_style.h
@@ -606,7 +606,7 @@ static inline bool lv_style_prop_has_flag(lv_style_prop_t prop, uint8_t flag)
* GLOBAL VARIABLES
*************************/
-extern const lv_style_prop_t lv_style_const_prop_id_inv;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t lv_style_const_prop_id_inv;
/**********************
* MACROS
diff --git a/src/misc/lv_style_gen.h b/src/misc/lv_style_gen.h
index f855017d0..afce82a07 100644
--- a/src/misc/lv_style_gen.h
+++ b/src/misc/lv_style_gen.h
@@ -10,227 +10,227 @@
#define LV_STYLE_GEN_H
void lv_style_set_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_WIDTH;
void lv_style_set_min_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MIN_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MIN_WIDTH;
void lv_style_set_max_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MAX_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MAX_WIDTH;
void lv_style_set_height(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_HEIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_HEIGHT;
void lv_style_set_min_height(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MIN_HEIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MIN_HEIGHT;
void lv_style_set_max_height(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MAX_HEIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MAX_HEIGHT;
void lv_style_set_length(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LENGTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LENGTH;
void lv_style_set_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_X;
void lv_style_set_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_Y;
void lv_style_set_align(lv_style_t * style, lv_align_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ALIGN;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ALIGN;
void lv_style_set_transform_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_WIDTH;
void lv_style_set_transform_height(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_HEIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_HEIGHT;
void lv_style_set_translate_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSLATE_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSLATE_X;
void lv_style_set_translate_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSLATE_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSLATE_Y;
void lv_style_set_transform_scale_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SCALE_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SCALE_X;
void lv_style_set_transform_scale_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SCALE_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SCALE_Y;
void lv_style_set_transform_rotation(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_ROTATION;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_ROTATION;
void lv_style_set_transform_pivot_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_PIVOT_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_PIVOT_X;
void lv_style_set_transform_pivot_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_PIVOT_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_PIVOT_Y;
void lv_style_set_transform_skew_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SKEW_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SKEW_X;
void lv_style_set_transform_skew_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SKEW_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSFORM_SKEW_Y;
void lv_style_set_pad_top(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_TOP;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_TOP;
void lv_style_set_pad_bottom(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_BOTTOM;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_BOTTOM;
void lv_style_set_pad_left(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_LEFT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_LEFT;
void lv_style_set_pad_right(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_RIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_RIGHT;
void lv_style_set_pad_row(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_ROW;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_ROW;
void lv_style_set_pad_column(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_PAD_COLUMN;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_PAD_COLUMN;
void lv_style_set_margin_top(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_TOP;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_TOP;
void lv_style_set_margin_bottom(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_BOTTOM;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_BOTTOM;
void lv_style_set_margin_left(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_LEFT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_LEFT;
void lv_style_set_margin_right(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_RIGHT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_MARGIN_RIGHT;
void lv_style_set_bg_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_COLOR;
void lv_style_set_bg_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_OPA;
void lv_style_set_bg_grad_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_COLOR;
void lv_style_set_bg_grad_dir(lv_style_t * style, lv_grad_dir_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_DIR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_DIR;
void lv_style_set_bg_main_stop(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_MAIN_STOP;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_MAIN_STOP;
void lv_style_set_bg_grad_stop(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_STOP;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_STOP;
void lv_style_set_bg_main_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_MAIN_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_MAIN_OPA;
void lv_style_set_bg_grad_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD_OPA;
void lv_style_set_bg_grad(lv_style_t * style, const lv_grad_dsc_t * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_GRAD;
void lv_style_set_bg_image_src(lv_style_t * style, const void * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_SRC;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_SRC;
void lv_style_set_bg_image_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_OPA;
void lv_style_set_bg_image_recolor(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_RECOLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_RECOLOR;
void lv_style_set_bg_image_recolor_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_RECOLOR_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_RECOLOR_OPA;
void lv_style_set_bg_image_tiled(lv_style_t * style, bool value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_TILED;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BG_IMAGE_TILED;
void lv_style_set_border_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_COLOR;
void lv_style_set_border_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_OPA;
void lv_style_set_border_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_WIDTH;
void lv_style_set_border_side(lv_style_t * style, lv_border_side_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_SIDE;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_SIDE;
void lv_style_set_border_post(lv_style_t * style, bool value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_POST;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BORDER_POST;
void lv_style_set_outline_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_WIDTH;
void lv_style_set_outline_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_COLOR;
void lv_style_set_outline_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_OPA;
void lv_style_set_outline_pad(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_PAD;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OUTLINE_PAD;
void lv_style_set_shadow_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_WIDTH;
void lv_style_set_shadow_offset_x(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OFFSET_X;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OFFSET_X;
void lv_style_set_shadow_offset_y(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OFFSET_Y;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OFFSET_Y;
void lv_style_set_shadow_spread(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_SPREAD;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_SPREAD;
void lv_style_set_shadow_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_COLOR;
void lv_style_set_shadow_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_SHADOW_OPA;
void lv_style_set_image_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_OPA;
void lv_style_set_image_recolor(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_RECOLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_RECOLOR;
void lv_style_set_image_recolor_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_RECOLOR_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_IMAGE_RECOLOR_OPA;
void lv_style_set_line_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_WIDTH;
void lv_style_set_line_dash_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_DASH_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_DASH_WIDTH;
void lv_style_set_line_dash_gap(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_DASH_GAP;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_DASH_GAP;
void lv_style_set_line_rounded(lv_style_t * style, bool value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_ROUNDED;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_ROUNDED;
void lv_style_set_line_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_COLOR;
void lv_style_set_line_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LINE_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LINE_OPA;
void lv_style_set_arc_width(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ARC_WIDTH;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ARC_WIDTH;
void lv_style_set_arc_rounded(lv_style_t * style, bool value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ARC_ROUNDED;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ARC_ROUNDED;
void lv_style_set_arc_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ARC_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ARC_COLOR;
void lv_style_set_arc_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ARC_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ARC_OPA;
void lv_style_set_arc_image_src(lv_style_t * style, const void * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ARC_IMAGE_SRC;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ARC_IMAGE_SRC;
void lv_style_set_text_color(lv_style_t * style, lv_color_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_COLOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_COLOR;
void lv_style_set_text_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_OPA;
void lv_style_set_text_font(lv_style_t * style, const lv_font_t * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_FONT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_FONT;
void lv_style_set_text_letter_space(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_LETTER_SPACE;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_LETTER_SPACE;
void lv_style_set_text_line_space(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_LINE_SPACE;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_LINE_SPACE;
void lv_style_set_text_decor(lv_style_t * style, lv_text_decor_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_DECOR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_DECOR;
void lv_style_set_text_align(lv_style_t * style, lv_text_align_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_ALIGN;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TEXT_ALIGN;
void lv_style_set_radius(lv_style_t * style, int32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_RADIUS;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_RADIUS;
void lv_style_set_clip_corner(lv_style_t * style, bool value);
-extern const lv_style_prop_t _lv_style_const_prop_id_CLIP_CORNER;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_CLIP_CORNER;
void lv_style_set_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OPA;
void lv_style_set_opa_layered(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_OPA_LAYERED;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_OPA_LAYERED;
void lv_style_set_color_filter_dsc(lv_style_t * style, const lv_color_filter_dsc_t * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_COLOR_FILTER_DSC;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_COLOR_FILTER_DSC;
void lv_style_set_color_filter_opa(lv_style_t * style, lv_opa_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_COLOR_FILTER_OPA;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_COLOR_FILTER_OPA;
void lv_style_set_anim(lv_style_t * style, const lv_anim_t * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ANIM;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ANIM;
void lv_style_set_anim_time(lv_style_t * style, uint32_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_ANIM_TIME;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_ANIM_TIME;
void lv_style_set_transition(lv_style_t * style, const lv_style_transition_dsc_t * value);
-extern const lv_style_prop_t _lv_style_const_prop_id_TRANSITION;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_TRANSITION;
void lv_style_set_blend_mode(lv_style_t * style, lv_blend_mode_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BLEND_MODE;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BLEND_MODE;
void lv_style_set_layout(lv_style_t * style, uint16_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_LAYOUT;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_LAYOUT;
void lv_style_set_base_dir(lv_style_t * style, lv_base_dir_t value);
-extern const lv_style_prop_t _lv_style_const_prop_id_BASE_DIR;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_BASE_DIR;
#if LV_USE_FLEX
void lv_style_set_flex_flow(lv_style_t * style, lv_flex_flow_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_FLOW;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_FLOW;
void lv_style_set_flex_main_place(lv_style_t * style, lv_flex_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_MAIN_PLACE;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_MAIN_PLACE;
void lv_style_set_flex_cross_place(lv_style_t * style, lv_flex_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_CROSS_PLACE;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_CROSS_PLACE;
void lv_style_set_flex_track_place(lv_style_t * style, lv_flex_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_TRACK_PLACE;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_TRACK_PLACE;
void lv_style_set_flex_grow(lv_style_t * style, uint8_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_GROW;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_FLEX_GROW;
#endif /*LV_USE_FLEX*/
#if LV_USE_GRID
void lv_style_set_grid_column_dsc_array(lv_style_t * style, const int32_t * value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_COLUMN_DSC_ARRAY;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_COLUMN_DSC_ARRAY;
void lv_style_set_grid_column_align(lv_style_t * style, lv_grid_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_COLUMN_ALIGN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_COLUMN_ALIGN;
void lv_style_set_grid_row_dsc_array(lv_style_t * style, const int32_t * value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_ROW_DSC_ARRAY;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_ROW_DSC_ARRAY;
void lv_style_set_grid_row_align(lv_style_t * style, lv_grid_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_ROW_ALIGN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_ROW_ALIGN;
void lv_style_set_grid_cell_column_pos(lv_style_t * style, int32_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_COLUMN_POS;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_COLUMN_POS;
void lv_style_set_grid_cell_x_align(lv_style_t * style, lv_grid_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_X_ALIGN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_X_ALIGN;
void lv_style_set_grid_cell_column_span(lv_style_t * style, int32_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_COLUMN_SPAN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_COLUMN_SPAN;
void lv_style_set_grid_cell_row_pos(lv_style_t * style, int32_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_ROW_POS;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_ROW_POS;
void lv_style_set_grid_cell_y_align(lv_style_t * style, lv_grid_align_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_Y_ALIGN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_Y_ALIGN;
void lv_style_set_grid_cell_row_span(lv_style_t * style, int32_t value);
- extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_ROW_SPAN;
+ LV_ATTRIBUTE_EXTERN_DATA extern const lv_style_prop_t _lv_style_const_prop_id_GRID_CELL_ROW_SPAN;
#endif /*LV_USE_GRID*/
#define LV_STYLE_CONST_WIDTH(val) \
diff --git a/src/widgets/calendar/lv_calendar_header_arrow.c b/src/widgets/calendar/lv_calendar_header_arrow.c
index d2d277a3c..ef8063c38 100644
--- a/src/widgets/calendar/lv_calendar_header_arrow.c
+++ b/src/widgets/calendar/lv_calendar_header_arrow.c
@@ -148,4 +148,3 @@ static void value_changed_event_cb(lv_event_t * e)
}
#endif /*LV_USE_CALENDAR_HEADER_ARROW*/
-
diff --git a/src/widgets/calendar/lv_calendar_header_dropdown.c b/src/widgets/calendar/lv_calendar_header_dropdown.c
index 46440b3cf..9539c5f1a 100644
--- a/src/widgets/calendar/lv_calendar_header_dropdown.c
+++ b/src/widgets/calendar/lv_calendar_header_dropdown.c
@@ -180,4 +180,3 @@ static void value_changed_event_cb(lv_event_t * e)
}
#endif /*LV_USE_CALENDAR_HEADER_ARROW*/
-
diff --git a/src/widgets/dropdown/lv_dropdown.h b/src/widgets/dropdown/lv_dropdown.h
index df274c2ae..614f5f192 100644
--- a/src/widgets/dropdown/lv_dropdown.h
+++ b/src/widgets/dropdown/lv_dropdown.h
@@ -55,8 +55,8 @@ typedef struct {
lv_obj_t * dropdown;
} lv_dropdown_list_t;
-extern const lv_obj_class_t lv_dropdown_class;
-extern const lv_obj_class_t lv_dropdownlist_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_dropdown_class;
+LV_ATTRIBUTE_EXTERN_DATA extern const lv_obj_class_t lv_dropdownlist_class;
/**********************
* GLOBAL PROTOTYPES
diff --git a/tests/src/lv_test_init.h b/tests/src/lv_test_init.h
index dc629207f..2b536078e 100644
--- a/tests/src/lv_test_init.h
+++ b/tests/src/lv_test_init.h
@@ -17,4 +17,3 @@ void lv_test_deinit(void);
#endif
#endif /*LV_TEST_INIT_H*/
-
diff --git a/tests/src/test_cases/test_demo_stress.c b/tests/src/test_cases/test_demo_stress.c
index 8370f7fa7..087ca6c3b 100644
--- a/tests/src/test_cases/test_demo_stress.c
+++ b/tests/src/test_cases/test_demo_stress.c
@@ -35,4 +35,3 @@ void test_demo_stress(void)
}
#endif
-
diff --git a/tests/src/test_cases/test_demo_widgets.c b/tests/src/test_cases/test_demo_widgets.c
index 48ba758fb..d73f4cccc 100644
--- a/tests/src/test_cases/test_demo_widgets.c
+++ b/tests/src/test_cases/test_demo_widgets.c
@@ -15,4 +15,3 @@ void test_demo_widgets(void)
}
#endif
-