--- @class Rect
--- @field x number
--- @field y number
--- @field width number
--- @field height number
local rect = {}
rect.__index = rect

--- @param table {x: number, y: number, width: number, height: number}
function rect.new(table)
    local r = {
        x = table.x or 0,
        y = table.y or 0,
        width = table.width or 0,
        height = table.height or 0
    }
    return setmetatable(r, rect)
end

function rect:hasPoint(x, y)
    return x >= self.x and x < self.x + self.width and y >= self.y and y < self.y + self.height
end

return rect.new
