/*
- * $Id: rb_smart.c 374 2006-02-21 21:20:35Z tilman $
+ * $Id: rb_smart.c 381 2006-05-21 14:56:15Z tilman $
*
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
static ID id_smart_object;
SMART_CB (delete);
-SMART_CB (raise);
-SMART_CB (lower);
SMART_CB (show);
SMART_CB (hide);
SMART_CB (clip_unset);
-SMART_CB_OBJ (stack_above);
-SMART_CB_OBJ (stack_below);
SMART_CB_OBJ (clip_set);
SMART_CB_COORD (move);
SMART_CB_COORD (resize);
-static void on_layer_set (Evas_Object *o, int layer)
-{
- SMART_CB_BODY (layer_set);
-
- rb_funcall (self, id, 1, FIX2INT (layer));
-}
-
static void on_color_set (Evas_Object *o, int r, int g, int b, int a)
{
SMART_CB_BODY (color_set);
smart = Data_Make_Struct (rb_cObject, Evas_Smart *, NULL, NULL, s);
*s = evas_smart_new (StringValuePtr (name),
- NULL, on_delete, on_layer_set,
- on_raise, on_lower, on_stack_above,
- on_stack_below, on_move, on_resize,
+ NULL, on_delete, NULL,
+ NULL, NULL, NULL, NULL,
+ on_move, on_resize,
on_show, on_hide, on_color_set,
on_clip_set, on_clip_unset, NULL);
return self;
}
+static VALUE c_add_member (VALUE self, VALUE member)
+{
+ GET_OBJ (self, RbEvasObject, e);
+ GET_OBJ (member, RbEvasObject, e2);
+
+ /* weird order of arguments */
+ evas_object_smart_member_add (e2->real, e->real);
+
+ return Qnil;
+}
+
void Init_Smart (void)
{
VALUE c = rb_define_class_under (mEvas, "Smart", cEvasObject);
rb_define_singleton_method (c, "inherited", c_inherited, 1);
rb_define_method (c, "initialize", c_init, 1);
+ rb_define_method (c, "add_member", c_add_member, 1);
id_smart_object = rb_intern ("SMART_OBJECT");
}