From ab822be64c3e43c5a1df9aea9a70415e2a491986 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Mon, 2 May 2005 17:28:37 +0000 Subject: [PATCH] Added Edje.new_from_pointer. --- src/rb_edje.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/rb_edje.c b/src/rb_edje.c index 700a4de..c46b315 100644 --- a/src/rb_edje.c +++ b/src/rb_edje.c @@ -1,5 +1,5 @@ /* - * $Id: rb_edje.c 334 2005-04-28 19:06:12Z tilman $ + * $Id: rb_edje.c 335 2005-05-02 17:28:37Z tilman $ * * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de) * @@ -84,6 +84,26 @@ static VALUE c_new (VALUE klass, VALUE evas) return self; } +static VALUE c_new_from_pointer (VALUE klass, VALUE evas, VALUE ptr) +{ + VALUE self, argv[1]; + RbEdje *edje = NULL; + + edje_init (); + + self = Data_Make_Struct (klass, RbEdje, c_mark, c_free, edje); + + edje->real.real = (Evas_Object *) ptr; + edje->parts = Qnil; + edje->callbacks = Qnil; + edje->on_text_changed_cb = Qnil; + + argv[0] = evas; + rb_obj_call_init (self, 1, argv); + + return self; +} + /* * call-seq: * edje.freeze => nil @@ -661,6 +681,8 @@ void Init_Edje (void) cEdje = rb_define_class_under (mEdje, "Edje", cEvasObject); rb_define_singleton_method (cEdje, "new", c_new, 1); + rb_define_singleton_method (cEdje, "new_from_pointer", + c_new_from_pointer, 2); rb_define_method (cEdje, "freeze", c_freeze, 0); rb_define_method (cEdje, "thaw", c_thaw, 0); rb_define_method (cEdje, "load", c_load, 2); -- 2.30.2