/*
- * $Id: rb_cursor.c 98 2004-08-26 13:12:55Z tilman $
+ * $Id: rb_cursor.c 351 2006-02-10 15:25:40Z tilman $
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
#include <Ecore_X_Cursor.h>
#define __RB_CURSOR_C
+#include "../ecore/rb_ecore.h"
#include "rb_ecore_x.h"
#include "rb_cursor.h"
free (c);
}
+static VALUE c_alloc (VALUE klass)
+{
+ RbCursor *cursor = NULL;
+
+ return Data_Make_Struct (klass, RbCursor, NULL, c_free, cursor);
+}
+
static VALUE c_new_from_shape (VALUE klass, VALUE shape)
{
VALUE self;
RbCursor *cursor = NULL;
- self = Data_Make_Struct (klass, RbCursor, NULL, c_free, cursor);
+ self = rb_class_new_instance (1, &shape, klass);
+
+ Data_Get_Struct (self, RbCursor, cursor);
cursor->real = ecore_x_cursor_shape_get (FIX2INT (shape));
cursor->need_free = false;
- rb_obj_call_init (self, 0, NULL);
-
return self;
}
{
cCursor = rb_define_class_under (mX, "Cursor", rb_cObject);
+ rb_define_alloc_func (cCursor, c_alloc);
rb_define_singleton_method (cCursor, "new_from_shape",
c_new_from_shape, 1);