27class TempoCurveCanvasRenderer :
public QCanvasPainterItemRenderer
30 TempoCurveCanvasRenderer () =
default;
31 Q_DISABLE_COPY_MOVE (TempoCurveCanvasRenderer)
33 void synchronize (QCanvasPainterItem * item)
override;
34 void paint (QCanvasPainter * painter)
override;
38 struct CachedTempoEvent
45 QColor curve_color_{
"#009DFF" };
46 float scroll_x_{ 0.0f };
47 float scroll_x_plus_width_{ 0.0f };
48 float px_per_tick_{ 0.0f };
49 float lane_height_{ 0.0f };
50 float min_bpm_{ 100.0f };
51 float max_bpm_{ 160.0f };
53 double base_bpm_{ 120.0 };
54 std::vector<CachedTempoEvent> cached_events_;