使用haskell光泽获取窗口宽度和高度的功能

时间:2016-09-01 10:12:18

标签: haskell height width screen gloss

是否有一个函数,类似于Haskell中的JS screen.widthscreen.height,带有光泽图形库,它返回屏幕宽度和高度?

2 个答案:

答案 0 :(得分:3)

我认为光泽本身不会导出此功能,但您可以使用GLFW包中的这些调用来确定屏幕分辨率:

import Graphics.UI.GLFW

main = do
  initialize
  desktopMode >>= print
  putStrLn "all video modes:"
  videoModes >>= mapM_ print

请注意,gloss可以编译为使用GLUT或GLFW。如果gloss使用GLFW作为Open GL的接口,它将在您创建窗口时调用GLFW的initialize函数,并且在同一进程中调用initialize两次可能存在问题,但我有点怀疑它

然后,您可以在使用FullScreen构造函数创建光泽窗口时使用这些尺寸来设置可绘制区域。

答案 1 :(得分:1)

Graphics.Gloss.Interface.Environment中有个函数叫getScreenSize,它返回一个IO (Int,Int),第一个值是width,第二个值是height。