summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Bail <cedric@osg.samsung.com>2016-04-13 22:33:03 -0700
committerCedric Bail <cedric@osg.samsung.com>2016-04-13 22:33:03 -0700
commitdd7a13745e9fb9bafc95ecdcd06fc8c51f34f7c2 (patch)
treeb8b86f6931e8d516e15e7712f7cfc67e7391fea4
parentfedc8939cc6f4bf0de7ea5188717b6050475f69a (diff)
downloadefl-devs/cedric/animator.tar.gz
efl: start adding an animator promisedevs/cedric/animator
This is still buggy and doesn't even compile. We need progress support in eolian to make it work.
-rw-r--r--src/Makefile_Efl.am1
-rw-r--r--src/lib/efl/interfaces/efl_animator.c17
-rw-r--r--src/lib/efl/interfaces/efl_animator.eo10
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c1
4 files changed, 27 insertions, 2 deletions
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index ba00c0a876..ce628aae87 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -63,6 +63,7 @@ lib_LTLIBRARIES += lib/efl/libefl.la
lib_efl_libefl_la_SOURCES = \
lib/efl/interfaces/efl_interfaces_main.c \
lib/efl/interfaces/efl_model_common.c \
+lib/efl/interfaces/efl_animator.c \
lib/efl/interfaces/efl_gfx_shape.c \
lib/efl/interfaces/efl_vpath_file.c \
lib/efl/interfaces/efl_vpath_manager.c \
diff --git a/src/lib/efl/interfaces/efl_animator.c b/src/lib/efl/interfaces/efl_animator.c
new file mode 100644
index 0000000000..6920cb06c2
--- /dev/null
+++ b/src/lib/efl/interfaces/efl_animator.c
@@ -0,0 +1,17 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Efl.h>
+
+typedef struct _Efl_Animator_Data Efl_Animator_Data;
+struct _Efl_Animator_Data
+{
+};
+
+static void
+_efl_animator_linear_timeline(Eo *obj EINA_UNUSED, Efl_Animator_Data *pd EINA_UNUSED, Eina_Promise_Owner *deadline EINA_UNUSED, double target_time EINA_UNUSED)
+{
+}
+
+#include "interfaces/efl_animator.eo.c"
diff --git a/src/lib/efl/interfaces/efl_animator.eo b/src/lib/efl/interfaces/efl_animator.eo
index b9a32e996a..cfb9be84d6 100644
--- a/src/lib/efl/interfaces/efl_animator.eo
+++ b/src/lib/efl/interfaces/efl_animator.eo
@@ -4,9 +4,17 @@ struct Efl.Event.Animator_Tick {
update_area: Eina.Rectangle; [[Area of the canvas that will be pushed to screen.]]
}
-interface Efl.Animator {
+mixin Efl.Animator {
legacy_prefix: null;
eo_prefix: efl_animator;
+ methods {
+ linear_timeline {
+ params {
+ @inout deadline: promise<double> *;
+ @in target_time: double;
+ }
+ }
+ }
events {
animator,tick: Efl.Event.Animator_Tick; [[Animator tick synchronized with screen vsync if possible.]]
}
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c
index 987e9709d1..e5b2d036fc 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -34,7 +34,6 @@ EAPI const Eo_Event_Description _EFL_GFX_PATH_CHANGED =
EO_EVENT_DESCRIPTION("Graphics path changed");
#include "interfaces/efl_model_base.eo.c"
-#include "interfaces/efl_animator.eo.c"
#include "interfaces/efl_orientation.eo.c"
#include "interfaces/efl_flipable.eo.c"
#include "interfaces/efl_ui_progress.eo.c"