如何创建最大化的glfw窗口?

问题描述 投票:0回答:3

这可能吗?

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

if (!glfwInit())
  ...

GLFWwindow *window = glfwCreateWindow(1280, 800, "window name", nullptr, nullptr);

/* Maximize window here, but how? */

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

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

c++ x11 glfw
3个回答
3
投票

对于现在遇到这个问题的任何人,实际上有一种方法可以最大化 GLFW 窗口,而无需访问本机窗口

glfwSetWindowAttrib(_Window, GLFW_MAXIMIZED, GLFW_TRUE);


2
投票

我认为 GLFW 中没有任何跨平台函数来最大化窗口,但是 GLFW 提供了一种访问本机窗口的方法。 这些函数位于不同的标头中,并且宏用于指示窗口系统,因此使

glfwGetX11Window
功能可用:

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

0
投票

如果有人希望“最大化”而不是“全屏”窗口。尝试使用 glfwMaximizeWindow(); 来代替。

© www.soinside.com 2019 - 2024. All rights reserved.