[glide] Support all direction options for slide animation



commit aeceb224c6d04b6049dca1af34df448ee404eed3
Author: Robert Carr <racarr Valentine localdomain>
Date:   Tue Apr 27 04:45:13 2010 -0400

    Support all direction options for slide animation

 src/glide-slide.c              |    7 +++----
 src/glide-vala-animations.vala |   17 ++++++++++++++++-
 2 files changed, 19 insertions(+), 5 deletions(-)
---
diff --git a/src/glide-slide.c b/src/glide-slide.c
index bedcfc2..ff79fae 100644
--- a/src/glide-slide.c
+++ b/src/glide-slide.c
@@ -480,10 +480,9 @@ glide_slide_serialize (GlideActor *self)
   
   if (slide->priv->background)
     glide_json_object_set_string (obj, "background", slide->priv->background); 
-  if (slide->priv->animation)
-    glide_json_object_set_animation (obj, "animation", slide->priv->animation); 
-  else
-    glide_json_object_set_string (obj, "animation", "None"); 
+
+  glide_json_object_set_animation (obj, "animation", slide->priv->animation); 
+
   
   return node;
 }
diff --git a/src/glide-vala-animations.vala b/src/glide-vala-animations.vala
index 69c2990..99e389a 100644
--- a/src/glide-vala-animations.vala
+++ b/src/glide-vala-animations.vala
@@ -47,13 +47,28 @@ namespace Glide {
 			b.animate_with_timeline (Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "y", 0.0);
 			a.animate_with_timeline(Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "y", -a.height);
 			break;
+		case "Down":
+			b.y = -a.height;
+			b.animate_with_timeline (Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "y", 0.0);
+			a.animate_with_timeline(Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "y", a.height);
+			break;
+		case "Left":
+			b.x = a.width;
+			b.animate_with_timeline (Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "x", 0.0);
+			a.animate_with_timeline(Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "x", -a.width);
+			break;
+		case "Right":
+			b.x = -a.x;
+			b.animate_with_timeline (Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "x", 0.0);
+			a.animate_with_timeline(Clutter.AnimationMode.EASE_IN_OUT_SINE, timeline, "x", a.width);
+			break;
 		default:
 			break;
 		}
 		
 		timeline.completed.connect ((t) => {
 				a.hide();
-				a.y = 0;
+				a.x = a.y = 0;
 			});
 		
 		return timeline;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]