hud: fix debug screen to small (y)

This commit is contained in:
Bixilon 2021-11-01 12:42:59 +01:00
parent ca85ca017f
commit 46ddcded65
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 12 additions and 4 deletions

View File

@ -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)
}

View File

@ -76,6 +76,9 @@ class DebugHUDElement(hudRenderer: HUDRenderer) : LayoutedHUDElement<GridLayout>
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 {