//
//  Controls.h
//  PixelKit
//
//  Copyright (c) 2014 César Parent. All rights reserved.
//
#ifndef _CONTROLS_H
#define _CONTROLS_H

#include "includes.h"
#include <map>
#include <vector>

namespace PixelKit
{
	class ControlDelegate;
	
	/*!
	 * @class  PixelKit::Controls
	 * @brief  Controls
	 */
	class Controls
	{
	public:
        
		static const bool &quit;
		static void poll();
		static void setDelegate(ControlDelegate* delegate);
		static void closeControllers();
		
	private:
		
		static bool _quit;
		static ControlDelegate* _delegate;
		static std::map<Uint32, SDL_GameController*> _controllers;
	};
}

#endif