2017-07-04 2 views
0

Gtk2を扱っているHaskellプログラムをGtk2Hsと書いています。私はGtk3と私のプログラムを構築しようとしたときには、GHCはもう存在しない機能が見つからないとエラーが出る:Gtk2Hs:Gtk2からGtk3への移行時の関数がありません

• Variable not in scope: 
    widgetGetSize :: GtkGL.GLDrawingArea -> IO (Integer, Integer) 

• Variable not in scope: 
    renderWithDrawable :: t1 -> Render() -> IO() 

、これらの機能を置き換えることができGtk3の関数がある場合、あなたは知っていますか?

Gtk3にはウィジェットのサイズを取得する別の方法がありますか?


注:私はまだのGtk2で私のプログラムを構築することができますが、私はGtk3

への完全移行

答えて

0

GtkGLAreaを先取りしたいwoulk - OpenGLの

APIでカスタム描画のためのウィジェットを: ( C)( Vala

GtkGLAreaはOPEで描画可能であるウィジェットnGL。

GtkGLAreaは、作成するウィンドウに対して独自のGdkGLContextを設定し、 は、ウィジェットがGLレンダリング を実行するカスタムGLフレームバッファを作成します。また、レンダリング時に、このフレームバッファがデフォルトのGL レンダリングターゲットであることが保証されます。

描画するには、「レンダリング」信号に接続するか、 サブクラスGtkGLAreaに接続し、GtkGLAreaClass.render()仮想 関数をオーバーライドする必要があります。

GtkGLAreaウィジェットはGdkGLContextが ウィジェットの描画領域に関連付けられている、そしてそれは時にサイズと描画領域の変更の 位置更新保たれていることを保証します。

GtkWidgetサイズは、ウィジェットのサイズを取得GtkAllocationゲッターを使用します。 GtkWidgetにはリクエストサイズのメソッドがありますが、割り当てられたサイズは異なるかもしれません。

関連する問題