aboutsummaryrefslogtreecommitdiff
path: root/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java
diff options
context:
space:
mode:
Diffstat (limited to 'backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java')
-rw-r--r--backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java b/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java
index fca89db05..94f0c7617 100644
--- a/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java
+++ b/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java
@@ -315,6 +315,7 @@ public class Lwjgl3Application implements Application {
Lwjgl3ApplicationConfiguration appConfig = Lwjgl3ApplicationConfiguration.copy(this.config);
appConfig.setWindowedMode(config.windowWidth, config.windowHeight);
appConfig.setWindowPosition(config.windowX, config.windowY);
+ appConfig.setWindowSizeLimits(config.windowMinWidth, config.windowMinHeight, config.windowMaxWidth, config.windowMaxHeight);
appConfig.setResizable(config.windowResizable);
appConfig.setDecorated(config.windowDecorated);
appConfig.setWindowListener(config.windowListener);
@@ -372,10 +373,19 @@ public class Lwjgl3Application implements Application {
if (windowHandle == 0) {
throw new GdxRuntimeException("Couldn't create window");
}
+ GLFW.glfwSetWindowSizeLimits(windowHandle,
+ config.windowMinWidth > -1 ? config.windowMinWidth : GLFW.GLFW_DONT_CARE,
+ config.windowMinHeight > -1 ? config.windowMinHeight : GLFW.GLFW_DONT_CARE,
+ config.windowMaxWidth > -1 ? config.windowMaxWidth : GLFW.GLFW_DONT_CARE,
+ config.windowMaxHeight> -1 ? config.windowMaxHeight : GLFW.GLFW_DONT_CARE);
if (config.fullscreenMode == null) {
if (config.windowX == -1 && config.windowY == -1) {
+ int windowWidth = Math.max(config.windowWidth, config.windowMinWidth);
+ int windowHeight = Math.max(config.windowHeight, config.windowMinHeight);
+ if (config.windowMaxWidth > -1) windowWidth = Math.min(windowWidth, config.windowMaxWidth);
+ if (config.windowMaxHeight > -1) windowHeight = Math.min(windowHeight, config.windowMaxHeight);
GLFWVidMode vidMode = GLFW.glfwGetVideoMode(GLFW.glfwGetPrimaryMonitor());
- GLFW.glfwSetWindowPos(windowHandle, vidMode.width() / 2 - config.windowWidth / 2, vidMode.height() / 2 - config.windowHeight / 2);
+ GLFW.glfwSetWindowPos(windowHandle, vidMode.width() / 2 - windowWidth / 2, vidMode.height() / 2 - windowHeight / 2);
} else {
GLFW.glfwSetWindowPos(windowHandle, config.windowX, config.windowY);
}