やすしです。

From: Yasushi Shoji <yashi / yashi.com>
Subject: [ruby-ext:00999] Re: ruby-gtkglarea patch
Date: Thu, 23 Mar 2000 19:48:21 -0500

> 「GDK_GL_NONEを最後に使え」ってのは、glareaの documentに書いてあるので余
> 計な事をするのは止めようかなぁ〜と思ったんですが‥、最初に attrlistの最
> 後が GDK_GL_NONEかどうか調べて、GDK_GL_NONEだったら raiseした方が良いで
> すかね?

書いてみました。 以下に付けます。

yamazakiさんに releaseの許可をいただいたので、これで良ければ、0.9くらい
で RAAにでも出しましょうかね? sampleが全部動いたら 1.0にするとか(笑)
gtk-glareaと同じ番号の方が良いかな?

コメントしていただければ幸いです。
--
           yashi

static VALUE glarea_init(argc, argv, self) int argc; VALUE *argv; VALUE self; { int len; int *list; GtkWidget *widget; GtkGLArea *glarea; VALUE attrlist, share; rb_scan_args(argc, argv, "11", &attrlist, &share); if (TYPE(attrlist) != T_ARRAY) rb_raise(rb_eTypeError, "Attribute list must be an array of intergers"); len = RARRAY(attrlist)->len; if (len == 0) rb_raise(rb_eArgError, "Attribute list must not be empty"); if (NUM2INT(RARRAY(attrlist)->ptr[len-1]) != GDK_GL_NONE) rb_raise(rb_eArgError, "The last element of attribute list must be Gdk::GL::NONE"); list = ALLOCA_N(int, len); rbgtk_fixary_2_intary(attrlist, list); glarea = get_gtkglarea(share); widget = gtk_gl_area_share_new(list, glarea); if (!widget) rb_raise(rb_eFatal, "GLArea: failed to create new GtkGLArea widget." ); set_widget(self, widget); return Qnil; }