/* * Skytils - Hypixel Skyblock Quality of Life Mod * Copyright (C) 2021 Skytils * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package skytils.skytilsmod.gui.components import gg.essential.elementa.components.UIBlock import gg.essential.elementa.components.UIText import gg.essential.elementa.constraints.CenterConstraint import gg.essential.elementa.constraints.RelativeConstraint import gg.essential.elementa.constraints.animation.Animations import gg.essential.elementa.dsl.* import java.awt.Color class SimpleButton @JvmOverloads constructor(val t: String, val h: Boolean = false, val w: Boolean = false) : UIBlock(Color(0, 0, 0, 80)) { val text = UIText(t).constrain { x = CenterConstraint() y = CenterConstraint() color = Color(14737632).toConstraint() } childOf this init { this .constrain { width = if (w) { RelativeConstraint() } else { (text.getWidth() + 40).pixels() } height = if (h) { RelativeConstraint() } else { (text.getHeight() + 10).pixels() } } .onMouseEnter { animate { setColorAnimation( Animations.OUT_EXP, 0.5f, Color(255, 255, 255, 80).toConstraint(), 0f ) } text.constrain { color = Color(16777120).toConstraint() } }.onMouseLeave { animate { setColorAnimation( Animations.OUT_EXP, 0.5f, Color(0, 0, 0, 80).toConstraint() ) } text.constrain { color = Color(14737632).toConstraint() } } } }