local Debug={["enable"]={}}

function Debug.enable()

  local api={["rt"]={},["basic"]={}}
  api.basic.app=File.dcfromtoml("version.toml")
  api.basic.os=Global.OS
  api.basic.lovemaj,api.basic.lovemin,api.basic.rev,api.basic.lovecode=love.getVersion( )
  api.basic.rname,api.basic.renderer,api.basic.vendor,api.basic.device=love.graphics.getRendererInfo()
  api.basic.color={255,0,0}
  
  api.rt.x=1/Push.getWidth()
  api.rt.y=1/Push.getHeight()
  api.rt.color={255,0,0}
  api.rt.freeze=false
  api.rt.upd=0
  
  function api.freeze(arg)
  
    if arg then 
  
      api.rt.freeze=true
      
    elseif not arg then
    
      api.rt.freeze=false
    
    end
  
  end
  
  function api.update()
  
    api.basic.x=1/Push.getWidth()
    api.basic.y=Push.getHeight()-40*Global.scaley/3.5
    
    if not api.rt.freeze then
    
      api.rt.frame=love.timer.getFPS()
      api.rt.memory=love.graphics.getStats()
      api.rt.texturememory=math.ceil(api.rt.memory.texturememory/1024/1024)
      api.rt.luakb=math.ceil(collectgarbage("count"))

      if api.rt.memopick==nil or api.rt.texturememory>api.rt.memopick then
  
        api.rt.memopick=api.rt.texturememory
    
      end
      
      if api.rt.upd<love.timer.getTime() then
    
        if api.rt.luakbaf~=nil and api.rt.luakb-api.rt.luakbaf>0 then
  
          api.rt.luakbgc=math.ceil(api.rt.luakb-api.rt.luakbaf)
  
        else
  
          api.rt.luakbgc=0
  
        end
      
      api.rt.upd=love.timer.getTime()+.1
      
      end
    
      api.rt.luakbaf=api.rt.luakb
      
    end
  
  end
  
  function api.draw()
  
    love.graphics.print({api.basic.color,"Positron: " .. api.basic.app.positron.v .. ", Love: " .. api.basic.lovemaj .. ", Photon Project: " .. api.basic.app.pp.v .. "\nOS: " .. api.basic.os .. ", Profile: " .. api.basic.renderer},api.basic.x,api.basic.y,0,Global.scalex/7,Global.scaley/7)
    love.graphics.print({api.rt.color,"FPS: " .. api.rt.frame .. "\nLua GC: " .. api.rt.luakbgc .. "/frame\nLove memory: " .. api.rt.texturememory .. "mb\nMemory pick: " .. api.rt.memopick .. "mb"},api.rt.x,api.rt.y,0,Global.scalex/7,Global.scaley/7)
  
  end

  return api

end

return Debug
