#pragma once #include #include #include #include #include namespace Hardware { class SCORE_ADDON_HARDWARE_EXPORT Controller : public bugui::controller , public QObject { W_OBJECT(Controller) public: explicit Controller(const score::DocumentContext& document, Scenario::IntervalModel& s); void paint(bugui::painter& painter) const override; void play(bool pressed); void stop(bool pressed); void shift(bool pressed); void up(bool pressed); void down(bool pressed); void left(bool pressed); void right(bool pressed); private: void on_interval_changed(const Scenario::IntervalModel&); Scenario::IntervalModel* interval; const score::DocumentContext& doc; bool m_shift{false}; float h_ofset; float v_ofset; float h_zoom; float v_zoom; }; }