summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-10-30 15:29:59 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2019-11-04 13:06:53 +0100
commitf47b9277453edb1a3b4b68171d99f5b841e52e19 (patch)
tree9b266895d4621783126eb15b0b16aa9942ca326f
parenteb371c992d3c7f35cca09e2f693225aba86231c4 (diff)
efl_canvas_animation_rotate: adjust API
Summary: in task T8288 we concluded that a few APIs need to be adjusted in order to stabelize animation classes at some point. This also adds a new macro to eina in order to create EINA_VECTOR2 values more easily. ref T8288 Reviewers: Jaehyun_Cho, segfaultxavi, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8288 Differential Revision: https://phab.enlightenment.org/D10350
-rw-r--r--src/bin/elementary/test_efl_anim_group_parallel.c4
-rw-r--r--src/bin/elementary/test_efl_anim_group_sequential.c4
-rw-r--r--src/bin/elementary/test_efl_anim_rotate.c12
-rw-r--r--src/lib/eina/eina_vector.h1
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.c44
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.eo8
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate_private.h9
7 files changed, 31 insertions, 51 deletions
diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c
index 6283e2262f..ec4c3eabea 100644
--- a/src/bin/elementary/test_efl_anim_group_parallel.c
+++ b/src/bin/elementary/test_efl_anim_group_parallel.c
@@ -90,7 +90,7 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 94
95 //Scale Animation to zoom out 95 //Scale Animation to zoom out
96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
@@ -113,7 +113,7 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
113 113
114 //Rotate from 0 to 45 degrees Animation 114 //Rotate from 0 to 45 degrees Animation
115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
117 117
118 //Scale Animation to zoom in 118 //Scale Animation to zoom in
119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c
index 3488149af0..2d09354675 100644
--- a/src/bin/elementary/test_efl_anim_group_sequential.c
+++ b/src/bin/elementary/test_efl_anim_group_sequential.c
@@ -86,7 +86,7 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
86 /* Animations to hide button */ 86 /* Animations to hide button */
87 //Rotate from 0 to 45 degrees Animation 87 //Rotate from 0 to 45 degrees Animation
88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
90 90
91 //Scale Animation to zoom in 91 //Scale Animation to zoom in
92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
@@ -120,7 +120,7 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
120 120
121 //Rotate from 45 to 0 degrees Animation 121 //Rotate from 45 to 0 degrees Animation
122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
125 125
126 //Show Sequential Group Animation 126 //Show Sequential Group Animation
diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c
index 10df8caf89..ea8b94af68 100644
--- a/src/bin/elementary/test_efl_anim_rotate.c
+++ b/src/bin/elementary/test_efl_anim_rotate.c
@@ -84,13 +84,13 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
84 84
85 //Rotate from 0 to 45 degrees Animation 85 //Rotate from 0 to 45 degrees Animation
86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0,NULL, 0.5, 0.5); 87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
88 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 88 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
96 96
@@ -151,13 +151,13 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
151 151
152 //Rotate from 0 to 45 degrees Animation 152 //Rotate from 0 to 45 degrees Animation
153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, 0.5, 0.5); 154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, EINA_VECTOR2(0.5, 0.5));
155 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 155 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
157 157
158 //Rotate from 45 to 0 degrees Animation 158 //Rotate from 45 to 0 degrees Animation
159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, 0.5, 0.5); 160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, EINA_VECTOR2(0.5, 0.5));
161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
163 163
@@ -219,13 +219,13 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
219 219
220 //Rotate from 0 to 45 degrees Animation 220 //Rotate from 0 to 45 degrees Animation
221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, 0, 0); 222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, EINA_POSITION2D(0, 0));
223 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 223 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
225 225
226 //Rotate from 45 to 0 degrees Animation 226 //Rotate from 45 to 0 degrees Animation
227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, 0, 0); 228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, EINA_POSITION2D(0, 0));
229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
231 231
diff --git a/src/lib/eina/eina_vector.h b/src/lib/eina/eina_vector.h
index df4508b675..e9ee12d732 100644
--- a/src/lib/eina/eina_vector.h
+++ b/src/lib/eina/eina_vector.h
@@ -32,6 +32,7 @@
32typedef struct _Eina_Vector2 Eina_Vector2; 32typedef struct _Eina_Vector2 Eina_Vector2;
33typedef struct _Eina_Vector3 Eina_Vector3; 33typedef struct _Eina_Vector3 Eina_Vector3;
34 34
35#define EINA_VECTOR2(x, y) ((Eina_Vector2) {(x), (y)})
35/** 36/**
36 * @} 37 * @}
37 * @defgroup Eina_Vector2 Vectors in floating point 38 * @defgroup Eina_Vector2 Vectors in floating point
diff --git a/src/lib/evas/canvas/efl_canvas_animation_rotate.c b/src/lib/evas/canvas/efl_canvas_animation_rotate.c
index fe713dec3c..ba07733275 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_rotate.c
+++ b/src/lib/evas/canvas/efl_canvas_animation_rotate.c
@@ -8,16 +8,14 @@ _efl_canvas_animation_rotate_rotate_set(Eo *eo_obj EINA_UNUSED,
8 double from_degree, 8 double from_degree,
9 double to_degree, 9 double to_degree,
10 Efl_Canvas_Object *pivot, 10 Efl_Canvas_Object *pivot,
11 double cx, 11 Eina_Vector2 center_point)
12 double cy)
13{ 12{
14 pd->from.degree = from_degree; 13 pd->from.degree = from_degree;
15 pd->to.degree = to_degree; 14 pd->to.degree = to_degree;
16 15
17 //TODO: check whether ref for pivot should be added. 16 //TODO: check whether ref for pivot should be added.
18 pd->rel_pivot.obj = pivot; 17 pd->rel_pivot.obj = pivot;
19 pd->rel_pivot.cx = cx; 18 pd->rel_pivot.pos = center_point;
20 pd->rel_pivot.cy = cy;
21 pd->use_rel_pivot = EINA_TRUE; 19 pd->use_rel_pivot = EINA_TRUE;
22} 20}
23 21
@@ -27,8 +25,7 @@ _efl_canvas_animation_rotate_rotate_get(const Eo *eo_obj EINA_UNUSED,
27 double *from_degree, 25 double *from_degree,
28 double *to_degree, 26 double *to_degree,
29 Efl_Canvas_Object **pivot, 27 Efl_Canvas_Object **pivot,
30 double *cx, 28 Eina_Vector2 *center_point)
31 double *cy)
32{ 29{
33 if (!pd->use_rel_pivot) 30 if (!pd->use_rel_pivot)
34 { 31 {
@@ -45,11 +42,8 @@ _efl_canvas_animation_rotate_rotate_get(const Eo *eo_obj EINA_UNUSED,
45 if (pivot) 42 if (pivot)
46 *pivot = pd->rel_pivot.obj; 43 *pivot = pd->rel_pivot.obj;
47 44
48 if (cx) 45 if (center_point)
49 *cx = pd->rel_pivot.cx; 46 *center_point = pd->rel_pivot.pos;
50
51 if (cy)
52 *cy = pd->rel_pivot.cy;
53} 47}
54 48
55EOLIAN static void 49EOLIAN static void
@@ -57,14 +51,12 @@ _efl_canvas_animation_rotate_rotate_absolute_set(Eo *eo_obj EINA_UNUSED,
57 Efl_Canvas_Animation_Rotate_Data *pd, 51 Efl_Canvas_Animation_Rotate_Data *pd,
58 double from_degree, 52 double from_degree,
59 double to_degree, 53 double to_degree,
60 Evas_Coord cx, 54 Eina_Position2D abs)
61 Evas_Coord cy)
62{ 55{
63 pd->from.degree = from_degree; 56 pd->from.degree = from_degree;
64 pd->to.degree = to_degree; 57 pd->to.degree = to_degree;
65 58
66 pd->abs_pivot.cx = cx; 59 pd->abs_pivot = abs;
67 pd->abs_pivot.cy = cy;
68 pd->use_rel_pivot = EINA_FALSE; 60 pd->use_rel_pivot = EINA_FALSE;
69} 61}
70 62
@@ -73,8 +65,7 @@ _efl_canvas_animation_rotate_rotate_absolute_get(const Eo *eo_obj EINA_UNUSED,
73 Efl_Canvas_Animation_Rotate_Data *pd, 65 Efl_Canvas_Animation_Rotate_Data *pd,
74 double *from_degree, 66 double *from_degree,
75 double *to_degree, 67 double *to_degree,
76 Evas_Coord *cx, 68 Eina_Position2D *abs)
77 Evas_Coord *cy)
78{ 69{
79 if (pd->use_rel_pivot) 70 if (pd->use_rel_pivot)
80 { 71 {
@@ -88,11 +79,8 @@ _efl_canvas_animation_rotate_rotate_absolute_get(const Eo *eo_obj EINA_UNUSED,
88 if (to_degree) 79 if (to_degree)
89 *to_degree = pd->to.degree; 80 *to_degree = pd->to.degree;
90 81
91 if (cx) 82 if (abs)
92 *cx = pd->abs_pivot.cx; 83 *abs = pd->abs_pivot;
93
94 if (cy)
95 *cy = pd->abs_pivot.cy;
96} 84}
97 85
98EOLIAN static double 86EOLIAN static double
@@ -113,13 +101,13 @@ _efl_canvas_animation_rotate_efl_canvas_animation_animation_apply(Eo *eo_obj,
113 efl_gfx_mapping_rotate(target, 101 efl_gfx_mapping_rotate(target,
114 new_degree, 102 new_degree,
115 (pd->rel_pivot.obj) ? pd->rel_pivot.obj : target, 103 (pd->rel_pivot.obj) ? pd->rel_pivot.obj : target,
116 pd->rel_pivot.cx, pd->rel_pivot.cy); 104 pd->rel_pivot.pos.x, pd->rel_pivot.pos.y);
117 } 105 }
118 else 106 else
119 { 107 {
120 efl_gfx_mapping_rotate_absolute(target, 108 efl_gfx_mapping_rotate_absolute(target,
121 new_degree, 109 new_degree,
122 pd->abs_pivot.cx, pd->abs_pivot.cy); 110 pd->abs_pivot.x, pd->abs_pivot.y);
123 } 111 }
124 112
125 return progress; 113 return progress;
@@ -135,11 +123,11 @@ _efl_canvas_animation_rotate_efl_object_constructor(Eo *eo_obj,
135 pd->to.degree = 0.0; 123 pd->to.degree = 0.0;
136 124
137 pd->rel_pivot.obj = NULL; 125 pd->rel_pivot.obj = NULL;
138 pd->rel_pivot.cx = 0.5; 126 pd->rel_pivot.pos.x = 0.5;
139 pd->rel_pivot.cy = 0.5; 127 pd->rel_pivot.pos.y = 0.5;
140 128
141 pd->abs_pivot.cx = 0; 129 pd->abs_pivot.x = 0;
142 pd->abs_pivot.cy = 0; 130 pd->abs_pivot.y = 0;
143 131
144 pd->use_rel_pivot = EINA_TRUE; 132 pd->use_rel_pivot = EINA_TRUE;
145 133
diff --git a/src/lib/evas/canvas/efl_canvas_animation_rotate.eo b/src/lib/evas/canvas/efl_canvas_animation_rotate.eo
index 169ddd3926..3c1d8af086 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_rotate.eo
+++ b/src/lib/evas/canvas/efl_canvas_animation_rotate.eo
@@ -15,10 +15,7 @@ class @beta Efl.Canvas.Animation_Rotate extends Efl.Canvas.Animation
15 to_degree: double; [[Rotation degree when animation ends]] 15 to_degree: double; [[Rotation degree when animation ends]]
16 pivot: Efl.Canvas.Object; [[Pivot object for the center point. 16 pivot: Efl.Canvas.Object; [[Pivot object for the center point.
17 If the pivot object is $NULL, then the object is rotated on itself.]] 17 If the pivot object is $NULL, then the object is rotated on itself.]]
18 cx: double; [[X relative coordinate of the center point. 18 center_point : Eina.Vector2; [[Relative coordinate of the center point.]]
19 The left end is 0.0 and the right end is 1.0 (the center is 0.5).]]
20 cy: double; [[Y relative coordinate of the center point.
21 The top end is 0.0 and the bottom end is 1.0 (the center is 0.5).]]
22 } 19 }
23 } 20 }
24 @property rotate_absolute { 21 @property rotate_absolute {
@@ -30,8 +27,7 @@ class @beta Efl.Canvas.Animation_Rotate extends Efl.Canvas.Animation
30 values { 27 values {
31 from_degree: double; [[Rotation degree when animation starts]] 28 from_degree: double; [[Rotation degree when animation starts]]
32 to_degree: double; [[Rotation degree when animation ends]] 29 to_degree: double; [[Rotation degree when animation ends]]
33 cx: int; [[X absolute coordinate of the center point.]] 30 center_pointer : Eina.Position2D; [[absolute coordinate of the center point.]]
34 cy: int; [[Y absolute coordinate of the center point.]]
35 } 31 }
36 } 32 }
37 } 33 }
diff --git a/src/lib/evas/canvas/efl_canvas_animation_rotate_private.h b/src/lib/evas/canvas/efl_canvas_animation_rotate_private.h
index e50db39bff..64c5887959 100644
--- a/src/lib/evas/canvas/efl_canvas_animation_rotate_private.h
+++ b/src/lib/evas/canvas/efl_canvas_animation_rotate_private.h
@@ -12,15 +12,10 @@ typedef struct _Efl_Canvas_Animation_Rotate_Property
12 double degree; 12 double degree;
13} Efl_Canvas_Animation_Rotate_Property; 13} Efl_Canvas_Animation_Rotate_Property;
14 14
15typedef struct _Efl_Canvas_Animation_Rotate_Absolute_Pivot
16{
17 Evas_Coord cx, cy;
18} Efl_Canvas_Animation_Rotate_Absolute_Pivot;
19
20typedef struct _Efl_Canvas_Animation_Rotate_Relative_Pivot 15typedef struct _Efl_Canvas_Animation_Rotate_Relative_Pivot
21{ 16{
22 Efl_Canvas_Object *obj; 17 Efl_Canvas_Object *obj;
23 double cx, cy; 18 Eina_Vector2 pos;
24} Efl_Canvas_Animation_Rotate_Relative_Pivot; 19} Efl_Canvas_Animation_Rotate_Relative_Pivot;
25 20
26typedef struct _Efl_Canvas_Animation_Rotate_Data 21typedef struct _Efl_Canvas_Animation_Rotate_Data
@@ -28,7 +23,7 @@ typedef struct _Efl_Canvas_Animation_Rotate_Data
28 Efl_Canvas_Animation_Rotate_Property from; 23 Efl_Canvas_Animation_Rotate_Property from;
29 Efl_Canvas_Animation_Rotate_Property to; 24 Efl_Canvas_Animation_Rotate_Property to;
30 25
31 Efl_Canvas_Animation_Rotate_Absolute_Pivot abs_pivot; 26 Eina_Position2D abs_pivot;
32 Efl_Canvas_Animation_Rotate_Relative_Pivot rel_pivot; 27 Efl_Canvas_Animation_Rotate_Relative_Pivot rel_pivot;
33 28
34 Eina_Bool use_rel_pivot; 29 Eina_Bool use_rel_pivot;