GTK+入門

isbn:479731902x

職場の人がタダでくれたので、読んでいるのだが一言言いたい事がある。

大体目を通したのだが、内容は別に悪くないと思う。れっきとしたGTK+の入門書だ(それ以上でも、それ以下でもない)。だけどね、普通にコンパイルしてワーニングが出るのは凄い嫌。

だってね、次のように宣言されている関数gtk_timeout_addに対して、二つ目の引数に関数DrawPictureのポインタを渡すんだよ。おかしいって。

/* 宣言 */
typedef gint (*GtkFunction) (gpointer   data);
guint gtk_timeout_add (guint32     interval,
                       GtkFunction function,
                       gpointer    data);

/* 関数DrawPictureのプロトタイプ */
void DrawPicture(GdkDrawable *gd);

次のように修整すれば正しくなる。

gint DrawPicture(gpointer gp) 
{
        GdkDrawable *gd = (GdkDrawable *)gp;
        ・・・
        ・・・
        return 1;
}

事のついでに気になることを言うならば、内容の重みのバランスが悪い気がする。前半で妙にオセロの戦略にページを割いている割りに、後半が妙に駆け足だったり。オセロの戦略に中途半端な工夫を加えることとGTK+の入門に関連があるとは思えない。

ちょっと気になって、本のタイトルで検索してみたら、二つの気になるページを見つけた。

掲示板の書きこみのほうは、他のGTK+本の作者の書きこみのようだ。笑った。