/*
- * $Id: rb_evas.c 283 2005-03-15 17:59:03Z tilman $
- *
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
* This library is free software; you can redistribute it and/or
rb_gc_mark (e->parent);
}
+static VALUE c_alloc (VALUE klass)
+{
+ RbEvas *evas = NULL;
+
+ return Data_Make_Struct (cEvas, RbEvas, c_mark, free, evas);
+}
+
VALUE TO_EVAS (VALUE parent, Evas *e)
{
VALUE self;
- RbEvas *evas = NULL;
if (NIL_P (parent) || !e)
return Qnil;
- self = Data_Make_Struct (cEvas, RbEvas,
- c_mark, free, evas);
+ self = rb_class_new_instance (0, NULL, cEvas);
+
+ GET_OBJ (self, RbEvas, evas);
+
evas->real = e;
evas->parent = parent;
- rb_obj_call_init (self, 0, NULL);
-
return self;
}
{
GET_OBJ (self, RbEvas, e);
- Check_Type (path, T_STRING);
-
evas_font_path_append (e->real, StringValuePtr (path));
return Qnil;
{
GET_OBJ (self, RbEvas, e);
- Check_Type (path, T_STRING);
-
- evas_font_path_append (e->real, StringValuePtr (path));
+ evas_font_path_prepend (e->real, StringValuePtr (path));
return Qnil;
}
GET_OBJ (self, RbEvas, e);
- Check_Type (name, T_STRING);
-
if (!(o = evas_object_name_find (e->real, StringValuePtr (name))))
return Qnil;
INT2FIX (h));
}
+static VALUE
+c_font_hinting_set (VALUE self, VALUE val)
+{
+ GET_OBJ (self, RbEvas, e);
+
+ Check_Type (val, T_FIXNUM);
+
+ evas_font_hinting_set (e->real, FIX2INT (val));
+
+ return Qnil;
+}
+
void Init_Evas (void)
{
cEvas = rb_define_class_under (mEvas, "Evas", rb_cObject);
+ rb_define_alloc_func (cEvas, c_alloc);
+
/* not publically instantiable yet */
rb_define_private_method (rb_singleton_class (cEvas),
"new", NULL, 0);
rb_define_method (cEvas, "find_object", c_find_object, 1);
rb_define_method (cEvas, "output_size", c_output_size_get, 0);
rb_define_method (cEvas, "output_viewport", c_output_viewport_get, 0);
+ rb_define_method (cEvas, "font_hinting=", c_font_hinting_set, 1);
+
+ DEF_CONST (cEvas, EVAS_FONT_HINTING_, NONE);
+ DEF_CONST (cEvas, EVAS_FONT_HINTING_, AUTO);
+ DEF_CONST (cEvas, EVAS_FONT_HINTING_, BYTECODE);
}