GLFW3,如何判断窗口当前是否最大化?

时间:2014-08-18 03:19:21

标签: opengl glfw maximize-window

有没有办法判断一个窗口当前是否在GLFW3中最大化?不是全屏,而是在窗口模式下最大化。

2 个答案:

答案 0 :(得分:3)

我一直在浏览GLFW3文档(http://www.glfw.org/docs/latest/)并且没有任何内容立即跳出来,这很奇怪,因为你认为这将是一个窗口属性,但这里有一些备选方案:

保持跟踪 - 这是最简单的方法。您可以创建一个布尔变量来跟踪用户何时最大化(或最小化)窗口。然后,您可以查询此项以确定窗口当前处于哪种状态。

获取大小 - 这不完全可靠,因为它会根据您的显示器分辨率而变化,但实现起来相当简单。只需使用以下代码获取窗口大小:

int width, height;
glfwGetWindowSize(window, &width, &height);

然后检查它是否与最大窗口分辨率匹配。

操作系统细节 - 如果您使用的是Windows,则可能需要查看有关如何使用GLFW窗口句柄检查这些属性的Microsoft文档。要查看的具体页面是:http://msdn.microsoft.com/en-gb/library/windows/desktop/ms633518(v=vs.85).aspx

答案 1 :(得分:2)

来自https://www.glfw.org/docs/3.3/window_guide.html#window_maximize

int maximized = glfwGetWindowAttrib(window, GLFW_MAXIMIZED);