mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-16 10:55:01 -04:00
Merge branch 'toggle-fullscreen' into 'master'
Added fullscreen toggle See merge request bixilon/minosoft!34
This commit is contained in:
commit
1f4dd9fc92
@ -282,6 +282,16 @@ class RenderWindow(
|
||||
sendDebugMessage("Pausing outgoing packets: ${it.format()}")
|
||||
connection.network.pauseSending(it)
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:toggle_fullscreen".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.PRESS to setOf(KeyCodes.KEY_F11),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
window.fullscreen = !window.fullscreen
|
||||
}
|
||||
}
|
||||
|
||||
fun startLoop() {
|
||||
|
@ -34,6 +34,7 @@ interface BaseWindow {
|
||||
|
||||
var visible: Boolean
|
||||
var resizable: Boolean
|
||||
var fullscreen: Boolean
|
||||
|
||||
var swapInterval: Int
|
||||
|
||||
|
@ -104,6 +104,22 @@ class GLFWWindow(
|
||||
field = value
|
||||
}
|
||||
|
||||
override var fullscreen: Boolean = false
|
||||
set(value) {
|
||||
if (field == value) {
|
||||
return
|
||||
}
|
||||
val monitor = glfwGetPrimaryMonitor()
|
||||
val mode = glfwGetVideoMode(monitor) ?: return
|
||||
if (value) {
|
||||
glfwSetWindowMonitor(window, monitor, 15, 15, mode.width(), mode.height(), mode.refreshRate())
|
||||
} else {
|
||||
glfwSetWindowMonitor(window, 0, (mode.width() - DEFAULT_WINDOW_SIZE.x) / 2, (mode.height() - DEFAULT_WINDOW_SIZE.y) / 2, DEFAULT_WINDOW_SIZE.x, DEFAULT_WINDOW_SIZE.y, GLFW_DONT_CARE)
|
||||
}
|
||||
|
||||
field = value
|
||||
}
|
||||
|
||||
override var swapInterval: Int = -1
|
||||
set(value) {
|
||||
if (field == value) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user