From 293b31d39a6e0665cd8820a9c74d85d1ceacc4aa Mon Sep 17 00:00:00 2001 From: Brandon Dyck Date: Fri, 19 Apr 2024 12:44:32 -0600 Subject: [PATCH] Tidy up main.lua --- main.lua | 87 ++++++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 47 deletions(-) diff --git a/main.lua b/main.lua index aa68715..194fe96 100644 --- a/main.lua +++ b/main.lua @@ -3,41 +3,6 @@ local Time = require"time" local loveframes = require"loveframes" local Clock = require"clock" -local clock -local exitNote - -local inputSource - -function love.mousemoved(x, y, dx, dy, istouch) - clock:movemouse(x, y) -end - --- todo mousepressed & mousereleased -function love.mousepressed(x, y, button, istouch, presses) - clock:pressmouse(x, y, button) - loveframes.mousepressed(x, y, button) -end - -function love.mousereleased(x, y, button, istouch, presses) - clock:releasemouse(button) - loveframes.mousereleased(x, y, button) -end - -function love.keypressed(key, scancode, isrepeat) - if scancode == "escape" then - love.event.quit() - end - loveframes.keypressed(key, isrepeat) -end - -function love.keyreleased(key) - loveframes.keyreleased(key) -end - -function love.textinput(text) - loveframes.textinput(text) -end - -- TODO delete this when the skin is done function setupSkin(fontsize) local font = love.graphics.newFont(fontsize) @@ -75,7 +40,7 @@ function love.load() local diameter = love.graphics.getHeight() - 2 * margin local offset = diameter/2 + margin local clockTransform = love.math.newTransform(offset, offset) - clock = Clock:new(nil, diameter, clockTransform) + local clock = Clock:new(nil, diameter, clockTransform) local column2X = diameter + 2*margin local timeInputs = loveframes.Create("panel") @@ -98,21 +63,20 @@ function love.load() :SetPos(column2X, margin) :SetObject(timeInputs) - function controls:OnOpenedClosed() - if self:GetOpen() then - self:SetText("Hide time") + controls.OnOpenedClosed = function() + if controls:GetOpen() then + controls:SetText("Hide time") else - self:SetText("Show time") + controls:SetText("Show time") end end controls:OnOpenedClosed() - local function setClock() + hourBox.OnValueChanged = function() local t = Time:new(hourBox:GetValue(), minuteBox:GetValue()) clock:setTime(t) end - hourBox.OnValueChanged = setClock - minuteBox.OnValueChanged = setClock + minuteBox.OnValueChanged = hourBox.OnValueChanged local function updateInputNoCallback(input, value) local callback = input.OnValueChanged @@ -121,12 +85,11 @@ function love.load() input.OnValueChanged = callback end - local function updateInputs(time) + clock.onSetHands = function(time) local h, m = time:get() updateInputNoCallback(hourBox, h) updateInputNoCallback(minuteBox, math.floor(m)) end - clock.onSetHands = updateInputs local exitNote = "Press \"Esc\" to exit." local exitNoteWidth = love.graphics.getWidth() - column2X - margin @@ -136,12 +99,42 @@ function love.load() love.graphics.setBackgroundColor(0.02,0.53,0.77) - local function draw() + + function love.mousemoved(x, y, dx, dy, istouch) + clock:movemouse(x, y) + end + + -- todo mousepressed & mousereleased + function love.mousepressed(x, y, button, istouch, presses) + clock:pressmouse(x, y, button) + loveframes.mousepressed(x, y, button) + end + + function love.mousereleased(x, y, button, istouch, presses) + clock:releasemouse(button) + loveframes.mousereleased(x, y, button) + end + + function love.draw() loveframes.draw() clock:draw() love.graphics.printf(exitNote, exitNoteFont, column2X, exitNoteY, exitNoteWidth) end - love.draw = draw +end + +function love.keypressed(key, scancode, isrepeat) + if scancode == "escape" then + love.event.quit() + end + loveframes.keypressed(key, isrepeat) +end + +function love.keyreleased(key) + loveframes.keyreleased(key) +end + +function love.textinput(text) + loveframes.textinput(text) end function love.update(dt)