#pragma once #include "events.hpp" #include "simplefsm.hpp" #include namespace routing { enum class State { START, IDLE, MOUSE_ACTIVE, MOUSE_MOVING, }; enum class Event { STARTED=0, MOUSE_DOWN=1, MOUSE_UP=2, MOUSE_MOVE=3, KEY_PRESS=4 }; class Router : public DeadSimpleFSM { public: void event(Event ev); void START(Event ev); void IDLE(Event ev); void MOUSE_ACTIVE(Event ev); void MOUSE_MOVING(Event ev); void process_window(sf::RenderWindow& window); }; }