Loading...
Searching...
No Matches
PlayToolState.hpp
1#pragma once
2
3#include <Process/TimeValue.hpp>
4
5#include <QPoint>
6#include <QTimer>
7
8class QGraphicsItem;
9namespace Scenario
10{
11class ToolPalette;
12class ScenarioExecution;
13struct Point;
14
16{
17public:
18 explicit PlayToolState(const Scenario::ToolPalette& sm);
19
20 void on_pressed(QPointF scenePoint, Scenario::Point scenarioPoint);
21 void on_moved(QPointF scenePoint, Scenario::Point scenarioPoint);
22 void on_released(QPointF scenePoint, Scenario::Point scenarioPoint);
23
24private:
25 void on_scrub(QPointF scenePoint, Scenario::Point scenarioPoint);
26 const Scenario::ToolPalette& m_sm;
27 ScenarioExecution& m_exec;
28
29 QGraphicsItem* m_pressedItem{};
30
31 TimeVal m_previousPoint;
32 TimeVal m_targetPosition;
33 double m_previousSpeed{1.};
34 double m_smoothedSpeed = 1.0;
35 double m_maxSpeed{1.0};
36
37 QTimer m_scrubbingTimer;
38 bool m_speedChanged{};
39};
40}
Definition PlayToolState.hpp:16
API for the various elements that we can execute.
Definition Execution/ScenarioExecution.hpp:25
Definition ScenarioPalette.hpp:38
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Definition ScenarioPoint.hpp:13
Definition TimeValue.hpp:21