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 ScenarioDocumentPresenter;
12class ToolPalette;
13class ScenarioExecution;
14struct Point;
15
16// Used for scrubbing on the time ruler
18{
19public:
20 void on_pressed(
22 QPointF scenePoint);
23 void on_pressed(
25 TimeVal scenePoint);
26 void on_moved(
28 QPointF scenePoint);
29 void on_moved(
31 TimeVal scenePoint);
32 void on_released(
34 QPointF scenePoint);
35 void on_released(
37 TimeVal scenePoint);
38
39 TimeVal m_previousPoint;
40 TimeVal m_targetPosition;
41 double m_previousSpeed{1.};
42 double m_smoothedSpeed = 1.0;
43 double m_maxSpeed{1.0};
44
45 QTimer m_scrubbingTimer;
46 bool m_speedChanged{};
47};
48
50{
51public:
52 explicit PlayToolState(const Scenario::ToolPalette& sm);
53
54 void on_pressed(QPointF scenePoint, Scenario::Point scenarioPoint);
55 void on_moved(QPointF scenePoint, Scenario::Point scenarioPoint);
56 void on_released(QPointF scenePoint, Scenario::Point scenarioPoint);
57
58private:
59 const Scenario::ToolPalette& m_sm;
60 ScenarioExecution& m_exec;
61
62 QGraphicsItem* m_pressedItem{};
63
64 ScrubHandler m_scrub;
65};
66}
Definition PlayToolState.hpp:50
The ScenarioDocumentPresenter class.
Definition ScenarioDocumentPresenter.hpp:59
API for the various elements that we can execute.
Definition Execution/ScenarioExecution.hpp:25
Definition PlayToolState.hpp:18
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