quickpanel: use ecore_animator for mover instead of Pol_Transit 74/77574/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Thu, 30 Jun 2016 08:01:53 +0000 (17:01 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Thu, 30 Jun 2016 08:11:35 +0000 (17:11 +0900)
Use ecore_animator for mover instead of Pol_Transit and Pol_Transit is
removed completely.

Change-Id: If4cc43c442a9fd84e22e39a6b9fb702ace373acc
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/Makefile.am
src/services/e_mod_quickpanel.c
src/services/e_mod_transit.c [deleted file]
src/services/e_mod_transit.h [deleted file]

index 24e2aaf6f53d60ac249a7e48cf09db30c6110747..882a668e8cf00263a07eb92343fb2aabf9faa512 100644 (file)
@@ -22,8 +22,6 @@ SRVS_SRC = services/e_mod_quickpanel.c \
            services/e_mod_quickpanel.h \
            services/e_mod_lockscreen.h \
            services/e_mod_lockscreen.c \
-           services/e_mod_transit.c    \
-           services/e_mod_transit.h    \
            services/e_mod_gesture.c    \
            services/e_mod_gesture.h    \
            services/e_mod_region.h     \
index 6ebc045942e8e5d58e901cf0871bcd4ff947058f..2bdb53264d285bbe71bf3b5fae050feafe38b2d2 100644 (file)
@@ -3,7 +3,6 @@
 #include "e_mod_quickpanel.h"
 #include "e_mod_gesture.h"
 #include "e_mod_region.h"
-#include "e_mod_transit.h"
 #include "e_mod_rotation.h"
 #include "e_mod_wl.h"
 
@@ -81,7 +80,7 @@ struct _Mover_Data
 
    struct
    {
-      Pol_Transit *transit;
+      Ecore_Animator *animator;
       Mover_Effect_Data *data;
       int x, y;
       unsigned int timestamp;
@@ -92,7 +91,7 @@ struct _Mover_Data
 
 struct _Mover_Effect_Data
 {
-   Pol_Transit *transit;
+   Ecore_Animator *animator;
    Evas_Object *mover;
    int from;
    int to;
@@ -460,15 +459,14 @@ _mover_obj_move(Evas_Object *mover, int x, int y, unsigned int timestamp)
    return EINA_TRUE;
 }
 
-static Pol_Transit_Effect *
-_mover_obj_effect_data_new(Pol_Transit *transit, Evas_Object *mover, int from, int to, Eina_Bool visible)
+static Mover_Effect_Data *
+_mover_obj_effect_data_new(Evas_Object *mover, int from, int to, Eina_Bool visible)
 {
    Mover_Effect_Data *ed;
 
    ed = E_NEW(Mover_Effect_Data, 1);
    if (!ed) return NULL;
 
-   ed->transit = transit;
    ed->mover = mover;
    ed->visible = visible;
    ed->from = from;
@@ -477,30 +475,6 @@ _mover_obj_effect_data_new(Pol_Transit *transit, Evas_Object *mover, int from, i
    return ed;
 }
 
-static void
-_mover_obj_effect_op(Pol_Transit_Effect *effect, Pol_Transit *transit, double progress)
-{
-   Mover_Effect_Data *ed = effect;
-   Mover_Data *md;
-   int new_x = 0, new_y = 0;
-
-   md = evas_object_smart_data_get(ed->mover);
-
-   switch (md->rotation)
-     {
-      case ROT_IDX_90:
-      case ROT_IDX_270:
-         new_x = ed->from + (ed->to * progress);
-         break;
-      default:
-      case ROT_IDX_180:
-         new_y = ed->from + (ed->to * progress);
-         break;
-     }
-
-   _mover_obj_handler_move(md, new_x, new_y);
-}
-
 static void
 _mover_obj_effect_cb_mover_obj_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
@@ -511,18 +485,18 @@ _mover_obj_effect_cb_mover_obj_del(void *data, Evas *e EINA_UNUSED, Evas_Object
    md = evas_object_smart_data_get(ed->mover);
    QP_VISIBLE_SET(md->qp->ec, ed->visible);
 
-   /* make sure NULL before calling pol_transit_del() */
+   /* make sure NULL before calling ecore_animator_del() */
    ed->mover = NULL;
 
-   pol_transit_del(ed->transit);
+   ecore_animator_del(ed->animator);
+   ed->animator = NULL;
 }
 
 static void
-_mover_obj_effect_data_free(Pol_Transit_Effect *effect, Pol_Transit *transit)
+_mover_obj_effect_data_free(Mover_Effect_Data *ed)
 {
    Pol_Quickpanel *qp;
    Mover_Data *md;
-   Mover_Effect_Data *ed = effect;
    E_QP_Client *qp_client;
    Eina_List *l;
 
@@ -546,13 +520,50 @@ _mover_obj_effect_data_free(Pol_Transit_Effect *effect, Pol_Transit *transit)
    free(ed);
 }
 
+static Eina_Bool
+_mover_obj_effect_update(void *data, double pos)
+{
+   Mover_Effect_Data *ed = data;
+   Mover_Data *md;
+   int new_x = 0, new_y = 0;
+   double progress = 0;
+
+   progress = ecore_animator_pos_map(pos, ECORE_POS_MAP_DECELERATE, 0, 0);
+
+   md = evas_object_smart_data_get(ed->mover);
+
+   switch (md->rotation)
+     {
+      case ROT_IDX_90:
+      case ROT_IDX_270:
+         new_x = ed->from + (ed->to * progress);
+         break;
+      default:
+      case ROT_IDX_180:
+         new_y = ed->from + (ed->to * progress);
+         break;
+     }
+   _mover_obj_handler_move(md, new_x, new_y);
+
+   if (pos == 1.0)
+     {
+        ecore_animator_del(ed->animator);
+        ed->animator = NULL;
+
+        _mover_obj_effect_data_free(ed);
+
+        return ECORE_CALLBACK_CANCEL;
+     }
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
 static void
 _mover_obj_effect_start(Evas_Object *mover, Eina_Bool visible)
 {
    Mover_Data *md;
    E_Client *ec;
-   Pol_Transit *transit;
-   Pol_Transit_Effect *effect;
+   Mover_Effect_Data *ed;
    int from;
    int to;
    double duration;
@@ -585,24 +596,19 @@ _mover_obj_effect_start(Evas_Object *mover, Eina_Bool visible)
          break;
      }
 
-   transit = pol_transit_add();
-   pol_transit_object_add(transit, mover);
-   pol_transit_tween_mode_set(transit, POL_TRANSIT_TWEEN_MODE_DECELERATE);
-
-   pol_transit_duration_set(transit, duration);
-
-   /* create and add effect to transit */
-   effect = _mover_obj_effect_data_new(transit, mover, from, to, visible);
-   pol_transit_effect_add(transit, _mover_obj_effect_op, effect, _mover_obj_effect_data_free);
+   /* create effect data */
+   ed = _mover_obj_effect_data_new(mover, from, to, visible);
 
-   /* start transit */
-   pol_transit_go(transit);
+   /* start move effect */
+   ed->animator = ecore_animator_timeline_add(duration,
+                                              _mover_obj_effect_update,
+                                              ed);
 
-   evas_object_event_callback_add(mover, EVAS_CALLBACK_DEL, _mover_obj_effect_cb_mover_obj_del, effect);
+   evas_object_event_callback_add(mover, EVAS_CALLBACK_DEL, _mover_obj_effect_cb_mover_obj_del, ed);
 
-   md->effect_info.transit = transit;
+   md->effect_info.animator = ed->animator;
    md->effect_info.visible = visible;
-   md->effect_info.data = (Mover_Effect_Data *)effect;
+   md->effect_info.data = ed;
 }
 
 static void
@@ -615,7 +621,7 @@ _mover_obj_effect_stop(Evas_Object *mover)
 
    evas_object_event_callback_del(mover, EVAS_CALLBACK_DEL, _mover_obj_effect_cb_mover_obj_del);
 
-   E_FREE_FUNC(md->effect_info.transit, pol_transit_del);
+   E_FREE_FUNC(md->effect_info.animator, ecore_animator_del);
 }
 
 static Eina_Bool
@@ -659,7 +665,7 @@ _mover_obj_is_animating(Evas_Object *mover)
 
    md = evas_object_smart_data_get(mover);
 
-   return !!md->effect_info.transit;
+   return !!md->effect_info.animator;
 }
 
 static Eina_Bool
diff --git a/src/services/e_mod_transit.c b/src/services/e_mod_transit.c
deleted file mode 100644 (file)
index 2a3039f..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-/* this source code is clone of elm_transit */
-
-#include <Ecore.h>
-
-#include "e_mod_main.h"
-#include "e_mod_transit.h"
-
-struct _Pol_Transit
-{
-   Ecore_Animator *animator;
-   Eina_Inlist *effect_list;
-   Eina_List *objs;
-   Pol_Transit_Tween_Mode tween_mode;
-   struct
-   {
-      Pol_Transit_Del_Cb func;
-      void *arg;
-   } del_data;
-   struct
-   {
-      double delayed;
-      double paused;
-      double duration;
-      double begin;
-      double current;
-   } time;
-   struct
-   {
-      int count;
-      int current;
-      Eina_Bool reverse;
-   } repeat;
-   double progress;
-   unsigned int effects_pending_del;
-   int walking;
-   double v[4];
-   Eina_Bool auto_reverse : 1;
-   Eina_Bool event_enabled : 1;
-   Eina_Bool deleted : 1;
-   Eina_Bool finished : 1;
-   Eina_Bool smooth : 1;
-};
-
-struct _Pol_Transit_Effect_Module
-{
-   EINA_INLIST;
-   Pol_Transit_Effect_Transition_Cb transition_cb;
-   Pol_Transit_Effect_End_Cb end_cb;
-   Pol_Transit_Effect *effect;
-   Eina_Bool deleted : 1;
-};
-
-struct _Pol_Transit_Obj_Data
-{
-   struct {
-      Evas_Coord x, y, w, h;
-      int r,g,b,a;
-      Evas_Map *map;
-      Eina_Bool map_enabled : 1;
-      Eina_Bool visible : 1;
-      Eina_Bool freeze_events : 1;
-   } state;
-   int ref;
-};
-
-typedef struct _Pol_Transit_Effect_Module Pol_Transit_Effect_Module;
-typedef struct _Pol_Transit_Obj_Data Pol_Transit_Obj_Data;
-
-static void _transit_obj_remove_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED);
-
-static void
-_remove_obj_from_list(Pol_Transit *transit, Evas_Object *obj)
-{
-   //Remove duplicated objects
-   //TODO: Need to consider about optimizing here
-   while (1)
-     {
-        if (!eina_list_data_find_list(transit->objs, obj))
-          break;
-        transit->objs = eina_list_remove(transit->objs, obj);
-        evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
-                                       _transit_obj_remove_cb,
-                                       transit);
-     }
-}
-
-static void
-_transit_obj_remove_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
-{
-   Pol_Transit *transit = data;
-   _remove_obj_from_list(transit, obj);
-   if (!transit->objs && !transit->deleted) pol_transit_del(transit);
-}
-
-static void
-_transit_obj_remove(Pol_Transit *transit, Evas_Object *obj)
-{
-   _remove_obj_from_list(transit, obj);
-}
-
-static void
-_transit_effect_del(Pol_Transit *transit, Pol_Transit_Effect_Module *effect_module)
-{
-   if (effect_module->end_cb)
-     effect_module->end_cb(effect_module->effect, transit);
-   free(effect_module);
-}
-
-static void
-_transit_del(Pol_Transit *transit)
-{
-   Pol_Transit_Effect_Module *effect_module;
-
-   transit->deleted = EINA_TRUE;
-
-   ecore_animator_del(transit->animator);
-   transit->animator = NULL;
-
-   //remove effects
-   while (transit->effect_list)
-     {
-        effect_module = EINA_INLIST_CONTAINER_GET(transit->effect_list, Pol_Transit_Effect_Module);
-        transit->effect_list = eina_inlist_remove(transit->effect_list, transit->effect_list);
-        _transit_effect_del(transit, effect_module);
-     }
-
-   //remove objects.
-   while (transit->objs)
-     _transit_obj_remove(transit, eina_list_data_get(transit->objs));
-
-   if (transit->del_data.func)
-     transit->del_data.func(transit->del_data.arg, transit);
-
-   free(transit);
-}
-
-static void
-_transit_remove_dead_effects(Pol_Transit *transit)
-{
-   Pol_Transit_Effect_Module *effect_module = NULL;
-   Eina_Inlist *ll;
-
-   EINA_INLIST_FOREACH_SAFE(transit->effect_list, ll, effect_module)
-     {
-        if (effect_module->deleted)
-          {
-             _transit_effect_del(transit, effect_module);
-             transit->effects_pending_del--;
-             if (!transit->effects_pending_del) return;
-          }
-     }
-}
-
-//If the transit is deleted then EINA_FALSE is retruned.
-static Eina_Bool
-_transit_animate_op(Pol_Transit *transit, double progress)
-{
-   Pol_Transit_Effect_Module *effect_module;
-
-   transit->walking++;
-   EINA_INLIST_FOREACH(transit->effect_list, effect_module)
-     {
-        if (transit->deleted) break;
-        if (!effect_module->deleted)
-          effect_module->transition_cb(effect_module->effect, transit, progress);
-     }
-   transit->walking--;
-
-   if (transit->walking) return EINA_TRUE;
-
-   if (transit->deleted)
-     {
-        _transit_del(transit);
-        return EINA_FALSE;
-     }
-
-   else if (transit->effects_pending_del) _transit_remove_dead_effects(transit);
-
-   return EINA_TRUE;
-}
-
-static Eina_Bool
-_transit_animate_cb(void *data)
-{
-   Pol_Transit *transit = data;
-   double elapsed_time, duration;
-
-   transit->time.current = ecore_loop_time_get();
-   elapsed_time = transit->time.current - transit->time.begin;
-   duration = transit->time.duration + transit->time.delayed;
-
-   if (elapsed_time > duration)
-     elapsed_time = duration;
-
-   transit->progress = elapsed_time / duration;
-   switch (transit->tween_mode)
-     {
-      case POL_TRANSIT_TWEEN_MODE_LINEAR:
-         transit->progress = ecore_animator_pos_map(transit->progress,
-                                                    ECORE_POS_MAP_LINEAR,
-                                                    0, 0);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_ACCELERATE:
-         transit->progress =
-            ecore_animator_pos_map(transit->progress,
-                                   ECORE_POS_MAP_ACCELERATE_FACTOR,
-                                   transit->v[0], 0);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_DECELERATE:
-         transit->progress =
-            ecore_animator_pos_map(transit->progress,
-                                   ECORE_POS_MAP_DECELERATE_FACTOR,
-                                   transit->v[0], 0);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_SINUSOIDAL:
-         transit->progress =
-            ecore_animator_pos_map(transit->progress,
-                                   ECORE_POS_MAP_SINUSOIDAL_FACTOR,
-                                   transit->v[0], 0);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_DIVISOR_INTERP:
-         transit->progress = ecore_animator_pos_map(transit->progress,
-                                                    ECORE_POS_MAP_DIVISOR_INTERP,
-                                                    transit->v[0], transit->v[1]);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_BOUNCE:
-         transit->progress = ecore_animator_pos_map(transit->progress,
-                                                    ECORE_POS_MAP_BOUNCE,
-                                                    transit->v[0], transit->v[1]);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_SPRING:
-         transit->progress = ecore_animator_pos_map(transit->progress,
-                                                    ECORE_POS_MAP_SPRING,
-                                                    transit->v[0], transit->v[1]);
-         break;
-      case POL_TRANSIT_TWEEN_MODE_BEZIER_CURVE:
-         transit->progress = ecore_animator_pos_map_n(transit->progress,
-                                                      ECORE_POS_MAP_CUBIC_BEZIER,
-                                                      4, transit->v);
-         break;
-      default:
-         break;
-     }
-
-   /* Reverse? */
-   if (transit->repeat.reverse) transit->progress = 1 - transit->progress;
-
-   if (transit->time.duration > 0)
-     {
-        if (!_transit_animate_op(transit, transit->progress))
-          return ECORE_CALLBACK_CANCEL;
-     }
-
-   /* Not end. Keep going. */
-   if (elapsed_time < duration) return ECORE_CALLBACK_RENEW;
-
-   /* Repeat and reverse and time done! */
-   if ((transit->repeat.count >= 0) &&
-       (transit->repeat.current == transit->repeat.count) &&
-       ((!transit->auto_reverse) || transit->repeat.reverse))
-     {
-        transit->finished = EINA_TRUE;
-        pol_transit_del(transit);
-        return ECORE_CALLBACK_CANCEL;
-     }
-
-   /* Repeat Case */
-   if (!transit->auto_reverse || transit->repeat.reverse)
-     {
-        transit->repeat.current++;
-        transit->repeat.reverse = EINA_FALSE;
-     }
-   else transit->repeat.reverse = EINA_TRUE;
-
-   transit->time.begin = ecore_loop_time_get();
-
-   return ECORE_CALLBACK_RENEW;
-}
-
-EINTERN Pol_Transit *
-pol_transit_add(void)
-{
-   Pol_Transit *transit;
-
-   transit = calloc(1, sizeof(*transit));
-   if (!transit)
-     return NULL;
-
-   pol_transit_tween_mode_set(transit, POL_TRANSIT_TWEEN_MODE_LINEAR);
-
-   transit->v[0] = 1.0;
-   transit->v[1] = 0.0;
-   transit->smooth = EINA_TRUE;
-
-   return transit;
-}
-
-EINTERN void
-pol_transit_del(Pol_Transit *transit)
-{
-   if (!transit) return;
-
-   transit->deleted = EINA_TRUE;
-   if (transit->walking) return;
-   _transit_del(transit);
-}
-
-EINTERN void
-pol_transit_object_add(Pol_Transit *transit, Evas_Object *obj)
-{
-   if (EINA_UNLIKELY(!transit))
-     return;
-
-   if (transit->animator)
-     {
-        evas_object_freeze_events_set(obj, EINA_TRUE);
-     }
-   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL,
-                                  _transit_obj_remove_cb,
-                                  transit);
-
-   transit->objs = eina_list_append(transit->objs, obj);
-}
-
-EINTERN void
-pol_transit_object_remove(Pol_Transit *transit, Evas_Object *obj)
-{
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   EINA_SAFETY_ON_NULL_RETURN(obj);
-
-   _transit_obj_remove(transit, obj);
-   if (!transit->objs) pol_transit_del(transit);
-}
-
-EINTERN void
-pol_transit_effect_add(Pol_Transit *transit, Pol_Transit_Effect_Transition_Cb transition_cb, Pol_Transit_Effect *effect, Pol_Transit_Effect_End_Cb end_cb)
-{
-   Pol_Transit_Effect_Module *effect_module;
-
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   EINA_SAFETY_ON_NULL_RETURN(transition_cb);
-
-   EINA_INLIST_FOREACH(transit->effect_list, effect_module)
-     if ((effect_module->transition_cb == transition_cb) && (effect_module->effect == effect))
-       {
-          WRN("pol_transit does not allow to add the duplicated effect! : transit=%p", transit);
-          return;
-       }
-
-   effect_module = calloc(1, sizeof(*effect_module));
-   if (!effect_module)
-     {
-        ERR("Failed to allocate a new effect!: transit=%p", transit);
-        return;
-     }
-
-   effect_module->end_cb = end_cb;
-   effect_module->transition_cb = transition_cb;
-   effect_module->effect = effect;
-
-   transit->effect_list = eina_inlist_append(transit->effect_list, (Eina_Inlist*) effect_module);
-}
-
-EINTERN void
-pol_transit_effect_del(Pol_Transit *transit, Pol_Transit_Effect_Transition_Cb transition_cb, Pol_Transit_Effect *effect)
-{
-   Pol_Transit_Effect_Module *effect_module;
-
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   EINA_SAFETY_ON_NULL_RETURN(transition_cb);
-
-   EINA_INLIST_FOREACH(transit->effect_list, effect_module)
-     {
-        if ((effect_module->transition_cb == transition_cb) && (effect_module->effect == effect))
-          {
-             if (transit->walking)
-               {
-                  effect_module->deleted = EINA_TRUE;
-                  transit->effects_pending_del++;
-               }
-             else
-               {
-                  _transit_effect_del(transit, effect_module);
-                  if (!transit->effect_list) pol_transit_del(transit);
-               }
-             return;
-          }
-     }
-}
-
-EINTERN void
-pol_transit_smooth_set(Pol_Transit *transit, Eina_Bool smooth)
-{
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   transit->smooth = !!smooth;
-}
-
-EINTERN Eina_Bool
-pol_transit_smooth_get(const Pol_Transit *transit)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(transit, EINA_FALSE);
-   return transit->smooth;
-}
-
-EINTERN void
-pol_transit_tween_mode_set(Pol_Transit *transit, Pol_Transit_Tween_Mode tween_mode)
-{
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   transit->tween_mode = tween_mode;
-}
-
-EINTERN void
-pol_transit_duration_set(Pol_Transit *transit, double duration)
-{
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-   if (transit->animator)
-     {
-        WRN("pol_transit does not allow to set the duration time in operating! : transit=%p", transit);
-        return;
-     }
-   transit->time.duration = duration;
-}
-
-EINTERN void
-pol_transit_go(Pol_Transit *transit)
-{
-   EINA_SAFETY_ON_NULL_RETURN(transit);
-
-   Eina_List *elist;
-   Evas_Object *obj;
-
-   ecore_animator_del(transit->animator);
-   transit->animator = NULL;
-
-   if (!transit->event_enabled)
-     {
-        EINA_LIST_FOREACH(transit->objs, elist, obj)
-          evas_object_freeze_events_set(obj, EINA_TRUE);
-     }
-
-   transit->time.paused = 0;
-   transit->time.delayed = 0;
-   transit->time.begin = ecore_loop_time_get();
-   transit->animator = ecore_animator_add(_transit_animate_cb, transit);
-
-   _transit_animate_cb(transit);
-}
diff --git a/src/services/e_mod_transit.h b/src/services/e_mod_transit.h
deleted file mode 100644 (file)
index 28fa7ec..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef E_MOD_TRANSIT_H
-#define E_MOD_TRANSIT_H
-
-typedef enum
-{
-   POL_TRANSIT_TWEEN_MODE_LINEAR,
-   POL_TRANSIT_TWEEN_MODE_SINUSOIDAL,
-   POL_TRANSIT_TWEEN_MODE_DECELERATE,
-   POL_TRANSIT_TWEEN_MODE_ACCELERATE,
-   POL_TRANSIT_TWEEN_MODE_DIVISOR_INTERP,
-   POL_TRANSIT_TWEEN_MODE_BOUNCE,
-   POL_TRANSIT_TWEEN_MODE_SPRING,
-   POL_TRANSIT_TWEEN_MODE_BEZIER_CURVE
-} Pol_Transit_Tween_Mode;
-
-typedef struct _Pol_Transit Pol_Transit;
-typedef void                Pol_Transit_Effect;
-
-typedef void (*Pol_Transit_Effect_Transition_Cb)(Pol_Transit_Effect *effect, Pol_Transit *transit, double progress);
-typedef void (*Pol_Transit_Effect_End_Cb)(Pol_Transit_Effect *effect, Pol_Transit *transit);
-typedef void (*Pol_Transit_Del_Cb)(void *data, Pol_Transit *transit);
-
-EINTERN Pol_Transit  *pol_transit_add(void);
-EINTERN void          pol_transit_del(Pol_Transit *transit);
-EINTERN void          pol_transit_object_add(Pol_Transit *transit, Evas_Object *obj);
-EINTERN void          pol_transit_object_remove(Pol_Transit *transit, Evas_Object *obj);
-EINTERN void          pol_transit_smooth_set(Pol_Transit *transit, Eina_Bool smooth);
-EINTERN Eina_Bool     pol_transit_smooth_get(const Pol_Transit *transit);
-EINTERN void          pol_transit_tween_mode_set(Pol_Transit *transit, Pol_Transit_Tween_Mode tween_mode);
-EINTERN void          pol_transit_duration_set(Pol_Transit *transit, double duration);
-EINTERN void          pol_transit_go(Pol_Transit *transit);
-EINTERN void          pol_transit_effect_add(Pol_Transit *transit, Pol_Transit_Effect_Transition_Cb transition_cb, Pol_Transit_Effect *effect, Pol_Transit_Effect_End_Cb end_cb);
-EINTERN void          pol_transit_effect_del(Pol_Transit *transit, Pol_Transit_Effect_Transition_Cb transition_cb, Pol_Transit_Effect *effect);
-
-#endif