Mac OpenGL:全屏时没有音量叠加

发布于 2024-08-14 23:14:28 字数 205 浏览 5 评论 0原文

我有一个基于 OpenGL 的应用程序,可以在 OS X 10.5 中以窗口或全屏方式运行。在窗口模式下,按键盘上的音量键可以更改音量设置(例如静音/取消静音),并且会绘制 OSX 绘制的扬声器图标覆盖层,就像其他所有应用程序一样。

但是,在全屏模式下,按下按键确实会更改音量设置,但不会绘制叠加层 - 我不明白为什么,因为我没有做任何不同的事情。

有什么想法吗?

I have an OpenGL-based app that can run windowed or fullscreen in OS X 10.5. While in windowed mode, pressing the volume keys in the keyboard changes the volume setting (mute/unmute for example) and the OSX-drawn speaker icon overlay is drawn, as it happens with every other application.

However, in full screen mode, pressing the keys does change the volume setting, but no overlay is drawn - I can't figure out why, since I'm not doing anything different.

Any ides?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你怎么敢 2024-08-21 23:14:28

当您处于全屏状态时,您的应用程序会捕获显示内容,并且其他任何内容都无法绘制到屏幕上,因为不会要求窗口服务器进行合成。

如果你想在全屏模式下进行常规合成,你必须隐藏菜单栏、窗口标题栏,并使你的窗口全屏显示。

谷歌一下,有大量关于如何在不捕获显示的情况下做到这一点的帖子。

编辑:这可能会引起兴趣:http://developer.apple。 com/mac/library/technotes/tn2002/tn2062.html

When you are in fullscreen, your app captures the display and nothing else can draw to the screen as the window server is not asked to do it's compositing.

If you want to have regular compositing in full screen, you must hide the menu bar, window title bar, and make your window full screen.

Google a bit, there are tons of posts on how to do that without capturing the display.

Edit: this might be of interest: http://developer.apple.com/mac/library/technotes/tn2002/tn2062.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文