Added text table
This commit is contained in:
parent
d7dcda1ada
commit
8f9f2dd8f4
3 changed files with 56 additions and 5 deletions
18
button.lua
18
button.lua
|
|
@ -1,4 +1,5 @@
|
|||
require 'point'
|
||||
require 'text'
|
||||
|
||||
-- Clickable UI button
|
||||
---@class Button
|
||||
|
|
@ -6,29 +7,35 @@ require 'point'
|
|||
---@field size Point
|
||||
---@field prevPressed boolean
|
||||
---@field lastPressed boolean
|
||||
---@field text Text
|
||||
Button = {
|
||||
position = Point:new( 1, 1 ),
|
||||
size = Point:new( 1, 1 ),
|
||||
prevPressed = false,
|
||||
lastPressed = false
|
||||
lastPressed = false,
|
||||
text = Text:new()
|
||||
}
|
||||
|
||||
-- Factory function
|
||||
---@param position Point | nil
|
||||
---@param size Point | nil
|
||||
---@param text string | nil
|
||||
---@param pressed function | nil
|
||||
---@param held function | nil
|
||||
---@param released function | nil
|
||||
---@return Button
|
||||
function Button:new( position, size, pressed, held, released )
|
||||
function Button:new( position, size, text, pressed, held, released )
|
||||
local pos = position or Button.position
|
||||
local siz = size or Button.size
|
||||
local button = {
|
||||
position = position or Button.position,
|
||||
size = size or Button.size,
|
||||
position = pos,
|
||||
size = siz,
|
||||
prevPressed = false,
|
||||
lastPressed = false,
|
||||
pressed = pressed or Button.pressed,
|
||||
held = held or Button.held,
|
||||
released = released or Button.released
|
||||
released = released or Button.released,
|
||||
text = Text:new( pos, siz, text)
|
||||
}
|
||||
|
||||
setmetatable( button, { __index = self } )
|
||||
|
|
@ -49,6 +56,7 @@ function Button:draw()
|
|||
local x, y = self.position:coords()
|
||||
local w, h = self.size:coords()
|
||||
love.graphics.rectangle( 'line', x, y, w, h )
|
||||
self.text:draw()
|
||||
end
|
||||
|
||||
-- Check if given point is in bounds of button
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue