我正在创建一个这样的 OpenGL 窗口:
auto mode = glfwGetVideoMode(monitor);
mWindowWidth = mode->width;
mWindowHeight = mode->height;
glfwWindowHint(GLFW_RED_BITS, mode->redBits);
glfwWindowHint(GLFW_GREEN_BITS, mode->greenBits);
glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits);
glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate);
mWindow = glfwCreateWindow(mWindowWidth, mWindowHeight, "Test", monitor, NULL);
除一个主要缺陷外,这工作正常: 当我聚焦另一个窗口(即使它在不同的显示器上!)时,GLFW 窗口会在背景中消失。
如何创建一个(全屏)GLFW 窗口,该窗口始终位于给定监视器的顶部?
最佳答案
GLFW 的文档可在此处获得 http://www.glfw.org/docs/latest/window_guide.html#window_windowed_full_screen
来自上面的链接
部分:窗口相关提示
GLFW_AUTO_ICONIFY
指定全屏窗口是否在输入焦点丢失时自动图标化并恢复之前的视频模式。对于窗口模式窗口,此提示将被忽略。
默认值
GLFW_TRUE
可接受的值
GLFW_TRUE 或 GLFW_FALSE
将其设置为 GLFW_FALSE
也就是
glfwWindowHint(GLFW_AUTO_ICONFIY, GLFW_FALSE);
请注意,GLFW_TRUE
和 GLFW_FALSE
现在并且永远只是 1
和 0
。
关于c++ - 失去焦点时全屏 GLFW 窗口消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44739944/