Macro tweaks.
[ruby-evas.git] / src / rb_polygon.c
index d0b918a709c3861691ef0427f528aaa292e7f370..7d2b40ab5acceaf01ddfad7db70cbc1081737cb1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: rb_polygon.c 23 2004-06-26 22:55:31Z tilman $
+ * $Id: rb_polygon.c 38 2004-07-25 11:27:25Z tilman $
  *
  * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
  *
@@ -31,14 +31,8 @@ static VALUE c_new (VALUE klass, VALUE evas)
        VALUE self, argv[1];
        Evas_Object **rect;
 
-       if (!rb_obj_is_kind_of (evas, cEvas)) {
-               rb_raise (rb_eTypeError,
-                         "wrong argument type %s (expected Evas)",
-                         rb_obj_classname (evas));
-               return Qnil;
-       }
-
-       GET_OBJ (evas, Evas, e, "Evas");
+       CHECK_CLASS (evas, cEvas);
+       GET_OBJ (evas, Evas *, e);
 
        self = Data_Make_Struct (klass, Evas_Object *, c_evas_object_mark,
                                 c_evas_object_free, rect);
@@ -52,7 +46,7 @@ static VALUE c_new (VALUE klass, VALUE evas)
 
 static VALUE c_point_add (VALUE self, VALUE x, VALUE y)
 {
-       GET_OBJ (self, Evas_Object, e, "Polygon");
+       GET_OBJ (self, Evas_Object *, e);
 
        Check_Type (x, T_FIXNUM);
        Check_Type (y, T_FIXNUM);
@@ -64,7 +58,7 @@ static VALUE c_point_add (VALUE self, VALUE x, VALUE y)
 
 static VALUE c_points_clear (VALUE self)
 {
-       GET_OBJ (self, Evas_Object, e, "Polygon");
+       GET_OBJ (self, Evas_Object *, e);
 
        evas_object_polygon_points_clear (*e);
 
@@ -73,10 +67,9 @@ static VALUE c_points_clear (VALUE self)
 
 void Init_Polygon (void)
 {
-       VALUE cPolygon = rb_define_class_under (mEvas, "Polygon",
-                                               cEvasObject);
+       VALUE c = rb_define_class_under (mEvas, "Polygon", cEvasObject);
 
-       rb_define_singleton_method (cPolygon, "new", c_new, 1);
-       rb_define_method (cPolygon, "point_add", c_point_add, 2);
-       rb_define_method (cPolygon, "points_clear", c_points_clear, 0);
+       rb_define_singleton_method (c, "new", c_new, 1);
+       rb_define_method (c, "point_add", c_point_add, 2);
+       rb_define_method (c, "points_clear", c_points_clear, 0);
 }