2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
authorEmmanuele Bassi <ebassi@openedhand.com>
Thu, 25 Oct 2007 14:46:02 +0000 (14:46 +0000)
committerEmmanuele Bassi <ebassi@openedhand.com>
Thu, 25 Oct 2007 14:46:02 +0000 (14:46 +0000)
* tests/test-script.c:
* tests/test-script.json: Rejig the test case and add a
path behaviour to test the knot parsing code.

ChangeLog
tests/test-script.c
tests/test-script.json

index 82719bb..f291aee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
 
+       * tests/test-script.c:
+       * tests/test-script.json: Rejig the test case and add a
+       path behaviour to test the knot parsing code.
+
+2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
+
        * clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
 
 2007-10-25  Emmanuele Bassi  <ebassi@openedhand.com>
index dc7ca1e..2cd443a 100644 (file)
@@ -26,11 +26,19 @@ static const gchar *test_behaviour =
 "  {"
 "    \"id\" : \"main-timeline\","
 "    \"type\" : \"ClutterTimeline\","
-"    \"num-frames\" : 300,"
-"    \"fps\" : 60,"
+"    \"duration\" : 5000,"
 "    \"loop\" : true"
 "  },"
 "  {"
+"    \"id\"          : \"path-behaviour\","
+"    \"type\"        : \"ClutterBehaviourPath\","
+"    \"knots\"       : [ [ 50, 50 ], { \"x\" : 100, \"y\" : 100 } ],"
+"    \"alpha\"       : {"
+"      \"timeline\" : \"main-timeline\","
+"      \"function\" : \"ramp\""
+"    }"
+"  },"
+"  {"
 "    \"id\"          : \"rotate-behaviour\","
 "    \"type\"        : \"ClutterBehaviourRotate\","
 "    \"angle-begin\" : 0.0,"
@@ -58,13 +66,35 @@ blue_button_press (ClutterActor       *actor,
                    ClutterButtonEvent *event,
                    gpointer            data)
 {
+  g_print ("[*] Unmerging objects with merge id: %d\n", merge_id);
+
   clutter_script_unmerge_objects (script, merge_id);
+
+  return TRUE;
+}
+
+static gboolean
+red_button_press (ClutterActor *actor,
+                  ClutterButtonEvent *event,
+                  gpointer            data)
+{
+  GObject *timeline;
+
+  timeline = clutter_script_get_object (script, "main-timeline");
+  g_assert (CLUTTER_IS_TIMELINE (timeline));
+
+  if (!clutter_timeline_is_playing (CLUTTER_TIMELINE (timeline)))
+    clutter_timeline_start (CLUTTER_TIMELINE (timeline));
+  else
+    clutter_timeline_pause (CLUTTER_TIMELINE (timeline));
+
+  return TRUE;
 }
 
 int
 main (int argc, char *argv[])
 {
-  GObject *stage, *timeline, *blue_button;
+  GObject *stage, *timeline, *blue_button, *red_button;
   GError *error = NULL;
 
   clutter_init (&argc, &argv);
@@ -105,15 +135,18 @@ main (int argc, char *argv[])
   stage = clutter_script_get_object (script, "main-stage");
   clutter_actor_show (CLUTTER_ACTOR (stage));
 
+  red_button = clutter_script_get_object (script, "red-button");
+  g_signal_connect (red_button,
+                    "button-press-event",
+                    G_CALLBACK (red_button_press),
+                    NULL);
+
   blue_button = clutter_script_get_object (script, "blue-button");
   g_signal_connect (blue_button,
                     "button-press-event",
                     G_CALLBACK (blue_button_press),
                     NULL);
 
-  timeline = clutter_script_get_object (script, "main-timeline");
-  clutter_timeline_start (CLUTTER_TIMELINE (timeline));
-
   clutter_main ();
 
   g_object_unref (script);
index 7889057..0691545 100644 (file)
@@ -4,7 +4,7 @@
     "type" : "ClutterStage",
     "color" : "white",
     "width" : 500,
-    "height" : 200,
+    "height" : 400,
     "children" : [
       {
         "id" : "red-button",
@@ -15,6 +15,8 @@
         "width" : 100,
         "height" : 100,
         "visible" : true,
+        "reactive" : true,
+        "behaviours" : [ "fade-behaviour", "path-behaviour" ]
       },
       {
         "id" : "green-button",
@@ -25,7 +27,7 @@
         "width" : 100,
         "height" : 100,
         "visible" : true,
-        "behaviours" : [ "fade-behaviour" ]
+        "reactive" : true
       }, 
       {
         "id" : "red-hand",
         "visible" : true,
         "behaviours" : [ "rotate-behaviour", "fade-behaviour" ]
       },
-      "blue-button"
+      {
+        "id" : "label",
+        "type" : "ClutterLabel",
+        "x" : 50,
+        "y" : 200,
+        "width" : 400,
+        "text" : "Clutter\tScript",
+        "font-name" : "Sans 24px",
+        "color" : "black",
+        "alignment" : "center",
+        "wrap" : false,
+        "ellipsize" : "none",
+        "visible" : true
+      }
+      "blue-button",
     ]
   }
 }