Haskell OpenGL中的对话框和按钮回调

时间:2018-03-24 07:20:58

标签: haskell opengl glut

Graphics.UI.GLUT有一个拨号和按钮回调。我没有找到使用此回调的任何示例。我想拥有一个,因为目前我使用的是键盘和鼠标回调,但这还不够用户友好。

我试过做一次这样的回调。在我的计划中:

dial :: IORef GLdouble -> DialAndButtonBoxCallback
dial zoom index =
  case index of
    DialAndButtonBoxDial 1 1 -> zoom $~! (+1)
    _                        -> return ()

然后我希望在OpenGL窗口中看到一个按钮(按钮1),当我按下此按钮时zoom会增加zoom $~! (+1)main缩放图形,我在键盘回调目前,没有问题)。

然后在我的 zoom <- newIORef 0.0 dialAndButtonBoxCallback $= Just (dial zoom) 文件中:

knex

代码编译。但是当我运行程序时,没有任何对话框出现在任何地方。

我将不胜感激任何帮助。也许我必须先创建一个对话框?我在文档中看不到这样的内容。

1 个答案:

答案 0 :(得分:2)

拨号和按钮框不是对话框。它是一种特殊用途的硬件,如鼠标,键盘,操纵杆或方向盘。例如this company makes some

Glut不是像gtk那样的gui库。它可以让您获得用户输入并在屏幕上绘制内容。如果要使用过剩

,您需要弄清楚如何绘制所有用户界面组件