From 7b6aac3ea8b7aebaef104097b0ac7767b27f4c80 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Tue, 8 Aug 2023 02:25:22 +0200 Subject: code cleanup utils --- .../skyhanni/utils/renderables/Renderable.kt | 55 ++++++++++++++++++---- 1 file changed, 47 insertions(+), 8 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils/renderables') 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, bypassChecks: Boolean = false, onClick: () -> Unit): Renderable { + fun clickAndHover( + text: String, + tips: List, + 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, bypassChecks: Boolean = false, condition: () -> Boolean = { true }): Renderable { + fun hoverTips( + text: String, + tips: List, + 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) -- cgit