ウィンドウに固定フレームレート(たとえば30 fps)のアニメーションを表示するプログラムがあります。
現在私はSDLを使用していますが、残念ながらデスクトップ統合(ドラッグアンドドロップなど)が不足しているため、代わりにGTKを使用したいと考えています。
だから私がやりたいこと(ウィンドウがダブルバッファリングされていると仮定して):
1 obtain off-screen buffer
2 render my stuff to buffer
3 tell the toolkit to swap buffers
4 update window
5 repeat
ウィンドウを作成および管理し、入力イベントを受信するために、非常に基本的なGDK/GTK呼び出し以外の機能を使用したくありません。
FAQで、彼らはGdkRGBの使用を提案しています。ただし、GdkRGBの公式ドキュメントでgdk_draw_rgb_image()
は、非推奨の関数を使用しています。実際、ほとんどのGdkRGB関数は非推奨です。
別の方法として、OpenGLの使用を提案しています。それに関する問題は、GTKの一部ではないGtkGLAreaのような珍しいライブラリが必要なことです(デフォルトでインストールされていないライブラリに依存したくありません)。また、私のシステムでは、ドライバーのOpenGLサポートは...制限されています。
私はCairo(いくつかの非推奨の関数の代替として提供されています)を調べましたが、それは私の比較的単純な問題のためにさらに多くの定型コードを追加します(そして私は追加のオーバーヘッドを疑う)。