+/*
+ * call-seq:
+ * ee.shaped? => true or false
+ *
+ * Returns true if <i>ee</i> is shaped, else returns false.
+ */
+static VALUE c_shaped_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return ecore_evas_shaped_get (ee->real) ? Qtrue : Qfalse;
+}
+
+/*
+ * call-seq:
+ * ee.shaped(true or false)
+ *
+ * Sets whether <i>ee</i> is shaped or not.
+ */
+static VALUE c_shaped_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ CHECK_BOOL (val);
+
+ ecore_evas_shaped_set (ee->real, val == Qtrue);
+
+ return Qnil;
+}
+
+/*
+ * call-seq:
+ * ee.sticky? => true or false
+ *
+ * Returns true if <i>ee</i> is sticky, else returns false.
+ */
+static VALUE c_sticky_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return ecore_evas_sticky_get (ee->real) ? Qtrue : Qfalse;
+}
+
+/*
+ * call-seq:
+ * ee.sticky(true or false)
+ *
+ * Sets whether <i>ee</i> is sticky or not.
+ */
+static VALUE c_sticky_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ CHECK_BOOL (val);
+
+ ecore_evas_sticky_set (ee->real, val == Qtrue);
+
+ return Qnil;
+}
+
+/*
+ * call-seq:
+ * ee.rotation => fixnum
+ *
+ * Returns the rotation of <i>ee</i>.
+ */
+static VALUE c_rotation_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return INT2FIX (ecore_evas_rotation_get (ee->real));
+}
+
+/*
+ * call-seq:
+ * ee.rotation(fixnum)
+ *
+ * Sets the rotation of <i>ee</i>.
+ */
+static VALUE c_rotation_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ Check_Type (val, T_FIXNUM);
+
+ ecore_evas_rotation_set (ee->real, FIX2INT (val));
+
+ return Qnil;
+}
+
+static VALUE c_name_class_get (VALUE self)
+{
+ const char *name = NULL, *klass = NULL;
+
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ ecore_evas_name_class_get (ee->real, &name, &klass);
+
+ return rb_ary_new3 (2, name ? rb_str_new2 (name) : Qnil,
+ klass ? rb_str_new2 (klass) : Qnil);
+}
+
+static VALUE c_name_class_set (VALUE self, VALUE ary)
+{
+ VALUE s1, s2;
+
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ Check_Type (ary, T_ARRAY);
+
+ s1 = rb_ary_shift (ary);
+ s2 = rb_ary_shift (ary);
+
+ StringValue (s1);
+ StringValue (s2);
+
+ ecore_evas_name_class_set (ee->real, StringValuePtr (s1),
+ StringValuePtr (s2));
+
+ return Qnil;
+}
+
+/*
+ * call-seq:
+ * ee.iconified? => true or false
+ *
+ * Returns true if <i>ee</i> is iconified, else returns false.
+ */
+static VALUE c_iconified_get (VALUE self)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ return ecore_evas_iconified_get (ee->real) ? Qtrue : Qfalse;
+}
+
+/*
+ * call-seq:
+ * ee.iconified(true or false)
+ *
+ * Sets whether <i>ee</i> is iconified or not.
+ */
+static VALUE c_iconified_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEcoreEvas, ee);
+
+ CHECK_BOOL (val);
+
+ ecore_evas_iconified_set (ee->real, val == Qtrue);
+
+ return Qnil;
+}
+
+
+/* FIXME: this is unsafe!
+ * :nodoc:
+ */