Gtk2Hs:从Gtk2迁移到Gtk3时缺少功能

时间:2017-07-04 22:37:32

标签: haskell gtk3 gtk2hs

我写了一个Haskell程序,gem install bundler处理Gtk2Hs。但当我尝试使用Gtk2构建我的程序时,GHC抱怨缺少不再存在的函数:

Gtk3

您是否知道• Variable not in scope: widgetGetSize :: GtkGL.GLDrawingArea -> IO (Integer, Integer) • Variable not in scope: renderWithDrawable :: t1 -> Render () -> IO () 中是否有可替代这些功能的功能?

Gtk3中还有另一种方法可以获得小部件的大小吗?

注意:我仍然可以使用Gtk2构建我的程序,但我希望能够完全迁移到Gtk3

1 个答案:

答案 0 :(得分:0)

GtkGLArea - 使用OpenGL自定义绘图的小部件

API :( C )( Vala

  

GtkGLArea是一个允许使用OpenGL绘图的小部件。

     

GtkGLArea为它创建的窗口设置了自己的GdkGLContext   创建一个自定义GL帧缓冲区,窗口小部件将执行GL渲染   到。它还确保此帧缓冲区是默认GL   渲染时渲染目标。

     

为了绘制,你必须连接到“渲染”信号,或   子类GtkGLArea并覆盖GtkGLAreaClass.render()虚拟   功能

     

GtkGLArea小部件确保与GdkGLContext相关联   小部件的绘图区域,并在大小和时保持更新   绘图区域的位置发生变化。

GtkWidget大小

要获取窗口小部件大小,请使用GtkAllocation getters。请注意,GtkWidget具有请求大小方法,但分配的大小可能不同。