Loading...
Searching...
No Matches
MoveSegmentCommandObject.hpp
1#pragma once
2#include "CurveCommandObjectBase.hpp"
3
4#include <score/model/Identifier.hpp>
5
6#include <ossia/detail/hash_map.hpp>
7
8namespace Curve
9{
10class SegmentModel;
15class SCORE_PLUGIN_CURVE_EXPORT MoveSegmentCommandObject final
16 : public CommandObjectBase
17{
18public:
20 const Model& model, Presenter* presenter, const score::CommandStackFacade& stack);
22
23 void on_press() override;
24
25 void move();
26
27 void release();
28
29 void cancel();
30
31private:
32 bool m_pressed{};
33 bool m_moved{};
34 ossia::hash_set<int32_t> m_movedIds;
35 // How far the moved points can go
36 double m_dxMin{}, m_dxMax{}, m_dyMin{}, m_dyMax{};
37};
38}
Definition CurveCommandObjectBase.hpp:67
Definition CurveModel.hpp:26
Definition MoveSegmentCommandObject.hpp:17
Definition CurvePresenter.hpp:34
A small abstraction layer over the score::CommandStack.
Definition CommandStackFacade.hpp:21
Utilities and base classes for 1D curves.
Definition FocusDispatcher.hpp:12