+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_hide (ee->real);
+
+ return Qnil;
+}
+
+static VALUE c_visible_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return ecore_evas_visibility_get (ee->real) ? Qtrue : Qfalse;
+}
+
+static VALUE c_raise (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_raise (ee->real);
+
+ return Qnil;
+}
+
+static VALUE c_lower (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_lower (ee->real);
+
+ return Qnil;
+}
+
+static VALUE c_layer_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return INT2FIX (ecore_evas_layer_get (ee->real));
+}
+
+static VALUE c_layer_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ Check_Type (val, T_FIXNUM);
+
+ ecore_evas_layer_set (ee->real, FIX2INT (val));
+
+ return Qnil;
+}
+
+static VALUE c_evas_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ if (NIL_P (ee->evas))
+ ee->evas = TO_EVAS (self, ecore_evas_get (ee->real));
+
+ return ee->evas;
+}
+
+static VALUE c_geometry_get (VALUE self)
+{
+ int x = 0, y = 0, w = 0, h = 0;
+
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_geometry_get (ee->real, &x, &y, &w, &h);
+
+ return rb_ary_new3 (4, INT2FIX (x), INT2FIX (y),
+ INT2FIX (w), INT2FIX (h));
+}
+
+static VALUE c_get_size_min (VALUE self)
+{
+ int w = 0, h = 0;
+
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_size_min_get (ee->real, &w, &h);
+
+ return rb_ary_new3 (2, INT2FIX (w), INT2FIX (h));
+}
+
+static VALUE c_set_size_min (VALUE self, VALUE w, VALUE h)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ Check_Type (w, T_FIXNUM);
+ Check_Type (h, T_FIXNUM);