From 522edc5e0cbbdd161273fb8c4b6d5ba133657010 Mon Sep 17 00:00:00 2001 From: "Squishy (C6H12O6+NaCl+H2O)" <106439598+SweetSea-ButImNotSweet@users.noreply.github.com> Date: Sun, 19 May 2024 22:23:03 +0700 Subject: [PATCH] Set default draw function for button --- load.lua | 49 ++++++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/load.lua b/load.lua index aedc934..2805300 100644 --- a/load.lua +++ b/load.lua @@ -2,29 +2,40 @@ bigint = require "libs.bigint.bigint" number_names = require "libs.bigint.named-powers-of-ten" -BUTTON = require "libs.simple-button" -BUTTON.setDefaultOption{ - draw = function(self) - love.graphics.setColor(self.backgroundColor) - love.graphics.rectangle('fill', self.x, self.y, self.w, self.h, self.r) - - if self._hovering then - love.graphics.setColor(self.hoverColor) - love.graphics.rectangle('fill', self.x, self.y, self.w, self.h, self.r) - end - - drawText(self.name, self.x, self.y + (self.h * 0.25), self.w, 'center') - - love.graphics.setColor(self.borderColor) - love.graphics.rectangle('line', self.x, self.y, self.w, self.h, self.r) - end, - backgroundColor = {0, 0, 0, 0.7} -} - -- Fonts FONT_tromi = love.graphics.newFont('res/fonts/monofonto rg.otf', 28) FONT_big = love.graphics.newFont('res/fonts/monofonto rg.otf', 56) +local font_height = FONT_tromi:getHeight() * 0.5 +-- BUTTON library +BUTTON = require "libs.simple-button" +BUTTON.setDefaultOption{ + draw = function(self) + love.graphics.setColor(0, 0, 0, 0.8) + love.graphics.rectangle('fill', self.x, self.y, self.w, self.h, self.r) + + if self._hovering then + love.graphics.setColor(0.4, 1, 1, 0.5) + love.graphics.rectangle('fill', self.x, self.y, self.w, self.h, self.r) + end + + local lineAmount + do + local _, t = FONT_tromi:getWrap(self.text, self.w * 2) + lineAmount = #t + end + + local textHeight = font_height * (lineAmount * 0.5) + local textPos = self.y + (self.h * 0.5) - textHeight + + drawText(self.text, self.x, textPos, self.w, 'center') + + love.graphics.setColor(1, 1, 1, 0.8) + love.graphics.setLineWidth(1) + love.graphics.rectangle('line', self.x, self.y, self.w, self.h, self.r) + end, +} + -- Graphics ShowLoadingText('backgrounds') local gc_newImage, gc_newVideo = love.graphics.newImage, love.graphics.newVideo