#pragma once #include #include #include namespace Hardware { struct IntervalWidget final : bugui::container_widget { explicit IntervalWidget(container_widget* parent, Scenario::IntervalModel& interval); void paint(bugui::painter& painter) const override; bool on_press(int x, int y, bool pressed) override; bool on_double_press(int x, int y) override; bool on_drag(int from_x, int from_y, int to_x, int to_y) override; int x() const override; int y() const override; int width() const override; const Scenario::IntervalModel& get_model() const; protected: bool is_inside(int px, int py) const override; private: Scenario::IntervalModel& model; const Process::Style& skin; }; } // namespace Hardware