Aller à la documentation de ce fichier.00001 #ifndef edt_GUI_HPP
00002 #define edt_GUI_HPP
00003
00004 #include <bib/Singleton.hpp>
00005 #include <CEGUI/CEGUISystem.h>
00006 #include <SFML/Window/Event.hpp>
00007 #include <SFML/Window/Keyboard.hpp>
00008 #include <SFML/System/Clock.hpp>
00009
00010 using bib::Singleton;
00011 using sf::Event;
00012
00013 namespace edt {
00014
00015 class GUI : public Singleton<GUI> {
00016
00017 friend class Singleton<GUI>;
00018
00019 public:
00020
00021
00022 void init();
00023 void dessiner() const;
00024 void tocHorloge();
00025 bool captureEvent(const Event& Event);
00026
00027 protected:
00028 GUI();
00029 ~GUI();
00030
00031 private:
00032 void initialiserRessources();
00033 void chargerRessources();
00034 void initialiserCastEvent();
00035
00036 CEGUI::Key::Scan toCEGUIKey(const sf::Keyboard::Key& Code) const;
00037 CEGUI::MouseButton toCEGUIMouseButton(const sf::Mouse::Button& Button) const;
00038
00039 private:
00040
00041 CEGUI::System *cSys;
00042 sf::Clock horloge;
00043
00044 typedef std::map<sf::Keyboard::Key, CEGUI::Key::Scan> ToucheCast;
00045 typedef std::map<sf::Mouse::Button, CEGUI::MouseButton> SourisCast;
00046
00047 ToucheCast keys;
00048 SourisCast mouses;
00049 };
00050
00051 }
00052
00053 #endif // edt_GUI_h