diff options
| author | Jean-François Milants <jf@codingfield.com> | 2021-03-07 07:44:14 (GMT) |
|---|---|---|
| committer | Jean-François Milants <jf@codingfield.com> | 2021-03-07 07:44:14 (GMT) |
| commit | 9f67e6f6525bd4071609ff9edd6ce132d7ca1464 (patch) | |
| tree | 65b2dc22bb257c6dd4fc8be77762173b564c340c /src/libs/lvgl/patches | |
| parent | 740b3d7b58dd92a6a6f99620a090ae4f05c03299 (diff) | |
| parent | ada942535718d48eec37cca4f50d678e7201dc67 (diff) | |
Merge branch 'develop' into recovery-firmware
# Conflicts:
# src/CMakeLists.txt
# src/displayapp/DisplayApp.h
# src/systemtask/SystemTask.cpp
# src/systemtask/SystemTask.h
Diffstat (limited to 'src/libs/lvgl/patches')
| -rw-r--r-- | src/libs/lvgl/patches/0001-lv_refr-add-support-for-selecting-render-direction.patch | 122 | ||||
| -rw-r--r-- | src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch | 51 |
2 files changed, 0 insertions, 173 deletions
diff --git a/src/libs/lvgl/patches/0001-lv_refr-add-support-for-selecting-render-direction.patch b/src/libs/lvgl/patches/0001-lv_refr-add-support-for-selecting-render-direction.patch deleted file mode 100644 index 2996c06..0000000 --- a/src/libs/lvgl/patches/0001-lv_refr-add-support-for-selecting-render-direction.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 1f57703589c6d202d9f6259f1d0fefe7bfd39061 Mon Sep 17 00:00:00 2001 -From: Koen Zandberg <koen@bergzand.net> -Date: Thu, 27 Feb 2020 16:33:06 +0100 -Subject: [PATCH] lv_refr: add support for selecting render direction - ---- - src/lv_core/lv_refr.c | 71 ++++++++++++++++++++++++++++------------ - src/lv_hal/lv_hal_disp.h | 6 ++++ - 2 files changed, 56 insertions(+), 21 deletions(-) - -diff --git a/src/lv_core/lv_refr.c b/src/lv_core/lv_refr.c -index 5ee3fbb2..e71e1629 100644 ---- a/src/lv_core/lv_refr.c -+++ b/src/lv_core/lv_refr.c -@@ -339,30 +339,59 @@ static void lv_refr_area(const lv_area_t * area_p) - } - } - -- /*Always use the full row*/ -- lv_coord_t row; -- lv_coord_t row_last = 0; -- for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { -- /*Calc. the next y coordinates of VDB*/ -- vdb->area.x1 = area_p->x1; -- vdb->area.x2 = area_p->x2; -- vdb->area.y1 = row; -- vdb->area.y2 = row + max_row - 1; -- if(vdb->area.y2 > y2) vdb->area.y2 = y2; -- row_last = vdb->area.y2; -- lv_refr_area_part(area_p); -+ if (disp_refr->render_direction) { -+ /*Always use the full row*/ -+ lv_coord_t row; -+ lv_coord_t row_last = y2; -+ for(row = area_p->y2; row > max_row - 1 + area_p->y1; row -= max_row) { -+ /*Calc. the next y coordinates of VDB*/ -+ vdb->area.x1 = area_p->x1; -+ vdb->area.x2 = area_p->x2; -+ vdb->area.y1 = row - max_row + 1; -+ vdb->area.y2 = row; -+ if(vdb->area.y2 > y2) vdb->area.y2 = y2; -+ row_last = vdb->area.y1; -+ lv_refr_area_part(area_p); -+ } -+ -+ /*If the last (first) y coordinates are not handled yet ...*/ -+ if(area_p->y1 != row_last) { -+ /*Calc. the next y coordinates of VDB*/ -+ vdb->area.x1 = area_p->x1; -+ vdb->area.x2 = area_p->x2; -+ vdb->area.y1 = area_p->y1; -+ vdb->area.y2 = row; -+ -+ /*Refresh this part too*/ -+ lv_refr_area_part(area_p); -+ } - } -+ else { -+ /*Always use the full row*/ -+ lv_coord_t row; -+ lv_coord_t row_last = 0; -+ for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { -+ /*Calc. the next y coordinates of VDB*/ -+ vdb->area.x1 = area_p->x1; -+ vdb->area.x2 = area_p->x2; -+ vdb->area.y1 = row; -+ vdb->area.y2 = row + max_row - 1; -+ if(vdb->area.y2 > y2) vdb->area.y2 = y2; -+ row_last = vdb->area.y2; -+ lv_refr_area_part(area_p); -+ } - -- /*If the last y coordinates are not handled yet ...*/ -- if(y2 != row_last) { -- /*Calc. the next y coordinates of VDB*/ -- vdb->area.x1 = area_p->x1; -- vdb->area.x2 = area_p->x2; -- vdb->area.y1 = row; -- vdb->area.y2 = y2; -+ /*If the last y coordinates are not handled yet ...*/ -+ if(y2 != row_last) { -+ /*Calc. the next y coordinates of VDB*/ -+ vdb->area.x1 = area_p->x1; -+ vdb->area.x2 = area_p->x2; -+ vdb->area.y1 = row; -+ vdb->area.y2 = y2; - -- /*Refresh this part too*/ -- lv_refr_area_part(area_p); -+ /*Refresh this part too*/ -+ lv_refr_area_part(area_p); -+ } - } - } - } -diff --git a/src/lv_hal/lv_hal_disp.h b/src/lv_hal/lv_hal_disp.h -index 8db692a0..eef22d98 100644 ---- a/src/lv_hal/lv_hal_disp.h -+++ b/src/lv_hal/lv_hal_disp.h -@@ -143,6 +143,7 @@ typedef struct _disp_t - uint8_t inv_area_joined[LV_INV_BUF_SIZE]; - uint32_t inv_p : 10; - -+ int render_direction; /**< 0 when rendering down, 1 when rendering up */ - /*Miscellaneous data*/ - uint32_t last_activity_time; /**< Last time there was activity on this display */ - } lv_disp_t; -@@ -230,6 +231,11 @@ lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp); - */ - bool lv_disp_get_antialiasing(lv_disp_t * disp); - -+static inline void lv_disp_set_direction(lv_disp_t * disp, int direction) -+{ -+ disp->render_direction = direction; -+} -+ - //! @cond Doxygen_Suppress - - /** --- -2.24.1 - diff --git a/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch b/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch deleted file mode 100644 index 7b4c204..0000000 --- a/src/libs/lvgl/patches/0002-fix_bug_in_animation_management_for_lv_label.patch +++ /dev/null @@ -1,51 +0,0 @@ -Index: src/libs/lvgl/src/lv_misc/lv_anim.c -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.c b/src/libs/lvgl/src/lv_misc/lv_anim.c ---- a/src/libs/lvgl/src/lv_misc/lv_anim.c (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4) -+++ b/src/libs/lvgl/src/lv_misc/lv_anim.c (date 1610901672072) -@@ -158,12 +158,12 @@ - * @param end end value of the animation - * @return the required time [ms] for the animation with the given parameters - */ --uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) -+uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end) - { - int32_t d = LV_MATH_ABS((int32_t)start - end); - uint32_t time = (int32_t)((int32_t)(d * 1000) / speed); - -- if(time > UINT16_MAX) time = UINT16_MAX; -+ if(time > UINT32_MAX) time = UINT32_MAX; - - if(time == 0) { - time++; -Index: src/libs/lvgl/src/lv_misc/lv_anim.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/src/libs/lvgl/src/lv_misc/lv_anim.h b/src/libs/lvgl/src/lv_misc/lv_anim.h ---- a/src/libs/lvgl/src/lv_misc/lv_anim.h (revision 12a3b6cc8ec1fd6b951c353ab3a5fbbb9934fdd4) -+++ b/src/libs/lvgl/src/lv_misc/lv_anim.h (date 1610901672076) -@@ -73,8 +73,8 @@ - lv_anim_ready_cb_t ready_cb; /**< Call it when the animation is ready*/ - int32_t start; /**< Start value*/ - int32_t end; /**< End value*/ -- uint16_t time; /**< Animation time in ms*/ -- int16_t act_time; /**< Current time in animation. Set to negative to make delay.*/ -+ uint32_t time; /**< Animation time in ms*/ -+ int32_t act_time; /**< Current time in animation. Set to negative to make delay.*/ - uint16_t playback_pause; /**< Wait before play back*/ - uint16_t repeat_pause; /**< Wait before repeat*/ - #if LV_USE_USER_DATA -@@ -266,7 +266,7 @@ - * @param end end value of the animation - * @return the required time [ms] for the animation with the given parameters - */ --uint16_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); -+uint32_t lv_anim_speed_to_time(uint16_t speed, lv_anim_value_t start, lv_anim_value_t end); - - /** - * Calculate the current value of an animation applying linear characteristic |
