28class RulerGridCanvasItem :
public QCanvasPainterItem
31 QML_NAMED_ELEMENT (RulerGridCanvas)
37 qreal pxPerTick READ pxPerTick WRITE setPxPerTick NOTIFY pxPerTickChanged)
38 Q_PROPERTY (qreal scrollX READ scrollX WRITE setScrollX NOTIFY scrollXChanged)
40 qreal scrollXPlusWidth READ scrollXPlusWidth WRITE setScrollXPlusWidth
41 NOTIFY scrollXPlusWidthChanged)
43 QColor textColor READ textColor WRITE setTextColor NOTIFY textColorChanged)
45 qreal barLineOpacity READ barLineOpacity WRITE setBarLineOpacity NOTIFY
46 barLineOpacityChanged)
48 qreal beatLineOpacity READ beatLineOpacity WRITE setBeatLineOpacity NOTIFY
49 beatLineOpacityChanged)
51 qreal sixteenthLineOpacity READ sixteenthLineOpacity WRITE
52 setSixteenthLineOpacity NOTIFY sixteenthLineOpacityChanged)
54 qreal detailMeasurePxThreshold READ detailMeasurePxThreshold WRITE
55 setDetailMeasurePxThreshold NOTIFY detailMeasurePxThresholdChanged)
57 qreal detailMeasureLabelPxThreshold READ detailMeasureLabelPxThreshold WRITE
58 setDetailMeasureLabelPxThreshold NOTIFY detailMeasureLabelPxThresholdChanged)
60 QFont barLabelFont READ barLabelFont WRITE setBarLabelFont NOTIFY
63 QFont beatLabelFont READ beatLabelFont WRITE setBeatLabelFont NOTIFY
66 QFont sixteenthLabelFont READ sixteenthLabelFont WRITE setSixteenthLabelFont
67 NOTIFY sixteenthLabelFontChanged)
70 explicit RulerGridCanvasItem (QQuickItem * parent =
nullptr);
72 QCanvasPainterItemRenderer * createItemRenderer ()
const override;
76 qreal pxPerTick ()
const {
return px_per_tick_; }
77 void setPxPerTick (qreal px);
78 qreal scrollX ()
const {
return scroll_x_; }
79 void setScrollX (qreal x);
80 qreal scrollXPlusWidth ()
const {
return scroll_x_plus_width_; }
81 void setScrollXPlusWidth (qreal w);
82 QColor textColor ()
const {
return text_color_; }
83 void setTextColor (
const QColor &color);
84 qreal barLineOpacity ()
const {
return bar_line_opacity_; }
85 void setBarLineOpacity (qreal opacity);
86 qreal beatLineOpacity ()
const {
return beat_line_opacity_; }
87 void setBeatLineOpacity (qreal opacity);
88 qreal sixteenthLineOpacity ()
const {
return sixteenth_line_opacity_; }
89 void setSixteenthLineOpacity (qreal opacity);
90 qreal detailMeasurePxThreshold ()
const
92 return detail_measure_px_threshold_;
94 void setDetailMeasurePxThreshold (qreal threshold);
95 qreal detailMeasureLabelPxThreshold ()
const
97 return detail_measure_label_px_threshold_;
99 void setDetailMeasureLabelPxThreshold (qreal threshold);
100 QFont barLabelFont ()
const {
return bar_label_font_; }
101 void setBarLabelFont (
const QFont &font);
102 QFont beatLabelFont ()
const {
return beat_label_font_; }
103 void setBeatLabelFont (
const QFont &font);
104 QFont sixteenthLabelFont ()
const {
return sixteenth_label_font_; }
105 void setSixteenthLabelFont (
const QFont &font);
108 void tempoMapChanged ();
109 void pxPerTickChanged ();
110 void scrollXChanged ();
111 void scrollXPlusWidthChanged ();
112 void textColorChanged ();
113 void barLineOpacityChanged ();
114 void beatLineOpacityChanged ();
115 void sixteenthLineOpacityChanged ();
116 void detailMeasurePxThresholdChanged ();
117 void detailMeasureLabelPxThresholdChanged ();
118 void barLabelFontChanged ();
119 void beatLabelFontChanged ();
120 void sixteenthLabelFontChanged ();
123 QPointer<dsp::TempoMapWrapper> tempo_map_;
124 qreal px_per_tick_ = 0.0;
125 qreal scroll_x_ = 0.0;
126 qreal scroll_x_plus_width_ = 0.0;
127 QColor text_color_ = Qt::black;
128 qreal bar_line_opacity_ = 0.8;
129 qreal beat_line_opacity_ = 0.6;
130 qreal sixteenth_line_opacity_ = 0.4;
131 qreal detail_measure_px_threshold_ = 32.0;
132 qreal detail_measure_label_px_threshold_ = 64.0;
133 QFont bar_label_font_;
134 QFont beat_label_font_;
135 QFont sixteenth_label_font_;