forked from enlightenment/efl
Merge branch 'master' into devs/hermet/lottie
This commit is contained in:
commit
f62bfa2465
|
@ -551,8 +551,8 @@ eina_matrix3_rotate(Eina_Matrix3 *m, double rad)
|
|||
* Later we would want someone to look at this and improve accuracy.
|
||||
*/
|
||||
#if 1
|
||||
c = cosf(rad);
|
||||
s = sinf(rad);
|
||||
c = cos(rad);
|
||||
s = sin(rad);
|
||||
#else
|
||||
/* normalize the angle between -pi,pi */
|
||||
rad = fmod(rad + M_PI, 2 * M_PI) - M_PI;
|
||||
|
|
|
@ -238,6 +238,8 @@ static void
|
|||
_sizing_eval(void *data)
|
||||
{
|
||||
Evas_Object *obj = data;
|
||||
Elm_Object_Item *eo_item;
|
||||
const Eina_List *l;
|
||||
const char *max_size_str;
|
||||
int max_size = 0;
|
||||
char buf[128];
|
||||
|
@ -255,6 +257,12 @@ _sizing_eval(void *data)
|
|||
elm_layout_signal_emit(sd->hover, "elm,state,align,default", "elm");
|
||||
edje_object_message_signal_process(elm_layout_edje_get(sd->hover));
|
||||
|
||||
EINA_LIST_FOREACH(sd->items, l, eo_item)
|
||||
{
|
||||
ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
|
||||
efl_canvas_group_calculate(VIEW(item));
|
||||
}
|
||||
|
||||
elm_box_recalculate(sd->bx);
|
||||
evas_object_size_hint_combined_min_get(sd->bx, &box_w, &box_h);
|
||||
|
||||
|
@ -501,7 +509,6 @@ _activate(Evas_Object *obj)
|
|||
{
|
||||
ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
|
||||
evas_object_show(VIEW(item));
|
||||
efl_canvas_group_calculate(VIEW(item));
|
||||
elm_box_pack_end(sd->bx, VIEW(item));
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,11 @@ _animator_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
|||
efl_gfx_mapping_reset(obj);
|
||||
efl_animation_apply(pd->in->animation, pd->in->progress, obj);
|
||||
|
||||
efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, &pd->in->progress);
|
||||
double progress = pd->in->progress;
|
||||
efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, &progress);
|
||||
|
||||
//Check if animation stopped in animation_progress,updated callback.
|
||||
if (!pd->in) return;
|
||||
|
||||
//Not end. Keep going.
|
||||
if ((pd->in->speed < 0 && EINA_DBL_EQ(pd->in->progress, 0)) ||
|
||||
|
@ -103,6 +107,7 @@ static Eina_Value
|
|||
_start_fcb(Eo *o, void *data EINA_UNUSED, const Eina_Value v)
|
||||
{
|
||||
Efl_Canvas_Object_Animation_Data *pd = efl_data_scope_safe_get(o, MY_CLASS);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(pd, EINA_VALUE_EMPTY);
|
||||
if (!pd->in) return v; //animation was stopped before anything started
|
||||
_start(o, pd, pd->in->start_pos);
|
||||
return v;
|
||||
|
@ -166,6 +171,8 @@ _efl_canvas_object_animation_animation_start(Eo *obj, Efl_Canvas_Object_Animatio
|
|||
in->speed = speed;
|
||||
in->start_pos = start_pos;
|
||||
efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, in->animation);
|
||||
//You should not rely on in beeing available after calling the above event.
|
||||
in = NULL;
|
||||
|
||||
if (efl_animation_start_delay_get(animation) > 0.0)
|
||||
{
|
||||
|
@ -190,7 +197,9 @@ _efl_canvas_object_animation_animation_stop(Eo *obj, Efl_Canvas_Object_Animation
|
|||
|
||||
efl_event_callback_call(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_CHANGED, pd->in->animation);
|
||||
|
||||
free(pd->in);
|
||||
//this could be NULL if some weird callstack calls stop again while the above event is executed
|
||||
if (pd->in)
|
||||
free(pd->in);
|
||||
pd->in = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,14 +20,17 @@ evas_vg_load_file_close_json(Vg_File_Data *vfd)
|
|||
|
||||
Lottie_Animation *lot_anim = (Lottie_Animation *) vfd->loader_data;
|
||||
lottie_animation_destroy(lot_anim);
|
||||
if (vfd->anim_data->markers)
|
||||
if (vfd->anim_data)
|
||||
{
|
||||
Vg_File_Anim_Data_Marker *marker;
|
||||
EINA_INARRAY_FOREACH(vfd->anim_data->markers, marker)
|
||||
if (marker->name) eina_stringshare_del(marker->name);
|
||||
eina_inarray_free(vfd->anim_data->markers);
|
||||
if (vfd->anim_data->markers)
|
||||
{
|
||||
Vg_File_Anim_Data_Marker *marker;
|
||||
EINA_INARRAY_FOREACH(vfd->anim_data->markers, marker)
|
||||
if (marker->name) eina_stringshare_del(marker->name);
|
||||
eina_inarray_free(vfd->anim_data->markers);
|
||||
}
|
||||
free(vfd->anim_data);
|
||||
}
|
||||
if (vfd->anim_data) free(vfd->anim_data);
|
||||
if (vfd->root) efl_unref(vfd->root);
|
||||
free(vfd);
|
||||
|
||||
|
|
|
@ -463,8 +463,8 @@ EFL_START_TEST(eina_matrix3_operations)
|
|||
fail_if (!MATRIX3_CMP(m1.xx, m1.xy, m1.xz,
|
||||
m1.yx, m1.yy, m1.yz,
|
||||
m1.zx, m1.zy, m1.zz,
|
||||
cosf(rotate_radian), -sinf(rotate_radian), 0,
|
||||
sinf(rotate_radian), cosf(rotate_radian), 0,
|
||||
cos(rotate_radian), -sin(rotate_radian), 0,
|
||||
sin(rotate_radian), cos(rotate_radian), 0,
|
||||
0, 0, 1));
|
||||
|
||||
eina_matrix3_values_set(&m1,
|
||||
|
|
Loading…
Reference in New Issue