28class FadeOverlayCanvasItem :
public QCanvasPainterItem
31 QML_NAMED_ELEMENT (FadeOverlayCanvas)
35 setAudioClip NOTIFY audioClipChanged)
37 qreal pxPerTick READ pxPerTick WRITE setPxPerTick NOTIFY pxPerTickChanged)
39 FadeType fadeType READ fadeType WRITE setFadeType NOTIFY fadeTypeChanged)
40 Q_PROPERTY (
bool hovered READ hovered WRITE setHovered NOTIFY hoveredChanged)
42 QColor overlayColor READ overlayColor WRITE setOverlayColor NOTIFY
45 QColor curveColor READ curveColor WRITE setCurveColor NOTIFY
56 explicit FadeOverlayCanvasItem (QQuickItem * parent =
nullptr);
58 QCanvasPainterItemRenderer * createItemRenderer ()
const override;
62 qreal pxPerTick ()
const {
return px_per_tick_; }
63 void setPxPerTick (qreal px);
64 FadeType fadeType ()
const {
return fade_type_; }
65 void setFadeType (FadeType type);
66 bool hovered ()
const {
return hovered_; }
67 void setHovered (
bool hovered);
68 QColor overlayColor ()
const {
return overlay_color_; }
69 void setOverlayColor (
const QColor &color);
70 QColor curveColor ()
const {
return curve_color_; }
71 void setCurveColor (
const QColor &color);
74 void audioClipChanged ();
75 void pxPerTickChanged ();
76 void fadeTypeChanged ();
77 void hoveredChanged ();
78 void overlayColorChanged ();
79 void curveColorChanged ();
82 QPointer<structure::arrangement::AudioClip> audio_clip_;
83 qreal px_per_tick_ = 1.0;
84 FadeType fade_type_ = FadeIn;
85 bool hovered_ =
false;
86 QColor overlay_color_{ 51, 51, 51, 153 };
87 QColor curve_color_{ 255, 255, 255, 200 };
89 std::vector<QMetaObject::Connection> clip_connections_;