28 ,
public QGraphicsItem
31 SCORE_GRAPHICS_ITEM_TYPE(230)
36 double min{}, max{1.}, init{};
43 std::function<double(
double)> secondsToPosition;
48 void setRange(
double min,
double max,
double init);
49 void setRect(
const QRectF& r);
50 void setValue(ossia::vec2f v);
52 [[nodiscard]] ossia::vec2f value() const noexcept;
53 void setExecutionValue(ossia::vec2f v);
54 [[nodiscard]]
double executionPosition() const noexcept {
return m_execValue; }
55 void resetExecution();
57 void syncChanged(
bool sync);
70 [[nodiscard]]
bool synced() const noexcept {
return m_sync; }
72 [[nodiscard]] QString freeText()
const;
73 [[nodiscard]] Feel feel() const noexcept {
return m_feel; }
75 QRectF boundingRect()
const override;
77 void sliderMoved() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sliderMoved)
78 void sliderReleased() E_SIGNAL(SCORE_LIB_BASE_EXPORT, sliderReleased)
81 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
83 void mousePressEvent(QGraphicsSceneMouseEvent* event) override;
84 void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override;
85 void mouseReleaseEvent(QGraphicsSceneMouseEvent* event) override;
86 bool sceneEvent(QEvent* event) override;
87 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) override;
88 void contextMenuEvent(QGraphicsSceneContextMenuEvent* event) override;
89 void hoverEnterEvent(QGraphicsSceneHoverEvent* event) override;
90 void hoverLeaveEvent(QGraphicsSceneHoverEvent* event) override;
94 double map(
double position) const noexcept;
95 double unmap(
double seconds) const noexcept;
96 bool onReadout(QPointF pos) const noexcept;
98 int syncIndex() const noexcept;
100 double position(ossia::vec2f v) const noexcept;
102 QRectF m_rect{0., 0., 35., 35.};
105 double m_execValue{};
108 Feel m_feel{Feel::Straight};