26class ArrangerGridCanvasItem :
public QCanvasPainterItem
29 QML_NAMED_ELEMENT (ArrangerGridCanvas)
35 qreal pxPerTick READ pxPerTick WRITE setPxPerTick NOTIFY pxPerTickChanged)
36 Q_PROPERTY (qreal scrollX READ scrollX WRITE setScrollX NOTIFY scrollXChanged)
38 qreal scrollXPlusWidth READ scrollXPlusWidth WRITE setScrollXPlusWidth
39 NOTIFY scrollXPlusWidthChanged)
41 QColor lineColor READ lineColor WRITE setLineColor NOTIFY lineColorChanged)
43 QColor barShadeColor READ barShadeColor WRITE setBarShadeColor NOTIFY
46 qreal barLineOpacity READ barLineOpacity WRITE setBarLineOpacity NOTIFY
47 barLineOpacityChanged)
49 qreal beatLineOpacity READ beatLineOpacity WRITE setBeatLineOpacity NOTIFY
50 beatLineOpacityChanged)
52 qreal sixteenthLineOpacity READ sixteenthLineOpacity WRITE
53 setSixteenthLineOpacity NOTIFY sixteenthLineOpacityChanged)
55 qreal detailMeasurePxThreshold READ detailMeasurePxThreshold WRITE
56 setDetailMeasurePxThreshold NOTIFY detailMeasurePxThresholdChanged)
59 explicit ArrangerGridCanvasItem (QQuickItem * parent =
nullptr);
61 QCanvasPainterItemRenderer * createItemRenderer ()
const override;
65 qreal pxPerTick ()
const {
return px_per_tick_; }
66 void setPxPerTick (qreal px);
67 qreal scrollX ()
const {
return scroll_x_; }
68 void setScrollX (qreal x);
69 qreal scrollXPlusWidth ()
const {
return scroll_x_plus_width_; }
70 void setScrollXPlusWidth (qreal w);
71 QColor lineColor ()
const {
return line_color_; }
72 void setLineColor (
const QColor &color);
73 QColor barShadeColor ()
const {
return bar_shade_color_; }
74 void setBarShadeColor (
const QColor &color);
75 qreal barLineOpacity ()
const {
return bar_line_opacity_; }
76 void setBarLineOpacity (qreal opacity);
77 qreal beatLineOpacity ()
const {
return beat_line_opacity_; }
78 void setBeatLineOpacity (qreal opacity);
79 qreal sixteenthLineOpacity ()
const {
return sixteenth_line_opacity_; }
80 void setSixteenthLineOpacity (qreal opacity);
81 qreal detailMeasurePxThreshold ()
const
83 return detail_measure_px_threshold_;
85 void setDetailMeasurePxThreshold (qreal threshold);
88 void tempoMapChanged ();
89 void pxPerTickChanged ();
90 void scrollXChanged ();
91 void scrollXPlusWidthChanged ();
92 void lineColorChanged ();
93 void barShadeColorChanged ();
94 void barLineOpacityChanged ();
95 void beatLineOpacityChanged ();
96 void sixteenthLineOpacityChanged ();
97 void detailMeasurePxThresholdChanged ();
100 QPointer<dsp::TempoMapWrapper> tempo_map_;
101 qreal px_per_tick_ = 0.0;
102 qreal scroll_x_ = 0.0;
103 qreal scroll_x_plus_width_ = 0.0;
104 QColor line_color_ = Qt::gray;
105 QColor bar_shade_color_ = Qt::transparent;
106 qreal bar_line_opacity_ = 0.8;
107 qreal beat_line_opacity_ = 0.6;
108 qreal sixteenth_line_opacity_ = 0.4;
109 qreal detail_measure_px_threshold_ = 32.0;