24 ,
public Nano::Observer
30 void setData(
const std::shared_ptr<AudioFile>& data);
33 QRectF renderedSpan()
const noexcept;
34 void setFrontColors(
bool);
35 void setTempoRatio(
double);
36 void recompute(ZoomRatio ratio);
37 void recompute()
const;
39 void on_finishedDecoding();
42 void paint_impl(QPainter*)
const override;
43 void mousePressEvent(QGraphicsSceneMouseEvent*)
override;
44 void dragEnterEvent(QGraphicsSceneDragDropEvent* event)
override;
45 void dragLeaveEvent(QGraphicsSceneDragDropEvent* event)
override;
46 void dragMoveEvent(QGraphicsSceneDragDropEvent* event)
override;
47 void dropEvent(QGraphicsSceneDragDropEvent* event)
override;
49 void heightChanged(qreal)
override;
50 void widthChanged(qreal)
override;
52 void scrollValueChanged(
int);
56 std::shared_ptr<AudioFile> m_data;
61 double m_tempoRatio{1.};
63 QVector<QImage*> m_images;
69 void requestIfUncovered(
double coveredX0,
double coveredXf)
const;
71 bool m_frontColors{
true};
72 mutable bool m_recomputed{
false};
75 mutable std::optional<WaveformRequest> m_lastRequest;