From 6cc7c1b83043ee0fed40a6bd130b56a8516ecf60 Mon Sep 17 00:00:00 2001 From: Jaehyun Cho Date: Fri, 23 Nov 2018 19:30:36 +0900 Subject: [PATCH] efl_interpolator: change Efl.Interpolator class to interface Since Efl.Interpolator's subclasses are used as interpolator class, Efl.Interpolator class is changed to be an interface. This change allows Efl.Canvas.Animation to have Efl.Interpolator as its property in efl_canvas_animation.eo. --- src/Makefile_Ecore.am | 2 -- src/Makefile_Efl.am | 1 + src/lib/ecore/CMakeLists.txt | 1 - src/lib/ecore/Ecore_Eo.h | 1 - src/lib/ecore/efl_interpolator.c | 24 ------------------- src/lib/ecore/efl_interpolator_accelerate.eo | 2 +- src/lib/ecore/efl_interpolator_bounce.eo | 2 +- .../ecore/efl_interpolator_cubic_bezier.eo | 2 +- src/lib/ecore/efl_interpolator_decelerate.eo | 2 +- src/lib/ecore/efl_interpolator_divisor.eo | 2 +- src/lib/ecore/efl_interpolator_linear.eo | 2 +- src/lib/ecore/efl_interpolator_sinusoidal.eo | 2 +- src/lib/ecore/efl_interpolator_spring.eo | 2 +- src/lib/ecore/meson.build | 2 -- src/lib/efl/CMakeLists.txt | 1 + src/lib/efl/Efl.h | 1 + src/lib/efl/interfaces/efl_interfaces_main.c | 1 + .../interfaces}/efl_interpolator.eo | 5 ++-- src/lib/efl/interfaces/meson.build | 1 + src/lib/evas/canvas/efl_canvas_animation.eo | 2 +- 20 files changed, 16 insertions(+), 42 deletions(-) delete mode 100644 src/lib/ecore/efl_interpolator.c rename src/lib/{ecore => efl/interfaces}/efl_interpolator.eo (74%) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index b71652738e..cb33da1688 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -33,7 +33,6 @@ ecore_eolian_files_public = \ lib/ecore/efl_io_file.eo \ lib/ecore/efl_io_copier.eo \ lib/ecore/efl_io_buffered_stream.eo \ - lib/ecore/efl_interpolator.eo \ lib/ecore/efl_interpolator_linear.eo \ lib/ecore/efl_interpolator_accelerate.eo \ lib/ecore/efl_interpolator_decelerate.eo \ @@ -127,7 +126,6 @@ lib/ecore/efl_model_composite_boolean.c \ lib/ecore/efl_model_composite_selection.c \ lib/ecore/efl_model_accessor_view.c \ lib/ecore/efl_model_accessor_view_private.h \ -lib/ecore/efl_interpolator.c \ lib/ecore/efl_interpolator_linear.c \ lib/ecore/efl_interpolator_accelerate.c \ lib/ecore/efl_interpolator_decelerate.c \ diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 551e907796..8234cadddf 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -77,6 +77,7 @@ efl_eolian_files = \ lib/efl/interfaces/efl_gfx_color_class.eo \ lib/efl/interfaces/efl_gfx_text_class.eo \ lib/efl/interfaces/efl_gfx_size_class.eo \ + lib/efl/interfaces/efl_interpolator.eo \ $(efl_eolian_legacy_files) \ $(NULL) diff --git a/src/lib/ecore/CMakeLists.txt b/src/lib/ecore/CMakeLists.txt index 01a05a8aa8..e4735420a0 100644 --- a/src/lib/ecore/CMakeLists.txt +++ b/src/lib/ecore/CMakeLists.txt @@ -38,7 +38,6 @@ set(PUBLIC_EO_FILES efl_loop_timer.eo efl_loop_user.eo efl_promise.eo - efl_interpolator.eo efl_interpolator_linear.eo efl_interpolator_accelerate.eo efl_interpolator_decelerate.eo diff --git a/src/lib/ecore/Ecore_Eo.h b/src/lib/ecore/Ecore_Eo.h index 26a5834b6f..cb01dec865 100644 --- a/src/lib/ecore/Ecore_Eo.h +++ b/src/lib/ecore/Ecore_Eo.h @@ -78,7 +78,6 @@ EAPI Eina_Promise *efl_loop_promise_new(const Eo *obj, Eina_Promise_Cancel_Cb ca #include "efl_loop_fd.eo.h" #include "efl_loop_handler.eo.h" -#include "efl_interpolator.eo.h" #include "efl_interpolator_linear.eo.h" #include "efl_interpolator_accelerate.eo.h" #include "efl_interpolator_decelerate.eo.h" diff --git a/src/lib/ecore/efl_interpolator.c b/src/lib/ecore/efl_interpolator.c deleted file mode 100644 index 573d5c5cf9..0000000000 --- a/src/lib/ecore/efl_interpolator.c +++ /dev/null @@ -1,24 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "Ecore.h" -#include "ecore_private.h" - -#define MY_CLASS EFL_INTERPOLATOR_CLASS - -typedef struct _Efl_Interpolator_Data Efl_Interpolator_Data; - -struct _Efl_Interpolator_Data -{ -}; - -EOLIAN static double -_efl_interpolator_interpolate(Eo *eo_obj EINA_UNUSED, - Efl_Interpolator_Data *pd EINA_UNUSED, - double progress) -{ - return progress; -} - -#include "efl_interpolator.eo.c" diff --git a/src/lib/ecore/efl_interpolator_accelerate.eo b/src/lib/ecore/efl_interpolator_accelerate.eo index dc087a5b67..3f2ef94b35 100644 --- a/src/lib/ecore/efl_interpolator_accelerate.eo +++ b/src/lib/ecore/efl_interpolator_accelerate.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Accelerate (Efl.Interpolator) +class Efl.Interpolator_Accelerate (Efl.Object, Efl.Interpolator) { [[Efl accelerate interpolator class diff --git a/src/lib/ecore/efl_interpolator_bounce.eo b/src/lib/ecore/efl_interpolator_bounce.eo index 8df3807f35..cd77b8b009 100644 --- a/src/lib/ecore/efl_interpolator_bounce.eo +++ b/src/lib/ecore/efl_interpolator_bounce.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Bounce (Efl.Interpolator) +class Efl.Interpolator_Bounce (Efl.Object, Efl.Interpolator) { [[Efl bounce interpolator class]] data: Efl_Interpolator_Bounce_Data; diff --git a/src/lib/ecore/efl_interpolator_cubic_bezier.eo b/src/lib/ecore/efl_interpolator_cubic_bezier.eo index 3a10fdce81..4e3906dc50 100644 --- a/src/lib/ecore/efl_interpolator_cubic_bezier.eo +++ b/src/lib/ecore/efl_interpolator_cubic_bezier.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Cubic_Bezier (Efl.Interpolator) +class Efl.Interpolator_Cubic_Bezier (Efl.Object, Efl.Interpolator) { [[Efl cubic_bezier interpolator class]] data: Efl_Interpolator_Cubic_Bezier_Data; diff --git a/src/lib/ecore/efl_interpolator_decelerate.eo b/src/lib/ecore/efl_interpolator_decelerate.eo index 99d86c7a00..25a4d05f92 100644 --- a/src/lib/ecore/efl_interpolator_decelerate.eo +++ b/src/lib/ecore/efl_interpolator_decelerate.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Decelerate (Efl.Interpolator) +class Efl.Interpolator_Decelerate (Efl.Object, Efl.Interpolator) { [[Efl decelerate interpolator class diff --git a/src/lib/ecore/efl_interpolator_divisor.eo b/src/lib/ecore/efl_interpolator_divisor.eo index 63201d51e3..d9a1cef03e 100644 --- a/src/lib/ecore/efl_interpolator_divisor.eo +++ b/src/lib/ecore/efl_interpolator_divisor.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Divisor (Efl.Interpolator) +class Efl.Interpolator_Divisor (Efl.Object, Efl.Interpolator) { [[Efl divisor interpolator class]] data: Efl_Interpolator_Divisor_Data; diff --git a/src/lib/ecore/efl_interpolator_linear.eo b/src/lib/ecore/efl_interpolator_linear.eo index 26e054ef0a..b61c7d1f66 100644 --- a/src/lib/ecore/efl_interpolator_linear.eo +++ b/src/lib/ecore/efl_interpolator_linear.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Linear (Efl.Interpolator) +class Efl.Interpolator_Linear (Efl.Object, Efl.Interpolator) { [[Efl linear interpolator class]] data: Efl_Interpolator_Linear_Data; diff --git a/src/lib/ecore/efl_interpolator_sinusoidal.eo b/src/lib/ecore/efl_interpolator_sinusoidal.eo index 0a1d923fbb..39718525c7 100644 --- a/src/lib/ecore/efl_interpolator_sinusoidal.eo +++ b/src/lib/ecore/efl_interpolator_sinusoidal.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Sinusoidal (Efl.Interpolator) +class Efl.Interpolator_Sinusoidal (Efl.Object, Efl.Interpolator) { [[Efl sinusoidal interpolator class diff --git a/src/lib/ecore/efl_interpolator_spring.eo b/src/lib/ecore/efl_interpolator_spring.eo index 2d1047edd5..ef3eee0ca9 100644 --- a/src/lib/ecore/efl_interpolator_spring.eo +++ b/src/lib/ecore/efl_interpolator_spring.eo @@ -1,4 +1,4 @@ -class Efl.Interpolator_Spring (Efl.Interpolator) +class Efl.Interpolator_Spring (Efl.Object, Efl.Interpolator) { [[Efl spring interpolator class]] data: Efl_Interpolator_Spring_Data; diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build index dbb511e2bf..993437f01c 100644 --- a/src/lib/ecore/meson.build +++ b/src/lib/ecore/meson.build @@ -57,7 +57,6 @@ pub_eo_files = [ 'efl_io_file.eo', 'efl_io_copier.eo', 'efl_io_buffered_stream.eo', - 'efl_interpolator.eo', 'efl_interpolator_linear.eo', 'efl_interpolator_accelerate.eo', 'efl_interpolator_decelerate.eo', @@ -154,7 +153,6 @@ ecore_src = [ 'efl_model_composite_selection.c', 'efl_model_accessor_view.c', 'efl_model_accessor_view_private.h', - 'efl_interpolator.c', 'efl_interpolator_linear.c', 'efl_interpolator_accelerate.c', 'efl_interpolator_decelerate.c', diff --git a/src/lib/efl/CMakeLists.txt b/src/lib/efl/CMakeLists.txt index 0c03b5c672..7f1672907a 100644 --- a/src/lib/efl/CMakeLists.txt +++ b/src/lib/efl/CMakeLists.txt @@ -29,6 +29,7 @@ set(PUBLIC_EO_FILES interfaces/efl_image_load.eo interfaces/efl_input_device.eo interfaces/efl_input_types.eot + interfaces/efl_interpolator.eo interfaces/efl_io_buffer.eo interfaces/efl_io_closer.eo interfaces/efl_io_positioner.eo diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 6cebb21dae..8548ac95c8 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -117,6 +117,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; /* Core interface */ #include "interfaces/efl_animator.eo.h" +#include "interfaces/efl_interpolator.eo.h" /* Graphics */ #include "interfaces/efl_gfx_entity.eo.h" diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index f5b8634d68..a21d7505aa 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c @@ -61,6 +61,7 @@ #include "interfaces/efl_model.eo.c" #include "interfaces/efl_animator.eo.c" +#include "interfaces/efl_interpolator.eo.c" #include "interfaces/efl_orientation.eo.c" #include "interfaces/efl_ui_base.eo.c" #include "interfaces/efl_ui_direction.eo.c" diff --git a/src/lib/ecore/efl_interpolator.eo b/src/lib/efl/interfaces/efl_interpolator.eo similarity index 74% rename from src/lib/ecore/efl_interpolator.eo rename to src/lib/efl/interfaces/efl_interpolator.eo index f24c601300..4c25d9c026 100644 --- a/src/lib/ecore/efl_interpolator.eo +++ b/src/lib/efl/interfaces/efl_interpolator.eo @@ -1,7 +1,6 @@ -class Efl.Interpolator (Efl.Object) +interface Efl.Interpolator () { - [[Efl interpolator class]] - data: Efl_Interpolator_Data; + [[Efl interpolator interface]] methods { interpolate { [[Interpolate the given value.]] diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build index 012bc12ff2..03d88e2aac 100644 --- a/src/lib/efl/interfaces/meson.build +++ b/src/lib/efl/interfaces/meson.build @@ -71,6 +71,7 @@ pub_eo_files = [ 'efl_gfx_size_hint.eo', 'efl_model.eo', 'efl_animator.eo', + 'efl_interpolator.eo', 'efl_orientation.eo', 'efl_container.eo', 'efl_content.eo', diff --git a/src/lib/evas/canvas/efl_canvas_animation.eo b/src/lib/evas/canvas/efl_canvas_animation.eo index 7773ca3d7c..8040ac9dbe 100644 --- a/src/lib/evas/canvas/efl_canvas_animation.eo +++ b/src/lib/evas/canvas/efl_canvas_animation.eo @@ -62,7 +62,7 @@ class Efl.Canvas.Animation (Efl.Object, Efl.Playable) get { } values { - interpolator: Efl.Object; [[Interpolator which indicates interpolation fucntion. Efl_Interpolator is required.]] + interpolator: Efl.Interpolator; [[Interpolator which indicates interpolation fucntion. Efl_Interpolator is required.]] } } animation_apply {