这可能吗?
我使用的是OpenGL版本 imgui,有一件事真的让我很恼火, 我似乎找不到一种方法来创建最大化窗口forimgui。
if (!glfwInit())
...
GLFWwindow *window = glfwCreateWindow(1280, 800, "window name", nullptr, nullptr);
/* Maximize window here, but how? */
我对glfw代码进行了一些剖析,似乎没有办法获得本机窗口句柄,在我的例子中是X11。
有没有其他方法可以在创建后神奇地最大化 glfw 窗口?
对于现在遇到这个问题的任何人,实际上有一种方法可以最大化 GLFW 窗口,而无需访问本机窗口
glfwSetWindowAttrib(_Window, GLFW_MAXIMIZED, GLFW_TRUE);
。
我认为 GLFW 中没有任何跨平台函数来最大化窗口,但是 GLFW 提供了一种访问本机窗口的方法。 这些函数位于不同的标头中,并且宏用于指示窗口系统,因此使
glfwGetX11Window
功能可用:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3native.h>
如果有人希望“最大化”而不是“全屏”窗口。尝试使用 glfwMaximizeWindow(); 来代替。