如何创建一个最大化的玻璃窗口

How to create a maximized glfw window?

本文关键字:最大化 玻璃窗 窗口 一个 玻璃 何创建 创建      更新时间:2023-10-16

这可能吗?

我使用的是OpenGL版本imgui,有一件事让我很恼火,我似乎找不到一个方法来为 imgui创建一个最大化的窗口

if (!glfwInit())
  ...
GLFWwindow *window = glfwCreateWindow(1280, 800, "window name", nullptr, nullptr);
/* Maximize window here, but how? */

我稍微剖析了一下glfw代码,似乎没有办法获得本机窗口句柄,在我的例子中是X11。

是否有其他方法可以在创建后神奇地最大化glfw窗口?

我不认为GLFW中有任何跨平台功能来最大化窗口,但GLFW提供了一种访问本机窗口的方法。函数位于不同的头文件中,宏用于指示窗口系统,因此要使glfwGetX11Window函数可用:

#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3native.h>