+ cb = rb_block_proc ();
+ rb_ary_push (e->callbacks, cb);
+
+ edje_object_signal_callback_add (e->real.real,
+ StringValuePtr (signal),
+ StringValuePtr (src), on_signal,
+ (void *) cb);
+
+ return Qnil;
+}
+
+static VALUE c_play_get (VALUE self)
+{
+ GET_OBJ (self, RbEdje, e);
+
+ return edje_object_play_get (e->real.real) ? Qtrue : Qfalse;
+}
+
+static VALUE c_play_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEdje, e);
+
+ CHECK_BOOL(val);
+
+ edje_object_play_set (e->real.real, val == Qtrue);
+
+ return Qnil;
+}
+
+static VALUE c_animation_get (VALUE self)
+{
+ GET_OBJ (self, RbEdje, e);
+
+ return edje_object_animation_get (e->real.real) ? Qtrue : Qfalse;
+}
+
+static VALUE c_animation_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEdje, e);
+
+ CHECK_BOOL(val);
+
+ edje_object_animation_set (e->real.real, val == Qtrue);
+
+ return Qnil;