Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GL_可在创建窗口后调整大小_Java_Lwjgl_Glfw_Window Resize - Fatal编程技术网

Java GL_可在创建窗口后调整大小

Java GL_可在创建窗口后调整大小,java,lwjgl,glfw,window-resize,Java,Lwjgl,Glfw,Window Resize,我真的是从LWJGL开始的(我刚刚开始),我专注于一件事:当我创建一个窗口并且我想将它设置为不可调整大小时,我使用: glfwWindowHint(GLFW_RESIZABLE, GL_FALSE); window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL); 然而,即使我想在创建窗口后设置它,我也不知道如何设置。我只是尝试在创建窗口后放置命令,但它不起作用: window = glfwCreateWindow(WIDTH, HEI

我真的是从LWJGL开始的(我刚刚开始),我专注于一件事:当我创建一个窗口并且我想将它设置为不可调整大小时,我使用:

glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);
然而,即使我想在创建窗口后设置它,我也不知道如何设置。我只是尝试在创建窗口后放置命令,但它不起作用:

window = glfwCreateWindow(WIDTH, HEIGHT, TITLE, NULL, NULL);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
那么,我该如何解决这个问题呢?

来自:

窗口创建提示 在创建窗口和上下文之前,可以设置许多提示。一些影响窗口本身,另一些影响帧缓冲区或上下文。每次使用glfwInit初始化库时,都会将这些提示设置为其默认值,可以使用glfwWindowHint单独设置这些提示,并使用glfwDefaultWindowHints一次性将所有提示重置为其默认值

请注意,提示需要在创建窗口之前设置,和您希望具有指定属性的上下文

本质上,您可以通过
glfwWindowHint()
调用设置提示,例如窗口是否应该调整大小、它具有的上下文版本等。下次使用
glfwCreateWindow()
创建窗口时,将使用这些提示。如果在创建窗口后设置提示,则只有在调用后创建的新窗口才会受到影响


因此,当前无法在创建后更改某些GLFW窗口属性,例如它是否可调整大小。

您现在可以通过以下方式更改
GLFW
窗口属性:

void glfwSetWindowAttrib(GLFWwindow * window, int attrib, int value);
从文档中获取或

此函数用于设置指定窗口的属性值

支持的属性包括GLFW_装饰、GLFW_可调整大小、GLFW_浮动、GLFW_自动图标化和GLFW_焦点显示

对于全屏窗口,其中一些属性将被忽略。如果以后将窗口设为窗口,则新值将生效


对于窗口模式窗口,其中一些属性被忽略。如果以后将窗口设置为全屏,则新值将生效。

感谢您的澄清。您可以使用新窗口属性创建一个新的
GLFWwindow*