Added EvasObject#userdata.
[ruby-evas.git] / src / rb_evas_object.h
index 9f0c73e5da4e73ca38a0ca409f9c8ac69d2c9cac..99e0743dd684a5203209770ddb740bd9b7d36769 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id$
+ * $Id: rb_evas_object.h 304 2005-03-22 17:51:51Z tilman $
  *
  * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
  *
 #ifndef __RB_EVAS_OBJECT_H
 #define __RB_EVAS_OBJECT_H
 
-VALUE cEvasObject;
+#include <stdbool.h>
+
+#define RUBY_EVAS_OBJECT_KEY "__RB_EVAS_OBJECT_OBJECT"
+
+typedef struct {
+       Evas_Object *real;
+       VALUE parent;
+       VALUE callbacks;
+       VALUE userdata;
+} RbEvasObject;
 
 void Init_EvasObject (void);
 
-void c_evas_object_free (Evas_Object **e);
-void c_evas_object_mark (Evas_Object **e);
+void c_evas_object_free (RbEvasObject *e, bool free_mem);
+void c_evas_object_mark (RbEvasObject *e);
+
+VALUE TO_EVAS_OBJECT (Evas_Object *o);
+
+#ifndef __RB_EVAS_OBJECT_C
+extern VALUE cEvasObject;
+#endif
 
 #endif