GUI = Object:extend()

function GUI:new() end

function GUI:newButton(x, y, w, h, text, selected)
	love.graphics.setColor(255, 255, 255) -- reset colours

	--x,y is the top left corner of the button
	local rounding = 30 -- used for rounding the buttons
	local xoff = x + 10
	local yoff = y - 10
	local textX, textY = 0, 0
	-- Get width and height of text
	local tw = MenuFont:getWidth(text)
	local th = MenuFont:getHeight(text)
	love.graphics.setFont(MenuFont)

	if not selected then
		love.graphics.setColor(love.math.colorFromBytes(41, 134, 204))
		love.graphics.rectangle("fill", x, y, w, h, rounding, rounding)

		-- Calculate position to center the text
		textX = x + (w - tw) / 2
		textY = y + (h - th) / 2
		-- Place text inside the rectangle
		love.graphics.setColor(0, 0, 0)
		love.graphics.print(text, textX, textY)
	elseif selected then
		-- If selected, raise the button and draw a shadow
		love.graphics.setColor(love.math.colorFromBytes(0, 0, 0))
		love.graphics.rectangle("fill", x, y, w, h, rounding, rounding) -- shadow

		love.graphics.setColor(love.math.colorFromBytes(244, 67, 54))
		love.graphics.rectangle("fill", xoff, yoff, w, h, rounding, rounding) -- button offset

		-- Calculate position to center the text
		textX = xoff + (w - tw) / 2
		textY = yoff + (h - th) / 2
		-- Place text inside the rectangle
		love.graphics.setColor(1, 1, 1)
		love.graphics.print(text, textX, textY)
	end
end
