/*
- * $Id: rb_evas.c 58 2004-08-10 14:10:02Z tilman $
+ * $Id: rb_evas.c 149 2004-11-27 18:47:46Z tilman $
*
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
static VALUE c_top_get (VALUE self)
{
Evas_Object *o;
- void *obj;
GET_OBJ (self, RbEvas, e);
if (!(o = evas_object_top_get (e->real)))
return Qnil;
- if (!(obj = evas_object_data_get (o, RUBY_EVAS_OBJECT_KEY))) {
- rb_raise (rb_eException, "EvasObject Ruby object key missing");
- return Qnil;
- }
-
- return (VALUE) obj;
+ return TO_EVAS_OBJECT (o);
}
/*
static VALUE c_bottom_get (VALUE self)
{
Evas_Object *o;
- void *obj;
GET_OBJ (self, RbEvas, e);
if (!(o = evas_object_bottom_get (e->real)))
return Qnil;
- if (!(obj = evas_object_data_get (o, RUBY_EVAS_OBJECT_KEY))) {
- rb_raise (rb_eException, "EvasObject Ruby object key missing");
- return Qnil;
- }
-
- return (VALUE) obj;
+ return TO_EVAS_OBJECT (o);
}
/*
static VALUE c_find_object (VALUE self, VALUE name)
{
Evas_Object *o;
- void *obj;
GET_OBJ (self, RbEvas, e);
if (!(o = evas_object_name_find (e->real, StringValuePtr (name))))
return Qnil;
- if (!(obj = evas_object_data_get (o, RUBY_EVAS_OBJECT_KEY))) {
- rb_raise (rb_eException, "EvasObject Ruby object key missing");
- return Qnil;
- }
+ return TO_EVAS_OBJECT (o);
+}
+
+static VALUE c_output_size_get (VALUE self)
+{
+ int w = 0, h = 0;
+
+ GET_OBJ (self, RbEvas, e);
+
+ evas_output_size_get (e->real, &w, &h);
- return (VALUE) obj;
+ return rb_ary_new3 (2, INT2FIX (w), INT2FIX (h));
}
void Init_Evas (void)
rb_define_method (cEvas, "top", c_top_get, 0);
rb_define_method (cEvas, "bottom", c_bottom_get, 0);
rb_define_method (cEvas, "find_object", c_find_object, 1);
+ rb_define_method (cEvas, "output_size", c_output_size_get, 0);
}