summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_animation_rotate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/efl_animation_rotate.c')
-rw-r--r--src/lib/evas/canvas/efl_animation_rotate.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_animation_rotate.c b/src/lib/evas/canvas/efl_animation_rotate.c
index b73ff91243..c9ffe524bd 100644
--- a/src/lib/evas/canvas/efl_animation_rotate.c
+++ b/src/lib/evas/canvas/efl_animation_rotate.c
@@ -156,6 +156,39 @@ _efl_animation_rotate_efl_animation_dup(Eo *eo_obj, Evas_Object_Animation_Rotate
return animation;
}
+EOLIAN static Efl_Animation_Instance *
+_efl_animation_rotate_efl_animation_instance_create(Eo *eo_obj, Evas_Object_Animation_Rotate_Data *pd)
+{
+ EFL_ANIMATION_ROTATE_CHECK_OR_RETURN(eo_obj, NULL);
+
+ Efl_Animation_Instance_Rotate *instance
+ = efl_add(EFL_ANIMATION_INSTANCE_ROTATE_CLASS, NULL);
+
+ Eo *target = efl_animation_target_get(eo_obj);
+ efl_animation_instance_target_set(instance, target);
+
+ Eina_Bool state_keep = efl_animation_final_state_keep_get(eo_obj);
+ efl_animation_instance_final_state_keep_set(instance, state_keep);
+
+ double duration = efl_animation_duration_get(eo_obj);
+ efl_animation_instance_duration_set(instance, duration);
+
+ efl_animation_instance_rotate_angle_set(instance,
+ pd->from.angle, pd->to.angle);
+
+ efl_animation_instance_rotate_relative_pivot_set(instance,
+ pd->rel_pivot.x,
+ pd->rel_pivot.y,
+ pd->rel_pivot.z);
+
+ efl_animation_instance_rotate_absolute_pivot_set(instance,
+ pd->abs_pivot.x,
+ pd->abs_pivot.y,
+ pd->abs_pivot.z);
+
+ return instance;
+}
+
EOLIAN static Efl_Object *
_efl_animation_rotate_efl_object_constructor(Eo *eo_obj, Evas_Object_Animation_Rotate_Data *pd)
{