summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_canvas_animation_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/efl_canvas_animation_private.h')
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_private.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_animation_private.h b/src/lib/evas/canvas/efl_canvas_animation_private.h
new file mode 100644
index 0000000000..c1fe16ff09
--- /dev/null
+++ b/src/lib/evas/canvas/efl_canvas_animation_private.h
@@ -0,0 +1,28 @@
+#define EFL_ANIMATION_PROTECTED
+
+#include "evas_common_private.h"
+#include <Ecore.h>
+
+typedef struct _Efl_Canvas_Animation_Data
+{
+ double duration;
+
+ double start_delay_time;
+
+ Efl_Canvas_Animation_Repeat_Mode repeat_mode;
+ int repeat_count;
+
+ Efl_Interpolator *interpolator;
+
+ Eina_Bool keep_final_state : 1;
+} Efl_Canvas_Animation_Data;
+
+#define EFL_ANIMATION_DATA_GET(o, pd) \
+ Efl_Canvas_Animation_Data *pd = efl_data_scope_get(o, EFL_CANVAS_ANIMATION_CLASS)
+
+#define GET_STATUS(from, to, progress) \
+ ((from) + (((to) - (from)) * (progress)))
+
+#define FINAL_STATE_IS_REVERSE(anim) \
+ ((efl_animation_repeat_mode_get(anim) == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) && \
+ (efl_animation_repeat_count_get(anim) & 1))