Haskell OpenGL 中的对话框和按钮回调
Dialog and button callback in Haskell OpenGL
Graphics.UI.GLUT 有一个 拨号和按钮回调 。我找不到任何使用此回调的示例。我想拥有一个,因为目前我使用键盘和鼠标回调,这还不够,而且对用户不友好。
我试过做一个这样的回调。在我的程序中:
dial :: IORef GLdouble -> DialAndButtonBoxCallback
dial zoom index =
case index of
DialAndButtonBoxDial 1 1 -> zoom $~! (+1)
_ -> return ()
然后我希望在 OpenGL window 中看到一个按钮(按钮 1
),当我按下该按钮(zoom $~! (+1)
缩放图形,我目前在键盘回调中使用它,没问题)。
然后在我的 main
文件中:
zoom <- newIORef 0.0
dialAndButtonBoxCallback $= Just (dial zoom)
代码编译。但是当我运行这个程序的时候,没有任何对话框出现。
如有任何帮助,我将不胜感激。也许我必须先创建一个对话框?我在文档中没有看到类似的内容。
拨号和按钮框不是对话框。它是一种特殊用途的硬件,如鼠标、键盘、操纵杆或方向盘。例如this company makes some.
Glut 不像 gtk 那样是 gui 库。它使您可以获取用户输入并在屏幕上绘制内容。如果你想使用 glut
,你需要弄清楚如何绘制所有用户界面组件
Graphics.UI.GLUT 有一个 拨号和按钮回调 。我找不到任何使用此回调的示例。我想拥有一个,因为目前我使用键盘和鼠标回调,这还不够,而且对用户不友好。
我试过做一个这样的回调。在我的程序中:
dial :: IORef GLdouble -> DialAndButtonBoxCallback
dial zoom index =
case index of
DialAndButtonBoxDial 1 1 -> zoom $~! (+1)
_ -> return ()
然后我希望在 OpenGL window 中看到一个按钮(按钮 1
),当我按下该按钮(zoom $~! (+1)
缩放图形,我目前在键盘回调中使用它,没问题)。
然后在我的 main
文件中:
zoom <- newIORef 0.0
dialAndButtonBoxCallback $= Just (dial zoom)
代码编译。但是当我运行这个程序的时候,没有任何对话框出现。
如有任何帮助,我将不胜感激。也许我必须先创建一个对话框?我在文档中没有看到类似的内容。
拨号和按钮框不是对话框。它是一种特殊用途的硬件,如鼠标、键盘、操纵杆或方向盘。例如this company makes some.
Glut 不像 gtk 那样是 gui 库。它使您可以获取用户输入并在屏幕上绘制内容。如果你想使用 glut
,你需要弄清楚如何绘制所有用户界面组件