28class FadeOverlayCanvasItem :
public QCanvasPainterItem
31 QML_NAMED_ELEMENT (FadeOverlayCanvas)
33 Q_PROPERTY (QObject * region READ region WRITE setRegion NOTIFY regionChanged)
35 qreal pxPerTick READ pxPerTick WRITE setPxPerTick NOTIFY pxPerTickChanged)
37 FadeType fadeType READ fadeType WRITE setFadeType NOTIFY fadeTypeChanged)
38 Q_PROPERTY (
bool hovered READ hovered WRITE setHovered NOTIFY hoveredChanged)
40 QColor overlayColor READ overlayColor WRITE setOverlayColor NOTIFY
43 QColor curveColor READ curveColor WRITE setCurveColor NOTIFY
54 explicit FadeOverlayCanvasItem (QQuickItem * parent =
nullptr);
56 QCanvasPainterItemRenderer * createItemRenderer ()
const override;
58 QObject * region ()
const {
return region_; }
59 void setRegion (QObject * region);
60 qreal pxPerTick ()
const {
return px_per_tick_; }
61 void setPxPerTick (qreal px);
62 FadeType fadeType ()
const {
return fade_type_; }
63 void setFadeType (FadeType type);
64 bool hovered ()
const {
return hovered_; }
65 void setHovered (
bool hovered);
66 QColor overlayColor ()
const {
return overlay_color_; }
67 void setOverlayColor (
const QColor &color);
68 QColor curveColor ()
const {
return curve_color_; }
69 void setCurveColor (
const QColor &color);
77 void regionChanged ();
78 void pxPerTickChanged ();
79 void fadeTypeChanged ();
80 void hoveredChanged ();
81 void overlayColorChanged ();
82 void curveColorChanged ();
85 QObject * region_ =
nullptr;
86 QPointer<structure::arrangement::AudioRegion> audio_region_;
87 qreal px_per_tick_ = 1.0;
88 FadeType fade_type_ = FadeIn;
89 bool hovered_ =
false;
90 QColor overlay_color_{ 51, 51, 51, 153 };
91 QColor curve_color_{ 255, 255, 255, 200 };
93 std::vector<QMetaObject::Connection> region_connections_;