+static VALUE
+c_direction_get (VALUE self)
+{
+ GET_OBJ (self, RbEvasObject, e);
+
+ return INT2FIX (evas_object_gradient_direction_get (e->real));
+}
+
+static VALUE
+c_direction_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEvasObject, e);
+
+ Check_Type (val, T_FIXNUM);
+
+ evas_object_gradient_direction_set (e->real, FIX2INT (val));
+
+ return Qnil;
+}
+
+static VALUE
+c_offset_get (VALUE self)
+{
+ GET_OBJ (self, RbEvasObject, e);
+
+ return rb_float_new (evas_object_gradient_offset_get (e->real));
+}
+
+static VALUE
+c_offset_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEvasObject, e);
+
+ Check_Type (val, T_FLOAT);
+
+ evas_object_gradient_offset_set (e->real, NUM2DBL (val));
+
+ return Qnil;
+}
+