local gui = {}

function gui.newBorder(width, height, middlePosition)
  local tileset   = love.graphics.newImage("assets/gui/borders.png")
  local tilequad  = {}
  local w, h = tileset:getDimensions()
  tilequad[1]     = love.graphics.newQuad(0, 0, 20, 20, w, h)
  tilequad[2]     = love.graphics.newQuad(20, 0, 20, 20, w, h)
  tilequad[3]     = love.graphics.newQuad(40, 0, 20, 20, w, h)
  tilequad[4]     = love.graphics.newQuad(60, 0, 20, 20, w, h)

  local Texture = love.graphics.newCanvas(width, height)

  love.graphics.setCanvas(Texture)
  utils.graphics.resetColor()

  local height  = math.ceil(height / 20)
  local width   = math.ceil(width  / 20)

  for i=1, width do
    if i < middlePosition then
      love.graphics.draw(tileset, tilequad[1], (i-1) * 20, 0)
    elseif (i == middlePosition) then
      love.graphics.draw(tileset, tilequad[2], (i-1) * 20, 0)
    else
      love.graphics.draw(tileset, tilequad[3], (i-1) * 20, 0)
    end

    if height > 1 then
      for j = 2, height do
        love.graphics.draw(tileset, tilequad[4], (i-1) * 20, (j-1) * 20)
      end
    end
  end

  love.graphics.setCanvas( )

  return Texture
end

return gui
