fix(anim) fix anim_exec_cb casts

This commit is contained in:
Gabor Kiss-Vamosi
2021-02-22 20:27:46 +01:00
parent 757c18e430
commit e9613526f8
14 changed files with 130 additions and 104 deletions
+4 -4
View File
@@ -1,12 +1,12 @@
#include "../../../lvgl.h" #include "../../../lvgl.h"
#if LV_USE_FLEX && LV_BUILD_EXAMPLES #if LV_USE_FLEX && LV_BUILD_EXAMPLES
static void row_gap_anim(lv_obj_t * obj, int32_t v) static void row_gap_anim(void * obj, int32_t v)
{ {
lv_obj_set_style_pad_row(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_pad_row(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
static void column_gap_anim(lv_obj_t * obj, int32_t v) static void column_gap_anim(void * obj, int32_t v)
{ {
lv_obj_set_style_pad_column(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_pad_column(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
@@ -37,12 +37,12 @@ void lv_example_flex_5(void)
lv_anim_set_values(&a, 0, 10); lv_anim_set_values(&a, 0, 10);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) row_gap_anim); lv_anim_set_exec_cb(&a, row_gap_anim);
lv_anim_set_time(&a, 500); lv_anim_set_time(&a, 500);
lv_anim_set_playback_time(&a, 500); lv_anim_set_playback_time(&a, 500);
lv_anim_start(&a); lv_anim_start(&a);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) column_gap_anim); lv_anim_set_exec_cb(&a, column_gap_anim);
lv_anim_set_time(&a, 3000); lv_anim_set_time(&a, 3000);
lv_anim_set_playback_time(&a, 3000); lv_anim_set_playback_time(&a, 3000);
lv_anim_start(&a); lv_anim_start(&a);
+4 -4
View File
@@ -1,12 +1,12 @@
#include "../../../lvgl.h" #include "../../../lvgl.h"
#if LV_USE_GRID && LV_BUILD_EXAMPLES #if LV_USE_GRID && LV_BUILD_EXAMPLES
static void row_gap_anim(lv_obj_t * obj, int32_t v) static void row_gap_anim(void * obj, int32_t v)
{ {
lv_obj_set_style_pad_row(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_pad_row(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
static void column_gap_anim(lv_obj_t * obj, int32_t v) static void column_gap_anim(void * obj, int32_t v)
{ {
lv_obj_set_style_pad_column(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_pad_column(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
@@ -51,12 +51,12 @@ void lv_example_grid_5(void)
lv_anim_set_values(&a, 0, 10); lv_anim_set_values(&a, 0, 10);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) row_gap_anim); lv_anim_set_exec_cb(&a, row_gap_anim);
lv_anim_set_time(&a, 500); lv_anim_set_time(&a, 500);
lv_anim_set_playback_time(&a, 500); lv_anim_set_playback_time(&a, 500);
lv_anim_start(&a); lv_anim_start(&a);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) column_gap_anim); lv_anim_set_exec_cb(&a, column_gap_anim);
lv_anim_set_time(&a, 3000); lv_anim_set_time(&a, 3000);
lv_anim_set_playback_time(&a, 3000); lv_anim_set_playback_time(&a, 3000);
lv_anim_start(&a); lv_anim_start(&a);
+2 -2
View File
@@ -1,7 +1,7 @@
#include "../../../lvgl.h" #include "../../../lvgl.h"
#if LV_USE_BAR && LV_BUILD_EXAMPLES #if LV_USE_BAR && LV_BUILD_EXAMPLES
static void set_value(lv_obj_t *bar, int32_t v) static void set_value(void *bar, int32_t v)
{ {
lv_bar_set_value(bar, v, LV_ANIM_OFF); lv_bar_set_value(bar, v, LV_ANIM_OFF);
} }
@@ -62,7 +62,7 @@ void lv_example_bar_6(void)
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, bar); lv_anim_set_var(&a, bar);
lv_anim_set_values(&a, 0, 100); lv_anim_set_values(&a, 0, 100);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) set_value); lv_anim_set_exec_cb(&a, set_value);
lv_anim_set_time(&a, 2000); lv_anim_set_time(&a, 2000);
lv_anim_set_playback_time(&a, 2000); lv_anim_set_playback_time(&a, 2000);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
+6 -1
View File
@@ -1,6 +1,11 @@
#include "../../../lvgl.h" #include "../../../lvgl.h"
#if LV_USE_IMG && LV_BUILD_EXAMPLES #if LV_USE_IMG && LV_BUILD_EXAMPLES
static void ofs_y_anim(void * img, int32_t v)
{
lv_img_set_offset_y(img, v);
}
/** /**
* Image styling and offset * Image styling and offset
*/ */
@@ -24,7 +29,7 @@ void lv_example_img_4(void)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, img); lv_anim_set_var(&a, img);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_img_set_offset_y); lv_anim_set_exec_cb(&a, ofs_y_anim);
lv_anim_set_values(&a, 0, 100); lv_anim_set_values(&a, 0, 100);
lv_anim_set_time(&a, 3000); lv_anim_set_time(&a, 3000);
lv_anim_set_playback_time(&a, 500); lv_anim_set_playback_time(&a, 500);
+2 -2
View File
@@ -3,7 +3,7 @@
static lv_obj_t * meter; static lv_obj_t * meter;
static void set_value(lv_meter_indicator_t * indic, int32_t v) static void set_value(void * indic, int32_t v)
{ {
lv_meter_set_indicator_value(meter, indic, v); lv_meter_set_indicator_value(meter, indic, v);
} }
@@ -39,7 +39,7 @@ void lv_example_meter_1(void)
/*Create an animation to set the value*/ /*Create an animation to set the value*/
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) set_value); lv_anim_set_exec_cb(&a, set_value);
lv_anim_set_var(&a, indic); lv_anim_set_var(&a, indic);
lv_anim_set_values(&a, 0, 100); lv_anim_set_values(&a, 0, 100);
lv_anim_set_time(&a, 2000); lv_anim_set_time(&a, 2000);
+2 -2
View File
@@ -3,7 +3,7 @@
static lv_obj_t * meter; static lv_obj_t * meter;
static void set_value(lv_meter_indicator_t * indic, int32_t v) static void set_value(void * indic, int32_t v)
{ {
lv_meter_set_indicator_end_value(meter, indic, v); lv_meter_set_indicator_end_value(meter, indic, v);
} }
@@ -34,7 +34,7 @@ void lv_example_meter_2(void)
/*Create an animation to set the value*/ /*Create an animation to set the value*/
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) set_value); lv_anim_set_exec_cb(&a, set_value);
lv_anim_set_values(&a, 0, 100); lv_anim_set_values(&a, 0, 100);
lv_anim_set_repeat_delay(&a, 100); lv_anim_set_repeat_delay(&a, 100);
lv_anim_set_playback_delay(&a, 100); lv_anim_set_playback_delay(&a, 100);
+2 -2
View File
@@ -3,7 +3,7 @@
static lv_obj_t * meter; static lv_obj_t * meter;
static void set_value(lv_meter_indicator_t * indic, int32_t v) static void set_value(void * indic, int32_t v)
{ {
lv_meter_set_indicator_end_value(meter, indic, v); lv_meter_set_indicator_end_value(meter, indic, v);
} }
@@ -38,7 +38,7 @@ void lv_example_meter_3(void)
/*Create an animation to set the value*/ /*Create an animation to set the value*/
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) set_value); lv_anim_set_exec_cb(&a, set_value);
lv_anim_set_values(&a, 0, 60); lv_anim_set_values(&a, 0, 60);
lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_time(&a, 2000); /*2 sec for 1 turn of the minute hand (1 hour)*/ lv_anim_set_time(&a, 2000); /*2 sec for 1 turn of the minute hand (1 hour)*/
+28 -16
View File
@@ -23,7 +23,9 @@
**********************/ **********************/
static void scr_load_anim_start(lv_anim_t * a); static void scr_load_anim_start(lv_anim_t * a);
static void opa_scale_anim(lv_obj_t * obj, int32_t v); static void opa_scale_anim(void * obj, int32_t v);
static void set_x_anim(void * obj, int32_t v);
static void set_y_anim(void * obj, int32_t v);
static void scr_anim_ready(lv_anim_t * a); static void scr_anim_ready(lv_anim_t * a);
/********************** /**********************
@@ -238,56 +240,56 @@ void lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t
switch(anim_type) { switch(anim_type) {
case LV_SCR_LOAD_ANIM_NONE: case LV_SCR_LOAD_ANIM_NONE:
/* Create a dummy animation to apply the delay*/ /* Create a dummy animation to apply the delay*/
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_new, set_x_anim);
lv_anim_set_values(&a_new, 0, 0); lv_anim_set_values(&a_new, 0, 0);
break; break;
case LV_SCR_LOAD_ANIM_OVER_LEFT: case LV_SCR_LOAD_ANIM_OVER_LEFT:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_new, set_x_anim);
lv_anim_set_values(&a_new, lv_disp_get_hor_res(d), 0); lv_anim_set_values(&a_new, lv_disp_get_hor_res(d), 0);
break; break;
case LV_SCR_LOAD_ANIM_OVER_RIGHT: case LV_SCR_LOAD_ANIM_OVER_RIGHT:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_new, set_x_anim);
lv_anim_set_values(&a_new, -lv_disp_get_hor_res(d), 0); lv_anim_set_values(&a_new, -lv_disp_get_hor_res(d), 0);
break; break;
case LV_SCR_LOAD_ANIM_OVER_TOP: case LV_SCR_LOAD_ANIM_OVER_TOP:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_new, set_y_anim);
lv_anim_set_values(&a_new, lv_disp_get_ver_res(d), 0); lv_anim_set_values(&a_new, lv_disp_get_ver_res(d), 0);
break; break;
case LV_SCR_LOAD_ANIM_OVER_BOTTOM: case LV_SCR_LOAD_ANIM_OVER_BOTTOM:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_new, set_y_anim);
lv_anim_set_values(&a_new, -lv_disp_get_ver_res(d), 0); lv_anim_set_values(&a_new, -lv_disp_get_ver_res(d), 0);
break; break;
case LV_SCR_LOAD_ANIM_MOVE_LEFT: case LV_SCR_LOAD_ANIM_MOVE_LEFT:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_new, set_x_anim);
lv_anim_set_values(&a_new, lv_disp_get_hor_res(d), 0); lv_anim_set_values(&a_new, lv_disp_get_hor_res(d), 0);
lv_anim_set_exec_cb(&a_old, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_old, set_x_anim);
lv_anim_set_values(&a_old, 0, -lv_disp_get_hor_res(d)); lv_anim_set_values(&a_old, 0, -lv_disp_get_hor_res(d));
break; break;
case LV_SCR_LOAD_ANIM_MOVE_RIGHT: case LV_SCR_LOAD_ANIM_MOVE_RIGHT:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_new, set_x_anim);
lv_anim_set_values(&a_new, -lv_disp_get_hor_res(d), 0); lv_anim_set_values(&a_new, -lv_disp_get_hor_res(d), 0);
lv_anim_set_exec_cb(&a_old, (lv_anim_exec_xcb_t) lv_obj_set_x); lv_anim_set_exec_cb(&a_old, set_x_anim);
lv_anim_set_values(&a_old, 0, lv_disp_get_hor_res(d)); lv_anim_set_values(&a_old, 0, lv_disp_get_hor_res(d));
break; break;
case LV_SCR_LOAD_ANIM_MOVE_TOP: case LV_SCR_LOAD_ANIM_MOVE_TOP:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_new, set_y_anim);
lv_anim_set_values(&a_new, lv_disp_get_ver_res(d), 0); lv_anim_set_values(&a_new, lv_disp_get_ver_res(d), 0);
lv_anim_set_exec_cb(&a_old, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_old, set_y_anim);
lv_anim_set_values(&a_old, 0, -lv_disp_get_ver_res(d)); lv_anim_set_values(&a_old, 0, -lv_disp_get_ver_res(d));
break; break;
case LV_SCR_LOAD_ANIM_MOVE_BOTTOM: case LV_SCR_LOAD_ANIM_MOVE_BOTTOM:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_new, set_y_anim);
lv_anim_set_values(&a_new, -lv_disp_get_ver_res(d), 0); lv_anim_set_values(&a_new, -lv_disp_get_ver_res(d), 0);
lv_anim_set_exec_cb(&a_old, (lv_anim_exec_xcb_t) lv_obj_set_y); lv_anim_set_exec_cb(&a_old, set_y_anim);
lv_anim_set_values(&a_old, 0, lv_disp_get_ver_res(d)); lv_anim_set_values(&a_old, 0, lv_disp_get_ver_res(d));
break; break;
case LV_SCR_LOAD_ANIM_FADE_ON: case LV_SCR_LOAD_ANIM_FADE_ON:
lv_anim_set_exec_cb(&a_new, (lv_anim_exec_xcb_t) opa_scale_anim); lv_anim_set_exec_cb(&a_new, opa_scale_anim);
lv_anim_set_values(&a_new, LV_OPA_TRANSP, LV_OPA_COVER); lv_anim_set_values(&a_new, LV_OPA_TRANSP, LV_OPA_COVER);
break; break;
} }
@@ -377,11 +379,21 @@ static void scr_load_anim_start(lv_anim_t * a)
lv_disp_load_scr(a->var); lv_disp_load_scr(a->var);
} }
static void opa_scale_anim(lv_obj_t * obj, int32_t v) static void opa_scale_anim(void * obj, int32_t v)
{ {
lv_obj_set_style_opa(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_opa(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
static void set_x_anim(void * obj, int32_t v)
{
lv_obj_set_x(obj, v);
}
static void set_y_anim(void * obj, int32_t v)
{
lv_obj_set_y(obj, v);
}
static void scr_anim_ready(lv_anim_t * a) static void scr_anim_ready(lv_anim_t * a)
{ {
lv_disp_t * d = lv_obj_get_disp(a->var); lv_disp_t * d = lv_obj_get_disp(a->var);
+14 -14
View File
@@ -28,8 +28,8 @@ void lv_obj_move_children_by(lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_dif
/********************** /**********************
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static void scroll_anim_x_cb(lv_obj_t * obj, int32_t v); static void scroll_x_anim(void * obj, int32_t v);
static void scroll_anim_y_cb(lv_obj_t * obj, int32_t v); static void scroll_y_anim(void * obj, int32_t v);
static void scroll_anim_ready_cb(lv_anim_t * a); static void scroll_anim_ready_cb(lv_anim_t * a);
/********************** /**********************
@@ -219,10 +219,10 @@ lv_coord_t lv_obj_get_scroll_right(lv_obj_t * obj)
void lv_obj_get_scroll_end(struct _lv_obj_t * obj, lv_point_t * end) void lv_obj_get_scroll_end(struct _lv_obj_t * obj, lv_point_t * end)
{ {
lv_anim_t * a; lv_anim_t * a;
a = lv_anim_get(obj, (lv_anim_exec_xcb_t)scroll_anim_x_cb); a = lv_anim_get(obj, scroll_x_anim);
end->x = a ? -a->end : lv_obj_get_scroll_x(obj); end->x = a ? -a->end : lv_obj_get_scroll_x(obj);
a = lv_anim_get(obj, (lv_anim_exec_xcb_t)scroll_anim_y_cb); a = lv_anim_get(obj, scroll_y_anim);
end->y = a ? -a->end : lv_obj_get_scroll_y(obj); end->y = a ? -a->end : lv_obj_get_scroll_y(obj);
} }
@@ -273,7 +273,7 @@ void lv_obj_scroll_by(lv_obj_t * obj, lv_coord_t x, lv_coord_t y, lv_anim_enable
lv_anim_set_time(&a, t); lv_anim_set_time(&a, t);
lv_coord_t sx = lv_obj_get_scroll_x(obj); lv_coord_t sx = lv_obj_get_scroll_x(obj);
lv_anim_set_values(&a, -sx, -sx + x); lv_anim_set_values(&a, -sx, -sx + x);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) scroll_anim_x_cb); lv_anim_set_exec_cb(&a, scroll_x_anim);
lv_anim_set_path(&a, &path); lv_anim_set_path(&a, &path);
lv_anim_start(&a); lv_anim_start(&a);
} }
@@ -292,14 +292,14 @@ void lv_obj_scroll_by(lv_obj_t * obj, lv_coord_t x, lv_coord_t y, lv_anim_enable
lv_anim_set_time(&a, t); lv_anim_set_time(&a, t);
lv_coord_t sy = lv_obj_get_scroll_y(obj); lv_coord_t sy = lv_obj_get_scroll_y(obj);
lv_anim_set_values(&a, -sy, -sy + y); lv_anim_set_values(&a, -sy, -sy + y);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) scroll_anim_y_cb); lv_anim_set_exec_cb(&a, scroll_y_anim);
lv_anim_set_path(&a, &path); lv_anim_set_path(&a, &path);
lv_anim_start(&a); lv_anim_start(&a);
} }
} else { } else {
/*Remove pending animations*/ /*Remove pending animations*/
lv_anim_del(obj, (lv_anim_exec_xcb_t) scroll_anim_y_cb); lv_anim_del(obj, scroll_y_anim);
lv_anim_del(obj, (lv_anim_exec_xcb_t) scroll_anim_x_cb); lv_anim_del(obj, scroll_x_anim);
_lv_obj_scroll_by_raw(obj, x, y); _lv_obj_scroll_by_raw(obj, x, y);
} }
} }
@@ -312,7 +312,7 @@ void lv_obj_scroll_to(lv_obj_t * obj, lv_coord_t x, lv_coord_t y, lv_anim_enable
void lv_obj_scroll_to_x(lv_obj_t * obj, lv_coord_t x, lv_anim_enable_t anim_en) void lv_obj_scroll_to_x(lv_obj_t * obj, lv_coord_t x, lv_anim_enable_t anim_en)
{ {
lv_anim_del(obj, (lv_anim_exec_xcb_t) scroll_anim_x_cb); lv_anim_del(obj, scroll_x_anim);
/*Don't let scroll more then naturally possible by the size of the content*/ /*Don't let scroll more then naturally possible by the size of the content*/
if(x < 0) x = 0; if(x < 0) x = 0;
@@ -329,7 +329,7 @@ void lv_obj_scroll_to_x(lv_obj_t * obj, lv_coord_t x, lv_anim_enable_t anim_en)
void lv_obj_scroll_to_y(lv_obj_t * obj, lv_coord_t y, lv_anim_enable_t anim_en) void lv_obj_scroll_to_y(lv_obj_t * obj, lv_coord_t y, lv_anim_enable_t anim_en)
{ {
lv_anim_del(obj, (lv_anim_exec_xcb_t) scroll_anim_y_cb); lv_anim_del(obj, scroll_y_anim);
/*Don't let scroll more then naturally possible by the size of the content*/ /*Don't let scroll more then naturally possible by the size of the content*/
if(y < 0) y = 0; if(y < 0) y = 0;
@@ -370,8 +370,8 @@ void lv_obj_scroll_to_view(lv_obj_t * obj, lv_anim_enable_t anim_en)
} }
/* Remove any pending scroll animations.*/ /* Remove any pending scroll animations.*/
lv_anim_del(parent, (lv_anim_exec_xcb_t)scroll_anim_x_cb); lv_anim_del(parent, scroll_x_anim);
lv_anim_del(parent, (lv_anim_exec_xcb_t)scroll_anim_y_cb); lv_anim_del(parent, scroll_y_anim);
lv_obj_scroll_by(parent, x_scroll, y_scroll, anim_en); lv_obj_scroll_by(parent, x_scroll, y_scroll, anim_en);
} }
@@ -390,12 +390,12 @@ void lv_obj_scroll_to_view_recursive(lv_obj_t * obj, lv_anim_enable_t anim_en)
* STATIC FUNCTIONS * STATIC FUNCTIONS
**********************/ **********************/
static void scroll_anim_x_cb(lv_obj_t * obj, int32_t v) static void scroll_x_anim(void * obj, int32_t v)
{ {
_lv_obj_scroll_by_raw(obj, v + lv_obj_get_scroll_x(obj), 0); _lv_obj_scroll_by_raw(obj, v + lv_obj_get_scroll_x(obj), 0);
} }
static void scroll_anim_y_cb(lv_obj_t * obj, int32_t v) static void scroll_y_anim(void * obj, int32_t v)
{ {
_lv_obj_scroll_by_raw(obj, 0, v + lv_obj_get_scroll_y(obj)); _lv_obj_scroll_by_raw(obj, 0, v + lv_obj_get_scroll_y(obj));
} }
+8 -7
View File
@@ -55,10 +55,10 @@ static cache_t read_cache(const lv_obj_t * obj, lv_part_t part, lv_style_prop_t
static void report_style_change_core(void * style, lv_obj_t * obj); static void report_style_change_core(void * style, lv_obj_t * obj);
static void refresh_children_style(lv_obj_t * obj); static void refresh_children_style(lv_obj_t * obj);
static bool trans_del(lv_obj_t * obj, uint8_t part, lv_style_prop_t prop, trans_t * tr_limit); static bool trans_del(lv_obj_t * obj, uint8_t part, lv_style_prop_t prop, trans_t * tr_limit);
static void trans_anim_cb(trans_t * tr, int32_t v); static void trans_anim_cb(void * _tr, int32_t v);
static void trans_anim_start_cb(lv_anim_t * a); static void trans_anim_start_cb(lv_anim_t * a);
static void trans_anim_ready_cb(lv_anim_t * a); static void trans_anim_ready_cb(lv_anim_t * a);
static void fade_anim_cb(lv_obj_t * obj, int32_t v); static void fade_anim_cb(void * obj, int32_t v);
static void fade_in_anim_ready(lv_anim_t * a); static void fade_in_anim_ready(lv_anim_t * a);
/********************** /**********************
@@ -293,7 +293,7 @@ void _lv_obj_style_create_transition(lv_obj_t * obj, lv_style_prop_t prop, uint8
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, tr); lv_anim_set_var(&a, tr);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)trans_anim_cb); lv_anim_set_exec_cb(&a, trans_anim_cb);
lv_anim_set_start_cb(&a, trans_anim_start_cb); lv_anim_set_start_cb(&a, trans_anim_start_cb);
lv_anim_set_ready_cb(&a, trans_anim_ready_cb); lv_anim_set_ready_cb(&a, trans_anim_ready_cb);
lv_anim_set_values(&a, 0x00, 0xFF); lv_anim_set_values(&a, 0x00, 0xFF);
@@ -374,7 +374,7 @@ void lv_obj_fade_in(lv_obj_t * obj, uint32_t time, uint32_t delay)
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, obj); lv_anim_set_var(&a, obj);
lv_anim_set_values(&a, LV_OPA_TRANSP, LV_OPA_COVER); lv_anim_set_values(&a, LV_OPA_TRANSP, LV_OPA_COVER);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)fade_anim_cb); lv_anim_set_exec_cb(&a, fade_anim_cb);
lv_anim_set_ready_cb(&a, fade_in_anim_ready); lv_anim_set_ready_cb(&a, fade_in_anim_ready);
lv_anim_set_time(&a, time); lv_anim_set_time(&a, time);
lv_anim_set_delay(&a, delay); lv_anim_set_delay(&a, delay);
@@ -387,7 +387,7 @@ void lv_obj_fade_out(lv_obj_t * obj, uint32_t time, uint32_t delay)
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, obj); lv_anim_set_var(&a, obj);
lv_anim_set_values(&a, LV_OPA_COVER, LV_OPA_TRANSP); lv_anim_set_values(&a, LV_OPA_COVER, LV_OPA_TRANSP);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)fade_anim_cb); lv_anim_set_exec_cb(&a, fade_anim_cb);
lv_anim_set_time(&a, time); lv_anim_set_time(&a, time);
lv_anim_set_delay(&a, delay); lv_anim_set_delay(&a, delay);
lv_anim_start(&a); lv_anim_start(&a);
@@ -848,8 +848,9 @@ static bool trans_del(lv_obj_t * obj, uint8_t part, lv_style_prop_t prop, trans_
return removed; return removed;
} }
static void trans_anim_cb(trans_t * tr, int32_t v) static void trans_anim_cb(void * _tr, int32_t v)
{ {
trans_t * tr = _tr;
lv_obj_style_list_t * list = &tr->obj->style_list; lv_obj_style_list_t * list = &tr->obj->style_list;
uint32_t i; uint32_t i;
@@ -968,7 +969,7 @@ static void trans_anim_ready_cb(lv_anim_t * a)
} }
} }
static void fade_anim_cb(lv_obj_t * obj, int32_t v) static void fade_anim_cb(void * obj, int32_t v)
{ {
lv_obj_set_style_opa(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v); lv_obj_set_style_opa(obj, LV_PART_MAIN, LV_STATE_DEFAULT, v);
} }
+6 -5
View File
@@ -53,7 +53,7 @@ static void draw_indic(lv_obj_t * bar, const lv_area_t * clip_area);
static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_t * value_ptr, static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_t * value_ptr,
lv_bar_anim_t * anim_info, lv_anim_enable_t en); lv_bar_anim_t * anim_info, lv_anim_enable_t en);
static void lv_bar_init_anim(lv_obj_t * bar, lv_bar_anim_t * bar_anim); static void lv_bar_init_anim(lv_obj_t * bar, lv_bar_anim_t * bar_anim);
static void lv_bar_anim(lv_bar_anim_t * bar, int32_t value); static void lv_bar_anim(void * bar, int32_t value);
static void lv_bar_anim_ready(lv_anim_t * a); static void lv_bar_anim_ready(lv_anim_t * a);
/********************** /**********************
@@ -497,10 +497,11 @@ static lv_res_t lv_bar_signal(lv_obj_t * obj, lv_signal_t sign, void * param)
return res; return res;
} }
static void lv_bar_anim(lv_bar_anim_t * var, int32_t value) static void lv_bar_anim(void * var, int32_t value)
{ {
var->anim_state = value; lv_bar_anim_t * bar_anim = var;
lv_obj_invalidate(var->bar); bar_anim->anim_state = value;
lv_obj_invalidate(bar_anim->bar);
} }
static void lv_bar_anim_ready(lv_anim_t * a) static void lv_bar_anim_ready(lv_anim_t * a)
@@ -542,7 +543,7 @@ static void lv_bar_set_value_with_anim(lv_obj_t * obj, int16_t new_value, int16_
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, anim_info); lv_anim_set_var(&a, anim_info);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_bar_anim); lv_anim_set_exec_cb(&a, lv_bar_anim);
lv_anim_set_values(&a, LV_BAR_ANIM_STATE_START, LV_BAR_ANIM_STATE_END); lv_anim_set_values(&a, LV_BAR_ANIM_STATE_START, LV_BAR_ANIM_STATE_END);
lv_anim_set_ready_cb(&a, lv_bar_anim_ready); lv_anim_set_ready_cb(&a, lv_bar_anim_ready);
lv_anim_set_time(&a, lv_obj_get_style_anim_time(obj, LV_PART_MAIN)); lv_anim_set_time(&a, lv_obj_get_style_anim_time(obj, LV_PART_MAIN));
+32 -33
View File
@@ -42,13 +42,12 @@ static lv_draw_res_t lv_label_draw(lv_obj_t * label, const lv_area_t * clip_area
static void lv_label_refr_text(lv_obj_t * obj); static void lv_label_refr_text(lv_obj_t * obj);
static void lv_label_revert_dots(lv_obj_t * label); static void lv_label_revert_dots(lv_obj_t * label);
static void lv_label_set_offset_x(lv_obj_t * label, lv_coord_t x);
static void lv_label_set_offset_y(lv_obj_t * label, lv_coord_t y);
static bool lv_label_set_dot_tmp(lv_obj_t * label, char * data, uint32_t len); static bool lv_label_set_dot_tmp(lv_obj_t * label, char * data, uint32_t len);
static char * lv_label_get_dot_tmp(lv_obj_t * label); static char * lv_label_get_dot_tmp(lv_obj_t * label);
static void lv_label_dot_tmp_free(lv_obj_t * label); static void lv_label_dot_tmp_free(lv_obj_t * label);
static void get_txt_coords(const lv_obj_t * label, lv_area_t * area); static void get_txt_coords(const lv_obj_t * label, lv_area_t * area);
static void set_ofs_x_anim(void * obj, int32_t v);
static void set_ofs_y_anim(void * obj, int32_t v);
/********************** /**********************
* STATIC VARIABLES * STATIC VARIABLES
@@ -194,10 +193,8 @@ void lv_label_set_long_mode(lv_obj_t * obj, lv_label_long_mode_t long_mode)
lv_label_t * label = (lv_label_t *)obj; lv_label_t * label = (lv_label_t *)obj;
/*Delete the old animation (if exists)*/ /*Delete the old animation (if exists)*/
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_obj_set_x); lv_anim_del(obj, set_ofs_x_anim);
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_obj_set_y); lv_anim_del(obj, set_ofs_y_anim);
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
label->offset.x = 0; label->offset.x = 0;
label->offset.y = 0; label->offset.y = 0;
@@ -917,11 +914,11 @@ static void lv_label_refr_text(lv_obj_t * obj)
bool hor_anim = false; bool hor_anim = false;
if(size.x > lv_area_get_width(&txt_coords)) { if(size.x > lv_area_get_width(&txt_coords)) {
lv_anim_set_values(&a, 0, lv_area_get_width(&txt_coords) - size.x); lv_anim_set_values(&a, 0, lv_area_get_width(&txt_coords) - size.x);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_set_exec_cb(&a, set_ofs_x_anim);
lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end)); lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end));
lv_anim_set_playback_time(&a, a.time); lv_anim_set_playback_time(&a, a.time);
lv_anim_t * anim_cur = lv_anim_get(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_t * anim_cur = lv_anim_get(obj, set_ofs_x_anim);
int32_t act_time = 0; int32_t act_time = 0;
bool playback_now = false; bool playback_now = false;
if(anim_cur) { if(anim_cur) {
@@ -946,17 +943,17 @@ static void lv_label_refr_text(lv_obj_t * obj)
} }
else { else {
/*Delete the offset animation if not required*/ /*Delete the offset animation if not required*/
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_del(obj, set_ofs_x_anim);
label->offset.x = 0; label->offset.x = 0;
} }
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
lv_anim_set_values(&a, 0, lv_area_get_height(&txt_coords) - size.y - (lv_font_get_line_height(font))); lv_anim_set_values(&a, 0, lv_area_get_height(&txt_coords) - size.y - (lv_font_get_line_height(font)));
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_set_exec_cb(&a, set_ofs_y_anim);
lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end)); lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end));
lv_anim_set_playback_time(&a, a.time); lv_anim_set_playback_time(&a, a.time);
lv_anim_t * anim_cur = lv_anim_get(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_t * anim_cur = lv_anim_get(obj, set_ofs_y_anim);
int32_t act_time = 0; int32_t act_time = 0;
bool playback_now = false; bool playback_now = false;
if(anim_cur) { if(anim_cur) {
@@ -980,7 +977,7 @@ static void lv_label_refr_text(lv_obj_t * obj)
} }
else { else {
/*Delete the offset animation if not required*/ /*Delete the offset animation if not required*/
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_del(obj, set_ofs_y_anim);
label->offset.y = 0; label->offset.y = 0;
} }
} }
@@ -996,10 +993,10 @@ static void lv_label_refr_text(lv_obj_t * obj)
bool hor_anim = false; bool hor_anim = false;
if(size.x > lv_area_get_width(&txt_coords)) { if(size.x > lv_area_get_width(&txt_coords)) {
lv_anim_set_values(&a, 0, -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT); lv_anim_set_values(&a, 0, -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_set_exec_cb(&a, set_ofs_x_anim);
lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end)); lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end));
lv_anim_t * anim_cur = lv_anim_get(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_t * anim_cur = lv_anim_get(obj, set_ofs_x_anim);
int32_t act_time = anim_cur ? anim_cur->act_time : 0; int32_t act_time = anim_cur ? anim_cur->act_time : 0;
if(act_time < a.time) { if(act_time < a.time) {
a.act_time = act_time; /*To keep the old position*/ a.act_time = act_time; /*To keep the old position*/
@@ -1011,16 +1008,16 @@ static void lv_label_refr_text(lv_obj_t * obj)
} }
else { else {
/*Delete the offset animation if not required*/ /*Delete the offset animation if not required*/
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_x); lv_anim_del(obj, set_ofs_x_anim);
label->offset.x = 0; label->offset.x = 0;
} }
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
lv_anim_set_values(&a, 0, -size.y - (lv_font_get_line_height(font))); lv_anim_set_values(&a, 0, -size.y - (lv_font_get_line_height(font)));
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_set_exec_cb(&a, set_ofs_y_anim);
lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end)); lv_anim_set_time(&a, lv_anim_speed_to_time(anim_speed, a.start, a.end));
lv_anim_t * anim_cur = lv_anim_get(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_t * anim_cur = lv_anim_get(obj, set_ofs_y_anim);
int32_t act_time = anim_cur ? anim_cur->act_time : 0; int32_t act_time = anim_cur ? anim_cur->act_time : 0;
if(act_time < a.time) { if(act_time < a.time) {
a.act_time = act_time; /*To keep the old position*/ a.act_time = act_time; /*To keep the old position*/
@@ -1031,7 +1028,7 @@ static void lv_label_refr_text(lv_obj_t * obj)
} }
else { else {
/*Delete the offset animation if not required*/ /*Delete the offset animation if not required*/
lv_anim_del(obj, (lv_anim_exec_xcb_t)lv_label_set_offset_y); lv_anim_del(obj, set_ofs_y_anim);
label->offset.y = 0; label->offset.y = 0;
} }
} }
@@ -1125,20 +1122,6 @@ static void lv_label_revert_dots(lv_obj_t * obj)
label->dot_end = LV_LABEL_DOT_END_INV; label->dot_end = LV_LABEL_DOT_END_INV;
} }
static void lv_label_set_offset_x(lv_obj_t * obj, lv_coord_t x)
{
lv_label_t * label = (lv_label_t *)obj;
label->offset.x = x;
lv_obj_invalidate(obj);
}
static void lv_label_set_offset_y(lv_obj_t * obj, lv_coord_t y)
{
lv_label_t * label = (lv_label_t *)obj;
label->offset.y = y;
lv_obj_invalidate(obj);
}
/** /**
* Store `len` characters from `data`. Allocates space if necessary. * Store `len` characters from `data`. Allocates space if necessary.
* *
@@ -1216,4 +1199,20 @@ static void get_txt_coords(const lv_obj_t * obj, lv_area_t * area)
area->y2 -= bottom; area->y2 -= bottom;
} }
static void set_ofs_x_anim(void * obj, int32_t v)
{
lv_label_t * label = (lv_label_t *)obj;
label->offset.x = v;
lv_obj_invalidate(obj);
}
static void set_ofs_y_anim(void * obj, int32_t v)
{
lv_label_t * label = (lv_label_t *)obj;
label->offset.y = v;
lv_obj_invalidate(obj);
}
#endif #endif
+11 -3
View File
@@ -39,6 +39,7 @@ static void inf_normalize(lv_obj_t * obj_scrl);
static lv_obj_t * get_label(const lv_obj_t * obj); static lv_obj_t * get_label(const lv_obj_t * obj);
static lv_coord_t get_selected_label_width(const lv_obj_t * obj); static lv_coord_t get_selected_label_width(const lv_obj_t * obj);
static void scroll_anim_ready_cb(lv_anim_t * a); static void scroll_anim_ready_cb(lv_anim_t * a);
static void set_y_anim(void * obj, int32_t v);
/********************** /**********************
* STATIC VARIABLES * STATIC VARIABLES
@@ -476,7 +477,7 @@ static lv_res_t lv_roller_signal(lv_obj_t * obj, lv_signal_t sign, void * param)
} }
else if(sign == LV_SIGNAL_PRESSED) { else if(sign == LV_SIGNAL_PRESSED) {
roller->moved = 0; roller->moved = 0;
lv_anim_del(get_label(obj), (lv_anim_exec_xcb_t)lv_obj_set_y); lv_anim_del(get_label(obj), set_y_anim);
} }
else if(sign == LV_SIGNAL_PRESSING) { else if(sign == LV_SIGNAL_PRESSING) {
lv_indev_t * indev = lv_indev_get_act(); lv_indev_t * indev = lv_indev_get_act();
@@ -616,7 +617,7 @@ static void refr_position(lv_obj_t * obj, lv_anim_enable_t anim_en)
lv_coord_t new_y = mid_y1 - sel_y1; lv_coord_t new_y = mid_y1 - sel_y1;
if(anim_en == LV_ANIM_OFF || anim_time == 0) { if(anim_en == LV_ANIM_OFF || anim_time == 0) {
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_y); lv_anim_del(label, set_y_anim);
lv_obj_set_y(label, new_y); lv_obj_set_y(label, new_y);
} }
else { else {
@@ -626,7 +627,7 @@ static void refr_position(lv_obj_t * obj, lv_anim_enable_t anim_en)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, label); lv_anim_set_var(&a, label);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)lv_obj_set_y); lv_anim_set_exec_cb(&a, set_y_anim);
lv_anim_set_values(&a, lv_obj_get_y(label), new_y); lv_anim_set_values(&a, lv_obj_get_y(label), new_y);
lv_anim_set_time(&a, anim_time); lv_anim_set_time(&a, anim_time);
lv_anim_set_ready_cb(&a, scroll_anim_ready_cb); lv_anim_set_ready_cb(&a, scroll_anim_ready_cb);
@@ -764,4 +765,11 @@ static void scroll_anim_ready_cb(lv_anim_t * a)
lv_obj_t * obj = lv_obj_get_parent(a->var); /*The label is animated*/ lv_obj_t * obj = lv_obj_get_parent(a->var); /*The label is animated*/
inf_normalize(obj); inf_normalize(obj);
} }
static void set_y_anim(void * obj, int32_t v)
{
lv_obj_set_y(obj, v);
}
#endif #endif
+9 -9
View File
@@ -49,8 +49,8 @@ static void lv_textarea_constructor(lv_obj_t * obj, const lv_obj_t * copy);
static void lv_textarea_destructor(lv_obj_t * obj); static void lv_textarea_destructor(lv_obj_t * obj);
static lv_draw_res_t lv_textarea_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode); static lv_draw_res_t lv_textarea_draw(lv_obj_t * obj, const lv_area_t * clip_area, lv_draw_mode_t mode);
static lv_res_t lv_textarea_signal(lv_obj_t * obj, lv_signal_t sign, void * param); static lv_res_t lv_textarea_signal(lv_obj_t * obj, lv_signal_t sign, void * param);
static void cursor_blink_anim_cb(lv_obj_t * obj, int32_t show); static void cursor_blink_anim_cb(void * obj, int32_t show);
static void pwd_char_hider_anim(lv_obj_t * obj, int32_t x); static void pwd_char_hider_anim(void * obj, int32_t x);
static void pwd_char_hider_anim_ready(lv_anim_t * a); static void pwd_char_hider_anim_ready(lv_anim_t * a);
static void pwd_char_hider(lv_obj_t * obj); static void pwd_char_hider(lv_obj_t * obj);
static bool char_is_accepted(lv_obj_t * obj, uint32_t c); static bool char_is_accepted(lv_obj_t * obj, uint32_t c);
@@ -168,7 +168,7 @@ void lv_textarea_add_char(lv_obj_t * obj, uint32_t c)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, ta); lv_anim_set_var(&a, ta);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)pwd_char_hider_anim); lv_anim_set_exec_cb(&a, pwd_char_hider_anim);
lv_anim_set_time(&a, ta->pwd_show_time); lv_anim_set_time(&a, ta->pwd_show_time);
lv_anim_set_values(&a, 0, 1); lv_anim_set_values(&a, 0, 1);
lv_anim_set_path(&a, &path); lv_anim_set_path(&a, &path);
@@ -239,7 +239,7 @@ void lv_textarea_add_text(lv_obj_t * obj, const char * txt)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, ta); lv_anim_set_var(&a, ta);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)pwd_char_hider_anim); lv_anim_set_exec_cb(&a, pwd_char_hider_anim);
lv_anim_set_time(&a, ta->pwd_show_time); lv_anim_set_time(&a, ta->pwd_show_time);
lv_anim_set_values(&a, 0, 1); lv_anim_set_values(&a, 0, 1);
lv_anim_set_path(&a, &path); lv_anim_set_path(&a, &path);
@@ -376,7 +376,7 @@ void lv_textarea_set_text(lv_obj_t * obj, const char * txt)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, ta); lv_anim_set_var(&a, ta);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)pwd_char_hider_anim); lv_anim_set_exec_cb(&a, pwd_char_hider_anim);
lv_anim_set_time(&a, ta->pwd_show_time); lv_anim_set_time(&a, ta->pwd_show_time);
lv_anim_set_values(&a, 0, 1); lv_anim_set_values(&a, 0, 1);
lv_anim_set_path(&a, &path); lv_anim_set_path(&a, &path);
@@ -1130,7 +1130,7 @@ static lv_res_t lv_textarea_signal(lv_obj_t * obj, lv_signal_t sign, void * para
* @param ta pointer to a text area * @param ta pointer to a text area
* @param hide 1: hide the cursor, 0: show it * @param hide 1: hide the cursor, 0: show it
*/ */
static void cursor_blink_anim_cb(lv_obj_t * obj, int32_t show) static void cursor_blink_anim_cb(void * obj, int32_t show)
{ {
lv_textarea_t * ta = (lv_textarea_t *) obj; lv_textarea_t * ta = (lv_textarea_t *) obj;
if(show != ta->cursor.show) { if(show != ta->cursor.show) {
@@ -1152,7 +1152,7 @@ static void cursor_blink_anim_cb(lv_obj_t * obj, int32_t show)
* @param ta unused * @param ta unused
* @param x unused * @param x unused
*/ */
static void pwd_char_hider_anim(lv_obj_t * obj, int32_t x) static void pwd_char_hider_anim(void * obj, int32_t x)
{ {
LV_UNUSED(obj); LV_UNUSED(obj);
LV_UNUSED(x); LV_UNUSED(x);
@@ -1243,7 +1243,7 @@ static void start_cursor_blink(lv_obj_t * obj)
lv_textarea_t * ta = (lv_textarea_t *) obj; lv_textarea_t * ta = (lv_textarea_t *) obj;
uint32_t blink_time = lv_obj_get_style_anim_time(obj, LV_PART_MARKER); uint32_t blink_time = lv_obj_get_style_anim_time(obj, LV_PART_MARKER);
if(blink_time == 0) { if(blink_time == 0) {
lv_anim_del(obj, (lv_anim_exec_xcb_t)cursor_blink_anim_cb); lv_anim_del(obj, cursor_blink_anim_cb);
ta->cursor.show = 1; ta->cursor.show = 1;
} else { } else {
lv_anim_path_t path; lv_anim_path_t path;
@@ -1253,7 +1253,7 @@ static void start_cursor_blink(lv_obj_t * obj)
lv_anim_t a; lv_anim_t a;
lv_anim_init(&a); lv_anim_init(&a);
lv_anim_set_var(&a, ta); lv_anim_set_var(&a, ta);
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t)cursor_blink_anim_cb); lv_anim_set_exec_cb(&a, cursor_blink_anim_cb);
lv_anim_set_time(&a, blink_time); lv_anim_set_time(&a, blink_time);
lv_anim_set_playback_time(&a, blink_time); lv_anim_set_playback_time(&a, blink_time);
lv_anim_set_values(&a, 1, 0); lv_anim_set_values(&a, 1, 0);