GTK+

続 PNGの表示

え〜、あんまり進んでません。 昨日のコードはアルファ値を使ってなかった(透過のみだった)ので、修正しました。 差分 アルファテスティングをアルファブレンディングに変えただけです。 #PNGを8ビットから32ビットのものに置き換えたらなぜかサイズが減り…

PNGの表示

wpath対応が落ち着いたので、またOpenGL&GTK+の作業に戻ります。 前に書いたPNG読み出しコードをコピペして、GTK+のウィンドウにOpenGLで描いてみました。 png_test.cpp 少し手直しが必要でしたが、Linuxでも動きました。 png_reader.cpp Linuxだと、png.hよ…

gtk_test

ちょこちょこ作業を進めていたGTK+/OpenGLのテストプログラムですが、これまでの分はまとめ終わりました。 sandbox/tools/gtk_test/ OpenGLの初期化部分(というかネイティブのハンドル取得部分)は大分修正しました。

続 キー入力

Hamigaki 0.41リリース準備が整ったので、 http://d.hatena.ne.jp/y-hamigaki/20080310 の続きです。 キーの判定にGdkEventKey::hardware_keycodeを使うことにしたわけですが、 X11版では生の走査コードとなるので機種依存性が問題になります。 このため、XK…

コード整理とか

GTK+に慣れてきた感じです。 GdkGCとかなくてもHDCやDISPLAYを取得できることが分かったのでgraphic_contextを削除しました。 差分 あと、X11版でどうしても最大化ボタンを無効に出来なかったので、ウィンドウサイズの変更に対応させました。 WM_SIZE相当の…

キー入力

今日はGTK+のキー入力について調べました。 WindowsのGetAsyncKeyStateやDirectInputのポーリングと違って明示的にキーの状態を問い合わせることは出来なくて*1、キーが押されたらkey-press-eventシグナルが、放されたらkey-release-eventシグナルが発行され…

realize/unrealize

昨日のコードではgtk_widget_show()の後でOpenGLを初期化していましたが、より適切なタイミングが見つかったので書き直しました。 差分 GTK+のWidgetは生成時点では実際のウィンドウは作成されていなくて、gtk_widget_realize()が呼ばれたときに作成されます…

OpenGL on GTK+2

action_game.exeが仕様的に詰まってしまったので、作り直しついでにWindows以外でも動くようにしようと考えて、GTK+2とOpenGLの組み合わせを試してみました。 GTK+を選んだのは、 実装がC (古いC++ベースの実装よりCのライブラリを自分でラップしたほうがマ…