使用 haskell gloss 获取 window 宽度和高度的函数

function for getting window width and height with haskell gloss

有没有类似Haskell中JSscreen.widthscreen.height的gloss图形库的returns屏幕宽高的函数?

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

import Graphics.UI.GLFW

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

请注意,gloss 可能会被编译为使用 GLUT 或 GLFW。如果 gloss 使用 GLFW 作为它的 Open GL 接口,它会在你创建一个 window 时调用 GLFW 的 initialize 函数,并且在同一个过程中两次调用 initialize 可能会出现问题但是我有点怀疑。

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

有一个函数在Graphics.Gloss.Interface.Environment中叫做getScreenSize它return一个IO (Int,Int)第一个值是宽度,第二个是高度。