C ++ glfw3:全屏模式下的一个(两个)窗口不是真正的全屏(Mac Os)

Posted

技术标签:

【中文标题】C ++ glfw3:全屏模式下的一个(两个)窗口不是真正的全屏(Mac Os)【英文标题】:C++ glfw3: one (of the two) windows in fullscreen mode is not really fullscreen (Mac Os) 【发布时间】:2016-02-07 17:55:52 【问题描述】:

在我的应用程序(C++14、MacOsX 10.11)中,我使用 glfw3 创建了两个窗口,它们应该在两个具有不同本机分辨率的显示器上以全屏模式运行。我正在创建这样的窗口:

 glfwCreateWindow(capture_monitor_width, capture_monitor_height, "Capture Window",capture_monitor,NULL);
//.. 
glfwCreateWindow(projection_monitor_width, projection_monitor_height, "Projection Window",projection_monitor,NULL).

(其中projection_motinor_widthprojection_monitor_heightcapture_motinor_widthcapture_monitor_height 已被相应的GLFWvidmode* 检索到,并且经过测试,它们在所有情况下都是正确的)

问题是,当我在主显示器中正确获取全屏窗口时,在我的辅助显示器中,它向上移位,因此它仅覆盖屏幕的上 3/4(或多或少)。请注意,通过在上面的 sn-p 中简单地将 projection_monitor 替换为 NULL,我会得到一个正确对齐的窗口,它确实覆盖了整个屏幕(但它有一个我在我的应用程序中不需要的标题栏)。

有什么想法吗?这可能是某种错误吗?周围有什么技巧吗?

【问题讨论】:

由于 GLFW3 是开源的,您可以自己深入源代码来查看窗口是如何创建的。还有一个 GLFW 论坛,一个 IRC 频道,你可以向 GitHub 项目提交问题。 我已经尝试过论坛/irc。它看起来像一个错误,所以也许你是对的,我应该在 github 上打开一个问题。 【参考方案1】:

使用最新的“开发”版本,问题不再存在。所以显然这是一个已经修复的错误。

【讨论】:

以上是关于C ++ glfw3:全屏模式下的一个(两个)窗口不是真正的全屏(Mac Os)的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式关闭全屏模式NSWindow?

OpenGL绘制全屏

C OpenGL glfw3三角形不显示

如何在 pyqt5 webbrowser 中为 youtube 视频创建全屏模式

从窗口组件反应导航全屏模式

手机怎么退出全屏模式