diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt | 12 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt index fc043e26b..90dcddf9b 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt @@ -93,4 +93,16 @@ object StringUtils { fun encodeBase64(input: String) = Base64.getEncoder().encodeToString(input.toByteArray()) fun decodeBase64(input: String) = Base64.getDecoder().decode(input).decodeToString() + + fun addFormat(text: String, format: String): String { + if (text.length < 2) return text + + val rawText = text.substring(2) + return if (rawText == text.removeColor()) { + val originalColor = text.substring(0, 2) + "$originalColor$format$rawText" + } else { + "$format$text" + } + } }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt index 9917799f7..5047c4744 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt @@ -48,6 +48,10 @@ interface Renderable { return clickable(hoverable(underlined(renderable), renderable, condition), onClick, 0, condition) } + fun clickAndHover(text: String, tips: List<String>, onClick: () -> Unit): Renderable { + return clickable(hoverTips(text, tips), onClick) + } + fun clickable(render: Renderable, onClick: () -> Unit, button: Int = 0, condition: () -> Boolean = { true }) = object : Renderable { override val width: Int |
