+ sd->smart_class.name = StringValuePtr (sd->name);
+ sd->smart_class.version = EVAS_SMART_CLASS_VERSION;
+
+ sd->smart_class.add = NULL;
+ sd->smart_class.del = smart_delete;
+ sd->smart_class.move = smart_move;
+ sd->smart_class.resize = smart_resize;
+ sd->smart_class.show = smart_show;
+ sd->smart_class.hide = smart_hide;
+ sd->smart_class.color_set = smart_color_set;
+ sd->smart_class.clip_set = smart_clip_set;
+ sd->smart_class.clip_unset = smart_clip_unset;
+
+ sd->smart = evas_smart_class_new (&sd->smart_class);
+
+ rb_mod_remove_const (klass, ID2SYM (id_smart_data));
+ rb_const_set (klass, id_smart_data, data);
+ }