module; #include export module Input; export namespace ee_engine { struct InputHandlers { std::function zooming; std::function mapScroll; }; class IInput { public: virtual ~IInput() {}; virtual void Poll() = 0; protected: InputHandlers handlers; float mouseX = 0.0f, mouseY = 0.0f; float lastMouseX = 0.0f, lastMouseY = 0.0f; explicit IInput(const InputHandlers &handlers) {this->handlers = handlers;}; }; }