DEADSOFTWARE

Remove java color
authorfredboy <fredboy@protonmail.com>
Tue, 23 Apr 2024 21:21:28 +0000 (04:21 +0700)
committerfredboy <fredboy@protonmail.com>
Tue, 23 Apr 2024 21:21:28 +0000 (04:21 +0700)
core/src/ru/deadsoftware/cavedroid/misc/utils/RenderingUtils.kt

index 24813acc853fe54ef5421c046a55c48cfede0b39..8976c9963cd8935d64a373ee54db088513537662 100644 (file)
@@ -5,7 +5,6 @@ import com.badlogic.gdx.graphics.g2d.GlyphLayout
 import com.badlogic.gdx.graphics.g2d.SpriteBatch
 import com.badlogic.gdx.math.Rectangle
 import ru.deadsoftware.cavedroid.misc.Assets
-import java.awt.Color as JavaColor
 
 private fun Rectangle.shifted(shift: Float) = Rectangle(x + shift, y, width, height)
 
@@ -52,7 +51,21 @@ fun SpriteBatch.drawString(str: String, x: Float, y: Float, color: Color = Color
     return Assets.minecraftFont.draw(this, str, x, y)
 }
 
+/**
+ * Parses hex color string into [Color]
+ * Format is strictly #FFFFFF
+ */
 fun colorFromHexString(hex: String): Color {
-    val rgba = (JavaColor.decode(hex).rgb shl 8) or (0xFF)
+    if (hex[0] != '#' || hex.length != 7) {
+        return Color.WHITE
+    }
+
+    var rgba = try {
+        hex.substring(1).toInt(16)
+    } catch (e: NumberFormatException) {
+        0xffffff
+    }
+
+    rgba = (rgba shl 8) or 0xFF
     return Color(rgba)
 }