teansit - done. used ecore-pos-mapper for interpolation. should be
authorCarsten Haitzler <raster@rasterman.com>
Thu, 16 Feb 2012 12:09:32 +0000 (12:09 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 16 Feb 2012 12:09:32 +0000 (12:09 +0000)
extended eventually. :)

SVN revision: 68025

src/lib/Elementary.h.in
src/lib/elm_transit.c

index ff109d9..0d73eb9 100644 (file)
@@ -245,8 +245,8 @@ EAPI extern Elm_Version *elm_version;
 #include <elm_table.h> // OK
 #include <elm_theme.h> // OK
 #include <elm_thumb.h> // OK
-#include <elm_toolbar.h>
-#include <elm_transit.h>
+#include <elm_toolbar.h> // OK
+#include <elm_transit.h> // OK
 #include <elm_video.h>
 #include <elm_web.h>
 #include <elm_win.h>
index 67cfa5b..3116daa 100644 (file)
@@ -336,14 +336,24 @@ _transit_animate_cb(void *data)
    transit->progress = elapsed_time / duration;
    switch (transit->tween_mode)
      {
+      case ELM_TRANSIT_TWEEN_MODE_LINEAR:
+         transit->progress = ecore_animator_pos_map(transit->progress,
+                                                    ECORE_POS_MAP_LINEAR,
+                                                    0, 0);
       case ELM_TRANSIT_TWEEN_MODE_ACCELERATE:
-         transit->progress = 1.0 - sin((ELM_PI / 2.0) + (transit->progress * ELM_PI / 2.0));
+         transit->progress = ecore_animator_pos_map(transit->progress,
+                                                    ECORE_POS_MAP_ACCELERATE,
+                                                    0, 0);
          break;
       case ELM_TRANSIT_TWEEN_MODE_DECELERATE:
-         transit->progress = sin(transit->progress * ELM_PI / 2.0);
+         transit->progress = ecore_animator_pos_map(transit->progress,
+                                                    ECORE_POS_MAP_DECELERATE,
+                                                    0, 0);
          break;
       case ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL:
-         transit->progress = (1.0 - cos(transit->progress * ELM_PI)) / 2.0;
+         transit->progress = ecore_animator_pos_map(transit->progress,
+                                                    ECORE_POS_MAP_SINUSOIDAL,
+                                                    0, 0);
          break;
       default:
          break;