From eeb44b5552b65ad6a5b86ffb16730794118834d3 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 24 Jul 2023 19:37:56 +0200 Subject: [PATCH] rename LayoutedElement --- .../{LayoutedElement.kt => ScreenPositionedElement.kt} | 6 +++--- .../minosoft/gui/rendering/gui/gui/GUIManager.kt | 4 ++-- .../gui/rendering/gui/gui/LayoutedGUIElement.kt | 10 +++++----- .../minosoft/gui/rendering/gui/gui/popper/Popper.kt | 10 +++++----- .../minosoft/gui/rendering/gui/gui/screen/Screen.kt | 6 +++--- .../gui/hud/elements/bossbar/BossbarLayout.kt | 6 +++--- .../gui/rendering/gui/hud/elements/chat/ChatElement.kt | 6 +++--- .../rendering/gui/hud/elements/hotbar/HotbarElement.kt | 6 +++--- .../gui/hud/elements/other/PerformanceHUDElement.kt | 6 +++--- .../gui/hud/elements/other/debug/DebugHUDElement.kt | 6 +++--- .../hud/elements/scoreboard/ScoreboardSideElement.kt | 6 +++--- .../rendering/gui/hud/elements/tab/TabListElement.kt | 6 +++--- .../rendering/gui/hud/elements/title/TitleElement.kt | 6 +++--- .../gui/hud/elements/wawla/WawlaHUDElement.kt | 6 +++--- 14 files changed, 45 insertions(+), 45 deletions(-) rename src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/{LayoutedElement.kt => ScreenPositionedElement.kt} (88%) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/LayoutedElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/ScreenPositionedElement.kt similarity index 88% rename from src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/LayoutedElement.kt rename to src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/ScreenPositionedElement.kt index 558dd1e78..f91275119 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/LayoutedElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/ScreenPositionedElement.kt @@ -1,6 +1,6 @@ /* * Minosoft - * Copyright (C) 2020-2022 Moritz Zwerger + * Copyright (C) 2020-2023 Moritz Zwerger * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * @@ -15,6 +15,6 @@ package de.bixilon.minosoft.gui.rendering.gui.elements import de.bixilon.kotlinglm.vec2.Vec2 -interface LayoutedElement { - val layoutOffset: Vec2 +interface ScreenPositionedElement { + val screenOffset: Vec2 } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/GUIManager.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/GUIManager.kt index cc9b166dc..235b4960a 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/GUIManager.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/GUIManager.kt @@ -25,8 +25,8 @@ import de.bixilon.minosoft.config.key.KeyCodes import de.bixilon.minosoft.gui.rendering.gui.GUIElement import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement import de.bixilon.minosoft.gui.rendering.gui.elements.Pollable +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.Dragged import de.bixilon.minosoft.gui.rendering.gui.gui.screen.CreditsScreen import de.bixilon.minosoft.gui.rendering.gui.gui.screen.SignEditorScreen @@ -283,7 +283,7 @@ class GUIManager( onMouseMove(guiRenderer.currentMousePosition) } - fun push(element: LayoutedElement) { + fun push(element: ScreenPositionedElement) { val layouted = LayoutedGUIElement(element) layouted.init() layouted.postInit() diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/LayoutedGUIElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/LayoutedGUIElement.kt index c11a218df..3e9344e3d 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/LayoutedGUIElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/LayoutedGUIElement.kt @@ -1,6 +1,6 @@ /* * Minosoft - * Copyright (C) 2020-2022 Moritz Zwerger + * Copyright (C) 2020-2023 Moritz Zwerger * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * @@ -16,21 +16,21 @@ package de.bixilon.minosoft.gui.rendering.gui.gui import de.bixilon.kotlinglm.vec2.Vec2 import de.bixilon.kutil.cast.CastUtil.unsafeCast import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.Dragged import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.isGreater import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.isSmaller -open class LayoutedGUIElement( +open class LayoutedGUIElement( val layout: T, ) : GUIMeshElement(layout.unsafeCast()) { override fun prepareAsync() { - prepareAsync(layout.layoutOffset) + prepareAsync(layout.screenOffset) } protected open fun getOffset(position: Vec2): Vec2? { - val layoutOffset = layout.layoutOffset + val layoutOffset = layout.screenOffset val size = element.size if (position isSmaller layoutOffset) { return null diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/popper/Popper.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/popper/Popper.kt index 9ffc713e7..21ee12f7d 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/popper/Popper.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/popper/Popper.kt @@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.text.formatting.color.RGBColor import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.GuiDelegate import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions @@ -29,10 +29,10 @@ abstract class Popper( guiRenderer: GUIRenderer, position: Vec2, val background: Boolean = true, -) : Element(guiRenderer), LayoutedElement { +) : Element(guiRenderer), ScreenPositionedElement { private val backgroundElement = ColorElement(guiRenderer, Vec2.EMPTY, color = RGBColor(10, 10, 20, 230)) open var dead = false - override var layoutOffset: Vec2 = EMPTY + override var screenOffset: Vec2 = EMPTY protected set var position by GuiDelegate(position) @@ -65,12 +65,12 @@ abstract class Popper( layoutOffset = position - Vec2(0, size.y + POSITION_OFFSET) if (!(layoutOffset isSmaller EMPTY)) { layoutOffset.x = minOf(maxOf(layoutOffset.x - size.x / 2 - POSITION_OFFSET, 0.0f), windowSize.x - size.x) // try to center element, but clamp on edges (try not to make the popper go out of the window) - this.layoutOffset = layoutOffset + this.screenOffset = layoutOffset return } // failover - this.layoutOffset = EMPTY + this.screenOffset = EMPTY } fun show() { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/screen/Screen.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/screen/Screen.kt index ab818faa1..382608a87 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/screen/Screen.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/screen/Screen.kt @@ -19,7 +19,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.collection.SetChildrenManager import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.AtlasImageElement import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions @@ -27,10 +27,10 @@ import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY abstract class Screen( guiRenderer: GUIRenderer, -) : Element(guiRenderer), LayoutedElement, ChildedElement { +) : Element(guiRenderer), ScreenPositionedElement, ChildedElement { override val children = SetChildrenManager(this) protected val background = AtlasImageElement(guiRenderer, context.textures.whiteTexture, size = guiRenderer.screen.scaled, tint = RGBColor(0.0f, 0.0f, 0.0f, 0.8f)) - override val layoutOffset: Vec2 = Vec2(0, 0) + override val screenOffset: Vec2 = Vec2(0, 0) override fun update() { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarLayout.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarLayout.kt index 62ec34235..845b1f195 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarLayout.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/bossbar/BossbarLayout.kt @@ -20,18 +20,18 @@ import de.bixilon.minosoft.data.bossbar.Bossbar import de.bixilon.minosoft.data.registries.identified.ResourceLocation import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.layout.RowLayout import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder import de.bixilon.minosoft.util.Initializable import de.bixilon.minosoft.util.KUtil.toResourceLocation -class BossbarLayout(guiRenderer: GUIRenderer) : RowLayout(guiRenderer, HorizontalAlignments.CENTER, 2.0f), LayoutedElement, Initializable { +class BossbarLayout(guiRenderer: GUIRenderer) : RowLayout(guiRenderer, HorizontalAlignments.CENTER, 2.0f), ScreenPositionedElement, Initializable { private val connection = context.connection private val bossbars: MutableMap = synchronizedMapOf() - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = Vec2((guiRenderer.screen.scaled.x - super.size.x) / 2, 2) val atlasManager = guiRenderer.atlasManager diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/chat/ChatElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/chat/ChatElement.kt index 66e06ab30..80690ea6b 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/chat/ChatElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/chat/ChatElement.kt @@ -26,7 +26,7 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation import de.bixilon.minosoft.gui.rendering.font.renderer.element.TextRenderProperties import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.gui.GUIBuilder import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement import de.bixilon.minosoft.gui.rendering.gui.gui.elements.input.node.NodeTextInputElement @@ -39,7 +39,7 @@ import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companio import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.delegate.RenderingDelegate.observeRendering -class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer), LayoutedElement { +class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer), ScreenPositionedElement { private val chatProfile = profile.chat private val input = NodeTextInputElement(guiRenderer, ChatNode("", allowCLI = true), maxLength = connection.version.maxChatMessageSize).apply { parent = this@ChatElement } private val internal = InternalChatElement(guiRenderer).apply { parent = this@ChatElement } @@ -61,7 +61,7 @@ class ChatElement(guiRenderer: GUIRenderer) : AbstractChatElement(guiRenderer), override val activeWhenHidden: Boolean get() = true - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = Vec2(0, guiRenderer.screen.scaled.y - maxOf(messages.size.y, internal.size.y) - (LINES * TEXT_PROPERTIES.lineHeight) - CHAT_INPUT_MARGIN * 2) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/hotbar/HotbarElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/hotbar/HotbarElement.kt index 23a0dcd55..fd52ac02f 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/hotbar/HotbarElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/hotbar/HotbarElement.kt @@ -28,7 +28,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.colle import de.bixilon.minosoft.gui.rendering.gui.elements.Element import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTextElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTimes import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement @@ -44,7 +44,7 @@ import de.bixilon.minosoft.util.Initializable import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.delegate.RenderingDelegate.observeRendering -class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, ChildedElement { +class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, ChildedElement { override val children = ListChildrenManager(this) val core = HotbarCoreElement(guiRenderer) @@ -60,7 +60,7 @@ class HotbarElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedEl private var itemTextSize: Vec2? = null - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = size.let { Vec2((guiRenderer.screen.scaled.x - it.x) / 2, guiRenderer.screen.scaled.y - it.y) } private var renderElements = setOf( diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/PerformanceHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/PerformanceHUDElement.kt index 548241d72..62b749a32 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/PerformanceHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/PerformanceHUDElement.kt @@ -22,7 +22,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GuiDelegate import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.SingleChildrenManager import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder @@ -31,10 +31,10 @@ import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions import de.bixilon.minosoft.util.KUtil.toResourceLocation -class PerformanceHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, ChildedElement { +class PerformanceHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, ChildedElement { override val children = SingleChildrenManager() private val text = TextElement(guiRenderer, "", parent = this) - override val layoutOffset: Vec2 = Vec2(2, 2) + override val screenOffset: Vec2 = Vec2(2, 2) private var fps by GuiDelegate(0.0) private var hide by GuiDelegate(false) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/debug/DebugHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/debug/DebugHUDElement.kt index 6ea5c2499..ce70b82b5 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/debug/DebugHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/other/debug/DebugHUDElement.kt @@ -38,7 +38,7 @@ import de.bixilon.minosoft.gui.rendering.font.renderer.element.TextRenderPropert import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.elements.Element import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.layout.RowLayout import de.bixilon.minosoft.gui.rendering.gui.elements.spacer.LineSpacerElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.AutoTextElement @@ -60,11 +60,11 @@ import de.bixilon.minosoft.util.KUtil.format import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.SystemInformation -class DebugHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable { +class DebugHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable { private val connection = context.connection private val left = initLeft() private val right = initRight() - override val layoutOffset: Vec2 = Vec2.EMPTY + override val screenOffset: Vec2 = Vec2.EMPTY override val ignoreScreenDimensions: Boolean get() = true diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/scoreboard/ScoreboardSideElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/scoreboard/ScoreboardSideElement.kt index b6cf3ef5a..6070bdc03 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/scoreboard/ScoreboardSideElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/scoreboard/ScoreboardSideElement.kt @@ -29,7 +29,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.Singl import de.bixilon.minosoft.gui.rendering.gui.elements.Element import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement @@ -44,14 +44,14 @@ import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companio import de.bixilon.minosoft.util.Initializable import de.bixilon.minosoft.util.KUtil.toResourceLocation -class ScoreboardSideElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, AsyncDrawable, ChildedElement { +class ScoreboardSideElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, AsyncDrawable, ChildedElement { override val children = SingleChildrenManager() private val backgroundElement = ColorElement(guiRenderer, size = Vec2.EMPTY, color = RenderConstants.TEXT_BACKGROUND_COLOR) private val nameBackgroundElement = ColorElement(guiRenderer, size = Vec2.EMPTY, color = RenderConstants.TEXT_BACKGROUND_COLOR) private val nameElement = TextElement(guiRenderer, "", background = null, parent = this) private val scores: LockMap = lockMapOf() - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = super.size.let { return@let Vec2(guiRenderer.screen.scaled.x - it.x, (guiRenderer.screen.scaled.y - it.y) / 2) } override val skipDraw: Boolean get() = objective == null diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListElement.kt index e3ba77a2f..9b378aecb 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/tab/TabListElement.kt @@ -32,7 +32,7 @@ import de.bixilon.minosoft.gui.rendering.gui.atlas.AtlasElement import de.bixilon.minosoft.gui.rendering.gui.elements.Element import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement @@ -48,7 +48,7 @@ import de.bixilon.minosoft.util.KUtil.toResourceLocation import java.util.* import java.util.concurrent.locks.ReentrantLock -class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, AsyncDrawable, ChildedElement { +class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, AsyncDrawable, ChildedElement { override val children = ListChildrenManager(this) val header = TextElement(guiRenderer, "", background = null, properties = TextRenderProperties(HorizontalAlignments.CENTER), parent = this) val footer = TextElement(guiRenderer, "", background = null, properties = TextRenderProperties(HorizontalAlignments.CENTER), parent = this) @@ -65,7 +65,7 @@ class TabListElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedE private set private var columns = 0 - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = Vec2((guiRenderer.screen.scaled.x - super.size.x) / 2, 20) private val atlasManager = guiRenderer.atlasManager diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleElement.kt index 06677dd1f..549de4e84 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/title/TitleElement.kt @@ -22,7 +22,7 @@ import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.colle import de.bixilon.minosoft.gui.rendering.gui.elements.Element import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments import de.bixilon.minosoft.gui.rendering.gui.elements.HorizontalAlignments.Companion.getOffset -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTextElement import de.bixilon.minosoft.gui.rendering.gui.elements.text.fade.FadingTimes import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement @@ -37,7 +37,7 @@ import de.bixilon.minosoft.util.Initializable import de.bixilon.minosoft.util.KUtil.toResourceLocation // ToDo: Remove subtitle when hidden -class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, Initializable, ChildedElement { +class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, Initializable, ChildedElement { override val children = SetChildrenManager(this) val title = FadingTextElement(guiRenderer, "", background = null, properties = TextRenderProperties(scale = 4.0f), parent = this) val subtitle = FadingTextElement(guiRenderer, "", background = null, properties = TextRenderProperties(scale = 2.0f), parent = this) @@ -49,7 +49,7 @@ class TitleElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedEle subtitle.times = value } - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() { val layoutOffset = Vec2.EMPTY diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/wawla/WawlaHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/wawla/WawlaHUDElement.kt index b71d00e0d..7e1945ec3 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/wawla/WawlaHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/wawla/WawlaHUDElement.kt @@ -23,7 +23,7 @@ import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.ChildedElement import de.bixilon.minosoft.gui.rendering.gui.abstractions.children.manager.collection.SetChildrenManager import de.bixilon.minosoft.gui.rendering.gui.elements.Element -import de.bixilon.minosoft.gui.rendering.gui.elements.LayoutedElement +import de.bixilon.minosoft.gui.rendering.gui.elements.ScreenPositionedElement import de.bixilon.minosoft.gui.rendering.gui.elements.primitive.ColorElement import de.bixilon.minosoft.gui.rendering.gui.gui.LayoutedGUIElement import de.bixilon.minosoft.gui.rendering.gui.hud.elements.HUDBuilder @@ -35,13 +35,13 @@ import de.bixilon.minosoft.gui.rendering.renderer.drawable.AsyncDrawable import de.bixilon.minosoft.input.interaction.AttackHandler import de.bixilon.minosoft.util.KUtil.toResourceLocation -class WawlaHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), LayoutedElement, AsyncDrawable, ChildedElement { +class WawlaHUDElement(guiRenderer: GUIRenderer) : Element(guiRenderer), ScreenPositionedElement, AsyncDrawable, ChildedElement { override val children = SetChildrenManager(this) private var element: WawlaElement? = null val profile = guiRenderer.connection.profiles.gui.hud.wawla - override val layoutOffset: Vec2 + override val screenOffset: Vec2 get() = Vec2((guiRenderer.screen.scaled.x - ((element?.size?.x ?: 0.0f) + BACKGROUND_SIZE)) / 2, BACKGROUND_SIZE) override val skipDraw: Boolean get() = !profile.enabled