やすしです。

# 口ばかりなのですが‥‥。

From: Daisuke Furukawa <dfuru / suenaga.cse.nagoya-u.ac.jp>
Subject: [ruby-ext:00984] Re: ruby-gtkglarea patch
Date: Thu, 16 Mar 2000 17:21:49 +0900 (JST)

> >trackballと metrix(でしたっけ)は、wrapperだけにしようかと思ってたんです
> >がどうでしょう?
> 
> metrix って何ですか ? matrix ?
> 何にしても、どれほどオリジナルのサンプルをいじっていいのかという
> ところで迷ってます。

matrixの typoです (__;
matrix計算、trackball.cの中でしたか‥。みてなかったです

で、言いたかったのは、trackball.rbと lw.rbを作るんじゃなくて、
extensionにしたら楽かな〜と思いまして。

[...]

> >あと、glarea_initで、get_gtkglarea()する必要があるのか分らないので説明し
> >ていただけると勉強になります (__)
> 
> GtkWidget* gtk_gl_area_new (int *attrlist);
> GtkWidget* gtk_gl_area_share_new (int *attrlist, GtkGLArea *share);
> GtkWidget* gtk_gl_area_new_vargs(GtkGLArea *share, ...);
> 
> の 3 つを Gtk::GLArea#new 1 つで対応してます。
> argv[0] が T_ARRAY で argc == 2 の時と、 argv[0] が T_ARRAY で
> ない時には GtkGLArea *share があるので、そのための
> get_gtkglarea() です。

う〜ん、個人的には share_newは methodにしたいかなぁ‥。

area_a = Gtk::GLArea.new(attrlist)
area_b = area.share_new(another_list)
     or
area_b = area.dup(another_list)とか (これはだめか‥‥)

の方が、

area_a = Gtk::GLArea.new(attrlist)
area_b = Gtk::GLArea.new(attrlist, area_a)

より、好きかも。

あと、argumentsは R_ARRAYだけで良いかもしれませんね。FIXすてたらまずいで
すか?

んで、FIXARY2INTARY()とかを作れば、両方の関数が簡単になると思うんですが‥。

> ただ GtkWidget* gtk_gl_area_new_vargs(GtkGLArea *share, ...);
> に関しては
> Gtk::GLArea.new([Gdk::GL::RGBA, Gdk::GL::DOUBLEBUFFER, Gdk::GL::NONE])
> など ruby 側では簡単に配列が作れるので、必要ないような気もします。

僕もそう思います(^^

> >INT2FIX(GDK_GL_NONE)の typo?
> 
> あらら、そうですね。

っていうか、僕の typoですね‥。

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