From 46ddcded65c04c902d9e3cfd039888237f86f002 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 1 Nov 2021 12:42:59 +0100 Subject: [PATCH] hud: fix debug screen to small (y) --- .../minosoft/gui/rendering/gui/elements/Element.kt | 13 +++++++++---- .../gui/hud/elements/other/DebugHUDElement.kt | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/Element.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/Element.kt index 2eede7059..93a5a34a7 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/Element.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/Element.kt @@ -29,6 +29,7 @@ import glm_.vec2.Vec2i import glm_.vec4.Vec4i abstract class Element(val hudRenderer: HUDRenderer) { + var ignoreDisplaySize = false val renderWindow = hudRenderer.renderWindow protected open var _parent: Element? = null @@ -70,15 +71,19 @@ abstract class Element(val hudRenderer: HUDRenderer) { get() { var maxSize = Vec2i(prefMaxSize) + var parentMaxSize = parent?.maxSize + if (parentMaxSize == null && !ignoreDisplaySize) { + parentMaxSize = hudRenderer.scaledSize + } + if (maxSize.x < 0) { - maxSize.x = hudRenderer.scaledSize.x + maxSize.x = parentMaxSize?.x ?: hudRenderer.scaledSize.x } if (maxSize.y < 0) { - maxSize.y = hudRenderer.scaledSize.y + maxSize.y = parentMaxSize?.y ?: hudRenderer.scaledSize.y } - - (parent?.maxSize ?: hudRenderer.scaledSize).let { + parentMaxSize?.let { maxSize = maxSize.min(it) } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/DebugHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/DebugHUDElement.kt index ce1be534f..ab3c1dcfb 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/DebugHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/DebugHUDElement.kt @@ -76,6 +76,9 @@ class DebugHUDElement(hudRenderer: HUDRenderer) : LayoutedHUDElement override fun init() { layout[Vec2i(0, 0)] = initLeft() layout[Vec2i(2, 0)] = initRight() + + layout.prefMaxSize = Vec2i(-1, Int.MAX_VALUE) + layout.ignoreDisplaySize = true } private fun initLeft(): Element {