#ifndef _KEYMAPPER
#define _KEYMAPPER

#include <allegro5/allegro.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <string>

using namespace std;

#define NUMBER_OF_KEYS    14

enum KEYS{
           UP                   =  0,
           DOWN,
           LEFT,
           RIGHT,
           PHOTON,
           PHOTON_BACK,
           PHASER,
           SEEK_TARGET,
           SEEK_FRIEND,
           TARGET_UP,
           TARGET_DOWN,
           DOCK,
           RELEASE,
           SCREEN_MAIN,
           SCREEN_ENGINEERING,
           SCREEN_NAVIGATION,
           NAVIGATION_VIEW_TOPO,
           NAVIGATION_VIEW_TACTICAL,
           NAVIGATION_VIEW_OCCUPATION,
           KEY_MAX
         };


class TKeyMapper
{
    private:
    int m_KeyMap[KEY_MAX];
    int m_nMapping;
    ALLEGRO_COLOR m_ColorMapped;
    ALLEGRO_COLOR m_ColorMapping;
    ALLEGRO_FONT * m_pFont;

    protected:


    public:
    TKeyMapper(ALLEGRO_COLOR a_ColorMapped, ALLEGRO_COLOR a_ColorMapping,ALLEGRO_FONT * a_pFont);
    void SetDefaultMapping();
    bool MapKey(int a_nKey);
    void DrawMapping();
    bool IsKey(int a_nKeyNr,KEYS a_MappedKey);

};




#endif
