From ce495d4ff26840dee1fbcc2b3a6041e57e2794a2 Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Fri, 31 Mar 2023 13:48:30 +0200 Subject: [PATCH] Fix ColorMarkupLabel prefSize (#9077) --- core/src/com/unciv/ui/components/ColorMarkupLabel.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/com/unciv/ui/components/ColorMarkupLabel.kt b/core/src/com/unciv/ui/components/ColorMarkupLabel.kt index ef2fcf0631..3cf8c68254 100644 --- a/core/src/com/unciv/ui/components/ColorMarkupLabel.kt +++ b/core/src/com/unciv/ui/components/ColorMarkupLabel.kt @@ -3,6 +3,7 @@ package com.unciv.ui.components import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.graphics.g2d.GlyphLayout import com.badlogic.gdx.scenes.scene2d.ui.Label import com.unciv.Constants import com.unciv.models.translations.tr @@ -33,8 +34,6 @@ class ColorMarkupLabel private constructor( fontSize: Int = Constants.defaultFontSize) : this (fontSize, prepareText(text, textColor, symbolColor)) - private val originalMarkupEnabled: Boolean - init { if (fontSize != Constants.defaultFontSize) { val labelStyle = LabelStyle(style) // clone otherwise all default-styled Labels affected @@ -42,15 +41,22 @@ class ColorMarkupLabel private constructor( style.font = Fonts.font setFontScale(fontSize / Fonts.ORIGINAL_FONT_SIZE) } - originalMarkupEnabled = style.font.data.markupEnabled } override fun layout() { + val originalMarkupEnabled = style.font.data.markupEnabled style.font.data.markupEnabled = true super.layout() style.font.data.markupEnabled = originalMarkupEnabled } + override fun computePrefSize(layout: GlyphLayout?) { + val originalMarkupEnabled = style.font.data.markupEnabled + style.font.data.markupEnabled = true + super.computePrefSize(layout) + style.font.data.markupEnabled = originalMarkupEnabled + } + companion object { private fun mapMarkup(text: String): String { val translated = text.tr()