summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils/renderables
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-08 02:25:22 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-08 02:25:22 +0200
commit7b6aac3ea8b7aebaef104097b0ac7767b27f4c80 (patch)
tree7b9e068b912256f1bfccbc717517d17aa62542b8 /src/main/java/at/hannibal2/skyhanni/utils/renderables
parent2ac1f3d037fee016063cd7bc499d4abcfeb765d5 (diff)
downloadskyhanni-7b6aac3ea8b7aebaef104097b0ac7767b27f4c80.tar.gz
skyhanni-7b6aac3ea8b7aebaef104097b0ac7767b27f4c80.tar.bz2
skyhanni-7b6aac3ea8b7aebaef104097b0ac7767b27f4c80.zip
code cleanup utils
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/renderables')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt55
1 files changed, 47 insertions, 8 deletions
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 036c610bc..c554b8bde 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
@@ -40,19 +40,48 @@ interface Renderable {
else -> null
}
- fun link(text: String, bypassChecks: Boolean = false, onClick: () -> Unit): Renderable = link(string(text), onClick, bypassChecks = bypassChecks) { true }
- fun optionalLink(text: String, onClick: () -> Unit, bypassChecks: Boolean = false, condition: () -> Boolean = { true }): Renderable =
+ fun link(text: String, bypassChecks: Boolean = false, onClick: () -> Unit): Renderable =
+ link(string(text), onClick, bypassChecks = bypassChecks) { true }
+
+ fun optionalLink(
+ text: String,
+ onClick: () -> Unit,
+ bypassChecks: Boolean = false,
+ condition: () -> Boolean = { true }
+ ): Renderable =
link(string(text), onClick, bypassChecks, condition)
- fun link(renderable: Renderable, onClick: () -> Unit, bypassChecks: Boolean = false, condition: () -> Boolean = { true }): Renderable {
- return clickable(hoverable(underlined(renderable), renderable, bypassChecks, condition = condition), onClick, 0, bypassChecks, condition)
+ fun link(
+ renderable: Renderable,
+ onClick: () -> Unit,
+ bypassChecks: Boolean = false,
+ condition: () -> Boolean = { true }
+ ): Renderable {
+ return clickable(
+ hoverable(underlined(renderable), renderable, bypassChecks, condition = condition),
+ onClick,
+ 0,
+ bypassChecks,
+ condition
+ )
}
- fun clickAndHover(text: String, tips: List<String>, bypassChecks: Boolean = false, onClick: () -> Unit): Renderable {
+ fun clickAndHover(
+ text: String,
+ tips: List<String>,
+ bypassChecks: Boolean = false,
+ onClick: () -> Unit
+ ): Renderable {
return clickable(hoverTips(text, tips, bypassChecks = bypassChecks), onClick, bypassChecks = bypassChecks)
}
- fun clickable(render: Renderable, onClick: () -> Unit, button: Int = 0, bypassChecks: Boolean = false, condition: () -> Boolean = { true }) =
+ fun clickable(
+ render: Renderable,
+ onClick: () -> Unit,
+ button: Int = 0,
+ bypassChecks: Boolean = false,
+ condition: () -> Boolean = { true }
+ ) =
object : Renderable {
override val width: Int
get() = render.width
@@ -72,7 +101,12 @@ interface Renderable {
}
}
- fun hoverTips(text: String, tips: List<String>, bypassChecks: Boolean = false, condition: () -> Boolean = { true }): Renderable {
+ fun hoverTips(
+ text: String,
+ tips: List<String>,
+ bypassChecks: Boolean = false,
+ condition: () -> Boolean = { true }
+ ): Renderable {
val render = string(text)
return object : Renderable {
override val width: Int
@@ -171,7 +205,12 @@ interface Renderable {
}
}
- fun hoverable(hovered: Renderable, unhovered: Renderable, bypassChecks: Boolean = false, condition: () -> Boolean = { true }) =
+ fun hoverable(
+ hovered: Renderable,
+ unhovered: Renderable,
+ bypassChecks: Boolean = false,
+ condition: () -> Boolean = { true }
+ ) =
object : Renderable {
override val width: Int
get() = max(hovered.width, unhovered.width)